From 402d761ea247fc27672a46c683d0bc2f0688daff Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Tue, 11 Nov 2025 17:19:50 +0000 Subject: [PATCH] Create Staff Docs page for internal documentation cgen-9d1ba36f8e724777bf289382d1a39194 --- client/pages/StaffDocs.tsx | 224 +++++++++++++++++++++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 client/pages/StaffDocs.tsx diff --git a/client/pages/StaffDocs.tsx b/client/pages/StaffDocs.tsx new file mode 100644 index 00000000..aee997e3 --- /dev/null +++ b/client/pages/StaffDocs.tsx @@ -0,0 +1,224 @@ +import { useState } from "react"; +import { useNavigate } from "react-router-dom"; +import Layout from "@/components/Layout"; +import { Button } from "@/components/ui/button"; +import { + Card, + CardContent, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { Badge } from "@/components/ui/badge"; +import { Alert, AlertDescription } from "@/components/ui/alert"; +import { + FileText, + Key, + Shield, + AlertTriangle, + Copy, + ExternalLink, +} from "lucide-react"; + +const DOCS = [ + { + id: 1, + title: "Getting Started", + description: "Onboarding guide for new staff members", + category: "Onboarding", + link: "/internal-docs", + }, + { + id: 2, + title: "Code of Conduct", + description: "AeThex team values and expectations", + category: "Policy", + link: "/internal-docs/code-of-conduct", + }, + { + id: 3, + title: "Communication Guidelines", + description: "How we communicate across the team", + category: "Process", + link: "/internal-docs/communication", + }, + { + id: 4, + title: "Tech Stack", + description: "Tools and technologies we use", + category: "Technical", + link: "/internal-docs/tech-stack", + }, +]; + +const API_CREDENTIALS = [ + { + id: 1, + name: "Discord Bot Token", + value: "NTc4OTcx****...****", + description: "Bot authentication token for Discord integration", + }, + { + id: 2, + name: "Supabase Service Role", + value: "eyJhbGc****...****", + description: "Admin access to Supabase database", + }, + { + id: 3, + name: "API Key", + value: "aethex_sk_****...****", + description: "Main API authentication", + }, +]; + +export default function StaffDocs() { + const navigate = useNavigate(); + const [copiedId, setCopiedId] = useState(null); + + const handleCopy = (id: string, text: string) => { + navigator.clipboard.writeText(text); + setCopiedId(id); + setTimeout(() => setCopiedId(null), 2000); + }; + + return ( + +
+
+ {/* Header */} +
+
+

+ Staff Documentation +

+

+ + Internal resources and guides +

+
+ +
+ + {/* Security Notice */} + + + + This section contains sensitive information. Do not share credentials + or secrets outside of this portal. + + + + {/* Documentation Grid */} +
+

Guides

+
+ {DOCS.map((doc) => ( + navigate(doc.link)} + > + +
+ + + {doc.category} + +
+

{doc.title}

+

{doc.description}

+
+
+ ))} +
+
+ + {/* API Credentials Section */} + + + + + API Credentials + +

+ Sensitive credentials are hidden. Click copy to reveal temporarily. +

+
+ + {API_CREDENTIALS.map((cred) => ( +
+
+
+

{cred.name}

+

{cred.description}

+
+ +
+

{cred.value}

+
+ ))} +
+
+ + {/* Quick Links */} + + + Quick Links + + + + + + + +
+
+
+ ); +}