Fix plenary spotlight for guest speakers without user accounts.
Deploy Ladill Meet / deploy (push) Successful in 52s
Deploy Ladill Meet / deploy (push) Successful in 52s
Spotlight by participant uuid, add on-stage picker in stage layout, and show who is currently spotlighted in the plenary status bar. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -640,8 +640,8 @@
|
||||
<span x-show="!isSpeaking(person.uuid)" class="block text-xs text-slate-400" x-text="roleLabel(person.role)"></span>
|
||||
</span>
|
||||
<span class="flex shrink-0 items-center gap-1">
|
||||
<button x-show="usesStageLayout && isHost && person.user_ref && spotlightSpeakerRef !== person.user_ref"
|
||||
type="button" @click="setSpotlight(person.user_ref)"
|
||||
<button x-show="usesStageLayout && isHost && isSpeakerPerson(person) && !matchesSpotlightKey(resolveSpotlightKey(), person)"
|
||||
type="button" @click="setSpotlight(spotlightKey(person))"
|
||||
class="rounded-lg bg-indigo-600 px-2 py-1 text-[10px] font-medium text-white hover:bg-indigo-500">
|
||||
Spotlight
|
||||
</button>
|
||||
@@ -722,6 +722,25 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<p x-show="stageLayout === 'plenary'" x-cloak class="mt-3 rounded-lg border border-sky-500/30 bg-sky-500/10 px-3 py-2 text-xs text-sky-100">
|
||||
Plenary shows one speaker on the main stage. Everyone else appears in the strip below.
|
||||
</p>
|
||||
|
||||
<div x-show="stageLayout === 'plenary'" x-cloak class="mt-5 space-y-2">
|
||||
<p class="text-xs font-semibold uppercase tracking-wide text-slate-400">On stage</p>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<template x-for="speaker in speakerParticipantsSorted()" :key="'plenary-' + speaker.uuid">
|
||||
<button type="button" @click="setSpotlight(spotlightKey(speaker))"
|
||||
class="rounded-full px-3 py-1.5 text-xs font-medium transition-colors"
|
||||
:class="matchesSpotlightKey(resolveSpotlightKey(), speaker)
|
||||
? 'bg-sky-600 text-white ring-1 ring-sky-400/60'
|
||||
: 'bg-slate-800 text-slate-300 hover:bg-slate-700'">
|
||||
<span x-text="speaker.display_name"></span>
|
||||
</button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p x-show="stageLayout === 'panel'" x-cloak class="mt-3 rounded-lg border border-violet-500/30 bg-violet-500/10 px-3 py-2 text-xs text-violet-100">
|
||||
Switching to panel discussion changes the live stage to a multi-speaker grid for everyone in the room.
|
||||
</p>
|
||||
@@ -744,10 +763,10 @@
|
||||
<div class="mt-3 flex flex-wrap gap-2">
|
||||
<template x-for="speaker in speakerParticipantsSorted()" :key="panel.id + '-' + speaker.uuid">
|
||||
<label class="inline-flex items-center gap-1.5 rounded-full px-2.5 py-1 text-xs"
|
||||
:class="panel.speaker_refs.includes(speaker.user_ref) ? 'bg-violet-600/30 text-violet-100 ring-1 ring-violet-500/50' : 'bg-slate-800 text-slate-300'">
|
||||
:class="panel.speaker_refs.includes(spotlightKey(speaker)) ? 'bg-violet-600/30 text-violet-100 ring-1 ring-violet-500/50' : 'bg-slate-800 text-slate-300'">
|
||||
<input type="checkbox" class="sr-only"
|
||||
:checked="panel.speaker_refs.includes(speaker.user_ref)"
|
||||
@change="togglePanelSpeaker(panel, speaker.user_ref)">
|
||||
:checked="panel.speaker_refs.includes(spotlightKey(speaker))"
|
||||
@change="togglePanelSpeaker(panel, spotlightKey(speaker))">
|
||||
<span x-text="speaker.display_name"></span>
|
||||
</label>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user