import { createSlice } from '@reduxjs/toolkit' import { initializeApp, resetApp } from 'domains/app/actions' import { AppState } from 'domains/app/app.types' const initialState: AppState = { userHasResponded: false, } export const appSlice = createSlice({ name: 'app', initialState, reducers: { setHasResponded: (state, { payload }) => { state.userHasResponded = payload }, }, extraReducers: (builder) => { builder .addCase(resetApp.pending, () => initialState) .addCase(initializeApp.fulfilled, (state, { payload }) => { if (payload.initialState && 'userResponded' in payload.initialState) { state.userHasResponded = payload.initialState.userResponded || false } }) }, }) export const { setHasResponded } = appSlice.actions export default appSlice.reducer