Files
warren/frontend/stores/admin.ts
2025-07-21 19:27:41 +02:00

37 lines
1.1 KiB
TypeScript

import type { AuthUser } from '#shared/types/auth';
import type { AdminResources, AuthUserWithWarrens } from '~/shared/types/admin';
export const useAdminStore = defineStore('admin', {
state: () => ({
resources: {
users: [],
warrens: {},
} as AdminResources,
createUserDialogOpen: false,
editUserDialog: null as { user: AuthUserWithWarrens } | null,
deleteUserDialog: null as { user: AuthUser } | null,
}),
actions: {
openCreateUserDialog() {
this.createUserDialogOpen = true;
},
closeCreateUserDialog() {
this.createUserDialogOpen = false;
},
setEditUserDialog(user: AuthUserWithWarrens) {
this.editUserDialog = { user };
},
closeEditUserDialog() {
this.editUserDialog = null;
},
openDeleteUserDialog(user: AuthUser) {
this.deleteUserDialog = {
user: user,
};
},
closeDeleteUserDialog() {
this.deleteUserDialog = null;
},
},
});