mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-01-10 17:08:29 +08:00
36aab4357c
* Adds an option to increase the font size of the editor * Update lib/livebook_web/live/settings_live.ex Co-authored-by: José Valim <jose.valim@gmail.com> * Editor font size options as constants Co-authored-by: José Valim <jose.valim@gmail.com>
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
const SETTINGS_KEY = "livebook:settings";
|
|
|
|
export const EDITOR_FONT_SIZE = {
|
|
normal: 14,
|
|
large: 16,
|
|
};
|
|
|
|
const DEFAULT_SETTINGS = {
|
|
editor_auto_completion: true,
|
|
editor_auto_signature: true,
|
|
editor_font_size: EDITOR_FONT_SIZE.normal,
|
|
};
|
|
|
|
/**
|
|
* Stores the given settings in local storage.
|
|
*
|
|
* The given attributes are merged into the current settings.
|
|
*/
|
|
export function storeLocalSettings(settings) {
|
|
const prevSettings = loadLocalSettings();
|
|
const newSettings = { ...prevSettings, ...settings };
|
|
|
|
try {
|
|
const json = JSON.stringify(newSettings);
|
|
localStorage.setItem(SETTINGS_KEY, json);
|
|
} catch (error) {
|
|
console.error(`Failed to store local settings, reason: ${error.message}`);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Loads settings from local storage.
|
|
*/
|
|
export function loadLocalSettings() {
|
|
try {
|
|
const json = localStorage.getItem(SETTINGS_KEY);
|
|
const settings = json ? JSON.parse(json) : {};
|
|
return { ...DEFAULT_SETTINGS, ...settings };
|
|
} catch (error) {
|
|
console.error(`Failed to load local settings, reason: ${error.message}`);
|
|
return DEFAULT_SETTINGS;
|
|
}
|
|
}
|