feat: admin zustand store

This commit is contained in:
2025-05-30 21:27:02 +02:00
parent 5b816c6873
commit 3923b428a4

28
web/src/store/admin.ts Normal file
View File

@ -0,0 +1,28 @@
import { getApiServices } from "@/api/admin/apiServices";
import type { ApiService } from "@/types";
import { create } from "zustand";
interface IAdminState {
apiServices: ApiService[];
loadingApiServices: boolean;
fetchApiServices: () => Promise<void>;
}
export const useAdmin = create<IAdminState>((set) => ({
apiServices: [],
loadingApiServices: false,
fetchApiServices: async () => {
set({ loadingApiServices: true });
try {
const response = await getApiServices();
set({ apiServices: response.items });
} catch (err) {
console.log("ERR: Failed to fetch services:", err);
} finally {
set({ loadingApiServices: false });
}
},
}));