|
@@ -12,6 +12,7 @@ import {
|
|
|
import { UserSettings, Keybindings } from '../../../../types/user-settings'
|
|
import { UserSettings, Keybindings } from '../../../../types/user-settings'
|
|
|
import getMeta from '@/utils/meta'
|
|
import getMeta from '@/utils/meta'
|
|
|
import useScopeValue from '@/shared/hooks/use-scope-value'
|
|
import useScopeValue from '@/shared/hooks/use-scope-value'
|
|
|
|
|
+import { userStyles } from '../utils/styles'
|
|
|
|
|
|
|
|
const defaultSettings: UserSettings = {
|
|
const defaultSettings: UserSettings = {
|
|
|
pdfViewer: 'pdfjs',
|
|
pdfViewer: 'pdfjs',
|
|
@@ -39,6 +40,8 @@ type ScopeSettings = {
|
|
|
overallTheme: 'light' | 'dark'
|
|
overallTheme: 'light' | 'dark'
|
|
|
keybindings: Keybindings
|
|
keybindings: Keybindings
|
|
|
fontSize: number
|
|
fontSize: number
|
|
|
|
|
+ fontFamily: string
|
|
|
|
|
+ lineHeight: number
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export const UserSettingsContext = createContext<
|
|
export const UserSettingsContext = createContext<
|
|
@@ -53,9 +56,12 @@ export const UserSettingsProvider: FC = ({ children }) => {
|
|
|
// update the global scope 'settings' value, for extensions
|
|
// update the global scope 'settings' value, for extensions
|
|
|
const [, setScopeSettings] = useScopeValue<ScopeSettings>('settings')
|
|
const [, setScopeSettings] = useScopeValue<ScopeSettings>('settings')
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
|
|
+ const { fontFamily, lineHeight } = userStyles(userSettings)
|
|
|
setScopeSettings({
|
|
setScopeSettings({
|
|
|
overallTheme: userSettings.overallTheme === 'light-' ? 'light' : 'dark',
|
|
overallTheme: userSettings.overallTheme === 'light-' ? 'light' : 'dark',
|
|
|
keybindings: userSettings.mode === 'none' ? 'default' : userSettings.mode,
|
|
keybindings: userSettings.mode === 'none' ? 'default' : userSettings.mode,
|
|
|
|
|
+ fontFamily,
|
|
|
|
|
+ lineHeight,
|
|
|
fontSize: userSettings.fontSize,
|
|
fontSize: userSettings.fontSize,
|
|
|
})
|
|
})
|
|
|
}, [setScopeSettings, userSettings])
|
|
}, [setScopeSettings, userSettings])
|