39 lines
983 B
JavaScript
39 lines
983 B
JavaScript
import { IonApp, IonRouterOutlet, IonSplitPane, setupIonicReact } from '@ionic/react';
|
|
import { StatusBar, Style } from '@capacitor/status-bar';
|
|
|
|
import { IonReactRouter } from '@ionic/react-router';
|
|
import { Redirect, Route } from 'react-router-dom';
|
|
import Menu from './Menu';
|
|
|
|
import Tabs from './pages/Tabs';
|
|
|
|
setupIonicReact({
|
|
mode: 'md'
|
|
});
|
|
|
|
window.matchMedia("(prefers-color-scheme: dark)").addListener(async (status) => {
|
|
try {
|
|
await StatusBar.setStyle({
|
|
style: status.matches ? Style.Dark : Style.Light,
|
|
});
|
|
} catch {}
|
|
});
|
|
|
|
const AppShell = () => {
|
|
return (
|
|
<IonApp>
|
|
<IonReactRouter>
|
|
<IonSplitPane contentId="main">
|
|
<Menu />
|
|
<IonRouterOutlet id="main">
|
|
<Route path="/tabs" render={() => <Tabs />} />
|
|
<Route exact path="/" render={() => <Redirect to="/tabs" />} />
|
|
</IonRouterOutlet>
|
|
</IonSplitPane>
|
|
</IonReactRouter>
|
|
</IonApp>
|
|
);
|
|
};
|
|
|
|
export default AppShell;
|