forked from bldrs-ai/Share
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathAppSlice.js
31 lines (26 loc) · 1.08 KB
/
AppSlice.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const isAppsEnabled = process.env.APPS_IS_ENABLED
const isOpfsEnabled = process.env.OPFS_IS_ENABLED
const OAUTH_2_CLIENT_ID = process.env.OAUTH2_CLIENT_ID
/**
* Data stored in Zustand for App state.
*
* @param {Function} set
* @param {Function} get
* @return {object} Zustand slice.
*/
export default function createAppSlice(set, get) {
return {
appPrefix: null,
setAppPrefix: (prefix) => set(() => ({appPrefix: prefix})),
isAppsEnabled: isAppsEnabled,
isAppStoreOpen: false,
toggleAppStoreDrawer: () => set((state) => ({isAppStoreOpen: !state.isAppStoreOpen})),
selectedStoreApp: null,
setSelectedStoreApp: (appInfo) => set(() => ({selectedStoreApp: appInfo})),
// Depended on by CadView. When enabled, null lets detection code set first time.
isOpfsAvailable: isOpfsEnabled ? null : false,
setIsOpfsAvailable: (is) => set(() => ({isOpfsAvailable: isOpfsEnabled ? is : false})),
opfsFile: OAUTH_2_CLIENT_ID === 'cypresstestaudience' ? new File([], 'mockFile.ifc') : null,
setOpfsFile: (modelFile) => set(() => ({opfsFile: modelFile})),
}
}