27 lines
720 B
TypeScript
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 })),
|
|
}));
|