2026-02-14 21:47:08 +01:00
|
|
|
"use client";
|
|
|
|
|
|
2026-02-14 22:08:43 +01:00
|
|
|
import { useEffect, useState } from "react";
|
2026-02-14 21:47:08 +01:00
|
|
|
import { useTheme as useNextTheme } from "next-themes";
|
|
|
|
|
|
|
|
|
|
export function useTheme() {
|
|
|
|
|
const { theme, resolvedTheme, setTheme } = useNextTheme();
|
2026-02-14 22:08:43 +01:00
|
|
|
const [mounted, setMounted] = useState(true);
|
2026-02-14 21:47:08 +01:00
|
|
|
|
|
|
|
|
const currentTheme = resolvedTheme ?? theme ?? "light";
|
|
|
|
|
|
|
|
|
|
const toggleTheme = () => {
|
|
|
|
|
setTheme(currentTheme === "dark" ? "light" : "dark");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
theme: currentTheme,
|
|
|
|
|
setTheme,
|
|
|
|
|
toggleTheme,
|
|
|
|
|
mounted,
|
|
|
|
|
};
|
|
|
|
|
}
|