fix bug with font size

This commit is contained in:
2023-07-31 17:14:41 +02:00
parent e8ff8d1b74
commit 4f57b70e0f
2 changed files with 16 additions and 6 deletions

View File

@ -20,6 +20,7 @@ export interface Settings {
font: string
font_size: number
universes: Universes
selected_universe: string
}
export const template_universe = {
@ -65,6 +66,7 @@ export class AppSettings {
public font: string = "SpaceMono"
public font_size: number = 22
public universes: Universes
public selected_universe: string = "Default"
constructor() {
@ -75,7 +77,9 @@ export class AppSettings {
this.vimMode = settingsFromStorage.vimMode
this.theme = settingsFromStorage.theme
this.font = settingsFromStorage.font
this.font_size = settingsFromStorage.font_size
this.universes = settingsFromStorage.universes
this.selected_universe = settingsFromStorage.selected_universe
} else {
this.universes = template_universes
}
@ -89,7 +93,8 @@ export class AppSettings {
theme: this.theme,
font: this.font,
font_size: this.font_size,
universes: this.universes
universes: this.universes,
selected_universe: this.selected_universe
}
}
@ -98,6 +103,7 @@ export class AppSettings {
this.vimMode = settings.vimMode;
this.font = settings.font;
this.font_size = settings.font_size;
this.selected_universe = settings.selected_universe;
localStorage.setItem('topos', JSON.stringify(this.data))
}
}

View File

@ -106,7 +106,7 @@ export class Editor {
// Loading the universe from local storage
// ================================================================================
this.selected_universe = "Default";
this.selected_universe = this.settings.selected_universe;
this.universe_viewer.innerHTML = `Topos: ${this.selected_universe}`;
this.universes = { ...template_universes, ...this.settings.universes };
@ -127,6 +127,8 @@ export class Editor {
// CodeMirror Management
// ================================================================================
console.log(this.settings)
this.fontSize = new Compartment();
this.vimModeCompartment = new Compartment();
const vimPlugin = this.settings.vimMode ? vim() : [];
@ -320,9 +322,9 @@ export class Editor {
);
this.settings_button.addEventListener("click", () => {
// Query the current font size and set the slider to that value
let font_size_witness = document.getElementById("font-size-witness");
font_size_witness?.setAttribute('style', `font-size: ${this.settings.font_size}px;`)
this.font_size_slider.value = this.settings.font_size.toString();
this.font_size_witness.innerHTML = `Font Size: ${this.settings.font_size}px`
this.font_size_witness?.setAttribute('style', `font-size: ${this.settings.font_size}px;`)
let modal_settings = document.getElementById('modal-settings');
let editor = document.getElementById('editor');
modal_settings?.classList.remove('invisible')
@ -338,6 +340,7 @@ export class Editor {
this.font_size_slider.addEventListener("input", () => {
const new_value = this.font_size_slider.value;
this.settings.font_size = parseInt(new_value);
this.font_size_witness.style.fontSize = `${new_value}px`;
this.font_size_witness.innerHTML = `Font Size: ${new_value}px`;
@ -367,6 +370,7 @@ export class Editor {
let query = this.buffer_search.value;
if (query.length > 2 && query.length < 20) {
this.loadUniverse(query);
this.settings.selected_universe = query;
this.buffer_search.value = "";
this.closeBuffersModal();
// Focus on the editor
@ -529,7 +533,7 @@ export class Editor {
if (this.universes[selectedUniverse] === undefined) {
this.universes[selectedUniverse] = template_universe;
}
this.selected_universe = selectedUniverse;
this.selected_universe = this.settings.selected_universe;
this.universe_viewer.innerHTML = `Topos: ${selectedUniverse}`;
// We should also update the editor accordingly
this.view.dispatch({