From c87d85edd8339d7528c9fd7cd84be2b61a2f6528 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 21 Jul 2024 22:55:28 +0300 Subject: [PATCH 1/8] cleanup console logs --- src/modules/interface.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/modules/interface.js b/src/modules/interface.js index 92f3e9ac1..38ee88db2 100644 --- a/src/modules/interface.js +++ b/src/modules/interface.js @@ -196,7 +196,6 @@ const interfaceMod = { window .queryLocalFonts() .then((fonts) => { - console.log(fonts) commit('setFontsList', fonts) }) .catch((e) => { @@ -288,7 +287,6 @@ const interfaceMod = { if (value === 'transparent') { newRule.directives.opacity = 0 } - console.log('NEW RULE', newRule) hacks.push(newRule) } break From 895261e112dc520136fde82b34a649812eca6f64 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 21 Jul 2024 22:55:59 +0300 Subject: [PATCH 2/8] comment out toposort console debug --- src/services/theme_data/theme_data.service.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/services/theme_data/theme_data.service.js b/src/services/theme_data/theme_data.service.js index 6e4776748..2dddfa046 100644 --- a/src/services/theme_data/theme_data.service.js +++ b/src/services/theme_data/theme_data.service.js @@ -117,7 +117,6 @@ export const topoSort = ( // Put it into the output list output.push(node) } else if (grays.has(node)) { - console.debug('Cyclic depenency in topoSort, ignoring') output.push(node) } else if (blacks.has(node)) { // do nothing From 665faf892a418fa1e7aeda1d1c82d926a2ed4f3a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 21 Jul 2024 23:27:11 +0300 Subject: [PATCH 3/8] font overrides + fixes for font component --- src/components/font_control/font_control.vue | 2 +- .../settings_modal/tabs/appearance_tab.js | 14 ++++++- .../settings_modal/tabs/appearance_tab.vue | 18 ++++----- src/modules/config.js | 9 ++++- src/modules/interface.js | 40 +++++++++++++++++++ 5 files changed, 70 insertions(+), 13 deletions(-) diff --git a/src/components/font_control/font_control.vue b/src/components/font_control/font_control.vue index f3ab41a25..b5423a8c0 100644 --- a/src/components/font_control/font_control.vue +++ b/src/components/font_control/font_control.vue @@ -84,7 +84,7 @@ :id="name + '-local-font-switcher'" :model-value="modelValue.family" class="custom-font" - @update:modelValue="$emit('update:modelValue', { ...(modelValue || {}), family: $event.target.value })" + @update:modelValue="v => $emit('update:modelValue', { ...(modelValue || {}), family: v })" >
  • diff --git a/src/modules/config.js b/src/modules/config.js index e54a883cb..88e339cf3 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -52,7 +52,13 @@ export const defaultState = { palette: null, // not used yet, will be used for V3 theme3hacks: { // Hacks, user overrides that are independent of theme used underlay: 'none', - badgeColor: null + badgeColor: null, + fonts: { + interface: undefined, + input: undefined, + post: undefined, + monospace: undefined + } }, hideISP: false, @@ -147,7 +153,6 @@ export const defaultState = { navbarSize: undefined, // instance default panelHeaderSize: undefined, // instance default forcedRoundness: undefined, // instance default - fontsOverride: undefined, // instance default navbarColumnStretch: false, greentext: undefined, // instance default useAtIcon: undefined, // instance default diff --git a/src/modules/interface.js b/src/modules/interface.js index 38ee88db2..206c68a7f 100644 --- a/src/modules/interface.js +++ b/src/modules/interface.js @@ -274,6 +274,46 @@ const interfaceMod = { Object.entries(theme3hacks).forEach(([key, value]) => { switch (key) { + case 'fonts': { + Object.entries(theme3hacks.fonts).forEach(([fontKey, font]) => { + if (!font?.family) return + switch (fontKey) { + case 'interface': + hacks.push({ + component: 'Root', + directives: { + '--font': 'generic | ' + font.family + } + }) + break + case 'input': + hacks.push({ + component: 'Input', + directives: { + '--font': 'generic | ' + font.family + } + }) + break + case 'post': + hacks.push({ + component: 'RichContent', + directives: { + '--font': 'generic | ' + font.family + } + }) + break + case 'monospace': + hacks.push({ + component: 'Root', + directives: { + '--monoFont': 'generic | ' + font.family + } + }) + break + } + }) + break + } case 'underlay': { if (value !== 'none') { const newRule = { From 4d3d07515163bfba4304bd22f9ed7f90d32cea28 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sun, 21 Jul 2024 23:45:21 +0300 Subject: [PATCH 4/8] fix font selector losing list of local fonts when selecting one --- src/components/font_control/font_control.js | 5 +++-- src/components/font_control/font_control.vue | 2 +- src/modules/interface.js | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/components/font_control/font_control.js b/src/components/font_control/font_control.js index 08d0907e4..13daa095b 100644 --- a/src/components/font_control/font_control.js +++ b/src/components/font_control/font_control.js @@ -50,10 +50,11 @@ export default { return typeof this.modelValue !== 'undefined' }, localFontsList () { - return this.$store.state.interface.localFonts?.values() + console.log('FONTLIST', this.$store.state.interface.localFonts?.values()) + return this.$store.state.interface.localFonts }, localFontsSize () { - return this.$store.state.interface.localFonts?.size + return this.$store.state.interface.localFonts?.length } } } diff --git a/src/components/font_control/font_control.vue b/src/components/font_control/font_control.vue index b5423a8c0..fca3b360b 100644 --- a/src/components/font_control/font_control.vue +++ b/src/components/font_control/font_control.vue @@ -82,7 +82,7 @@