diff options
| author | kj_sh604 | 2026-05-31 12:58:12 -0400 |
|---|---|---|
| committer | kj_sh604 | 2026-05-31 12:58:12 -0400 |
| commit | 0695a460d680eb4a034efe83a0359ab34176b2ee (patch) | |
| tree | 23d56729aa10d75dbba285d1afcea6b7c321e7f5 /src/static | |
| parent | 9201da1215430c1e0f989584321643b39c858866 (diff) | |
| parent | 1ecd0cce62450f017cdcf8e1a17f3225e3693604 (diff) | |
merge: branch 'refactor/hardening' into mainrefactor/hardening
Diffstat (limited to 'src/static')
| -rw-r--r-- | src/static/main.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/static/main.js b/src/static/main.js index e0493aa..b35d7c0 100644 --- a/src/static/main.js +++ b/src/static/main.js @@ -567,6 +567,31 @@ function clearActivePdfUrl() { } } +function clearPersistedPdfFilename() { + try { + localStorage.removeItem(PDF_FILENAME_KEY); + } catch { + // ignore storage write failures + } +} + +function clearReadyPdfResult() { + if (!(resultContainer instanceof HTMLElement)) { + return; + } + + const readyLink = resultContainer.querySelector("a[download]"); + if (readyLink) { + resultContainer.innerHTML = ""; + } +} + +function prepareForPdfRegeneration() { + clearActivePdfUrl(); + clearPersistedPdfFilename(); + clearReadyPdfResult(); +} + function sanitizeDownloadFilename(filename) { const epoch = Math.floor(Date.now() / 1000); const fallback = `likha-pdf_${epoch}_${randomHex(40)}.pdf`; @@ -673,6 +698,7 @@ async function handleConvertSubmit(event) { } setConvertLoadingState(true); + prepareForPdfRegeneration(); try { const { resolvedMarkdown, missingIds } = await resolveLocalImageTokens(markdown); |
