diff --git a/src/DecryptModal.ts b/src/DecryptModal.ts new file mode 100644 index 0000000..eae6cb3 --- /dev/null +++ b/src/DecryptModal.ts @@ -0,0 +1,31 @@ +import { App, Modal } from "obsidian"; + +// Decrypt modal (Works for inline and document encryption) +export class DecryptModal extends Modal { + + // Original GPG Encrypted Message in Base64 + encryptedMessageBase64: string; + + // Constructor of modal encrypt + constructor(app: App, encryptedMessageBase64: string) { + super(app); + this.encryptedMessageBase64 = encryptedMessageBase64; + } + + // OnOpen Method + async onOpen() { + // Get an instance of this Element + const {contentEl} = this; + // A title div is created + contentEl.createEl("h1", { text: "Decrypt" }); + } + + // OnClose Method + onClose() { + // Get an instance of this Element + const {contentEl} = this; + // Clear element + contentEl.empty(); + } + +} \ No newline at end of file diff --git a/src/LivePreview.ts b/src/LivePreview.ts index 71c281f..78e49f5 100644 --- a/src/LivePreview.ts +++ b/src/LivePreview.ts @@ -4,6 +4,7 @@ import { App, editorLivePreviewField } from "obsidian"; import type { PluginValue, } from '@codemirror/view'; import { RangeSetBuilder } from '@codemirror/state'; import { syntaxTree } from "@codemirror/language"; +import { DecryptModal } from './DecryptModal'; // widget that will replace the encrypted text export class EncryptedWidget extends WidgetType { @@ -25,8 +26,8 @@ export class EncryptedWidget extends WidgetType { a.addClass('gpg-decrypt-a'); // OnClickEvent in element a a.onClickEvent((event: MouseEvent) => { - //this.app, event, this.value - // TODO: Call Decrypt Modal + // Open Decrypt Modal with all arguments + new DecryptModal(this.app, this.value).open(); }); // Return div that contains decrypt button return div;