From b86a3a85c31a9ac91acd4401b9085c77ad63b527 Mon Sep 17 00:00:00 2001 From: nico Date: Wed, 25 Feb 2026 10:45:27 +0800 Subject: [PATCH] fix: force default light mode for public pages and admin - Set defaultColorScheme='light' in root MantineProvider - Change darkModeStore default from system preference to false (light) - Add MantineProvider with light theme to darmasaba/layout.tsx - Remove dark mode dependency from ModuleView component - Prevent system color scheme from affecting initial page load This ensures consistent light mode on first visit for both public pages and admin panel, regardless of OS settings. Co-authored-by: Qwen-Coder --- .../main-page/landing-page/ModuleView.tsx | 7 ++-- src/app/darmasaba/layout.tsx | 35 +++++++++++-------- src/app/layout.tsx | 12 +++---- src/state/darkModeStore.ts | 11 +++--- 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/src/app/darmasaba/_com/main-page/landing-page/ModuleView.tsx b/src/app/darmasaba/_com/main-page/landing-page/ModuleView.tsx index 695f0572..f13710e5 100644 --- a/src/app/darmasaba/_com/main-page/landing-page/ModuleView.tsx +++ b/src/app/darmasaba/_com/main-page/landing-page/ModuleView.tsx @@ -10,8 +10,7 @@ import { SimpleGrid, Skeleton, Stack, - Text, - useMantineColorScheme + Text } from "@mantine/core"; import { useShallowEffect } from "@mantine/hooks"; import { Prisma } from "@prisma/client"; @@ -24,8 +23,6 @@ type ProgramInovasiItem = Prisma.ProgramInovasiGetPayload<{ include: { image: tr function ModuleItem({ data }: { data: ProgramInovasiItem }) { const router = useTransitionRouter(); - const { colorScheme } = useMantineColorScheme(); - const isDark = colorScheme === "dark"; return ( @@ -37,7 +34,7 @@ function ModuleItem({ data }: { data: ProgramInovasiItem }) { role="button" tabIndex={0} className="cursor-pointer transition-all" - bg={isDark ? "dark.6" : "white"} + bg="white" >
{data.image?.link ? ( diff --git a/src/app/darmasaba/layout.tsx b/src/app/darmasaba/layout.tsx index afe980de..71971662 100644 --- a/src/app/darmasaba/layout.tsx +++ b/src/app/darmasaba/layout.tsx @@ -1,25 +1,32 @@ +"use client"; + import colors from "@/con/colors"; +import { MantineProvider, createTheme } from "@mantine/core"; import { Box, Space, Stack } from "@mantine/core"; import { Navbar } from "@/app/darmasaba/_com/Navbar"; import Footer from "./_com/Footer"; - +const theme = createTheme({ + defaultColorScheme: "light", +}); export default function Layout({ children }: { children: React.ReactNode }) { return ( - - - - - {children} - -