- Make homepage (/) accessible without authentication - Allow all authenticated users (user & admin) to access main pages: - /kinerja-divisi, /pengaduan, /jenna, /demografi - /keuangan, /bumdes, /sosial, /keamanan - /bantuan, /pengaturan - Reserve admin-only access for /admin/* routes - Update auth middleware to handle public routes properly Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
52 lines
1.5 KiB
TypeScript
52 lines
1.5 KiB
TypeScript
import { AppShell, Burger, Group, useMantineColorScheme } from "@mantine/core";
|
|
import { useDisclosure } from "@mantine/hooks";
|
|
import { createFileRoute } from "@tanstack/react-router";
|
|
import { Header } from "@/components/header";
|
|
import PengaduanLayananPublik from "@/components/pengaduan-layanan-publik";
|
|
import { Sidebar } from "@/components/sidebar";
|
|
|
|
export const Route = createFileRoute("/pengaduan-layanan-publik")({
|
|
component: PengaduanLayananPublikPage,
|
|
});
|
|
|
|
function PengaduanLayananPublikPage() {
|
|
const [opened, { toggle }] = useDisclosure();
|
|
const { colorScheme } = useMantineColorScheme();
|
|
const headerBgColor = colorScheme === "dark" ? "#11192D" : "#19355E";
|
|
const navbarBgColor = colorScheme === "dark" ? "#11192D" : "white";
|
|
const mainBgColor = colorScheme === "dark" ? "#11192D" : "#edf3f8ff";
|
|
|
|
return (
|
|
<AppShell
|
|
header={{ height: 60 }}
|
|
navbar={{
|
|
width: 300,
|
|
breakpoint: "sm",
|
|
collapsed: { mobile: !opened },
|
|
}}
|
|
padding="md"
|
|
>
|
|
<AppShell.Header bg={headerBgColor}>
|
|
<Group h="100%" px="md">
|
|
<Burger opened={opened} onClick={toggle} hiddenFrom="sm" size="sm" />
|
|
<Header />
|
|
</Group>
|
|
</AppShell.Header>
|
|
|
|
<AppShell.Navbar
|
|
p="md"
|
|
bg={navbarBgColor}
|
|
style={{ display: "flex", flexDirection: "column" }}
|
|
>
|
|
<div style={{ flex: 1, overflowY: "auto" }}>
|
|
<Sidebar />
|
|
</div>
|
|
</AppShell.Navbar>
|
|
|
|
<AppShell.Main bg={mainBgColor}>
|
|
<PengaduanLayananPublik />
|
|
</AppShell.Main>
|
|
</AppShell>
|
|
);
|
|
}
|