()
| 2734 | } |
| 2735 | } |
| 2736 | async function initialize() { |
| 2737 | if (initializeHasRun) { |
| 2738 | return; |
| 2739 | } |
| 2740 | initializeHasRun = true; |
| 2741 | console.log("--- FastDork Initializing START ---"); |
| 2742 | updateDisplayedVersion(); |
| 2743 | setupTabStructure(); |
| 2744 | await loadSidePanelPreference(); |
| 2745 | await loadAndPopulateLists(); |
| 2746 | await loadAndPopulateEngines(); |
| 2747 | await initializeSaveOptionCheckbox(); |
| 2748 | setupEventListeners(); // Setup listeners FIRST |
| 2749 | setupExtensionMessageListener(); |
| 2750 | console.log("[Initialize] Core UI loaded and listeners set."); |
| 2751 | let initialSwitchDone = false; |
| 2752 | let processedFinishedState = false; |
| 2753 | isCurrentlyAutoImporting = false; // Reset flags on popup open initially |
| 2754 | isImportPaused = false; |
| 2755 | |
| 2756 | // --- 1. Check Auto-Import Finished State --- |
| 2757 | console.log("[Initialize] Checking AUTO-IMPORT FINISHED state..."); |
| 2758 | try { |
| 2759 | const sessionData = await chrome.storage.session.get([ |
| 2760 | IMPORT_JUST_FINISHED_KEY, |
| 2761 | LAST_AUTO_IMPORT_LIST_KEY, |
| 2762 | ]); |
| 2763 | const importJustFinished = sessionData[IMPORT_JUST_FINISHED_KEY] === true; |
| 2764 | const lastAutoImportListKey = sessionData[LAST_AUTO_IMPORT_LIST_KEY]; |
| 2765 | if (importJustFinished) { |
| 2766 | processedFinishedState = true; |
| 2767 | initialSwitchDone = true; |
| 2768 | setManualImportButtonState(false, false); |
| 2769 | if ( |
| 2770 | lastAutoImportListKey && |
| 2771 | UI.listTab2 && |
| 2772 | selectOptionByValue(UI.listTab2, lastAutoImportListKey) |
| 2773 | ) { |
| 2774 | await loadSelectedDorkListContent(); |
| 2775 | scrollPayloadToBottom(); |
| 2776 | } |
| 2777 | showDorkList(); |
| 2778 | const replayedImportActivity = await consumeLastImportActivity( |
| 2779 | "auto-complete" |
| 2780 | ); |
| 2781 | if (!replayedImportActivity) { |
| 2782 | showSuccessAnimation("Auto-import complete", ".sucessCheck"); |
| 2783 | } |
| 2784 | await chrome.storage.session.remove([ |
| 2785 | IMPORT_JUST_FINISHED_KEY, |
| 2786 | LAST_AUTO_IMPORT_LIST_KEY, |
| 2787 | ]); |
| 2788 | } |
| 2789 | } catch (e) { |
| 2790 | console.warn("[Initialize] Could not process auto-import finished state:", e); |
| 2791 | } |
| 2792 | |
| 2793 | // --- 2. Check Manual Import Finished State --- |
no test coverage detected