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
+3 -1
View File
@@ -1,9 +1,11 @@
import feedbackSlice from '@/state/feedbackSlice'
import sessionSlice from '@/state/sessionSlice'
import { configureStore } from '@reduxjs/toolkit'
const store = configureStore({
reducer: {
feedback: feedbackSlice.reducer
feedback: feedbackSlice.reducer,
session: sessionSlice.reducer
}
})