Add Conferences and audio-only Rooms, plus mobile schedule icon.
Deploy Ladill Meet / deploy (push) Successful in 1m29s

Split town_hall into a Conferences sidebar flow and Spaces-style Rooms with host/speaker/listener roles; enforce audio-only LiveKit UI for rooms; show schedule icon on mobile meetings index.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-01 19:16:54 +00:00
co-authored by Cursor
parent 1705e6b435
commit 63af522380
25 changed files with 897 additions and 37 deletions
+14
View File
@@ -4,6 +4,7 @@ use App\Http\Controllers\Auth\SsoLoginController;
use App\Http\Controllers\Meet\AdminController;
use App\Http\Controllers\Meet\AiController;
use App\Http\Controllers\Meet\CalendarController;
use App\Http\Controllers\Meet\ConferenceController;
use App\Http\Controllers\Meet\ChannelController;
use App\Http\Controllers\Meet\ContactGroupController;
use App\Http\Controllers\Meet\DashboardController;
@@ -18,6 +19,7 @@ use App\Http\Controllers\Meet\OnboardingController;
use App\Http\Controllers\Meet\RecordingController;
use App\Http\Controllers\Meet\ReportController;
use App\Http\Controllers\Meet\RoomController;
use App\Http\Controllers\Meet\SpaceController;
use App\Http\Controllers\Meet\SettingsController;
use App\Http\Controllers\Meet\SummaryController;
use App\Http\Controllers\Meet\TemplateController;
@@ -131,6 +133,18 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/webinars/{room}', [WebinarController::class, 'show'])->name('meet.webinars.show');
Route::post('/webinars/{room}/start', [WebinarController::class, 'start'])->name('meet.webinars.start');
Route::get('/conferences', [ConferenceController::class, 'index'])->name('meet.conferences.index');
Route::get('/conferences/create', [ConferenceController::class, 'create'])->name('meet.conferences.create');
Route::post('/conferences', [ConferenceController::class, 'store'])->name('meet.conferences.store');
Route::get('/conferences/{room}', [ConferenceController::class, 'show'])->name('meet.conferences.show');
Route::post('/conferences/{room}/start', [ConferenceController::class, 'start'])->name('meet.conferences.start');
Route::get('/rooms', [SpaceController::class, 'index'])->name('meet.spaces.index');
Route::get('/rooms/create', [SpaceController::class, 'create'])->name('meet.spaces.create');
Route::post('/rooms', [SpaceController::class, 'store'])->name('meet.spaces.store');
Route::get('/rooms/{room}', [SpaceController::class, 'show'])->name('meet.spaces.show');
Route::post('/rooms/{room}/start', [SpaceController::class, 'start'])->name('meet.spaces.start');
Route::get('/meetings/{room}/webinar/registrations', [WebinarRegistrationController::class, 'manage'])->name('meet.webinar.registrations');
Route::post('/meetings/{room}/webinar/registrations/{registration}/approve', [WebinarRegistrationController::class, 'approve'])->name('meet.webinar.registrations.approve');
Route::post('/meetings/{room}/webinar/registrations/{registration}/reject', [WebinarRegistrationController::class, 'reject'])->name('meet.webinar.registrations.reject');