summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context/settings.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/context/settings.tsx')
-rw-r--r--packages/app/src/context/settings.tsx42
1 files changed, 20 insertions, 22 deletions
diff --git a/packages/app/src/context/settings.tsx b/packages/app/src/context/settings.tsx
index 4402855a6..ae7768f71 100644
--- a/packages/app/src/context/settings.tsx
+++ b/packages/app/src/context/settings.tsx
@@ -32,8 +32,8 @@ export interface Settings {
}
appearance: {
fontSize: number
- font: string
- uiFont: string
+ mono: string
+ sans: string
}
keybinds: Record<string, string>
permissions: {
@@ -43,20 +43,18 @@ export interface Settings {
sounds: SoundSettings
}
-export const monoDefault = "IBM Plex Mono"
-export const sansDefault = "Inter"
+export const monoDefault = "System Mono"
+export const sansDefault = "System Sans"
const monoFallback =
'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'
const sansFallback = 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
-const monoBase = `"${monoDefault}", "IBM Plex Mono Fallback", ${monoFallback}`
-const sansBase = `"${sansDefault}", "Inter Fallback", ${sansFallback}`
-const monoKey = "ibm-plex-mono"
+const monoBase = monoFallback
+const sansBase = sansFallback
-function input(font: string | undefined, key?: string) {
- if (!font || font === key || !font.trim()) return ""
- return font
+function input(font: string | undefined) {
+ return font ?? ""
}
function family(font: string) {
@@ -64,14 +62,14 @@ function family(font: string) {
return `"${font.replaceAll("\\", "\\\\").replaceAll('"', '\\"')}"`
}
-function stack(font: string | undefined, base: string, key?: string) {
- const value = input(font, key).trim()
+function stack(font: string | undefined, base: string) {
+ const value = font?.trim() ?? ""
if (!value) return base
return `${family(value)}, ${base}`
}
export function monoInput(font: string | undefined) {
- return input(font, monoKey)
+ return input(font)
}
export function sansInput(font: string | undefined) {
@@ -79,7 +77,7 @@ export function sansInput(font: string | undefined) {
}
export function monoFontFamily(font: string | undefined) {
- return stack(font, monoBase, monoKey)
+ return stack(font, monoBase)
}
export function sansFontFamily(font: string | undefined) {
@@ -100,8 +98,8 @@ const defaultSettings: Settings = {
},
appearance: {
fontSize: 14,
- font: "",
- uiFont: "",
+ mono: "",
+ sans: "",
},
keybinds: {},
permissions: {
@@ -134,8 +132,8 @@ export const { use: useSettings, provider: SettingsProvider } = createSimpleCont
createEffect(() => {
if (typeof document === "undefined") return
const root = document.documentElement
- root.style.setProperty("--font-family-mono", monoFontFamily(store.appearance?.font))
- root.style.setProperty("--font-family-sans", sansFontFamily(store.appearance?.uiFont))
+ root.style.setProperty("--font-family-mono", monoFontFamily(store.appearance?.mono))
+ root.style.setProperty("--font-family-sans", sansFontFamily(store.appearance?.sans))
})
return {
@@ -189,13 +187,13 @@ export const { use: useSettings, provider: SettingsProvider } = createSimpleCont
setFontSize(value: number) {
setStore("appearance", "fontSize", value)
},
- font: withFallback(() => store.appearance?.font, defaultSettings.appearance.font),
+ font: withFallback(() => store.appearance?.mono, defaultSettings.appearance.mono),
setFont(value: string) {
- setStore("appearance", "font", value.trim() ? value : "")
+ setStore("appearance", "mono", value.trim() ? value : "")
},
- uiFont: withFallback(() => store.appearance?.uiFont, defaultSettings.appearance.uiFont),
+ uiFont: withFallback(() => store.appearance?.sans, defaultSettings.appearance.sans),
setUIFont(value: string) {
- setStore("appearance", "uiFont", value.trim() ? value : "")
+ setStore("appearance", "sans", value.trim() ? value : "")
},
},
keybinds: {