w-aura/src/store/privacyPolicy.ts
Денис Катаев cdbf5924a6 AW-86-policyMark
2024-06-11 17:40:00 +00:00

31 lines
886 B
TypeScript

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<boolean>) {
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