{ "version": 3, "sources": ["../../../kangaroo_comics/comics.ts"], "sourcesContent": ["// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-3.0-or-later\nexport {};\n\nfunction startLoadingComics() {\n const getDateBy = (year: number, month: number, dayOfMonth: number): Date =>\n new Date(year, month - 1, dayOfMonth, 6, 0, 0, 0);\n // date with special link format\n const wrongLinks: [Date, string][] = [\n [\n getDateBy(2021, 5, 25),\n \"administratives/kaenguru-comics/25/original/\",\n ],\n [\n getDateBy(2021, 9, 6),\n \"administratives/kaenguru-comics/2021-09/6/original/\",\n ],\n [\n getDateBy(2021, 10, 4),\n \"administratives/kaenguru-comics/2021-10/4/original\",\n ],\n [\n getDateBy(2021, 10, 29),\n \"administratives/kaenguru-comics/29/original\",\n ],\n [\n getDateBy(2021, 11, 3),\n \"administratives/kaenguru-comics/2021-11/03-11-21/original\",\n ],\n [\n getDateBy(2021, 12, 6),\n \"administratives/kaenguru-comics/2021-12/6/original\",\n ],\n [\n getDateBy(2022, 1, 29),\n \"administratives/kaenguru-comics/2022-01/29-3/original\",\n ],\n [\n getDateBy(2022, 2, 7),\n \"administratives/kaenguru-comics/08-02-22/original\",\n ],\n [\n getDateBy(2022, 2, 12),\n \"administratives/kaenguru-comics/12/original\",\n ],\n [\n getDateBy(2022, 2, 14),\n \"administratives/kaenguru-comics/14/original\",\n ],\n [\n getDateBy(2022, 3, 28),\n \"administratives/kaenguru-comics/2022-03/kaenguru-2022-03-28/original\",\n ],\n [\n getDateBy(2022, 4, 4),\n \"administratives/kaenguru-comics/2022-04/4/original\",\n ],\n [\n getDateBy(2022, 5, 9),\n \"administratives/kaenguru-comics/2022-05/9/original\",\n ],\n [\n getDateBy(2022, 8, 15),\n \"administratives/kaenguru-comics/2022-08/kaenguru-comics-2022-08-15/original\",\n ],\n [\n getDateBy(2022, 8, 29),\n \"administratives/kaenguru-comics/2022-08/29-3/original\",\n ],\n [\n getDateBy(2023, 3, 2),\n \"administratives/kaenguru-comics/2023-03/2/original\",\n ],\n ];\n\n const dateEquals = (\n date: Date,\n year: number,\n month: number,\n dayOfMonth: number,\n ): boolean => (\n // check if a date equals another based on year, month, and dayOfMonth\n date.getFullYear() === year &&\n date.getMonth() === (month - 1) && // JS is stupid\n date.getDate() === dayOfMonth\n );\n\n const datesEqual = (date1: Date, date2: Date): boolean =>\n dateEquals(\n date1,\n date2.getFullYear(),\n date2.getMonth() + 1, // JS is stupid\n date2.getDate(),\n );\n\n const isSunday = (date: Date | undefined) => (\n date &&\n date.getDay() === 0 &&\n // exception for 2020-12-20 (sunday) because there was a comic\n !dateEquals(date, 2020, 12, 20)\n );\n\n const copyDate = (date: Date): Date =>\n getDateBy(date.getFullYear(), date.getMonth() + 1, date.getDate());\n\n // get today without hours, minutes, seconds and ms\n const getToday = (): Date => copyDate(new Date(\"2023-03-06\")); // not today, but the last date a comic was published\n\n const comics: string[] = [];\n\n const links = `/static/img/2020-11-03.jpg\nadministratives/kaenguru-comics/pilot-kaenguru/original\nadministratives/kaenguru-comics/pow-kaenguru/original\nstatic/img/kaenguru-announcement/original\nadministratives/kaenguru-comics/der-baum-kaenguru/original\nadministratives/kaenguru-comics/warnung-kaenguru/original\nadministratives/kaenguru-comics/kaenguru-005/original\nadministratives/kaenguru-comics/kaenguru-006/original\nadministratives/kaenguru-comics/kaenguru-007/original\nadministratives/kaenguru-comics/kaenguru-008/original\nadministratives/kaenguru-comics/kaenguru-009/original\nadministratives/kaenguru-comics/kaenguru-010/original\nadministratives/kaenguru-comics/kaenguru-011/original\nadministratives/kaenguru-comics/kaenguru-012/original\nadministratives/kaenguru-comics/kaenguru-013/original\nadministratives/kaenguru-comics/kaenguru-014/original\nadministratives/kaenguru-comics/kaenguru-015/original\nadministratives/kaenguru-comics/kaenguru-016/original\nadministratives/kaenguru-comics/kaenguru-017/original\nadministratives/kaenguru-comics/kaenguru-018/original\nadministratives/2020-12/kaenguru-comics-kaenguru-019/original\nadministratives/kaenguru-comics/kaenguru-020/original\nadministratives/kaenguru-comics/kaenguru-021/original\nadministratives/kaenguru-comics/kaenguru-023/original\nadministratives/kaenguru-comics/kaenguru-024/original\nadministratives/kaenguru-comics/kaenguru-025/original\nadministratives/kaenguru-comics/kaenguru-026/original\nadministratives/kaenguru-comics/kaenguru-027/original\nadministratives/kaenguru-comics/kaenguru-028/original\nadministratives/kaenguru-comics/kaenguru-029/original\nadministratives/kaenguru-comics/kaenguru-030/original\nadministratives/kaenguru-comics/kaenguru-031/original\nadministratives/kaenguru-comics/kaenguru-032/original\nadministratives/kaenguru-comics/kaenguru-033/original\nadministratives/kaenguru-comics/kaenguru-034/original\nadministratives/kaenguru-comics/kaenguru-035/original\nadministratives/kaenguru-comics/kaenguru-036/original\nadministratives/kaenguru-comics/kaenguru-037/original\nadministratives/kaenguru-comics/kaenguru-038-2/original\nadministratives/kaenguru-comics/kaenguru-039/original\nadministratives/kaenguru-comics/kaenguru-040/original\nadministratives/kaenguru-comics/kaenguru-41/original\nadministratives/kaenguru-comics/kaenguru-42/original\nadministratives/kaenguru-comics/kaenguru-43/original\nadministratives/kaenguru-comics/kaenguru-44/original\nadministratives/kaenguru-comics/kaenguru-045/original\n`;\n function addLinksToComics(): void {\n const today = getToday();\n const date = copyDate(firstDateWithNewLink);\n while (date.getTime() <= today.getTime()) {\n comics.push(generateComicLink(date));\n dateIncreaseByDays(date, 1);\n }\n }\n\n const days: [string, string, string, string, string, string, string] = [\n \"Sonntag\",\n \"Montag\",\n \"Dienstag\",\n \"Mittwoch\",\n \"Donnerstag\",\n \"Freitag\",\n \"Samstag\",\n ];\n // @ts-expect-error TS2322\n const getDayName = (date: Date): string => days[date.getDay()];\n const months: [\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n string,\n ] = [\n \"Januar\",\n \"Februar\",\n \"März\",\n \"April\",\n \"Mai\",\n \"Juni\",\n \"Juli\",\n \"August\",\n \"September\",\n \"Oktober\",\n \"November\",\n \"Dezember\",\n ];\n // @ts-expect-error TS2322\n const getMonthName = (date: Date): string => months[date.getMonth()];\n\n const getDateString = (date: Date): string => (\n `Comic von ${getDayName(date)}, dem ${date.getDate()}. ${\n getMonthName(date)\n } ${date.getFullYear()}`\n );\n\n function removeAllPopups() {\n for (const node of document.getElementsByClassName(\"popup-container\")) {\n node.remove();\n }\n }\n\n const currentImgHeader = document.getElementById(\n \"current-comic-header\",\n ) as HTMLAnchorElement;\n const currentImg = document.getElementById(\n \"current-img\",\n ) as HTMLImageElement;\n currentImg.onmouseover = removeAllPopups;\n // const currentImgContainer = document.getElementById(\"current-img-container\");\n function setCurrentComic(date: Date) {\n let link = generateComicLink(date);\n link = link.startsWith(\"/\") ? link : \"https://img.zeit.de/\" + link;\n currentImg.src = link;\n // currentImg.crossOrigin = \"\";\n currentImgHeader.innerText = \"Neuster \" + getDateString(date) + \":\";\n currentImgHeader.href = link;\n }\n\n const firstDateWithOldLink = getDateBy(2020, 12, 3);\n const oldLinkRegex =\n /administratives\\/kaenguru-comics\\/kaenguru-(\\d{2,3})(?:-2)?\\/original\\/?/;\n\n const firstDateWithNewLink = getDateBy(2021, 1, 19);\n const newLinkRegex =\n /administratives\\/kaenguru-comics\\/(\\d{4})-(\\d{2})\\/(\\d{2})\\/original\\/?/;\n\n const relativeLinkRegex = /\\/static\\/img\\/(\\d{4})-(\\d{1,2})-(\\d{1,2})\\.jpg/;\n\n function getDateFromLink(link: string): Date | null {\n for (const reg of [newLinkRegex, relativeLinkRegex]) {\n // URLs with year, month, day in them as three groups\n const match = link.toLowerCase().match(reg);\n if (match && match.length > 3) {\n return getDateBy(\n // @ts-expect-error TS2345\n parseInt(match[1]),\n // @ts-expect-error TS2345\n parseInt(match[2]),\n // @ts-expect-error TS2345\n parseInt(match[3]),\n );\n }\n }\n // URLs with incrementing number in them\n // eslint-disable-next-line @typescript-eslint/prefer-regexp-exec\n const arr = link.toLowerCase().match(oldLinkRegex);\n if (arr && arr.length > 1) {\n // @ts-expect-error TS2345\n const num = parseInt(arr[1]) - 5;\n const date = new Date(firstDateWithOldLink.getTime());\n for (let i = 0; i < num; i++) {\n date.setTime(\n dateIncreaseByDays(date, isSunday(date) ? 2 : 1).getTime(),\n );\n }\n return isSunday(date) ? dateIncreaseByDays(date, 1) : date;\n }\n link = link.toLowerCase().trim();\n switch (link) { // first URLs with special format\n case \"administratives/kaenguru-comics/pilot-kaenguru/original\":\n return getDateBy(2020, 11, 29);\n case \"administratives/kaenguru-comics/pow-kaenguru/original\":\n return getDateBy(2020, 11, 30);\n case \"static/img/kaenguru-announcement/original\":\n return getDateBy(2020, 11, 30);\n case \"administratives/kaenguru-comics/der-baum-kaenguru/original\":\n return getDateBy(2020, 12, 1);\n case \"administratives/kaenguru-comics/warnung-kaenguru/original\":\n return getDateBy(2020, 12, 2);\n case \"administratives/2020-12/kaenguru-comics-kaenguru-019/original\":\n return getDateBy(2020, 12, 19);\n }\n for (const arr of wrongLinks) {\n if (link === arr[1]) {\n return arr[0];\n }\n }\n return null;\n }\n\n const linkFormat = \"administratives/kaenguru-comics/%y-%m/%d/original\";\n\n function generateComicLink(date: Date): string {\n for (const arr of wrongLinks) {\n if (datesEqual(date, arr[0])) {\n return arr[1];\n }\n }\n const month = (date.getMonth() + 1).toString();\n const day = date.getDate().toString();\n return linkFormat\n .replace(\"%y\", date.getFullYear().toString())\n .replace(\"%m\", month.length === 2 ? month : \"0\" + month)\n .replace(\"%d\", day.length === 2 ? day : \"0\" + day);\n }\n\n function dateIncreaseByDays(date: Date, days: number): Date {\n date.setTime(\n // working in milliseconds\n date.getTime() + (days * 1000 * 60 * 60 * 24),\n );\n date.setHours(6); // to compensate errors through daylight savings time\n return date;\n }\n\n const comicCountToLoadOnCLick = 7;\n const loadButton = document.getElementById(\"load-button\")!;\n const list = document.getElementById(\"old-comics-list\")!;\n let loaded = 0;\n\n const loadMoreComics = () => {\n for (let i = 0; i < comicCountToLoadOnCLick; i++) {\n loaded++;\n const c = comics.length - loaded;\n if (c < 0) {\n break;\n }\n\n let link = comics[c];\n // @ts-expect-error TS2345\n const date = getDateFromLink(link);\n if (date === null) {\n console.error(`No date found for ${link}`);\n continue;\n }\n // @ts-expect-error TS2532\n link = link.startsWith(\"/\") ? link : `https://img.zeit.de/${link}`;\n\n const listItem = document.createElement(\"li\");\n const header = document.createElement(\"a\");\n header.classList.add(\"comic-header\");\n header.innerText = getDateString(date) + \":\";\n // @ts-expect-error TS2322\n header.href = link;\n header.style.fontSize = \"25px\";\n listItem.appendChild(header);\n listItem.appendChild(document.createElement(\"br\"));\n const image = document.createElement(\"img\");\n image.classList.add(\"normal-img\");\n // image.crossOrigin = \"\";\n // @ts-expect-error TS2322\n image.src = link;\n image.alt = getDateString(date);\n image.onclick = () => {\n createImgPopup(image);\n };\n image.onerror = () => {\n if (isSunday(date)) {\n // normally the image is not available on sundays\n // so we can remove the image if it is not available\n list.removeChild(listItem);\n } else {\n // if the image is not available, display an error message\n listItem.append(\" konnte nicht geladen werden.\");\n }\n };\n listItem.appendChild(image);\n list.appendChild(listItem);\n }\n\n if (loaded >= comics.length) {\n loadButton.style.opacity = \"0\";\n loadButton.style.visibility = \"invisible\";\n }\n };\n (document.getElementById(\"load-button\")!).onclick = loadMoreComics;\n\n const createImgPopup = (image: HTMLImageElement) => {\n removeAllPopups();\n\n const popupContainer = document.createElement(\"div\");\n popupContainer.classList.add(\"popup-container\");\n popupContainer.onmouseleave = () => {\n popupContainer.remove();\n };\n popupContainer.onclick = () => {\n removeAllPopups();\n };\n\n const clone = image.cloneNode(true) as HTMLElement;\n clone.classList.remove(\"normal-img\");\n clone.classList.add(\"popup-img\");\n\n const closeButton = document.createElement(\"img\");\n closeButton.classList.add(\"close-button\");\n closeButton.src = \"/static/img/close.svg?v=0\";\n\n popupContainer.appendChild(clone);\n popupContainer.appendChild(closeButton);\n image.parentNode!.appendChild(popupContainer);\n };\n\n // add links to comics list\n comics.push(...links.split(\"\\n\")); // first 50 comics 29.11.2020 - 17.01.21\n addLinksToComics();\n\n const today = dateIncreaseByDays(getToday(), 1);\n setCurrentComic(today);\n currentImg.onerror = () => {\n if (today.getUTCFullYear() < 2020) {\n return;\n }\n dateIncreaseByDays(today, -1);\n setCurrentComic(today);\n\n if (loaded < comicCountToLoadOnCLick) {\n loaded++;\n }\n };\n}\n\nconst startButton = document.getElementById(\"start-button-no_3rd_party\");\nif (startButton !== null) {\n const contentContainer = document.getElementById(\n \"comic-content-container\",\n )!;\n // no_3rd_party is activated\n startButton.onclick = () => {\n startButton.remove();\n contentContainer.classList.remove(\"hidden\");\n startLoadingComics();\n };\n contentContainer.classList.add(\"hidden\");\n} else {\n startLoadingComics();\n}\n"], "mappings": "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", "names": ["startLoadingComics", "getDateBy", "year", "month", "dayOfMonth", "wrongLinks", "dateEquals", "date", "datesEqual", "date1", "date2", "isSunday", "copyDate", "getToday", "comics", "links", "addLinksToComics", "today", "firstDateWithNewLink", "generateComicLink", "dateIncreaseByDays", "days", "getDayName", "months", "getMonthName", "getDateString", "removeAllPopups", "node", "currentImgHeader", "currentImg", "setCurrentComic", "link", "firstDateWithOldLink", "oldLinkRegex", "newLinkRegex", "relativeLinkRegex", "getDateFromLink", "reg", "match", "arr", "num", "i", "linkFormat", "day", "comicCountToLoadOnCLick", "loadButton", "list", "loaded", "loadMoreComics", "c", "listItem", "header", "image", "createImgPopup", "popupContainer", "clone", "closeButton", "startButton", "contentContainer"] }