{{ role.toUpperCase() }}
Latency: {{ health.latency }}ms
FrostBloom Viewer VIEWER - {{ selectedGuild.name }}
{{ error }}

Select a server to get started

{{ ev.title || 'Untitled' }}
{{ ev.type }}
{{ formatDate(ev.timestamp) }}
{{ ev.counts.main }}/30 FULL {{ ev.counts.slots_left }} left
Bench: {{ ev.counts.bench }} | Absent: {{ ev.counts.absent }} | Tentative: {{ ev.counts.tentative }}
TANK {{ ev.role_breakdown.TANK }}
HEAL {{ ev.role_breakdown.HEAL }}
DPS {{ ev.role_breakdown.DPS }}
MAIN ({{ ev.main.length }})
{{ m.ign }}
BENCH ({{ ev.bench.length }}) {{ expandedBenches[ev.event_id] ? '▼' : '▶' }}
{{ b.ign }} {{ b.bench_reason === 'auto_bench' ? '🔴 Auto-bench' : '🔶 Bench' }}
{{ status }}
{{ name }}
{{ p.question }}
{{ p.active ? 'Active' : 'Closed' }}
{{ opt }} {{ p.vote_counts?.[idx] || 0 }}

Select an event to view/create groups

No active events
{{ m.order ? m.order + '. ' : '' }}{{ m.ign || m.user }} {{ formatDateShort(selectedEventDate) }} *Bench*
{{ m.weapon || 'No loadout' }}
drag to assign
{{ sq.members.length }}
{{ m.order ? m.order + '. ' : '' }}{{ m.ign || m.user }} {{ formatDateShort(selectedEventDate) }}
{{ m.weapon }}
Drop roster item here
{{ m.order ? m.order + '. ' : '' }}{{ m.ign || 'N/A' }}
{{ m.user }}
{{ m.weapon }}

No league roster data found

Loading live feed...
Time Event Type Details
{{ formatDate(log.ts) }} {{ log.event_type }} {{ typeof log.detail === 'object' ? JSON.stringify(log.detail) : log.detail }}

No log entries yet

Loading access tokens...
Token Role Actions
{{ t.token }} {{ t.role.toUpperCase() }}

No tokens for this server