From affc441cfc7408c5fb98f1b96264cfbc471ed1f8 Mon Sep 17 00:00:00 2001 From: Marco Pedone Date: Mon, 17 Nov 2025 17:29:40 +0100 Subject: [PATCH] refactor: enhance theme switch component with loading state and improved animations --- .../src/components/navbar/theme-toggle.tsx | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/apps/infoalloggi/src/components/navbar/theme-toggle.tsx b/apps/infoalloggi/src/components/navbar/theme-toggle.tsx index 5f3c76c..0477e1d 100644 --- a/apps/infoalloggi/src/components/navbar/theme-toggle.tsx +++ b/apps/infoalloggi/src/components/navbar/theme-toggle.tsx @@ -1,9 +1,30 @@ import { motion, type Transition } from "framer-motion"; import { Moon, Sun } from "lucide-react"; import { useTheme } from "next-themes"; +import { useEffect, useState } from "react"; import { cn } from "~/lib/utils"; export const ThemeSwitch = () => { + const [mounted, setMounted] = useState(false); + useEffect(() => { + setMounted(true); + }, []); + + if (!mounted) { + return ; + } + + return ; +}; + +const ThemeSwitchSkeleton = () => ( +