Update previous links

This commit is contained in:
2026-08-26 16:22:19 +02:00
parent 6772bf7107
commit 01a4ed42bd
12 changed files with 129 additions and 7 deletions
+21 -2
View File
@@ -142,6 +142,24 @@ async function populateCurrentTab() {
urlInput.value = tab.url || '';
}
async function checkExistingLink() {
const settings = await getSettings();
if (!settings.backendUrl || !settings.accessToken || !titleInput.value || !urlInput.value) return;
try {
const response = await fetch(`${settings.backendUrl}/api/links/check?${new URLSearchParams({
title: titleInput.value,
url: removeKnownTrackingParams(urlInput.value),
})}`, {
headers: {'Authorization': `Bearer ${settings.accessToken}`},
});
if (response.ok && (await response.json()).exists) {
setStatus(t('duplicateLinkWarning'), true);
}
} catch (error) {
// Duplicate checking is advisory; submission remains available.
}
}
async function handleSubmit(event) {
event.preventDefault();
setStatus(t('submitting'), false);
@@ -190,7 +208,8 @@ async function handleSubmit(event) {
throw new Error(t('submissionFailed'));
}
setStatus(t('linkSaved'));
const result = await response.json();
setStatus(result.duplicate ? t('linkAlreadyExists') : t('linkSaved'), Boolean(result.duplicate));
} catch (error) {
setStatus(t('submissionFailedConnection'), true);
}
@@ -199,6 +218,6 @@ async function handleSubmit(event) {
openSettingsButton.addEventListener('click', () => browser.runtime.openOptionsPage());
warningSettingsButton.addEventListener('click', () => browser.runtime.openOptionsPage());
form.addEventListener('submit', handleSubmit);
populateCurrentTab();
populateCurrentTab().then(checkExistingLink);
loadExistingTags();
updateFeedLink();