From 59919f94613e83385f39d664f3b55f4fea114a18 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Wed, 14 Jan 2026 20:15:28 +0100 Subject: [PATCH] Improved clarity for users when choosing seasons The last modal now says "create entry" instead of "Ok" --- src/modals/MediaDbSearchResultModal.ts | 9 ++++----- src/modals/MediaDbSeasonSelectModal.ts | 3 ++- src/modals/SelectModal.ts | 6 ++++-- src/utils/ModalHelper.ts | 7 +++++++ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/modals/MediaDbSearchResultModal.ts b/src/modals/MediaDbSearchResultModal.ts index b33d886..a4cd146 100644 --- a/src/modals/MediaDbSearchResultModal.ts +++ b/src/modals/MediaDbSearchResultModal.ts @@ -1,7 +1,7 @@ import type MediaDbPlugin from '../main'; import type { MediaTypeModel } from '../models/MediaTypeModel'; import type { SelectModalData, SelectModalOptions } from '../utils/ModalHelper'; -import { SELECT_MODAL_OPTIONS_DEFAULT } from '../utils/ModalHelper'; +import { SELECTMODALOPTIONSDEFAULT } from '../utils/ModalHelper'; import { SelectModal } from './SelectModal'; export class MediaDbSearchResultModal extends SelectModal { @@ -13,18 +13,17 @@ export class MediaDbSearchResultModal extends SelectModal { submitCallback?: (res: SelectModalData) => void; closeCallback?: (err?: Error) => void; skipCallback?: () => void; + submitButtonText: string; constructor(plugin: MediaDbPlugin, selectModalOptions: SelectModalOptions) { - selectModalOptions = Object.assign({}, SELECT_MODAL_OPTIONS_DEFAULT, selectModalOptions); + selectModalOptions = Object.assign({}, SELECTMODALOPTIONSDEFAULT, selectModalOptions); super(plugin.app, selectModalOptions.elements ?? [], selectModalOptions.multiSelect); this.plugin = plugin; - this.title = selectModalOptions.modalTitle ?? ''; this.description = 'Select one or multiple search results.'; this.addSkipButton = selectModalOptions.skipButton ?? false; - + this.submitButtonText = 'Ok'; this.busy = false; - this.sendCallback = false; } diff --git a/src/modals/MediaDbSeasonSelectModal.ts b/src/modals/MediaDbSeasonSelectModal.ts index 1bde2d7..ca05d0e 100644 --- a/src/modals/MediaDbSeasonSelectModal.ts +++ b/src/modals/MediaDbSeasonSelectModal.ts @@ -18,8 +18,9 @@ export class MediaDbSeasonSelectModal extends SelectModal extends Modal { cancelButton?: ButtonComponent; skipButton?: ButtonComponent; submitButton?: ButtonComponent; + submitButtonText: string; elementWrapper?: HTMLDivElement; @@ -25,6 +26,7 @@ export abstract class SelectModal extends Modal { this.title = ''; this.description = ''; this.addSkipButton = false; + this.submitButtonText = 'Ok'; this.cancelButton = undefined; this.skipButton = undefined; this.submitButton = undefined; @@ -114,8 +116,8 @@ export abstract class SelectModal extends Modal { this.skipButton = btn; }); } - bottomSettingRow.addButton(btn => { - btn.setButtonText('Ok'); + bottomSettingRow.addButton((btn) => { + btn.setButtonText(this.submitButtonText); btn.setCta(); btn.onClick(() => this.submit()); btn.buttonEl.addClass('media-db-plugin-button'); diff --git a/src/utils/ModalHelper.ts b/src/utils/ModalHelper.ts index 4aeae61..4ba7c95 100644 --- a/src/utils/ModalHelper.ts +++ b/src/utils/ModalHelper.ts @@ -205,6 +205,13 @@ export const PREVIEW_MODAL_DEFAULT_OPTIONS: PreviewModalOptions = { elements: [], }; +export const SELECTMODALOPTIONSDEFAULT: SelectModalOptions = { + elements: [], + multiSelect: true, + modalTitle: '', + skipButton: false, +}; + /** * A class providing multiple usefull functions for dealing with the plugins modals. */