Add panel discussions option to webinars and widen audience strip.
Deploy Ladill Meet / deploy (push) Successful in 2m1s

Webinars can enable multi-speaker stage layout at creation or on the details page; plenary view shows 12 attendee avatars before the overflow count.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-01 21:29:22 +00:00
co-authored by Cursor
parent 1037cd6ee6
commit f98d66c9f9
6 changed files with 70 additions and 1 deletions
@@ -82,6 +82,7 @@ class WebinarController extends Controller
'auto_record' => ['sometimes', 'boolean'],
'live_captions' => ['sometimes', 'boolean'],
'webinar_auto_approve' => ['sometimes', 'boolean'],
'panel_discussions' => ['sometimes', 'boolean'],
]);
$settings = [
@@ -91,6 +92,9 @@ class WebinarController extends Controller
'auto_record' => $request->boolean('auto_record'),
'live_captions' => $request->boolean('live_captions'),
'webinar_auto_approve' => $request->boolean('webinar_auto_approve'),
'panel_discussions' => $request->boolean('panel_discussions'),
'stage_layout' => 'plenary',
'panels' => [],
'stage_mode' => true,
];
@@ -154,4 +158,24 @@ class WebinarController extends Controller
return redirect()->route('meet.room', $session);
}
public function updateSettings(Request $request, Room $room): RedirectResponse
{
$this->authorizeAbility($request, 'meetings.manage');
$this->authorizeOwner($request, $room);
abort_unless($room->isWebinar(), 404);
$request->validate([
'panel_discussions' => ['sometimes', 'boolean'],
]);
if ($request->has('panel_discussions')) {
$settings = array_merge($room->settings ?? [], [
'panel_discussions' => $request->boolean('panel_discussions'),
]);
$room->update(['settings' => $settings]);
}
return redirect()->route('meet.webinars.show', $room)->with('success', 'Webinar settings updated.');
}
}