| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- $(() => {
- function RebuildAccess() {
- LoadingTasks.push(() => {
- $.get("/api/access/list", data => {
- window.ReloadAccessList(data);
- });
- });
- }
- 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=25${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) < 25) {
- loadingMediaList = true;
- document.getElementById("pch-infiniteScrollLoading").classList.add("hidden");
- }
- 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;
- });
- window.addEventListener("scroll", evt => {
- if (window.scrollY+window.innerHeight >= document.body.clientHeight) {
- ReadMediaList();
- }
- });
- RebuildAccess();
- loadHash(document.location?.hash?.substr(1));
- ReadMediaList();
- });
|