fix: Calibragem do fundo no modo claro do visualizador 3D e prevenção de circular JSON

This commit is contained in:
2026-10-08 10:27:48 -03:00
parent f42976a09d
commit 7f4afc5e61
2 changed files with 118 additions and 36 deletions
+12 -1
View File
@@ -59,6 +59,17 @@ export default function Analisador3D() {
const [colorizationMode, setColorizationMode] = useState<ColorizationMode>('status_defeito');
const [isGhostMode, setIsGhostMode] = useState<boolean>(true);
const [isFullscreen, setIsFullscreen] = useState<boolean>(false);
const [isDarkTheme, setIsDarkTheme] = useState<boolean>(() =>
typeof document !== 'undefined' ? document.documentElement.classList.contains('dark') : false
);
useEffect(() => {
const observer = new MutationObserver(() => {
setIsDarkTheme(document.documentElement.classList.contains('dark'));
});
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['class'] });
return () => observer.disconnect();
}, []);
// Modelos 3D Carregados
const [modelBase, setModelBase] = useState<LoadedModel3DResult | null>(null);
@@ -785,7 +796,7 @@ export default function Analisador3D() {
onToggleGhostMode={() => setIsGhostMode(!isGhostMode)}
isFullscreen={isFullscreen}
onToggleFullscreen={() => setIsFullscreen(!isFullscreen)}
theme={document.documentElement.classList.contains('dark') ? 'dark' : 'light'}
theme={isDarkTheme ? 'dark' : 'light'}
/>
</div>
</div>