Files
codey.lol/src/components/AppLayout.jsx

46 lines
1.8 KiB
React
Raw Normal View History

2025-08-09 07:10:04 -04:00
import React, { Suspense, lazy } from 'react';
2025-07-24 10:06:36 -04:00
import Memes from './Memes.jsx';
2025-08-09 07:10:04 -04:00
import { toast } from 'react-toastify';
2025-06-18 11:41:03 -04:00
import { JoyUIRootIsland } from './Components.jsx';
import { PrimeReactProvider } from "primereact/api";
2025-07-24 16:09:14 -04:00
import { usePrimeReactThemeSwitcher } from '@/hooks/usePrimeReactThemeSwitcher.jsx';
2025-06-18 07:46:59 -04:00
import CustomToastContainer from '../components/ToastProvider.jsx';
import 'primereact/resources/themes/bootstrap4-light-blue/theme.css';
import 'primereact/resources/primereact.min.css';
2025-06-18 07:46:59 -04:00
2025-08-09 07:10:04 -04:00
const LoginPage = lazy(() => import('./Login.jsx'));
const LyricSearch = lazy(() => import('./LyricSearch'));
const MediaRequestForm = lazy(() => import('./TRip/MediaRequestForm.jsx'));
const RequestManagement = lazy(() => import('./TRip/RequestManagement.jsx'));
const Player = lazy(() => import('./AudioPlayer.jsx'));
2025-07-31 19:28:59 -04:00
export default function Root({ child }) {
2025-06-18 07:46:59 -04:00
window.toast = toast;
const theme = document.documentElement.getAttribute("data-theme")
2025-07-24 16:09:14 -04:00
usePrimeReactThemeSwitcher(theme);
2025-06-18 07:46:59 -04:00
return (
<PrimeReactProvider>
2025-07-31 19:28:59 -04:00
<CustomToastContainer
theme={theme}
newestOnTop={true}
closeOnClick={true} />
<JoyUIRootIsland>
{/* <Alert
className="alert"
2025-06-18 07:46:59 -04:00
startDecorator={<WarningIcon />}
variant="soft"
color="danger">
Work in progress... bugs are to be expected.
</Alert> */}
2025-08-09 07:10:04 -04:00
{child == "LoginPage" && (<LoginPage />)}
2025-07-31 19:28:59 -04:00
{child == "LyricSearch" && (<LyricSearch client:only="react" />)}
{child == "Player" && (<Player client:only="react" />)}
{child == "Memes" && <Memes client:only="react" />}
{child == "qs2.MediaRequestForm" && <MediaRequestForm client:only="react" />}
{child == "qs2.RequestManagement" && <RequestManagement client:only="react" />}
</JoyUIRootIsland>
2025-06-18 07:46:59 -04:00
</PrimeReactProvider>
);
}