Spaces:
Runtime error
Runtime error
| import SocketWrapper from './SocketWrapper'; | |
| import {ThemeProvider} from '@mui/material/styles'; | |
| import theme from './theme'; | |
| import StreamingInterface from './StreamingInterface'; | |
| import CssBaseline from '@mui/material/CssBaseline'; | |
| import {createContext, useCallback, useState} from 'react'; | |
| import packageJson from '../package.json'; | |
| console.log(`Streaming React App version: ${packageJson?.version}`); | |
| // Roboto font for mui ui library | |
| // import '@fontsource/roboto/300.css'; | |
| // import '@fontsource/roboto/400.css'; | |
| // import '@fontsource/roboto/500.css'; | |
| // import '@fontsource/roboto/700.css'; | |
| export const AppResetKeyContext = createContext<(newKey: string) => void>( | |
| () => { | |
| throw new Error('AppResetKeyContext not initialized'); | |
| }, | |
| ); | |
| function App() { | |
| return ( | |
| <ThemeProvider theme={theme}> | |
| <CssBaseline /> | |
| <SocketWrapper> | |
| <StreamingInterface /> | |
| </SocketWrapper> | |
| </ThemeProvider> | |
| ); | |
| } | |
| function AppWrapper() { | |
| const [appResetKey, setAppResetKey] = useState<string>('[initial value]'); | |
| const setAppResetKeyHandler = useCallback((newKey: string) => { | |
| setAppResetKey((prev) => { | |
| console.warn( | |
| `Resetting the app with appResetKey: ${newKey}; prevKey: ${prev}`, | |
| ); | |
| if (prev === newKey) { | |
| console.error( | |
| `The appResetKey was the same as the previous key, so the app will not reset.`, | |
| ); | |
| } | |
| return newKey; | |
| }); | |
| }, []); | |
| return ( | |
| <AppResetKeyContext.Provider value={setAppResetKeyHandler}> | |
| <App key={appResetKey} /> | |
| </AppResetKeyContext.Provider> | |
| ); | |
| } | |
| export default AppWrapper; | |