formatting pass
This commit is contained in:
@@ -13,10 +13,13 @@
|
||||
<div class="description-bubble">
|
||||
<p>Hello, there, welcome to V1.6.</p>
|
||||
<p>
|
||||
<u>2026-03-16 update:</u> you can now cache streams offline for playback in low-connectivity environments (and to prevent buffering)!<br>
|
||||
Simply click on the download icon in the stream list (and click again to remove them from cache). You can also filter by cached streams at the top. This all goes into your browser storage, and a stream is generally 100~250MB depending on its length.
|
||||
<u>2026-03-16 update:</u> you can now cache streams offline for playback in low-connectivity
|
||||
environments (and to prevent buffering)!<br />
|
||||
Simply click on the download icon in the stream list (and click again to remove them from cache).
|
||||
You can also filter by cached streams at the top. This all goes into your browser storage, and
|
||||
a stream is generally 100~250MB depending on its length.
|
||||
</p>
|
||||
<hr>
|
||||
<hr />
|
||||
<p>
|
||||
Still in construction. The design is responsive now, so phones should work well enough!
|
||||
Needs touch events though.
|
||||
|
||||
@@ -46,9 +46,7 @@ export function load({ params }) {
|
||||
error(404);
|
||||
}
|
||||
|
||||
result.descriptionHtml = Bun.markdown.html(
|
||||
result.description || 'No description available.'
|
||||
);
|
||||
result.descriptionHtml = Bun.markdown.html(result.description || 'No description available.');
|
||||
|
||||
if (dev) {
|
||||
// pass raw JSON for metadata editor
|
||||
|
||||
@@ -230,7 +230,6 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<svelte:window
|
||||
@@ -263,15 +262,20 @@
|
||||
</button>
|
||||
<progress
|
||||
bind:this={songBar}
|
||||
value={seeking && pendingSeekTime != null ? pendingSeekTime : (currentTime || 0)}
|
||||
value={seeking && pendingSeekTime != null ? pendingSeekTime : currentTime || 0}
|
||||
max={duration}
|
||||
onmousedown={(e) => { seeking = true; updateSeekVisual(e); }}
|
||||
onmousedown={(e) => {
|
||||
seeking = true;
|
||||
updateSeekVisual(e);
|
||||
}}
|
||||
onmouseenter={() => (showTooltip = true)}
|
||||
onmouseleave={() => (showTooltip = false)}
|
||||
style="--primary-color:{barPrimaryColor}; --secondary-color:{barSecondaryColor}"
|
||||
class="song-progress"
|
||||
></progress>
|
||||
<div class="control-times">{formatSeconds(currentTime, duration >= 3600)}/{formatSeconds(duration)}</div>
|
||||
<div class="control-times">
|
||||
{formatSeconds(currentTime, duration >= 3600)}/{formatSeconds(duration)}
|
||||
</div>
|
||||
<button
|
||||
style="--icon-color:{iconColor}"
|
||||
class="material-icons"
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
|
||||
const ctx = getStreamContext();
|
||||
|
||||
let formattedStreamDate = $derived(
|
||||
ctx.current ? formatDate(ctx.current.stream_date) : ''
|
||||
);
|
||||
let formattedStreamDate = $derived(ctx.current ? formatDate(ctx.current.stream_date) : '');
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
|
||||
Reference in New Issue
Block a user