import type { User } from '../lib/supabase' interface DashboardHomeProps { user: User } export function DashboardHome({ user }: DashboardHomeProps) { const getRoleBadgeColor = (role: string) => { switch (role) { case 'admin': return 'bg-error-50 text-error-600 dark:bg-error-500/15 dark:text-error-500' case 'conductor': return 'bg-brand-50 text-brand-500 dark:bg-brand-500/15 dark:text-brand-400' case 'analyst': return 'bg-success-50 text-success-600 dark:bg-success-500/15 dark:text-success-500' case 'data recorder': return 'bg-theme-purple-500/10 text-theme-purple-500' default: return 'bg-gray-100 text-gray-700 dark:bg-white/5 dark:text-white/80' } } const getPermissionsByRole = (role: string) => { switch (role) { case 'admin': return ['Full system access', 'User management', 'All modules', 'System configuration'] case 'conductor': return ['Experiment management', 'Data collection', 'Analytics access', 'Data entry'] case 'analyst': return ['Data analysis', 'Report generation', 'Read-only access', 'Analytics dashboard'] case 'data recorder': return ['Data entry', 'Record management', 'Basic reporting', 'Data validation'] default: return [] } } return (
{/* Welcome Section */}

Dashboard

Welcome to the Pecan Experiments Dashboard

{/* User Information Card */}

User Information

Your account details and role permissions.

Email {user.email}
Roles
{user.roles.map((role) => ( {role.charAt(0).toUpperCase() + role.slice(1)} ))}
Status {user.status.charAt(0).toUpperCase() + user.status.slice(1)}
User ID {user.id}
Member since {new Date(user.created_at).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' })}
{/* Role Permissions */}

Role Permissions

Your access levels and capabilities.

{user.roles.map((role) => (
{role.charAt(0).toUpperCase() + role.slice(1)}
    {getPermissionsByRole(role).map((permission, index) => (
  • โœ“ {permission}
  • ))}
))}
{/* Quick Actions */} {user.roles.includes('admin') && (

Quick Actions

Administrative shortcuts and tools.

)}
) }