feat: polish toolbar, live online count via SSE + emulator 3-state
- Add emulator status 3-state (unknown/green/red) with tooltip - Extract shared primary button style/constants for DRY toolbar code - Add emulatorUnknown translations to all 25 locales - Bump Next.js to 16.3.4 - Fix RCON delivery timeout caching (15s TTL / shared across clients) - Who's-online tooltip throttled to max 1 request per 30s
This commit is contained in:
1 parent
67b67798b9
commit
a30e4af32e
28 files changed
+115
-79
No files matched your search
@@ -400,17 +400,28 @@ export function ClientView({
|
||||
boxShadow: "inset 0 1px 0 rgba(255,255,255,0.20)",
|
||||
}}
|
||||
role="status"
|
||||
aria-label={
|
||||
emulatorOk === null
|
||||
? tToolbar("emulatorUnknown")
|
||||
: emulatorOk
|
||||
? tToolbar("emulatorOnline")
|
||||
: tToolbar("emulatorOffline")
|
||||
}
|
||||
title={
|
||||
emulatorOk === false
|
||||
? tToolbar("emulatorOffline")
|
||||
: tToolbar("emulatorOnline")
|
||||
emulatorOk === null
|
||||
? tToolbar("emulatorUnknown")
|
||||
: emulatorOk
|
||||
? tToolbar("emulatorOnline")
|
||||
: tToolbar("emulatorOffline")
|
||||
}
|
||||
>
|
||||
<span className="relative flex h-2.5 w-2.5">
|
||||
{emulatorOk === false ? (
|
||||
<span className="relative inline-flex rounded-full h-2.5 w-2.5 bg-destructive ring-2 ring-destructive/30 shadow-[0_0_8px_rgba(239,68,68,0.8)]" />
|
||||
) : (
|
||||
{emulatorOk === null ? (
|
||||
<span className="relative inline-flex rounded-full h-2.5 w-2.5 bg-muted-foreground ring-2 ring-muted-foreground/30" />
|
||||
) : emulatorOk ? (
|
||||
<span className="relative inline-flex rounded-full h-2.5 w-2.5 bg-success ring-2 ring-success/30 shadow-[0_0_8px_rgba(52,211,153,0.8)]" />
|
||||
) : (
|
||||
<span className="relative inline-flex rounded-full h-2.5 w-2.5 bg-destructive ring-2 ring-destructive/30 shadow-[0_0_8px_rgba(239,68,68,0.8)]" />
|
||||
)}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user