Load fonts, add fallback families

This commit is contained in:
Eric Bailey
2024-09-18 16:31:15 -05:00
parent 5387574475
commit 56f08493e1
3 changed files with 11 additions and 4 deletions
+3 -2
View File
@@ -55,7 +55,7 @@ import {TestCtrls} from '#/view/com/testing/TestCtrls'
import {Provider as VideoVolumeProvider} from '#/view/com/util/post-embeds/VideoVolumeContext' import {Provider as VideoVolumeProvider} from '#/view/com/util/post-embeds/VideoVolumeContext'
import * as Toast from '#/view/com/util/Toast' import * as Toast from '#/view/com/util/Toast'
import {Shell} from '#/view/shell' 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 {useColorModeTheme} from '#/alf/util/useColorModeTheme'
import {NuxDialogs} from '#/components/dialogs/nuxs' import {NuxDialogs} from '#/components/dialogs/nuxs'
import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry' import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry'
@@ -153,12 +153,13 @@ function InnerApp() {
function App() { function App() {
const [isReady, setReady] = useState(false) const [isReady, setReady] = useState(false)
const [loaded] = useFonts()
React.useEffect(() => { React.useEffect(() => {
initPersistedState().then(() => setReady(true)) initPersistedState().then(() => setReady(true))
}, []) }, [])
if (!isReady) { if (!isReady || !loaded) {
return null return null
} }
+3 -2
View File
@@ -46,7 +46,7 @@ import {Provider as VideoVolumeProvider} from '#/view/com/util/post-embeds/Video
import * as Toast from '#/view/com/util/Toast' import * as Toast from '#/view/com/util/Toast'
import {ToastContainer} from '#/view/com/util/Toast.web' import {ToastContainer} from '#/view/com/util/Toast.web'
import {Shell} from '#/view/shell/index' 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 {useColorModeTheme} from '#/alf/util/useColorModeTheme'
import {NuxDialogs} from '#/components/dialogs/nuxs' import {NuxDialogs} from '#/components/dialogs/nuxs'
import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry' import {useStarterPackEntry} from '#/components/hooks/useStarterPackEntry'
@@ -144,12 +144,13 @@ function InnerApp() {
function App() { function App() {
const [isReady, setReady] = useState(false) const [isReady, setReady] = useState(false)
const [loaded] = useFonts()
React.useEffect(() => { React.useEffect(() => {
initPersistedState().then(() => setReady(true)) initPersistedState().then(() => setReady(true))
}, []) }, [])
if (!isReady) { if (!isReady || !loaded) {
return null return null
} }
+5
View File
@@ -1,5 +1,6 @@
import {useFonts as defaultUseFonts} from 'expo-font' import {useFonts as defaultUseFonts} from 'expo-font'
import {IS_PROD} from '#/env'
import {Device, device} from '#/storage' import {Device, device} from '#/storage'
const factor = 0.0625 // 1 - (15/16) 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. * Unused fonts are commented out, but the files are there if we need them.
*/ */
export function useFonts() { export function useFonts() {
if (IS_PROD) return [true, undefined]
return defaultUseFonts({ return defaultUseFonts({
// 'Inter-Thin': require('../../assets/fonts/inter/Inter-Thin.otf'), // 'Inter-Thin': require('../../assets/fonts/inter/Inter-Thin.otf'),
// 'Inter-ThinItalic': require('../../assets/fonts/inter/Inter-ThinItalic.otf'), // 'Inter-ThinItalic': require('../../assets/fonts/inter/Inter-ThinItalic.otf'),
@@ -84,4 +86,7 @@ export function applyFonts(style: Record<string, any>) {
style.fontFamily += 'Italic' style.fontFamily += 'Italic'
} }
} }
style.fontFamily +=
', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Liberation Sans", Helvetica, Arial, sans-serif'
} }