import Layout from "@/components/Layout"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Users, Briefcase, BookOpen, MessageSquare, Trophy, Target, ArrowRight, Shield, } from "lucide-react"; import { useNavigate } from "react-router-dom"; import { useEffect, useState, useRef } from "react"; import LoadingScreen from "@/components/LoadingScreen"; import { aethexToast } from "@/lib/aethex-toast"; export default function Staff() { const navigate = useNavigate(); const [isLoading, setIsLoading] = useState(true); const toastShownRef = useRef(false); useEffect(() => { const timer = setTimeout(() => { setIsLoading(false); if (!toastShownRef.current) { aethexToast.system("Staff operations portal initialized"); toastShownRef.current = true; } }, 900); return () => clearTimeout(timer); }, []); if (isLoading) { return ( ); } const staffResources = [ { icon: Briefcase, title: "Announcements", description: "Company updates, news, and important information", link: "/staff/announcements", color: "from-rose-500 to-pink-500", }, { icon: BookOpen, title: "Knowledge Base", description: "Internal documentation, guides, and best practices", link: "/staff/knowledge-base", color: "from-blue-500 to-cyan-500", }, { icon: MessageSquare, title: "Team Handbook", description: "Policies, procedures, and team guidelines", link: "/staff/team-handbook", color: "from-green-500 to-emerald-500", }, { icon: Trophy, title: "Performance Reviews", description: "Career development and performance tracking", link: "/staff/performance-reviews", color: "from-amber-500 to-orange-500", }, { icon: Target, title: "Project Tracking", description: "Team projects and task management", link: "/staff/project-tracking", color: "from-violet-500 to-indigo-500", }, { icon: Users, title: "Directory", description: "Staff directory and team contacts", link: "/staff/knowledge-base", color: "from-teal-500 to-cyan-500", }, ]; const statsCards = [ { label: "Active Team Members", value: "142", color: "text-purple-400" }, { label: "Departments", value: "8", color: "text-purple-400" }, { label: "Ongoing Projects", value: "47", color: "text-purple-400" }, { label: "Completed Q1", value: "23", color: "text-purple-400" }, ]; return ( {/* Animated gradient background */} {/* Hero Section */} Secure Staff Portal Staff Operations Hub Centralized portal for internal communications, resources, and team collaboration navigate("/staff/announcements")} className="bg-gradient-to-r from-purple-500 to-violet-500 hover:from-purple-600 hover:to-violet-600 text-white font-semibold group" > Access Portal {/* Stats Grid */} {statsCards.map((stat) => ( {stat.value} {stat.label} ))} {/* Staff Resources Grid */} Quick Access Resources {staffResources.map((resource) => { const Icon = resource.icon; return ( navigate(resource.link)} > {resource.title} {resource.description} ); })} {/* Features Section */} Staff Portal Features Communication Company-wide announcements and updates Department notifications Team collaboration tools Resources Internal documentation and guides Policies and procedures Learning and development materials ); }
Centralized portal for internal communications, resources, and team collaboration
{stat.label}
{resource.description}