feat: cuesheet sharing

feat: locked presets

refactor: simplify locked param

refactor: create share links
This commit is contained in:
Carlos Valente
2025-07-22 05:45:20 +02:00
committed by Carlos Valente
parent 1695b4dc68
commit 6c6f5c2c0f
62 changed files with 1661 additions and 478 deletions
@@ -0,0 +1,27 @@
import { create } from 'zustand';
interface CuesheetPermissionsStore {
canChangeMode: boolean;
canCreateEntries: boolean;
canEditEntries: boolean;
canFlag: boolean;
canShare: boolean;
setPermissions: (permissions: Omit<CuesheetPermissionsStore, 'setPermissions'>) => void;
}
export const useCuesheetPermissions = create<CuesheetPermissionsStore>((set) => ({
canChangeMode: false,
canCreateEntries: false,
canEditEntries: false,
canFlag: false,
canShare: false,
setPermissions(permissions) {
set({
canChangeMode: permissions.canChangeMode,
canFlag: permissions.canFlag,
canCreateEntries: permissions.canCreateEntries,
canEditEntries: permissions.canEditEntries,
canShare: permissions.canShare,
});
},
}));