feat: Implement dark/light mode toggle and address linting issues

This commit introduces a functional dark/light mode toggle by integrating
`next-themes` with the application. It configures `ThemeProvider` in
`src/frontend.tsx` and sets `darkMode: 'class'` in `tailwind.config.js`.

Additionally, this commit resolves several linting and parsing issues
found in `src/index.ts`.

This commit also includes other pre-existing modifications and new
components within the project's working directory that were not
specifically part of the dark mode or linting tasks.
This commit is contained in:
2026-02-10 16:52:45 +08:00
parent 550138005b
commit d41e53c41f
72 changed files with 6149 additions and 83 deletions

View File

@@ -0,0 +1,5 @@
import { createFileRoute } from "@tanstack/react-router";
import { DashboardContent } from "../../app/components/dashboard-content";
export const Route = createFileRoute("/dashboard/")({
component: DashboardContent,
});

View File

@@ -0,0 +1,5 @@
import { createFileRoute } from "@tanstack/react-router";
import KinerjaDivisi from "../../app/components/kinerja-divisi";
export const Route = createFileRoute("/dashboard/kinerja-divisi")({
component: KinerjaDivisi,
});

View File

@@ -0,0 +1,5 @@
import { createFileRoute } from "@tanstack/react-router";
import PengaduanLayananPublik from "../../app/components/pengaduan-layanan-publik";
export const Route = createFileRoute("/dashboard/pengaduan-layanan-publik")({
component: PengaduanLayananPublik,
});

View File

@@ -0,0 +1,27 @@
import { createFileRoute, Outlet } from "@tanstack/react-router";
import { Header } from "@/app/components/header";
import { Sidebar } from "@/app/components/sidebar";
export const Route = createFileRoute("/dashboard")({
component: RouteComponent,
});
function RouteComponent() {
return (
<div className="h-screen flex overflow-hidden bg-gray-100 dark:bg-gray-900">
{/* Sidebar */}
<Sidebar />
{/* Main Content */}
<div className="flex-1 flex flex-col overflow-hidden">
{/* Header */}
<Header />
{/* Dashboard Content */}
<main className="flex-1 overflow-y-auto p-8">
<Outlet />
</main>
</div>
</div>
);
}