| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- $(() => {
- function RebuildAccess() {
- let storedAccessLinks = JSON.parse(localStorage?.getItem("accessLinks") || "[]") || [];
- if (storedAccessLinks && storedAccessLinks.length) {
- LoadingTasks.push(() => {
- return window.linkLogin(storedAccessLinks);
- });
- } else {
- LoadingTasks.push(() => {
- return new Promise(ok => {
- $.get("/api/access/list", data => {
- window.ReloadAccessList(data);
- ok();
- });
- });
- });
- }
- }
- let loadingMediaList = false;
- function ReadMediaList() {
- if (loadingMediaList)
- return;
- LoadingTasks.push(() => {
- return new Promise(ok => {
- let chronology = window.chronology.isInitialized() ? "" : "&chronology"
- let oldest = (MediaStorage.Instance.oldest?.date?.getTime() || 0);
- let oldestArg = oldest ? `&from=${oldest}` : "";
- $.get(`/api/media/list?count=100${chronology}${oldestArg}`, data => {
- MediaStorage.Instance.pushAll(data.data.map(i => new Media(i)));
- if (data.first || data.last)
- window.chronology.rebuildRange(data.first, data.last);
- loadingMediaList = false;
- if ((data.data?.length || 0) === 0) {
- loadingMediaList = true;
- document.getElementById("pch-infiniteScrollLoading").classList.add("hidden");
- window.ReloadFilters(MediaStorage.Instance);
- }
- else
- setTimeout(ReadMediaList, 25);
- ok();
- });
- });
- });
- }
- function loadHash(md5sum) {
- if (md5sum && md5sum.length)
- LoadingTasks.push(async () => displayMediaFullPage(await MediaStorage.Instance.getMedia(md5sum)));
- else
- document.getElementById("pch-fullPageMedia").classList.add("hidden");
- }
- window.addEventListener("hashchange", x => {
- x.preventDefault();
- loadHash(document.location?.hash?.substr(1))
- return true;
- });
- onScrollBottom = (function () {
- this.lastCall= null;
- this.fnc = () => {
- if (this.lastCall !== null)
- return;
- this.lastCall = setTimeout(() => {
- this.lastCall = null;
- }, 1000);
- window.displayMoreMedia();
- };
- return this;
- })();
- window.addEventListener("scroll", evt => {
- if (window.scrollY+window.innerHeight >= document.body.clientHeight)
- onScrollBottom.fnc();
- });
- RebuildAccess();
- loadHash(document.location?.hash?.substr(1));
- ReadMediaList();
- });
|