This commit is contained in:
oneao committed 2026-03-03 17:28:56 +08:00
1 parent 2efeb7cee2
commit c0531c1d0a
35 files changed
+1817 -984

No files matched your search

+26 -15
View File
@@ -1,22 +1,33 @@
import AsyncStorage from '@react-native-async-storage/async-storage'
import { create } from 'zustand'
import { createJSONStorage, persist } from 'zustand/middleware'
interface Space {
space_id: number
role: number
}
interface SpaceState {
userSpace: UserSpace | null
setUserSpace: (space: UserSpace | null) => void
currentSpace: Space | null
setCurrentSpace: (space: Space | null) => void
clear: () => void
inSpace: () => boolean
}
export const useSpaceStore = create<SpaceState>((set, get) => ({
userSpace: null,
setUserSpace: space => set({ userSpace: space }),
clear: () => {
set({
userSpace: null,
})
},
inSpace: () => {
const userSpace = get().userSpace
return userSpace !== null && userSpace.id !== 0
},
}))
export const useSpaceStore = create<SpaceState>()(
persist(
(set, get) => ({
currentSpace: null,
setCurrentSpace: space => set({ currentSpace: space }),
clear: () => set({ currentSpace: null }),
inSpace: () => {
const currentSpace = get().currentSpace
return currentSpace !== null && currentSpace.space_id !== 0
},
}),
{
name: 'space-storage',
storage: createJSONStorage(() => AsyncStorage),
},
),
)