import { useAppSelector } from './useAppDispatch'; export type Permission = | 'download' | 'upload' | 'admin' | 'manage_users' | 'edit_metadata' | 'delete_tracks'; const ROLE_PERMISSIONS: Record = { admin: [ 'download', 'upload', 'admin', 'manage_users', 'edit_metadata', 'delete_tracks', ], user: ['download', 'upload'], }; export function usePermissions() { const user = useAppSelector((s) => s.auth.user); const hasPermission = (permission: Permission): boolean => { if (!user) return false; return ROLE_PERMISSIONS[user.role]?.includes(permission) ?? false; }; const isAdmin = user?.role === 'admin'; return { hasPermission, isAdmin, user }; }