/** * This slice is intended for the user configurable settings for the client such as appearance, autoplaying of links etc. * Anything setting under the cog wheel tab. */ import { createSlice } from '@reduxjs/toolkit'; export interface UserConfigState { audioAutoplay: boolean; showRecoveryPhrasePrompt: boolean; hideMessageRequests: boolean; } export const initialUserConfigState = { audioAutoplay: false, showRecoveryPhrasePrompt: true, hideMessageRequests: false, }; const userConfigSlice = createSlice({ name: 'userConfig', initialState: initialUserConfigState, reducers: { toggleAudioAutoplay: state => { state.audioAutoplay = !state.audioAutoplay; }, disableRecoveryPhrasePrompt: state => { state.showRecoveryPhrasePrompt = false; }, toggleMessageRequests: state => { state.hideMessageRequests = !state.hideMessageRequests; }, showMessageRequestBanner: state => { state.hideMessageRequests = false; }, hideMessageRequestBanner: state => { state.hideMessageRequests = true; }, }, }); const { actions, reducer } = userConfigSlice; export const { toggleAudioAutoplay, disableRecoveryPhrasePrompt, toggleMessageRequests, showMessageRequestBanner, hideMessageRequestBanner, } = actions; export const userConfigReducer = reducer;