mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-01 20:53:45 +02:00
refactor: custom fonts
This commit is contained in:
@@ -4,6 +4,8 @@ import { useI18n } from 'vue-i18n';
|
||||
import { useRouter } from 'vue-router';
|
||||
|
||||
import {
|
||||
APP_CJK_FONT_PACK_DEFAULT_KEY,
|
||||
APP_CJK_FONT_PACKS,
|
||||
APP_FONT_DEFAULT_KEY,
|
||||
APP_FONT_FAMILIES,
|
||||
SEARCH_LIMIT_MAX,
|
||||
@@ -13,6 +15,7 @@ import {
|
||||
THEME_CONFIG
|
||||
} from '../../shared/constants';
|
||||
import {
|
||||
applyAppCjkFontPack,
|
||||
HueToHex,
|
||||
applyAppFontFamily,
|
||||
changeAppThemeStyle,
|
||||
@@ -55,6 +58,8 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
const isDarkMode = ref(false);
|
||||
const lastDarkTheme = ref('dark');
|
||||
const appFontFamily = ref('inter');
|
||||
const customFontFamily = ref('');
|
||||
const appCjkFontPack = ref(APP_CJK_FONT_PACK_DEFAULT_KEY);
|
||||
const displayVRCPlusIconsAsAvatar = ref(false);
|
||||
const hideNicknames = ref(false);
|
||||
const showInstanceIdInLocation = ref(false);
|
||||
@@ -168,6 +173,8 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
dataTableStripedConfig,
|
||||
showPointerOnHoverConfig,
|
||||
appFontFamilyConfig,
|
||||
customFontFamilyConfig,
|
||||
appCjkFontPackConfig,
|
||||
lastDarkThemeConfig
|
||||
] = await Promise.all([
|
||||
configRepository.getString('VRCX_appLanguage'),
|
||||
@@ -234,6 +241,11 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
'VRCX_fontFamily',
|
||||
APP_FONT_DEFAULT_KEY
|
||||
),
|
||||
configRepository.getString('VRCX_customFontFamily', ''),
|
||||
configRepository.getString(
|
||||
'VRCX_cjkFontPack',
|
||||
APP_CJK_FONT_PACK_DEFAULT_KEY
|
||||
),
|
||||
configRepository.getString(
|
||||
'VRCX_lastDarkTheme',
|
||||
fallbackDarkTheme
|
||||
@@ -262,7 +274,11 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
fallbackDarkTheme
|
||||
);
|
||||
appFontFamily.value = normalizeAppFontFamily(appFontFamilyConfig);
|
||||
applyAppFontFamily(appFontFamily.value);
|
||||
customFontFamily.value = customFontFamilyConfig || '';
|
||||
appCjkFontPack.value =
|
||||
normalizeAppCjkFontPack(appCjkFontPackConfig);
|
||||
applyAppFontFamily(appFontFamily.value, customFontFamily.value);
|
||||
applyAppCjkFontPack(appCjkFontPack.value);
|
||||
|
||||
displayVRCPlusIconsAsAvatar.value =
|
||||
displayVRCPlusIconsAsAvatarConfig;
|
||||
@@ -508,11 +524,22 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
* @param value
|
||||
*/
|
||||
function normalizeAppFontFamily(value) {
|
||||
if (value === 'custom') return 'custom';
|
||||
return APP_FONT_FAMILIES.includes(value)
|
||||
? value
|
||||
: APP_FONT_DEFAULT_KEY;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param value
|
||||
*/
|
||||
function normalizeAppCjkFontPack(value) {
|
||||
return APP_CJK_FONT_PACKS.includes(value)
|
||||
? value
|
||||
: APP_CJK_FONT_PACK_DEFAULT_KEY;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param value
|
||||
@@ -521,7 +548,26 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
const normalized = normalizeAppFontFamily(value);
|
||||
appFontFamily.value = normalized;
|
||||
configRepository.setString('VRCX_fontFamily', normalized);
|
||||
applyAppFontFamily(normalized);
|
||||
applyAppFontFamily(normalized, customFontFamily.value);
|
||||
}
|
||||
|
||||
function setCustomFontFamily(value) {
|
||||
customFontFamily.value = value;
|
||||
configRepository.setString('VRCX_customFontFamily', value);
|
||||
if (appFontFamily.value === 'custom') {
|
||||
applyAppFontFamily('custom', value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param value
|
||||
*/
|
||||
function setAppCjkFontPack(value) {
|
||||
const normalized = normalizeAppCjkFontPack(value);
|
||||
appCjkFontPack.value = normalized;
|
||||
configRepository.setString('VRCX_cjkFontPack', normalized);
|
||||
applyAppCjkFontPack(normalized);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1062,6 +1108,7 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
themeMode,
|
||||
isDarkMode,
|
||||
appFontFamily,
|
||||
appCjkFontPack,
|
||||
displayVRCPlusIconsAsAvatar,
|
||||
hideNicknames,
|
||||
showInstanceIdInLocation,
|
||||
@@ -1142,6 +1189,9 @@ export const useAppearanceSettingsStore = defineStore(
|
||||
setNavCollapsed,
|
||||
toggleNavCollapsed,
|
||||
setAppFontFamily,
|
||||
customFontFamily,
|
||||
setCustomFontFamily,
|
||||
setAppCjkFontPack,
|
||||
setThemeMode,
|
||||
toggleThemeMode
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user