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';
|
2025-07-17 06:55:01 -04:00
|
|
|
import 'primereact/resources/themes/bootstrap4-light-blue/theme.css';
|
2025-07-16 10:06:41 -04:00
|
|
|
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
|
2025-07-17 06:55:01 -04:00
|
|
|
className="alert"
|
2025-06-18 07:46:59 -04:00
|
|
|
startDecorator={<WarningIcon />}
|
|
|
|
|
variant="soft"
|
|
|
|
|
color="danger">
|
|
|
|
|
Work in progress... bugs are to be expected.
|
2025-07-23 07:45:28 -04:00
|
|
|
</Alert> */}
|
2025-08-21 15:07:10 -04:00
|
|
|
{child == "LoginPage" && (<LoginPage client:only="react" />)}
|
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>
|
|
|
|
|
);
|
|
|
|
|
}
|
2025-07-16 10:06:41 -04:00
|
|
|
|