2022-05-23 20:52:21 -07:00
|
|
|
import { Collection } from "Contracts/ViewModels";
|
2022-05-16 17:45:50 -07:00
|
|
|
import create, { UseStore } from "zustand";
|
|
|
|
|
|
|
|
interface TeachingBubbleState {
|
|
|
|
step: number;
|
|
|
|
isSampleDBExpanded: boolean;
|
|
|
|
isDocumentsTabOpened: boolean;
|
2022-05-23 20:52:21 -07:00
|
|
|
sampleCollection: Collection;
|
2022-05-16 17:45:50 -07:00
|
|
|
setStep: (step: number) => void;
|
|
|
|
setIsSampleDBExpanded: (isReady: boolean) => void;
|
|
|
|
setIsDocumentsTabOpened: (isOpened: boolean) => void;
|
2022-05-23 20:52:21 -07:00
|
|
|
setSampleCollection: (sampleCollection: Collection) => void;
|
2022-05-16 17:45:50 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
export const useTeachingBubble: UseStore<TeachingBubbleState> = create((set) => ({
|
|
|
|
step: 1,
|
|
|
|
isSampleDBExpanded: false,
|
|
|
|
isDocumentsTabOpened: false,
|
2022-05-23 20:52:21 -07:00
|
|
|
sampleCollection: undefined,
|
2022-05-16 17:45:50 -07:00
|
|
|
setStep: (step: number) => set({ step }),
|
|
|
|
setIsSampleDBExpanded: (isSampleDBExpanded: boolean) => set({ isSampleDBExpanded }),
|
|
|
|
setIsDocumentsTabOpened: (isDocumentsTabOpened: boolean) => set({ isDocumentsTabOpened }),
|
2022-05-23 20:52:21 -07:00
|
|
|
setSampleCollection: (sampleCollection: Collection) => set({ sampleCollection }),
|
2022-05-16 17:45:50 -07:00
|
|
|
}));
|