Files
iNaturalistReactNative/src/sharedHooks/useDebugMode.ts
Ryan Stelly b78be9243d lint rule & autofix for "trailing comma" (#3299)
* (lint) MOB-1063 enforce trailing commas

* autofix trailing commas

* manually fix newly introduced maxlen violations

* add trailing comma convention to i18n build
2025-12-22 20:17:13 -06:00

34 lines
843 B
TypeScript

import { useCallback, useEffect, useState } from "react";
import { zustandStorage } from "stores/useStore";
const DEBUG_MODE = "debugMode";
const useDebugMode = ( ): { isDebug: boolean; toggleDebug: () => void } => {
const [isDebug, setDebug] = useState( false );
useEffect( ( ) => {
const readDebugModeFromStorage = ( ) => {
const storedDebugMode = zustandStorage.getItem( DEBUG_MODE );
setDebug( storedDebugMode === "true" );
};
readDebugModeFromStorage( );
}, [] );
const toggleDebug = useCallback( ( ) => {
zustandStorage.setItem( DEBUG_MODE, ( !isDebug ).toString( ) );
setDebug( !isDebug );
}, [isDebug] );
return {
isDebug,
toggleDebug,
};
};
export function isDebugMode( ): boolean {
return zustandStorage.getItem( DEBUG_MODE ) === "true";
}
export default useDebugMode;