diff options
Diffstat (limited to 'app/index.php')
-rw-r--r-- | app/index.php | 52 |
1 files changed, 37 insertions, 15 deletions
diff --git a/app/index.php b/app/index.php index 6989866..601c974 100644 --- a/app/index.php +++ b/app/index.php @@ -37,11 +37,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI <script src="/assets/js/common.js"></script> <script> if (location.hash.trim() === "") { - if (window.innerWidth < 863) { - location.hash = "#/library"; - } else { - location.hash = "#/albums"; - } + location.hash = "#/home"; } if (window.MistNative) { @@ -77,17 +73,13 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI document.getElementById("modal").onload = () => { window.modalLoaded = true; - <?php $app = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/includes/app.json"), true); global $_PROFILE; if (in_array($_PROFILE["id"], $app["dp"])): ?> - openModal("Mist Developer Preview", "welcome-dp.php", false); - <?php else: ?> if (localStorage.getItem("welcomed") !== "true") { openModal("Welcome to Mist", "welcome.php", true); } else { - if (localStorage.getItem("lastUpdate") !== "<?= trim(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/version")) ?>|<?= trim(file_exists("/opt/spotify/build.txt") ? file_get_contents("/opt/spotify/build.txt") : "trunk") ?>") { + if (localStorage.getItem("lastUpdate") !== "<?= trim(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/version")) ?>") { openModal("What's new in Mist?", "update.php", true); } } - <?php endif; ?> } window.onerror = (_1, _2, _3, _4, err) => { @@ -142,11 +134,15 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI document.getElementById("lyrics-page").style.display = "none"; document.getElementById("ui").style.display = ""; setSrcIfDifferent("ui/listing.php?a=" + location.hash.split("/")[2]); + } else if (name === "favorites" && location.hash.split("/")[2]) { + document.getElementById("lyrics-page").style.display = "none"; + document.getElementById("ui").style.display = ""; + setSrcIfDifferent("ui/favorites.php?u=" + location.hash.split("/")[2]); } else if (name === "search" && location.hash.split("/")[2]) { document.getElementById("lyrics-page").style.display = "none"; document.getElementById("ui").style.display = ""; setSrcIfDifferent("ui/search.php?q=" + location.hash.split("/")[2]); - name = "explore"; + name = "home"; } else { document.getElementById("lyrics-page").style.display = "none"; document.getElementById("ui").style.display = ""; @@ -154,6 +150,18 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI } } + window.setPlayerVolume = () => { + let volume = parseFloat(document.getElementById("player").contentDocument.getElementById("volume").value); + localStorage.setItem("volume", volume); + + document.getElementById("player").contentDocument.getElementById("player-audio").volume = volume / 100; + document.getElementById("player").contentDocument.getElementById("player-audio-stella-side1").volume = volume / 100; + document.getElementById("player").contentDocument.getElementById("player-audio-stella-side2").volume = volume / 100; + document.getElementById("player").contentDocument.getElementById("player-audio-stella-side3").volume = volume / 100; + document.getElementById("player").contentDocument.getElementById("player-audio-stella-side4").volume = volume / 100; + document.getElementById("player").contentDocument.getElementById("player-audio-stella-side5").volume = volume / 100; + } + loadHash(); document.getElementById("ui").onload = () => { @@ -162,10 +170,24 @@ require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.php"; global $_PROFI } document.getElementById("navigation").onload = window.redoNavigation = (name) => { - if (!name || typeof name !== "string") name = window.name; - if (name === "lyrics") showLyrics(); - Array.from(document.getElementById("navigation").contentDocument.getElementsByClassName("navigation-item")).map(i => i.classList.remove("active")); - document.getElementById("navigation").contentDocument.getElementById(name).classList.add("active"); + class MistNavigationError extends Error { + constructor(message, stack) { + super(message); + this.name = "MistNavigationError"; + this.message = message; + this.stack = this.stack + "\n\n" + stack; + } + } + + try { + if (!name || typeof name !== "string") name = window.name; + if (name === "lyrics") showLyrics(); + if (name === "search") name = "home"; + Array.from(document.getElementById("navigation").contentDocument.getElementsByClassName("navigation-item")).map(i => i.classList.remove("active")); + document.getElementById("navigation").contentDocument.getElementById(name).classList.add("active"); + } catch (e) { + throw new MistNavigationError("Error while navigating to " + name + ": " + e.message, e.stack); + } } let loadedPlayers = 0; |