mirror of
https://github.com/inaturalist/iNaturalistReactNative.git
synced 2026-04-20 23:10:53 -04:00
* (lint) MOB-1063 enforce trailing commas * autofix trailing commas * manually fix newly introduced maxlen violations * add trailing comma convention to i18n build
34 lines
843 B
TypeScript
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;
|