From 912973cdb5dbe58671e8cc65998e691a86cbdb85 Mon Sep 17 00:00:00 2001 From: LandaMm Date: Wed, 4 Jun 2025 19:17:08 +0200 Subject: [PATCH] feat: admin users state --- web/src/store/admin/users.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 web/src/store/admin/users.ts diff --git a/web/src/store/admin/users.ts b/web/src/store/admin/users.ts new file mode 100644 index 0000000..53d58e8 --- /dev/null +++ b/web/src/store/admin/users.ts @@ -0,0 +1,28 @@ +import { adminGetUsersApi } from "@/api/admin/users"; +import type { UserProfile } from "@/types"; +import { create } from "zustand"; + +export interface IUsersState { + users: UserProfile[]; + fetching: boolean; + + fetchUsers: () => Promise; +} + +export const useUsers = create((set) => ({ + users: [], + fetching: false, + + fetchUsers: async () => { + set({ fetching: true }); + + try { + const response = await adminGetUsersApi(); + set({ users: response.items }); + } catch (err) { + console.log("ERR: Failed to fetch users for admin:", err); + } finally { + set({ fetching: false }); + } + }, +}));