summaryrefslogtreecommitdiff
path: root/client/src/slices/auth/guestSlice.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/slices/auth/guestSlice.ts')
-rw-r--r--client/src/slices/auth/guestSlice.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/client/src/slices/auth/guestSlice.ts b/client/src/slices/auth/guestSlice.ts
new file mode 100644
index 0000000..701148e
--- /dev/null
+++ b/client/src/slices/auth/guestSlice.ts
@@ -0,0 +1,29 @@
+import { createSlice } from '@reduxjs/toolkit';
+import type { PayloadAction } from '@reduxjs/toolkit';
+import type { RootState } from '../../store';
+import type { Guest } from '../api/guestSlice';
+
+type GuestAuth = {
+ guest?: Guest;
+ token?: string;
+};
+
+const guestSlice = createSlice({
+ name: 'guest',
+ initialState: { guest: undefined, token: undefined } as GuestAuth,
+ reducers: {
+ setGuest: (
+ state,
+ { payload: { guest, token } }: PayloadAction<GuestAuth>
+ ) => {
+ state.guest = guest;
+ state.token = token;
+ },
+ },
+});
+
+export const { setGuest } = guestSlice.actions;
+
+export default guestSlice.reducer;
+
+export const selectGuest = (state: RootState) => state.guest.guest;