diff --git a/client/components/admin/AdminStaffDocs.tsx b/client/components/admin/AdminStaffDocs.tsx new file mode 100644 index 00000000..53c8e07b --- /dev/null +++ b/client/components/admin/AdminStaffDocs.tsx @@ -0,0 +1,134 @@ +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; +import { Badge } from "@/components/ui/badge"; +import { Lock, Copy } from "lucide-react"; +import { useState } from "react"; + +export default function AdminStaffDocs() { + const [copiedId, setCopiedId] = useState(null); + + const handleCopy = (text: string, id: string) => { + navigator.clipboard.writeText(text); + setCopiedId(id); + setTimeout(() => setCopiedId(null), 2000); + }; + + const internalDocs = [ + { + title: "API Documentation", + description: "Internal API endpoints for staff operations", + content: "/api/staff/members\n/api/staff/users\n/api/moderation/reports", + }, + { + title: "Security Protocols", + description: "Internal security guidelines and best practices", + content: "Two-factor authentication required\nSession timeout: 24 hours\nAudit logging enabled", + }, + { + title: "Operational Procedures", + description: "Day-to-day operational workflows", + content: "Daily standup: 10 AM UTC\nWeekly review: Friday 2 PM UTC\nIncident response: 15 min SLA", + }, + ]; + + const apiKeys = [ + { + id: "api-key-1", + name: "Staff Portal API Key", + lastRotated: "2024-01-15", + status: "Active", + masked: "sk_live_****...****abcd", + }, + { + id: "api-key-2", + name: "Moderation API Key", + lastRotated: "2024-01-10", + status: "Active", + masked: "sk_live_****...****wxyz", + }, + ]; + + return ( +
+
+

Staff Documentation

+

+ Internal documentation, API keys, and security credentials +

+
+ +
+ {internalDocs.map((doc) => ( + + + {doc.title} + {doc.description} + + +
+                {doc.content}
+              
+
+
+ ))} +
+ + + +
+ + API Keys & Credentials +
+ Manage sensitive credentials with caution +
+ +
+ {apiKeys.map((key) => ( +
+
+

{key.name}

+

+ Last rotated: {key.lastRotated} +

+

+ {key.masked} +

+
+
+ + {key.status} + + +
+
+ ))} +
+
+
+ + + + + ⚠️ Security Notice + + + +
    +
  • Never share API keys in public channels
  • +
  • Rotate credentials every 90 days
  • +
  • Report compromised credentials immediately
  • +
  • Use VPN when accessing sensitive endpoints
  • +
+
+
+
+ ); +}