Fix radio admin StatusCard icons showing as Unicode escapes.
Local Build and Deploy / deploy (push) Successful in 56s

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-07-15 21:45:57 +02:00
1 parent 7b6c02c07d
commit ea07950374
11 files changed
+34 -34

No files matched your search

+3 -3
View File
@@ -107,19 +107,19 @@ export default async function AdminRadioApiKeysPage() {
<StatusCard
label={t("apiKeysForm.totalKeys")}
value={total}
icon="\u{1F511}"
icon="🔑"
/>
<StatusCard
label={t("apiKeysForm.active")}
value={activeCount}
state={activeCount > 0 ? "ok" : "neutral"}
icon="\u{2705}"
icon="✅"
/>
<StatusCard
label={t("apiKeysForm.inactive")}
value={inactiveCount}
state={inactiveCount > 0 ? "warn" : "neutral"}
icon="\u{1F6AB}"
icon="🚫"
/>
</div>
)}
+3 -3
View File
@@ -110,19 +110,19 @@ export default async function AdminRadioAutoDjPage() {
<StatusCard
label={t("autoDjForm.tracks")}
value={tracks.length}
icon="\u{1F3B5}"
icon="🎵"
/>
<StatusCard
label={t("autoDjForm.active")}
value={activeCount}
state={activeCount > 0 ? "ok" : "neutral"}
icon="\u{25B6}\uFE0F"
icon="▶️"
/>
<StatusCard
label={t("autoDjForm.inactive")}
value={inactiveCount}
state={inactiveCount > 0 ? "warn" : "neutral"}
icon="\u{23F8}\uFE0F"
icon="⏸️"
/>
</div>
)}
+3 -3
View File
@@ -90,19 +90,19 @@ export default async function AdminRadioBannersPage() {
<StatusCard
label={t("banners.title")}
value={banners.length}
icon="\u{1F5BC}\uFE0F"
icon="🖼️"
/>
<StatusCard
label={t("banners.statusActive")}
value={activeCount}
state={activeCount > 0 ? "ok" : "neutral"}
icon="\u{2705}"
icon="✅"
/>
<StatusCard
label={t("banners.statusHidden")}
value={hiddenCount}
state={hiddenCount > 0 ? "warn" : "neutral"}
icon="\u{1F6AB}"
icon="🚫"
/>
</div>
)}
+3 -3
View File
@@ -72,12 +72,12 @@ export default async function AdminRadioEmbedPage() {
hasStream ? t("embedPage.configured") : t("embedPage.missing")
}
state={hasStream ? "ok" : "danger"}
icon="\u{1F4BB}"
icon="💻"
/>
<StatusCard
label={t("embedPage.radioName")}
value={radioName}
icon="\u{1F399}\uFE0F"
icon="🎙️"
/>
<StatusCard
label={t("embedPage.nowPlayingApi")}
@@ -85,7 +85,7 @@ export default async function AdminRadioEmbedPage() {
nowPlayingApiUrl ? t("embedPage.set") : t("embedPage.notSet")
}
state={nowPlayingApiUrl ? "ok" : "neutral"}
icon="\u{1F3B5}"
icon="🎵"
/>
</div>
</section>
+4 -4
View File
@@ -109,23 +109,23 @@ export default async function AdminRadioHistoryPage() {
<StatusCard
label={t("historyPage.showsLogged")}
value={history.length}
icon="\u{1F399}\uFE0F"
icon="🎙️"
/>
<StatusCard
label={t("historyPage.onAirNow")}
value={liveCount}
state={liveCount > 0 ? "ok" : "neutral"}
icon="\u{1F534}"
icon="🔴"
/>
<StatusCard
label={t("historyPage.uniqueDjs")}
value={uniqueDjs}
icon="\u{1F9D1}\u200D\u{1F3A4}"
icon="🧑‍🎤"
/>
<StatusCard
label={t("historyPage.peakListeners")}
value={peakListeners}
icon="\u{1F465}"
icon="👥"
/>
</div>
)}
+1 -1
View File
@@ -68,7 +68,7 @@ export default async function AdminRadioModerationPage() {
<StatusCard
label={t("shouts")}
value={shouts.length}
icon="\u{1F4E3}"
icon="📣"
/>
</div>
+3 -3
View File
@@ -251,21 +251,21 @@ export default async function AdminRadioMonitoringPage() {
!streamConfigured ? "neutral" : streamOnline ? "ok" : "danger"
}
hint={streamUrl ? shortUrl(streamUrl) : undefined}
icon="\u{1F4E1}"
icon="📡"
/>
<StatusCard
label={t("monitoring.nowPlaying")}
value={nowPlaying ?? "\u2014"}
state={nowPlaying ? "ok" : "neutral"}
hint={!nowPlayingUrl ? t("monitoring.noNowPlayingHint") : undefined}
icon="\u{1F3B5}"
icon="🎵"
/>
<StatusCard
label={t("monitoring.listeners")}
value={listeners ?? "\u2014"}
state={listeners != null ? "ok" : "neutral"}
hint={!listenersUrl ? t("monitoring.noListenersHint") : undefined}
icon="\u{1F3A7}"
icon="🎧"
/>
</div>
</section>
+4 -4
View File
@@ -127,24 +127,24 @@ export default async function AdminRadioPage() {
<StatusCard
label={t("shouts")}
value={shouts.length}
icon="\u{1F4E3}"
icon="📣"
/>
<StatusCard
label={t("pendingApplications")}
value={pendingApps}
state={pendingApps > 0 ? "warn" : "ok"}
icon="\u{1F4DD}"
icon="📝"
/>
<StatusCard
label={t("schedules")}
value={schedules.length}
icon="\u{1F5D3}\uFE0F"
icon="🗓️"
/>
<StatusCard
label={t("activeSchedules")}
value={activeSchedules}
state={activeSchedules > 0 ? "ok" : "neutral"}
icon="\u{1F399}\uFE0F"
icon="🎙️"
/>
</div>
+4 -4
View File
@@ -100,23 +100,23 @@ export default async function AdminRadioPointsPage({
label={t("pointsForm.points")}
value={enabled ? t("pointsForm.enabled") : t("pointsForm.disabled")}
state={enabled ? "ok" : "danger"}
icon="\u{1F3A7}"
icon="🎧"
/>
<StatusCard
label={t("pointsForm.perMinute")}
value={perMinute}
hint={t("pointsForm.paidIn", { currency: selectedCurrency })}
icon="\u{23F1}\uFE0F"
icon="⏱️"
/>
<StatusCard
label={t("pointsForm.maxPerDay")}
value={maxPerDay === "0" ? t("pointsForm.unlimited") : maxPerDay}
icon="\u{1F4C8}"
icon="📈"
/>
<StatusCard
label={t("pointsForm.minListeners")}
value={minListeners}
icon="\u{1F465}"
icon="👥"
/>
</div>
</section>
+2 -2
View File
@@ -78,13 +78,13 @@ export default async function AdminRadioRanksPage() {
<StatusCard
label={t("ranks")}
value={ranks.length}
icon="\u{1F396}\uFE0F"
icon="🎖️"
/>
<StatusCard
label={t("ranksForm.active")}
value={activeCount}
state={activeCount > 0 ? "ok" : "neutral"}
icon="\u{2705}"
icon="✅"
/>
</div>
)}
+4 -4
View File
@@ -435,24 +435,24 @@ export default async function AdminRadioSettingsPage() {
: t("settingsForm.disabled")
}
state={radioEnabled ? "ok" : "danger"}
icon="\u{1F4BB}"
icon="💻"
/>
<StatusCard
label={t("settingsForm.totalKeys")}
value={totalKeys}
icon="\u{1F511}"
icon="🔑"
/>
<StatusCard
label={t("settingsForm.configured")}
value={`${configuredKeys}/${CURATED_KEYS.size}`}
hint={t("settingsForm.curatedHint")}
icon="\u{2699}\uFE0F"
icon="⚙️"
/>
<StatusCard
label={t("settingsForm.customKeys")}
value={extra.length}
state={extra.length > 0 ? "warn" : "neutral"}
icon="\u{2795}"
icon="➕"
/>
</div>
)}