feat: improve dark mode contrast in Tower3D and IsolatedRoof3D components

This commit is contained in:
2026-07-10 15:25:38 +00:00
parent df52cecc64
commit bcca3738d0
4 changed files with 66 additions and 21 deletions
+20
View File
@@ -61,4 +61,24 @@ export function useTheme(): ThemeContextValue {
const ctx = useContext(ThemeContext);
if (!ctx) throw new Error('useTheme deve ser usado dentro de ThemeProvider');
return ctx;
}
export function useCanvasTheme(): 'light' | 'dark' {
const [isDark, setIsDark] = useState(() => {
if (typeof document === 'undefined') return false;
return document.documentElement.classList.contains('dark');
});
useEffect(() => {
const observer = new MutationObserver(() => {
setIsDark(document.documentElement.classList.contains('dark'));
});
observer.observe(document.documentElement, {
attributes: true,
attributeFilter: ['class'],
});
return () => observer.disconnect();
}, []);
return isDark ? 'dark' : 'light';
}