import { create } from "zustand"; import type { AdminUser, PermissionKey } from "../types"; const mockUsers: AdminUser[] = [ { id: "1", login: "admin", name: "Иван", last_name: "Петров", is_active: true, permission_admin: true, permission_manage_agent: true, permission_view: true, }, { id: "2", login: "operator", name: "Анна", last_name: "Сидорова", is_active: true, permission_admin: false, permission_manage_agent: true, permission_view: true, }, { id: "3", login: "viewer", name: "Сергей", last_name: "Козлов", is_active: true, permission_admin: false, permission_manage_agent: false, permission_view: true, }, { id: "4", login: "dev_user", name: "Мария", last_name: "Новикова", is_active: false, permission_admin: false, permission_manage_agent: true, permission_view: true, }, ]; interface AdminState { users: AdminUser[]; toggleActive: (id: string) => void; togglePermission: (id: string, permission: PermissionKey) => void; } export const useAdminStore = create((set) => ({ users: mockUsers, toggleActive: (id: string) => set((state) => ({ users: state.users.map((u) => u.id === id ? { ...u, is_active: !u.is_active } : u, ), })), togglePermission: (id: string, permission: PermissionKey) => set((state) => ({ users: state.users.map((u) => u.id === id ? { ...u, [permission]: !u[permission] } : u, ), })), }));