Add kiosk join/leave pages, waiting room, and meeting feedback.
Deploy Ladill Meet / deploy (push) Successful in 47s

Redesign public join flows on the Frontdesk kiosk template, enforce host
admission when waiting room is enabled, and collect star ratings after leave.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-01 13:33:48 +00:00
co-authored by Cursor
parent 5e34d71de0
commit 7ae26a467c
26 changed files with 865 additions and 124 deletions
+9
View File
@@ -10,6 +10,7 @@ use App\Http\Controllers\Meet\DashboardController;
use App\Http\Controllers\Meet\DirectMessageController;
use App\Http\Controllers\Meet\InvitationController;
use App\Http\Controllers\Meet\JoinController;
use App\Http\Controllers\Meet\LeaveController;
use App\Http\Controllers\Meet\MeetingFeaturesController;
use App\Http\Controllers\Meet\MeetingRoomController;
use App\Http\Controllers\Meet\MemberController;
@@ -40,9 +41,15 @@ Route::get('/sso/platform-signed-out', [SsoLoginController::class, 'platformSign
Route::get('/signed-out', fn () => auth()->check() ? redirect()->route('meet.dashboard') : view('auth.signed-out'))->name('meet.signed-out');
Route::get('/r/{room}', [JoinController::class, 'show'])->name('meet.join');
Route::get('/r/{room}/waiting', [JoinController::class, 'waiting'])->name('meet.join.waiting');
Route::get('/r/{room}/waiting/status', [JoinController::class, 'waitingStatus'])->name('meet.join.waiting.status');
Route::post('/r/{room}/passcode', [JoinController::class, 'verifyPasscode'])->name('meet.join.passcode');
Route::post('/r/{room}/enter', [JoinController::class, 'enter'])->name('meet.join.enter');
Route::get('/room/{session}/left', [LeaveController::class, 'show'])->name('meet.left');
Route::post('/room/{session}/left', [LeaveController::class, 'store'])->name('meet.left.feedback');
Route::get('/room/{session}/thanks', [LeaveController::class, 'thanks'])->name('meet.left.thanks');
Route::match(['get', 'post'], '/invite/{invitation}/rsvp', [InvitationController::class, 'rsvp'])->name('meet.invitations.rsvp');
Route::get('/w/{room}/register', [WebinarRegistrationController::class, 'show'])->name('meet.webinar.register');
@@ -51,6 +58,8 @@ Route::post('/w/{room}/register', [WebinarRegistrationController::class, 'store'
Route::get('/room/{session}', [MeetingRoomController::class, 'show'])->name('meet.room');
Route::post('/room/{session}/end', [MeetingRoomController::class, 'end'])->name('meet.room.end');
Route::post('/room/{session}/leave', [MeetingRoomController::class, 'leave'])->name('meet.room.leave');
Route::post('/room/{session}/participants/{participant}/admit', [MeetingRoomController::class, 'admit'])->name('meet.room.admit');
Route::post('/room/{session}/participants/{participant}/deny', [MeetingRoomController::class, 'deny'])->name('meet.room.deny');
Route::post('/room/{session}/raise-hand', [MeetingRoomController::class, 'raiseHand'])->name('meet.room.raise-hand');
Route::post('/room/{session}/chat', [MeetingRoomController::class, 'sendMessage'])->name('meet.room.chat');
Route::post('/room/{session}/reaction', [MeetingRoomController::class, 'sendReaction'])->name('meet.room.reaction');