feat: add blinking live cursor
This commit is contained in:
parent
709affa957
commit
4c534a0a4f
|
|
@ -1427,4 +1427,14 @@ body.popout-body .status-mini{
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
background-color: #1a2332;
|
background-color: #1a2332;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.live-stream-indicator{
|
||||||
|
animation: asteroid-blink 1s steps(5, start) infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes asteroid-blink{
|
||||||
|
to{
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1160,4 +1160,11 @@
|
||||||
(audio
|
(audio
|
||||||
:opacity 1
|
:opacity 1
|
||||||
:background-color #(color-accented-black)))
|
:background-color #(color-accented-black)))
|
||||||
|
|
||||||
|
;; Live stream blink animation
|
||||||
|
(.live-stream-indicator
|
||||||
|
:animation "asteroid-blink 1s steps(5, start) infinite")
|
||||||
|
|
||||||
|
(:keyframes asteroid-blink
|
||||||
|
(to :visibility "hidden"))
|
||||||
) ;; End of let block
|
) ;; End of let block
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,10 @@
|
||||||
</head>
|
</head>
|
||||||
<body class="persistent-player-container">
|
<body class="persistent-player-container">
|
||||||
<div class="persistent-player">
|
<div class="persistent-player">
|
||||||
<span class="player-label">🟢 LIVE:</span>
|
<span class="player-label">
|
||||||
|
<span class="live-stream-indicator">🟢 </span>
|
||||||
|
LIVE:
|
||||||
|
</span>
|
||||||
|
|
||||||
<div class="quality-selector">
|
<div class="quality-selector">
|
||||||
<input type="hidden" id="stream-base-url" lquery="(val stream-base-url)">
|
<input type="hidden" id="stream-base-url" lquery="(val stream-base-url)">
|
||||||
|
|
|
||||||
|
|
@ -35,11 +35,11 @@
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<div class="live-stream">
|
<div class="live-stream">
|
||||||
<h2 style="color: #00ff00; margin: 0;"><span style="font-size: 1rem;">🟢</span> LIVE STREAM</h2>
|
<h2 style="color: #00ff00; margin: 0;"><span class="live-stream-indicator" style="font-size: 1rem;">🟢</span> LIVE STREAM</h2>
|
||||||
<input type="hidden" id="stream-base-url" lquery="(val stream-base-url)">
|
<input type="hidden" id="stream-base-url" lquery="(val stream-base-url)">
|
||||||
<p><strong class="live-stream-label">Stream URL:</strong> <code id="stream-url" lquery="(text default-stream-url)"></code></p>
|
<p><strong class="live-stream-label">Stream URL:</strong> <code id="stream-url" lquery="(text default-stream-url)"></code></p>
|
||||||
<p><strong class="live-stream-label">Stream Quality:</strong> <span id="stream-format" lquery="(text default-stream-encoding-desc)"></span></p>
|
<p><strong class="live-stream-label">Stream Quality:</strong> <span id="stream-format" lquery="(text default-stream-encoding-desc)"></span></p>
|
||||||
<p><strong class="live-stream-label">BROADCASTING:</strong> <span id="stream-status" style="">Asteroid music for Hackers.</span></p>
|
<p><strong class="live-stream-label">BROADCASTING:</strong> <span id="stream-status" style="">Asteroid music for Hackers</span></p>
|
||||||
<p class="frame-enable-message"><em>The live stream player is now in the persistent bar at the bottom of the page</em></p>
|
<p class="frame-enable-message"><em>The live stream player is now in the persistent bar at the bottom of the page</em></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
<main>
|
<main>
|
||||||
<div class="live-stream">
|
<div class="live-stream">
|
||||||
<div style="margin-bottom: 20px;">
|
<div style="margin-bottom: 20px;">
|
||||||
<h2 style="color: #00ff00; margin: 0;"><span style="font-size: 1rem;">🟢</span> LIVE STREAM</h2>
|
<h2 style="color: #00ff00; margin: 0;"><span class="live-stream-indicator" style="font-size: 1rem;">🟢</span> LIVE STREAM</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Stream Quality Selector -->
|
<!-- Stream Quality Selector -->
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,10 @@
|
||||||
|
|
||||||
<!-- Live Stream Section - Note about persistent player -->
|
<!-- Live Stream Section - Note about persistent player -->
|
||||||
<div class="player-section">
|
<div class="player-section">
|
||||||
<h2 style="color: #00ff00;">🟢 Live Radio Stream</h2>
|
<h2 style="color: #00ff00;">
|
||||||
|
<span class="live-stream-indicator" style="font-size: 1rem;">🟢 </span>
|
||||||
|
Live Radio Stream
|
||||||
|
</h2>
|
||||||
<p><em>The live stream player is now in the persistent bar at the bottom of the page. It will continue playing as you navigate between pages!</em></p>
|
<p><em>The live stream player is now in the persistent bar at the bottom of the page. It will continue playing as you navigate between pages!</em></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,10 @@
|
||||||
|
|
||||||
<!-- Live Stream Section -->
|
<!-- Live Stream Section -->
|
||||||
<div class="player-section">
|
<div class="player-section">
|
||||||
<h2 style="color: #00ff00;">🟢 Live Radio Stream</h2>
|
<h2 style="color: #00ff00;">
|
||||||
|
<span class="live-stream-indicator" style="font-size: 1rem;">🟢 </span>
|
||||||
|
Live Radio Stream
|
||||||
|
</h2>
|
||||||
<div class="live-stream">
|
<div class="live-stream">
|
||||||
<input type="hidden" id="stream-base-url" lquery="(val stream-base-url)">
|
<input type="hidden" id="stream-base-url" lquery="(val stream-base-url)">
|
||||||
<!-- Stream Quality Selector -->
|
<!-- Stream Quality Selector -->
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,9 @@
|
||||||
</audio>
|
</audio>
|
||||||
|
|
||||||
<div class="status-mini">
|
<div class="status-mini">
|
||||||
<span style="color: #00ff00;">● LIVE</span>
|
<span style="color: #00ff00;">
|
||||||
|
<span class="live-stream-indicator">●</span>
|
||||||
|
LIVE</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue