mirror of
https://github.com/gosticks/flashcards-obsidian.git
synced 2025-10-16 12:05:33 +00:00
Add initial configuration from the settings tab #68
This commit is contained in:
parent
90a54a1aa9
commit
74042670b9
2
main.ts
2
main.ts
@ -55,7 +55,7 @@ export default class ObsidianFlashcard extends Plugin {
|
||||
}
|
||||
|
||||
private getDefaultSettings(): ISettings {
|
||||
return { contextAwareMode: true, sourceSupport: false, codeHighlightSupport: false, inlineID: false, contextSeparator: " > ", deck: "Default", flashcardsTag: "card", inlineSeparator: "::", inlineSeparatorReverse: ":::", defaultAnkiTag: "obsidian" }
|
||||
return { contextAwareMode: true, sourceSupport: false, codeHighlightSupport: false, inlineID: false, contextSeparator: " > ", deck: "Default", flashcardsTag: "card", inlineSeparator: "::", inlineSeparatorReverse: ":::", defaultAnkiTag: "obsidian", ankiConnectPermission: false }
|
||||
}
|
||||
|
||||
private generateCards(activeFile: TFile) {
|
||||
|
||||
@ -10,6 +10,35 @@ export class SettingsTab extends PluginSettingTab {
|
||||
containerEl.empty();
|
||||
containerEl.createEl("h1", { text: "Flashcards" });
|
||||
|
||||
const description = createFragment()
|
||||
description.append(
|
||||
"This needs to be done only one time. Open Anki and click the button to grant permission.",
|
||||
createEl('br'),
|
||||
'Be aware that AnkiConnect must be installed.',
|
||||
)
|
||||
|
||||
new Setting(containerEl)
|
||||
.setName("Give Permission")
|
||||
.setDesc(description)
|
||||
.addButton((button) => {
|
||||
button.setButtonText("Grant Permission").onClick(() => {
|
||||
|
||||
new Anki().requestPermission().then((result) => {
|
||||
if (result.permission === "granted") {
|
||||
plugin.settings.ankiConnectPermission = true;
|
||||
plugin.saveData(plugin.settings);
|
||||
new Notice("Anki Connect permission granted");
|
||||
} else {
|
||||
new Notice("AnkiConnect permission not granted");
|
||||
}
|
||||
}).catch((error) => {
|
||||
new Notice("Something went wrong, is Anki open?");
|
||||
console.error(error);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
new Setting(containerEl)
|
||||
.setName("Test Anki")
|
||||
.setDesc("Test that connection between Anki and Obsidian actually works.")
|
||||
|
||||
@ -303,4 +303,8 @@ export class Anki {
|
||||
|
||||
return [obsidianBasic, obsidianBasicReversed, obsidianSpaced];
|
||||
}
|
||||
|
||||
public async requestPermission() {
|
||||
return await this.invoke("requestPermission", 6);
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,4 +9,5 @@ export interface ISettings {
|
||||
inlineSeparator: string;
|
||||
inlineSeparatorReverse: string;
|
||||
defaultAnkiTag: string;
|
||||
ankiConnectPermission: boolean;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user