diff --git a/src/App.native.tsx b/src/App.native.tsx index 554d699411..9214253aca 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -55,7 +55,7 @@ import {TestCtrls} from '#/view/com/testing/TestCtrls' import {Provider as VideoVolumeProvider} from '#/view/com/util/post-embeds/VideoVolumeContext' import * as Toast from '#/view/com/util/Toast' import {Shell} from '#/view/shell' -import {ThemeProvider as Alf} from '#/alf' +import {ThemeProvider as Alf, useFonts} from '#/alf' import {useColorModeTheme} from '#/alf/util/useColorModeTheme' import {NuxDialogs} from '#/components/dialogs/nuxs' import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry' @@ -153,12 +153,13 @@ function InnerApp() { function App() { const [isReady, setReady] = useState(false) + const [loaded] = useFonts() React.useEffect(() => { initPersistedState().then(() => setReady(true)) }, []) - if (!isReady) { + if (!isReady || !loaded) { return null } diff --git a/src/App.web.tsx b/src/App.web.tsx index a3e0f9869f..1c66507336 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -46,7 +46,7 @@ import {Provider as VideoVolumeProvider} from '#/view/com/util/post-embeds/Video import * as Toast from '#/view/com/util/Toast' import {ToastContainer} from '#/view/com/util/Toast.web' import {Shell} from '#/view/shell/index' -import {ThemeProvider as Alf} from '#/alf' +import {ThemeProvider as Alf, useFonts} from '#/alf' import {useColorModeTheme} from '#/alf/util/useColorModeTheme' import {NuxDialogs} from '#/components/dialogs/nuxs' import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry' @@ -144,12 +144,13 @@ function InnerApp() { function App() { const [isReady, setReady] = useState(false) + const [loaded] = useFonts() React.useEffect(() => { initPersistedState().then(() => setReady(true)) }, []) - if (!isReady) { + if (!isReady || !loaded) { return null } diff --git a/src/alf/fonts.ts b/src/alf/fonts.ts index 3c12617420..cfa9f62d97 100644 --- a/src/alf/fonts.ts +++ b/src/alf/fonts.ts @@ -1,5 +1,6 @@ import {useFonts as defaultUseFonts} from 'expo-font' +import {IS_PROD} from '#/env' import {Device, device} from '#/storage' const factor = 0.0625 // 1 - (15/16) @@ -35,6 +36,7 @@ export function setFontFamily(fontFamily: Device['fontFamily']) { * Unused fonts are commented out, but the files are there if we need them. */ export function useFonts() { + if (IS_PROD) return [true, undefined] return defaultUseFonts({ // 'Inter-Thin': require('../../assets/fonts/inter/Inter-Thin.otf'), // 'Inter-ThinItalic': require('../../assets/fonts/inter/Inter-ThinItalic.otf'), @@ -84,4 +86,7 @@ export function applyFonts(style: Record) { style.fontFamily += 'Italic' } } + + style.fontFamily += + ', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Liberation Sans", Helvetica, Arial, sans-serif' }