Add signed node-scoped demo catalogs and retained app media sessions

This commit is contained in:
archipelago
2026-10-06 00:53:34 -04:00
parent 131c39cf74
commit e54f83df8f
18 changed files with 706 additions and 20 deletions
@@ -2,7 +2,7 @@
<Teleport to="body">
<Transition name="slide-up">
<div
v-if="audioPlayer.currentName.value"
v-if="audioPlayer.currentName.value && !audioPlayer.externalVisible.value"
ref="barEl"
class="fixed left-0 right-0 z-40 audio-player-bar"
>
@@ -42,6 +42,8 @@
<p class="text-xs text-white/40">{{ formatTime(audioPlayer.currentTime.value) }} / {{ formatTime(audioPlayer.duration.value) }}</p>
</div>
<button v-if="audioPlayer.externalApp.value" class="glass-button px-3 py-2 rounded-lg text-sm text-white shrink-0" @click="audioPlayer.openExternal()" aria-label="Open playing app">Open app</button>
<!-- Close -->
<button
class="flex-shrink-0 w-8 h-8 rounded-full hover:bg-white/10 flex items-center justify-center transition-colors"
@@ -81,7 +83,7 @@ function clearPlayerHeightVar() {
document.documentElement.classList.remove('audio-active')
}
watch(() => audioPlayer.currentName.value, (name) => {
watch(() => audioPlayer.currentName.value && !audioPlayer.externalVisible.value, (name) => {
if (name) {
nextTick(setPlayerHeightVar)
} else {