diff --git a/src/seqta/utils/Loaders/LoadHomePage.ts b/src/seqta/utils/Loaders/LoadHomePage.ts index 69f031cf..8aabac23 100644 --- a/src/seqta/utils/Loaders/LoadHomePage.ts +++ b/src/seqta/utils/Loaders/LoadHomePage.ts @@ -125,43 +125,33 @@ export async function loadHomePage() { upcomingItems.classList.remove("loading"); } - const noticesFilterPrefs = prefs.payload.filter( - (item: any) => item.name === "notices.filters", - ); - const labelArray = noticesFilterPrefs.map((item: any) => item.value); - - console.info("[BetterSEQTA+] Notices: prefs", { - hasNoticesFiltersPref: noticesFilterPrefs.length > 0, - noticesFilterPrefs, - labelArrayLength: labelArray.length, - }); + const labelArray = prefs.payload + .filter((item: any) => item.name === "notices.filters") + .map((item: any) => item.value); const noticeContainer = document.getElementById("notice-container"); - if (!noticeContainer) { - console.warn("[BetterSEQTA+] Notices: notice-container element not found"); - } else if (labelArray.length > 0) { - const dateControl = document.querySelector( - 'input[type="date"]', - ) as HTMLInputElement; - if (dateControl) { - dateControl.value = TodayFormatted; - setupNotices(labelArray[0].split(" "), TodayFormatted); + if (noticeContainer) { + if (labelArray.length > 0) { + const dateControl = document.querySelector( + 'input[type="date"]', + ) as HTMLInputElement; + if (dateControl) { + dateControl.value = TodayFormatted; + setupNotices(labelArray[0].split(" "), TodayFormatted); + } + noticeContainer.classList.remove("loading"); } else { - console.warn("[BetterSEQTA+] Notices: date input not found, cannot setup notices"); + noticeContainer.classList.remove("loading"); + noticeContainer.innerHTML = ""; + const emptyState = document.createElement("div"); + emptyState.classList.add("day-empty"); + const img = document.createElement("img"); + img.src = browser.runtime.getURL(LogoLight); + const text = document.createElement("p"); + text.innerText = "No notices available."; + emptyState.append(img, text); + noticeContainer.append(emptyState); } - noticeContainer.classList.remove("loading"); - } else { - console.info("[BetterSEQTA+] Notices: no notices.filters pref — showing empty state"); - noticeContainer.classList.remove("loading"); - noticeContainer.innerHTML = ""; - const emptyState = document.createElement("div"); - emptyState.classList.add("day-empty"); - const img = document.createElement("img"); - img.src = browser.runtime.getURL(LogoLight); - const text = document.createElement("p"); - text.innerText = "No notices available."; - emptyState.append(img, text); - noticeContainer.append(emptyState); } return cleanup; @@ -247,18 +237,11 @@ async function GetActiveClasses() { } function setupNotices(labelArray: string[], date: string) { - console.info("[BetterSEQTA+] Notices: setupNotices called", { - labelArray, - date, - labelCount: labelArray.length, - }); - const dateControl = document.querySelector( 'input[type="date"]', ) as HTMLInputElement; const fetchNotices = async (date: string) => { - console.info("[BetterSEQTA+] Notices: fetchNotices start", { date }); try { const data = settingsState.mockNotices ? getMockNotices() @@ -270,15 +253,10 @@ function setupNotices(labelArray: string[], date: string) { }) ).json(); - console.info("[BetterSEQTA+] Notices: fetchNotices response", { - date, - hasPayload: !!data?.payload, - payloadLength: Array.isArray(data?.payload) ? data.payload.length : "n/a", - rawKeys: data ? Object.keys(data) : [], - }); processNotices(data, labelArray); - } catch (error) { - console.error("[BetterSEQTA+] Failed to fetch notices:", error); + } catch { + // Notices failed to load; processNotices will show empty state if container exists + processNotices({ payload: [] }, labelArray); } }; @@ -308,19 +286,12 @@ function comparedate(obj1: any, obj2: any) { } function processNotices(response: any, labelArray: string[]) { const NoticeContainer = document.getElementById("notice-container"); - if (!NoticeContainer) { - console.warn("[BetterSEQTA+] Notices: processNotices — notice-container not found"); - return; - } + if (!NoticeContainer) return; NoticeContainer.innerHTML = ""; const notices = response?.payload; if (!Array.isArray(notices)) { - console.warn("[BetterSEQTA+] Notices: processNotices — invalid or missing payload", { - hasResponse: !!response, - payloadType: typeof response?.payload, - }); const emptyState = document.createElement("div"); emptyState.classList.add("day-empty"); const img = document.createElement("img"); @@ -333,7 +304,6 @@ function processNotices(response: any, labelArray: string[]) { } if (!notices.length) { - console.info("[BetterSEQTA+] Notices: processNotices — no notices for date"); const emptyState = document.createElement("div"); emptyState.classList.add("day-empty"); const img = document.createElement("img"); @@ -346,7 +316,6 @@ function processNotices(response: any, labelArray: string[]) { } const fragment = document.createDocumentFragment(); - let includedCount = 0; notices.forEach((notice: any) => { const shouldInclude = @@ -354,17 +323,12 @@ function processNotices(response: any, labelArray: string[]) { labelArray.includes(JSON.stringify(notice.label)); if (shouldInclude) { - includedCount++; const colour = processNoticeColor(notice.colour); const noticeElement = createNoticeElement(notice, colour); fragment.appendChild(noticeElement); } }); - console.info("[BetterSEQTA+] Notices: processNotices — rendered", { - totalFromApi: notices.length, - includedAfterFilter: includedCount, - }); NoticeContainer.appendChild(fragment); }