/** * Dashboard Hero Section Component * Displays the main dashboard header with title and quick actions */ import { Card, CardContent } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Switch } from '@/components/ui/switch'; import { Label } from '@/components/ui/label'; import { User, Building2 } from 'lucide-react'; import { QuickAction } from '../utils/dashboardNavigation'; interface DashboardHeroProps { isAdmin: boolean; effectiveIsAdmin: boolean; viewAsUser: boolean; onToggleView: (viewAsUser: boolean) => void; quickActions: QuickAction[]; userDisplayName?: string; userEmail?: string; } export function DashboardHero({ isAdmin, effectiveIsAdmin, viewAsUser, onToggleView, quickActions, userDisplayName, userEmail }: DashboardHeroProps) { // Get user's name for welcome message const userName = userDisplayName || userEmail?.split('@')[0] || 'User'; return (
{/* Toggle for admin to switch between admin and personal view - Top Right Corner */} {isAdmin && (
onToggleView(false)} >
onToggleView(true)} >
)}

Welcome, {userName}!

{effectiveIsAdmin ? 'Organization-wide analytics and insights' : 'Track your requests and approvals'}

{quickActions.map((action, index) => ( ))}
{/* Decorative Elements */} {/*
*/}
); }