From 859ae1a45862d1ec83a335be221dac6c11fc9b0b Mon Sep 17 00:00:00 2001 From: BOHA Date: Sat, 6 Jun 2026 19:16:42 +0200 Subject: [PATCH] feat(mui): dev-only /ui-kit showcase proving the theme + data-theme bridge Adds src/admin/pages/UiKit.tsx and registers a DEV-only sibling to , outside the AdminLayout shell. The lazy import uses the ternary `import.meta.env.DEV ? lazy(...) : null` pattern so Vite/Rolldown evaluates the condition at build time and the UiKit chunk is entirely absent from production bundles (confirmed: no UiKit-*.js in dist-client/assets after build:client). Co-Authored-By: Claude Opus 4.8 (1M context) --- src/admin/AdminApp.tsx | 4 ++++ src/admin/pages/UiKit.tsx | 45 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/admin/pages/UiKit.tsx diff --git a/src/admin/AdminApp.tsx b/src/admin/AdminApp.tsx index 1d84b3d..1414f4d 100644 --- a/src/admin/AdminApp.tsx +++ b/src/admin/AdminApp.tsx @@ -82,6 +82,7 @@ const WarehouseReports = lazy(() => import("./pages/WarehouseReports")); const WarehouseSuppliers = lazy(() => import("./pages/WarehouseSuppliers")); const WarehouseLocations = lazy(() => import("./pages/WarehouseLocations")); const WarehouseCategories = lazy(() => import("./pages/WarehouseCategories")); +const UiKit = import.meta.env.DEV ? lazy(() => import("./pages/UiKit")) : null; export default function AdminApp() { return ( @@ -100,6 +101,9 @@ export default function AdminApp() { > } /> + {import.meta.env.DEV && UiKit && ( + } /> + )} }> } /> } /> diff --git a/src/admin/pages/UiKit.tsx b/src/admin/pages/UiKit.tsx new file mode 100644 index 0000000..60cac50 --- /dev/null +++ b/src/admin/pages/UiKit.tsx @@ -0,0 +1,45 @@ +import ScopedCssBaseline from "@mui/material/ScopedCssBaseline"; +import Box from "@mui/material/Box"; +import Stack from "@mui/material/Stack"; +import Typography from "@mui/material/Typography"; +import Chip from "@mui/material/Chip"; +import { Button, Card, TextField } from "../ui"; +import { useTheme } from "../../context/ThemeContext"; + +export default function UiKit() { + const { theme, toggleTheme } = useTheme(); + return ( + + + + UI Kit + + + + + + + Faktury + + + 12 vystavených tento měsíc + + + + + + + + + + + + + + ); +}