Project started 🥂

This commit is contained in:
2026-06-02 01:13:22 +03:00
commit 612d0f0125
146 changed files with 15242 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
import { useAppSelector } from './useAppDispatch';
type Permission = 'download' | 'upload' | 'admin' | 'manage_users' | 'edit_metadata' | 'delete_tracks';
const ROLE_PERMISSIONS: Record<string, Permission[]> = {
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 };
}