feat: session

This commit is contained in:
2024-01-11 20:57:17 -06:00
parent 4f37fd4734
commit 8d8b5e1646
17 changed files with 659 additions and 26 deletions
+29
View File
@@ -0,0 +1,29 @@
import { createSlice, type PayloadAction } from '@reduxjs/toolkit'
import { type Models } from 'appwrite'
export interface SessionState {
status: 'idle' | 'loading' | 'initializing'
session?: Models.Session
}
const initialState: SessionState = {
status: 'initializing',
session: undefined
}
const sessionSlice = createSlice({
name: 'session',
initialState,
reducers: {
setStatus: (state, action: PayloadAction<SessionState['status']>) => {
state.status = action.payload
},
setSession: (state, action: PayloadAction<SessionState['session']>) => {
state.session = action.payload
}
}
})
export const { setStatus, setSession } = sessionSlice.actions
export default sessionSlice