changed setting structure

This commit is contained in:
Nathan-CSE 2025-05-07 21:32:50 +10:00
parent 7c6293fa41
commit 789ef401c9
1 changed files with 28 additions and 36 deletions

20
main.ts
View File

@ -68,39 +68,31 @@ class GridBackgroundSettingTab extends PluginSettingTab {
const gridSizeSetting = new Setting(containerEl) const gridSizeSetting = new Setting(containerEl)
.setName('Grid Size') .setName('Grid Size')
.setDesc('Spacing between grid lines (in px)'); .setDesc('Spacing between grid lines (in px)')
.addSlider(sliderValue =>
const gridSizeSlider = gridSizeSetting.addSlider(sliderValue =>
sliderValue sliderValue
.setInstant(true) .setInstant(true)
.setValue(this.plugin.settings.gridSize) .setValue(this.plugin.settings.gridSize)
.setLimits(20, 100, 1) .setLimits(20, 100, 1)
.onChange(async (value) => { .onChange(async (value) => {
this.plugin.settings.gridSize = value || 20; this.plugin.settings.gridSize = value || 20;
(gridSizeText.components[0] as TextComponent).setValue(value.toString());
await this.plugin.saveSettings(); await this.plugin.saveSettings();
}) }))
); .addText(text =>
const gridSizeText = gridSizeSetting.addText(text =>
text text
.setPlaceholder('e.g. 20') .setPlaceholder('e.g. 20')
.setValue(this.plugin.settings.gridSize.toString()) .setValue(this.plugin.settings.gridSize.toString())
.onChange(async (value) => { .onChange(async (value) => {
this.plugin.settings.gridSize = parseInt(value) || 20; this.plugin.settings.gridSize = parseInt(value) || 20;
(gridSizeText.components[0] as TextComponent).setValue(value.toString());
await this.plugin.saveSettings(); await this.plugin.saveSettings();
}) })
); )
.addButton(button =>
gridSizeSetting.addButton(button =>
button button
.setButtonText('Reset') .setButtonText('Reset')
.setCta() .setCta()
.onClick(async () => { .onClick(async () => {
this.plugin.settings.gridSize = DEFAULT_SETTINGS.gridSize; this.plugin.settings.gridSize = DEFAULT_SETTINGS.gridSize;
(gridSizeText.components[0] as TextComponent).setValue(this.plugin.settings.gridSize.toString());
(gridSizeSlider.components[0] as SliderComponent).setValue(this.plugin.settings.gridSize);
await this.plugin.saveSettings(); await this.plugin.saveSettings();
}) })
); );