From 0ebdacda04953a5c9c71b170570e214e92bb7ed9 Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Tue, 11 Nov 2025 17:18:48 +0000 Subject: [PATCH] Create Staff Directory page cgen-2e72e744fd184a369736232da6749448 --- client/pages/StaffDirectory.tsx | 190 ++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 client/pages/StaffDirectory.tsx diff --git a/client/pages/StaffDirectory.tsx b/client/pages/StaffDirectory.tsx new file mode 100644 index 00000000..d5ef05f1 --- /dev/null +++ b/client/pages/StaffDirectory.tsx @@ -0,0 +1,190 @@ +import { useState } from "react"; +import { useNavigate } from "react-router-dom"; +import Layout from "@/components/Layout"; +import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { + Card, + CardContent, + CardHeader, + CardTitle, +} from "@/components/ui/card"; +import { Badge } from "@/components/ui/badge"; +import { Users, Search, Mail, Phone, MapPin, ExternalLink } from "lucide-react"; + +const STAFF_MEMBERS = [ + { + id: 1, + name: "John Founder", + position: "Founder & CEO", + department: "Executive", + email: "john@aethex.dev", + phone: "+1 (555) 123-4567", + avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=john", + }, + { + id: 2, + name: "Sarah Dev", + position: "CTO", + department: "Engineering", + email: "sarah@aethex.dev", + phone: "+1 (555) 234-5678", + avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=sarah", + }, + { + id: 3, + name: "Mike Operations", + position: "Operations Manager", + department: "Operations", + email: "mike@aethex.dev", + phone: "+1 (555) 345-6789", + avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=mike", + }, + { + id: 4, + name: "Emma Design", + position: "Design Lead", + department: "Design", + email: "emma@aethex.dev", + phone: "+1 (555) 456-7890", + avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=emma", + }, + { + id: 5, + name: "Alex Product", + position: "Product Manager", + department: "Product", + email: "alex@aethex.dev", + phone: "+1 (555) 567-8901", + avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=alex", + }, + { + id: 6, + name: "Jordan Analyst", + position: "Data Analyst", + department: "Analytics", + email: "jordan@aethex.dev", + phone: "+1 (555) 678-9012", + avatar: "https://api.dicebear.com/7.x/avataaars/svg?seed=jordan", + }, +]; + +export default function StaffDirectory() { + const navigate = useNavigate(); + const [searchQuery, setSearchQuery] = useState(""); + + const filteredMembers = STAFF_MEMBERS.filter( + (member) => + member.name.toLowerCase().includes(searchQuery.toLowerCase()) || + member.position.toLowerCase().includes(searchQuery.toLowerCase()) || + member.department.toLowerCase().includes(searchQuery.toLowerCase()) || + member.email.toLowerCase().includes(searchQuery.toLowerCase()) + ); + + return ( + +
+
+ {/* Header */} +
+

+ Staff Directory +

+

+ + View and contact AeThex team members +

+
+ + {/* Search */} +
+ + setSearchQuery(e.target.value)} + className="pl-10 bg-slate-900/50 border-purple-500/20 text-white placeholder:text-gray-500" + /> +
+ + {/* Results Summary */} +
+ Showing {filteredMembers.length} of {STAFF_MEMBERS.length} staff + members +
+ + {/* Grid */} +
+ {filteredMembers.map((member) => ( + + +
+ {/* Avatar and Name */} +
+ {member.name} +
+

{member.name}

+

+ {member.position} +

+ + {member.department} + +
+
+ + {/* Contact Info */} +
+ +
+ + {member.phone} +
+
+
+
+
+ ))} +
+ + {filteredMembers.length === 0 && ( + + + +

No staff members found

+
+
+ )} + + {/* Back Button */} + +
+
+
+ ); +}