(domainToDelete)
| 2335 | UI.siteSettingsListContainer.replaceChildren(listItem); |
| 2336 | } |
| 2337 | async function handleDeleteSiteSelector(domainToDelete) { |
| 2338 | hideModal(); |
| 2339 | try { |
| 2340 | const data = await getStorageData([ |
| 2341 | CONSTANTS.STORAGE_KEYS.USER_SELECTORS, |
| 2342 | CONSTANTS.STORAGE_KEYS.DEFAULT_SELECTORS, |
| 2343 | ]); |
| 2344 | const userConfigs = data[CONSTANTS.STORAGE_KEYS.USER_SELECTORS] || {}; |
| 2345 | const defaultConfigs = |
| 2346 | data[CONSTANTS.STORAGE_KEYS.DEFAULT_SELECTORS] || {}; |
| 2347 | const isUser = userConfigs.hasOwnProperty(domainToDelete); |
| 2348 | const isDefault = defaultConfigs.hasOwnProperty(domainToDelete); |
| 2349 | if (!isUser) { |
| 2350 | showModal( |
| 2351 | `Cannot delete/reset "${domainToDelete}" as it's not a custom or overridden configuration.` |
| 2352 | ); |
| 2353 | return; |
| 2354 | } |
| 2355 | let confirmMessage = ""; |
| 2356 | let action = isDefault ? "reset" : "delete"; |
| 2357 | confirmMessage = |
| 2358 | action === "reset" |
| 2359 | ? `Are you sure you want to remove your custom settings for "${domainToDelete}" and reset it to the default configuration?` |
| 2360 | : `Are you sure you want to permanently delete the custom configuration for "${domainToDelete}"? This cannot be undone.`; |
| 2361 | setupConfirmationModal( |
| 2362 | confirmMessage, |
| 2363 | async () => { |
| 2364 | hideModal(); |
| 2365 | try { |
| 2366 | delete userConfigs[domainToDelete]; |
| 2367 | await setStorageData({ |
| 2368 | [CONSTANTS.STORAGE_KEYS.USER_SELECTORS]: userConfigs, |
| 2369 | }); |
| 2370 | showSuccessAnimation( |
| 2371 | action === "reset" ? "Config Reset!" : "Config Deleted!" |
| 2372 | ); |
| 2373 | await loadAndDisplayUserSiteSelectors(); |
| 2374 | await populateSearchEngineDropdown(); |
| 2375 | initializeImportButtonLogic(); |
| 2376 | } catch (error) { |
| 2377 | console.error( |
| 2378 | `Error ${action}ting config ${domainToDelete}:`, |
| 2379 | error |
| 2380 | ); |
| 2381 | showModal( |
| 2382 | `Failed to ${action}: ${error.message || "Unknown error"}` |
| 2383 | ); |
| 2384 | } |
| 2385 | }, |
| 2386 | () => { |
| 2387 | console.log(`${action} cancelled for ${domainToDelete}.`); |
| 2388 | hideModal(); |
| 2389 | } |
| 2390 | ); |
| 2391 | } catch (error) { |
| 2392 | console.error( |
| 2393 | `Error preparing delete/reset for ${domainToDelete}:`, |
| 2394 | error |
no test coverage detected