Refactor App and EmbeddedActiveEquipmentPage for theme support
- Renamed the main component from `App` to `ToirAdmin` for clarity. - Integrated theme support using `useEmbeddedParentTheme` to dynamically adjust the UI based on the parent theme. - Updated `EmbeddedActiveEquipmentPage` to utilize the new theme and improved styling for better user experience. - Added a new utility hook `useEmbeddedParentTheme` to manage theme changes via postMessage from parent origins. - Enhanced the `vite-env.d.ts` file to include environment variable definitions for parent origins.
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
import { createTheme } from '@mui/material/styles';
|
||||
import { useMemo } from 'react';
|
||||
import { Admin, Resource } from 'react-admin';
|
||||
import { authProvider } from './auth/authProvider';
|
||||
import { dataProvider } from './dataProvider';
|
||||
import { useEmbeddedParentTheme } from './embed/useEmbeddedParentTheme';
|
||||
import { EmbeddedActiveEquipmentPage } from './pages/EmbeddedActiveEquipmentPage';
|
||||
import { EquipmentCreate } from './resources/equipment/EquipmentCreate';
|
||||
import { EquipmentEdit } from './resources/equipment/EquipmentEdit';
|
||||
@@ -11,13 +14,18 @@ import { EquipmentStatusChangeEdit } from './resources/equipment-status-change/E
|
||||
import { EquipmentStatusChangeList } from './resources/equipment-status-change/EquipmentStatusChangeList';
|
||||
import { EquipmentStatusChangeShow } from './resources/equipment-status-change/EquipmentStatusChangeShow';
|
||||
|
||||
function App() {
|
||||
if (window.location.pathname === '/embedded/equipment-active') {
|
||||
return <EmbeddedActiveEquipmentPage />;
|
||||
}
|
||||
function ToirAdmin() {
|
||||
const paletteMode = useEmbeddedParentTheme();
|
||||
const theme = useMemo(
|
||||
() =>
|
||||
createTheme({
|
||||
palette: { mode: paletteMode },
|
||||
}),
|
||||
[paletteMode],
|
||||
);
|
||||
|
||||
return (
|
||||
<Admin dataProvider={dataProvider} authProvider={authProvider}>
|
||||
<Admin dataProvider={dataProvider} authProvider={authProvider} theme={theme}>
|
||||
<Resource
|
||||
name="equipment"
|
||||
list={EquipmentList}
|
||||
@@ -36,4 +44,12 @@ function App() {
|
||||
);
|
||||
}
|
||||
|
||||
function App() {
|
||||
if (window.location.pathname === '/embedded/equipment-active') {
|
||||
return <EmbeddedActiveEquipmentPage />;
|
||||
}
|
||||
|
||||
return <ToirAdmin />;
|
||||
}
|
||||
|
||||
export default App;
|
||||
|
||||
Reference in New Issue
Block a user