obsidian-media-db-sync/src/settings/Settings.ts
2022-05-04 21:47:48 +02:00

58 lines
1.3 KiB
TypeScript

import {App, PluginSettingTab, Setting} from 'obsidian';
import MediaDbPlugin from '../main';
import {FolderSuggest} from './suggesters/FolderSuggester';
export interface MediaDbPluginSettings {
folder: string,
OMDbKey: string,
}
export const DEFAULT_SETTINGS: MediaDbPluginSettings = {
folder: '',
OMDbKey: '',
};
export class MediaDbSettingTab extends PluginSettingTab {
plugin: MediaDbPlugin;
constructor(app: App, plugin: MediaDbPlugin) {
super(app, plugin);
this.plugin = plugin;
}
display(): void {
const {containerEl} = this;
containerEl.empty();
containerEl.createEl('h2', {text: 'Media DB Plugin Settings'});
new Setting(containerEl)
.setName('New file location')
.setDesc('New book notes will be placed here.')
.addSearch(cb => {
new FolderSuggest(this.app, cb.inputEl);
cb.setPlaceholder('Example: folder1/folder2')
.setValue(this.plugin.settings.folder)
.onChange(data => {
this.plugin.settings.folder = data;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('OMDb API key')
.setDesc('API key for www.omdbapi.com.')
.addText(cb => {
cb.setPlaceholder('API key')
.setValue(this.plugin.settings.OMDbKey)
.onChange(data => {
this.plugin.settings.OMDbKey = data;
this.plugin.saveSettings();
});
});
}
}