add component and path for widget development
This commit is contained in:
parent
037adc12a3
commit
d46163a4ce
64
src/WidgetDev.tsx
Normal file
64
src/WidgetDev.tsx
Normal file
@ -0,0 +1,64 @@
|
||||
import lightTheme from "@/utils/themes/light";
|
||||
import { Box, ThemeProvider, Typography } from "@mui/material";
|
||||
import { useEffect, useRef } from "react";
|
||||
import { SideWidget } from "./widgets";
|
||||
|
||||
|
||||
const widgetProps: ConstructorParameters<typeof SideWidget>[0] = {
|
||||
quizId: "3c49550d-8c77-4788-bc2d-42586a261514",
|
||||
position: "right",
|
||||
};
|
||||
|
||||
export default function WidgetDev() {
|
||||
const widgetRef = useRef<SideWidget | null>(null);
|
||||
|
||||
useEffect(() => {
|
||||
if (!widgetRef.current) {
|
||||
widgetRef.current = new SideWidget(widgetProps);
|
||||
} else {
|
||||
widgetRef.current.render(widgetProps);
|
||||
}
|
||||
});
|
||||
|
||||
return (
|
||||
<ThemeProvider theme={lightTheme}>
|
||||
<Box
|
||||
sx={{
|
||||
height: "100dvh",
|
||||
p: "16px",
|
||||
}}
|
||||
>
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
<Lorem />
|
||||
</Box>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
|
||||
const lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qu";
|
||||
|
||||
function Lorem() {
|
||||
|
||||
return (
|
||||
<Box
|
||||
sx={{
|
||||
py: "16px",
|
||||
}}
|
||||
>
|
||||
<Typography fontSize={"24px"}>{lorem}</Typography>
|
||||
</Box>
|
||||
);
|
||||
}
|
27
src/main.tsx
27
src/main.tsx
@ -1,10 +1,10 @@
|
||||
// import "https://markknol.github.io/console-log-viewer/console-log-viewer.js";
|
||||
import { createRoot } from "react-dom/client";
|
||||
import { RouterProvider, createBrowserRouter } from "react-router-dom";
|
||||
import App from "./App";
|
||||
import { StrictMode, lazy } from "react";
|
||||
|
||||
|
||||
const router = createBrowserRouter([
|
||||
const routes = [
|
||||
{
|
||||
path: "/",
|
||||
children: [
|
||||
@ -18,8 +18,27 @@ const router = createBrowserRouter([
|
||||
},
|
||||
]
|
||||
}
|
||||
]);
|
||||
];
|
||||
|
||||
if (import.meta.env.DEV) {
|
||||
const WidgetDev = lazy(() => import("./WidgetDev"));
|
||||
|
||||
routes[0].children.push({
|
||||
path: "widgetdev",
|
||||
element: (
|
||||
<StrictMode>
|
||||
<WidgetDev />
|
||||
</StrictMode>
|
||||
)
|
||||
});
|
||||
}
|
||||
|
||||
const router = createBrowserRouter(routes);
|
||||
|
||||
const root = createRoot(document.getElementById("root")!);
|
||||
|
||||
root.render(<RouterProvider router={router} />);
|
||||
root.render(
|
||||
<StrictMode>
|
||||
<RouterProvider router={router} />
|
||||
</StrictMode>
|
||||
);
|
||||
|
Loading…
Reference in New Issue
Block a user