import { createSlice, createSelector } from '@reduxjs/toolkit' import type { PayloadAction } from '@reduxjs/toolkit' interface IPrivacyPolicy { checked: boolean dateOfCheck: string } const initialState: IPrivacyPolicy = { checked: false, dateOfCheck: '', } const privacyPolicySlice = createSlice({ name: 'privacyPolicy', initialState, reducers: { updateChecked(state, action: PayloadAction) { return { ...state, checked: action.payload, dateOfCheck: new Date().toISOString() } }, }, extraReducers: (builder) => builder.addCase('reset', () => initialState), }) export const { actions } = privacyPolicySlice export const selectPrivacyPolicy = createSelector( (state: { privacyPolicy: IPrivacyPolicy }) => state.privacyPolicy, (privacyPolicy) => privacyPolicy ) export default privacyPolicySlice.reducer