From 491e6ffcadb6fdeb4ccfcae58d5567317480d3ad Mon Sep 17 00:00:00 2001 From: Francis Eugene Casibu Date: Thu, 25 Dec 2025 15:55:05 +0800 Subject: [PATCH] refactor: remove jquery in modals/custom-generator --- frontend/src/ts/modals/custom-generator.ts | 41 ++++++++++++++++------ 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/frontend/src/ts/modals/custom-generator.ts b/frontend/src/ts/modals/custom-generator.ts index 7c4d77fba..d1179604a 100644 --- a/frontend/src/ts/modals/custom-generator.ts +++ b/frontend/src/ts/modals/custom-generator.ts @@ -5,6 +5,7 @@ import AnimatedModal, { HideOptions, ShowOptions, } from "../utils/animated-modal"; +import { qs, qsr } from "../utils/dom"; type Preset = { display: string; @@ -91,10 +92,15 @@ export async function show(showOptions?: ShowOptions): Promise { } function applyPreset(): void { - const presetName = $("#customGeneratorModal .presetInput").val() as string; + const presetName = qs( + "#customGeneratorModal .presetInput", + )?.getValue(); + if (presetName !== undefined && presetName !== "" && presets[presetName]) { const preset = presets[presetName]; - $("#customGeneratorModal .characterInput").val(preset.characters.join(" ")); + qsr("#customGeneratorModal .characterInput").setValue( + preset.characters.join(" "), + ); } } @@ -105,17 +111,30 @@ function hide(hideOptions?: HideOptions): void { } function generateWords(): string[] { - const characterInput = $( + const characterInput = qs( "#customGeneratorModal .characterInput", - ).val() as string; - const minLength = - parseInt($("#customGeneratorModal .minLengthInput").val() as string) || 2; - const maxLength = - parseInt($("#customGeneratorModal .maxLengthInput").val() as string) || 5; - const wordCount = - parseInt($("#customGeneratorModal .wordCountInput").val() as string) || 100; + )?.getValue(); - if (!characterInput || characterInput.trim() === "") { + const minLength = + parseInt( + qs( + "#customGeneratorModal .minLengthInput", + )?.getValue() as string, + ) || 2; + const maxLength = + parseInt( + qs( + "#customGeneratorModal .maxLengthInput", + )?.getValue() as string, + ) || 5; + const wordCount = + parseInt( + qs( + "#customGeneratorModal .wordCountInput", + )?.getValue() as string, + ) || 100; + + if (characterInput === undefined || characterInput.trim() === "") { Notifications.add("Character set cannot be empty", 0); return []; }