11import { useState } from 'react' ;
2+ import { Provider } from 'react-redux' ;
3+ import { combineReducers , configureStore } from '@reduxjs/toolkit' ;
24import { createTheme , ThemeProvider } from '@mui/material/styles' ;
35// @ts -expect-error TS2305: no types
46import { TranslateProvider } from '@u-wave/react-translate' ;
57import ErrorArea from '../../containers/ErrorArea' ;
68import PasswordResetPage from '../components/PasswordResetPage' ;
79import PasswordResetSuccessPage from '../components/PasswordResetSuccessPage' ;
810import theme from '../../theme' ;
11+ import CrashHandler from '../../components/CrashHandler' ;
12+ import errors from '../../reducers/errors' ;
913
1014const muiTheme = createTheme ( { ...theme , cssVariables : true } ) ;
1115
16+ const store = configureStore ( {
17+ reducer : combineReducers ( { errors } ) ,
18+ } ) ;
19+
1220// eslint-disable-next-line @typescript-eslint/no-explicit-any
1321type Translator = any ; // from @u -wave/translate
1422type PasswordResetAppProps = {
@@ -19,19 +27,23 @@ function PasswordResetApp({ translator, resetKey }: PasswordResetAppProps) {
1927 const [ success , setSuccess ] = useState ( false ) ;
2028
2129 return (
22- < ThemeProvider theme = { muiTheme } >
23- < TranslateProvider translator = { translator } >
24- { success ? (
25- < PasswordResetSuccessPage />
26- ) : (
27- < PasswordResetPage
28- resetKey = { resetKey }
29- onSuccess = { ( ) => setSuccess ( true ) }
30- />
31- ) }
32- < ErrorArea />
33- </ TranslateProvider >
34- </ ThemeProvider >
30+ < Provider store = { store } >
31+ < ThemeProvider theme = { muiTheme } >
32+ < CrashHandler >
33+ < TranslateProvider translator = { translator } >
34+ { success ? (
35+ < PasswordResetSuccessPage />
36+ ) : (
37+ < PasswordResetPage
38+ resetKey = { resetKey }
39+ onSuccess = { ( ) => setSuccess ( true ) }
40+ />
41+ ) }
42+ < ErrorArea />
43+ </ TranslateProvider >
44+ </ CrashHandler >
45+ </ ThemeProvider >
46+ </ Provider >
3547 ) ;
3648}
3749
0 commit comments