feat: Add game activity status (Experimental)
All checks were successful
Queue Release Build / prepare (push) Successful in 21s
Deploy Web Apps / deploy (push) Successful in 5m14s
Queue Release Build / build-windows (push) Successful in 16m18s
Queue Release Build / build-linux (push) Successful in 29m20s
Queue Release Build / finalize (push) Successful in 36s

This commit is contained in:
2026-04-27 05:46:33 +02:00
parent 3858beb28e
commit 66c6f34cd3
52 changed files with 2120 additions and 113 deletions

View File

@@ -277,6 +277,29 @@
/>
<div class="flex-1 min-w-0">
<p class="text-sm text-foreground truncate">{{ currentUser()?.displayName }}</p>
@if (currentUser()?.gameActivity; as activity) {
<p class="mt-0.5 flex items-center gap-1 truncate text-[10px] text-muted-foreground">
<ng-icon
name="lucideGamepad2"
class="h-2.5 w-2.5 shrink-0"
/>
@if (activity.store?.url) {
<button
type="button"
class="truncate text-left hover:text-foreground hover:underline"
(click)="openGameStore($event, activity)"
(dblclick)="$event.stopPropagation()"
(keydown.enter)="$event.stopPropagation()"
(keydown.space)="$event.stopPropagation()"
>
Playing {{ activity.name }}
</button>
} @else {
<span class="truncate">Playing {{ activity.name }}</span>
}
<span class="shrink-0">{{ gameActivityElapsed(currentUser()) }}</span>
</p>
}
<div class="flex items-center gap-2">
@if (currentUser()?.voiceState?.isConnected) {
<p class="text-[10px] text-muted-foreground flex items-center gap-1">
@@ -340,6 +363,29 @@
<span class="text-[10px] bg-green-500/20 text-green-400 px-1 py-0.5 rounded font-medium">Mod</span>
}
</div>
@if (user.gameActivity; as activity) {
<p class="mt-0.5 flex items-center gap-1 truncate text-[10px] text-muted-foreground">
<ng-icon
name="lucideGamepad2"
class="h-2.5 w-2.5 shrink-0"
/>
@if (activity.store?.url) {
<button
type="button"
class="truncate text-left hover:text-foreground hover:underline"
(click)="openGameStore($event, activity)"
(dblclick)="$event.stopPropagation()"
(keydown.enter)="$event.stopPropagation()"
(keydown.space)="$event.stopPropagation()"
>
Playing {{ activity.name }}
</button>
} @else {
<span class="truncate">Playing {{ activity.name }}</span>
}
<span class="shrink-0">{{ gameActivityElapsed(user) }}</span>
</p>
}
<div class="flex items-center gap-2">
@if (user.voiceState?.isConnected) {
<p class="text-[10px] text-muted-foreground flex items-center gap-1">