27 lines
809 B
TypeScript
27 lines
809 B
TypeScript
import { create } from "zustand";
|
|
import { devtools } from "zustand/middleware";
|
|
import { PrivilegeWithAmount } from "@frontend/kitui";
|
|
|
|
|
|
interface PrivilegeStore {
|
|
privileges: PrivilegeWithAmount[];
|
|
}
|
|
|
|
export const usePrivilegeStore = create<PrivilegeStore>()(
|
|
devtools(
|
|
(set, get) => ({
|
|
privileges: [],
|
|
}),
|
|
{
|
|
name: "Privileges",
|
|
enabled: process.env.NODE_ENV === "development",
|
|
}
|
|
)
|
|
);
|
|
|
|
export const resetPrivilegeArray = (privileges: PrivilegeStore["privileges"]) => usePrivilegeStore.setState({ privileges });
|
|
|
|
export const findPrivilegeById = (privilegeId: string) => {
|
|
return usePrivilegeStore.getState().privileges.find((privilege) => privilege._id === privilegeId || privilege.privilegeId === privilegeId) ?? null;
|
|
};
|