1
0
mirror of https://github.com/tooot-app/app synced 2025-06-05 22:19:13 +02:00

Fix Android crashing

Somehow get MMKV number would crash
This commit is contained in:
xmflsct
2023-01-07 23:37:30 +01:00
parent 7db8b26dd9
commit d6d0cc0d03
7 changed files with 58 additions and 32 deletions

View File

@ -1,5 +1,6 @@
import { queryClient } from '@utils/queryHooks'
import { storage } from '@utils/storage'
import { Platform } from 'react-native'
import {
MMKV,
useMMKVBoolean,
@ -40,10 +41,21 @@ export const useGlobalStorage = {
useMMKVString(key, storage.global) as NonNullable<StorageGlobal[T]> extends string
? [StorageGlobal[T], (valud: StorageGlobal[T]) => void]
: never,
number: <T extends keyof StorageGlobal>(key: T) =>
useMMKVNumber(key, storage.global) as NonNullable<StorageGlobal[T]> extends number
? [StorageGlobal[T], (valud: StorageGlobal[T]) => void]
: never,
number: <T extends keyof StorageGlobal>(key: T) => {
if (Platform.OS === 'ios') {
return useMMKVString(key, storage.global) as NonNullable<StorageGlobal[T]> extends number
? [StorageGlobal[T], (valud: StorageGlobal[T]) => void]
: never
} else {
const [num, setNum] = useMMKVString(key, storage.global)
// @ts-ignore
return [parseInt(num), v => setNum(v.toString())] as NonNullable<
StorageGlobal[T]
> extends number
? [StorageGlobal[T], (valud: StorageGlobal[T]) => void]
: never
}
},
boolean: <T extends keyof StorageGlobal>(key: T) =>
useMMKVBoolean(key, storage.global) as NonNullable<StorageGlobal[T]> extends boolean
? [StorageGlobal[T], (valud: StorageGlobal[T]) => void]