diff --git a/src/App.svelte b/src/App.svelte index 8fdf7bc..62584b6 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1633,6 +1633,7 @@ PARTICIPANT CONTROLSTWITCH-AUTHORITATIVEAssign, remove, or toggle live state for ready participants. Twitch remains authoritative for slot availability.{#each collaborationSession.guests as guest}{guest.user_display_name || guest.user_id}{guest.slot_id ? ` SLOT ${guest.slot_id}` : ' UNSLOTTED'} { const input = event.currentTarget.parentElement?.querySelector('input') as HTMLInputElement | null; updateCollaborationSlot('assign', guest.user_id, input?.value || ''); }} disabled={collaborationBusy}>ASSIGN{#if guest.slot_id} updateCollaborationSlot('remove', guest.user_id, guest.slot_id || '')} disabled={collaborationBusy}>REMOVE updateCollaborationSlotSettings(guest.user_id, guest.slot_id || '', !guest.is_live)} disabled={collaborationBusy}>{guest.is_live ? 'SET WAITING' : 'SET LIVE'}{/if}{/each}{#if !collaborationSession.guests.length}No participants are ready for slot controls.{/if} INVITATIONSTWITCH STATUS{#if collaborationInvites.length}{#each collaborationInvites as invite}{invite.user_id}INVITED {new Date(invite.invited_at).toLocaleString()}{invite.status.toUpperCase()} cancelCollaborationInvite(invite.user_id)} disabled={collaborationBusy || invite.status !== 'pending'}>CANCEL{/each}{:else}No invitations reported by Twitch.{/if} + GUEST MEDIA STATUSTWITCH-AUTHORITATIVE{#each collaborationSession.guests as guest}{guest.user_display_name || guest.user_id}{#if guest.user_login} @{guest.user_login}{/if}{guest.volume === null || guest.volume === undefined ? 'VOL —' : `VOL ${guest.volume}%`} · AUDIO {guest.audio_settings?.is_available ? 'READY' : '—'} · VIDEO {guest.video_settings?.is_available ? 'READY' : '—'}{/each} {:else} COLLABORATIONSEARCH OR REVIEW INCOMING
Assign, remove, or toggle live state for ready participants. Twitch remains authoritative for slot availability.