diff --git a/components/admin/AdminPanel.tsx b/components/admin/AdminPanel.tsx index 128990e..d10df95 100644 --- a/components/admin/AdminPanel.tsx +++ b/components/admin/AdminPanel.tsx @@ -1,7 +1,6 @@ "use client"; import { useState } from "react"; -import Link from "next/link"; import UserManagement from "@/components/admin/UserManagement"; import EventManagement from "@/components/admin/EventManagement"; import FeedbackManagement from "@/components/admin/FeedbackManagement"; diff --git a/components/events/EventsPageSection.tsx b/components/events/EventsPageSection.tsx index 3eddbec..d64b4fb 100644 --- a/components/events/EventsPageSection.tsx +++ b/components/events/EventsPageSection.tsx @@ -521,7 +521,7 @@ export default function EventsPageSection({ )} {getEventStatus(event) === "LIVE" && ( )} {getEventStatus(event) === "PAST" && ( @@ -812,7 +812,7 @@ export default function EventsPageSection({ size="lg" className="w-full animate-pulse" > - Connectez-vous à Teams, c'est maintenant ! + Connectez-vous à Teams, c'est maintenant ! )} diff --git a/contexts/ThemeContext.tsx b/contexts/ThemeContext.tsx index e4b0c95..d100dfd 100644 --- a/contexts/ThemeContext.tsx +++ b/contexts/ThemeContext.tsx @@ -1,6 +1,12 @@ "use client"; -import { createContext, useContext, useEffect, useState, ReactNode } from "react"; +import { + createContext, + useContext, + useEffect, + useState, + ReactNode, +} from "react"; type Theme = "dark" | "dark-cyan"; @@ -17,27 +23,26 @@ interface ThemeProviderProps { initialTheme?: Theme; } -export function ThemeProvider({ children, initialTheme = "dark-cyan" }: ThemeProviderProps) { - const [theme, setThemeState] = useState(initialTheme); - const [mounted, setMounted] = useState(false); +export function ThemeProvider({ + children, + initialTheme = "dark-cyan", +}: ThemeProviderProps) { + const [theme, setThemeState] = useState(() => { + // Initialize theme from localStorage if available, otherwise use initialTheme + if (typeof window !== "undefined") { + const savedTheme = localStorage.getItem("theme") as Theme | null; + if (savedTheme && (savedTheme === "dark" || savedTheme === "dark-cyan")) { + return savedTheme; + } + } + return initialTheme; + }); useEffect(() => { - setMounted(true); // Apply theme class to document element document.documentElement.className = theme; }, [theme]); - useEffect(() => { - if (mounted) { - // Load theme from localStorage if available - const savedTheme = localStorage.getItem("theme") as Theme | null; - if (savedTheme && (savedTheme === "dark" || savedTheme === "dark-cyan")) { - setThemeState(savedTheme); - document.documentElement.className = savedTheme; - } - } - }, [mounted]); - const setTheme = (newTheme: Theme) => { setThemeState(newTheme); document.documentElement.className = newTheme; @@ -63,4 +68,3 @@ export function useTheme() { } return context; } -