Files
asf/frontend/asf-web/stores/useAppStore.ts
T
2026-09-08 07:21:34 -04:00

27 lines
720 B
TypeScript

"use client";
import { create } from "zustand";
export interface AppState {
org_id?: string;
project_id?: string;
asfOpen: boolean; // Ask ASF command / chat bar
setOrg: (org_id?: string) => void;
setProject: (project_id?: string) => void;
openAsf: () => void;
closeAsf: () => void;
toggleAsf: () => void;
}
export const useAppStore = create<AppState>((set) => ({
org_id: process.env.NEXT_PUBLIC_DEV_TENANT_ID,
project_id: undefined,
asfOpen: false,
setOrg: (org_id) => set({ org_id }),
setProject: (project_id) => set({ project_id }),
openAsf: () => set({ asfOpen: true }),
closeAsf: () => set({ asfOpen: false }),
toggleAsf: () => set((s) => ({ asfOpen: !s.asfOpen })),
}));