-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathweb.php
More file actions
67 lines (54 loc) · 2.91 KB
/
web.php
File metadata and controls
67 lines (54 loc) · 2.91 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
use App\Http\Controllers\InvitationController;
use App\Http\Controllers\GuestController;
use App\Http\Controllers\AdminController;
use App\Http\Controllers\Auth\LoginController;
use Illuminate\Support\Facades\Route;
// Homepage - Template Selector
Route::get('/', [InvitationController::class, 'home'])->name('home');
// Template 1 - Elegant Modern (existing template)
Route::prefix('template-1')->name('template1.')->group(function () {
Route::get('/', [InvitationController::class, 'template1'])->name('index');
Route::post('/rsvp', [GuestController::class, 'store'])->name('rsvp.store');
});
// Template 2 - Classic Romantic (new template)
Route::prefix('template-2')->name('template2.')->group(function () {
Route::get('/', [InvitationController::class, 'template2'])->name('index');
Route::post('/rsvp', [GuestController::class, 'store'])->name('rsvp.store');
});
// Template 3 - Elegant Nature (nature-inspired template)
Route::prefix('template-3')->name('template3.')->group(function () {
Route::get('/', [InvitationController::class, 'template3'])->name('index');
Route::post('/rsvp', [GuestController::class, 'store'])->name('rsvp.store');
});
// Template 4 - Bugis Emerald (traditional Bugis template)
Route::prefix('template-4')->name('template4.')->group(function () {
Route::get('/', [InvitationController::class, 'template4'])->name('index');
Route::post('/rsvp', [GuestController::class, 'store'])->name('rsvp.store');
});
// Legacy route redirect
Route::get('/invitation', function () {
return redirect()->route('template1.index');
});
// Authentication Routes
Route::middleware('guest')->group(function () {
Route::get('/login', [LoginController::class, 'showLoginForm'])->name('login');
Route::post('/login', [LoginController::class, 'login']);
});
Route::post('/logout', [LoginController::class, 'logout'])->name('logout')->middleware('auth');
// Admin Routes (Protected)
Route::prefix('admin')->name('admin.')->middleware('auth')->group(function () {
// Dashboard
Route::get('/', [AdminController::class, 'dashboard'])->name('dashboard');
Route::get('/dashboard', [AdminController::class, 'dashboard'])->name('dashboard.index');
// Guests Management
Route::get('/guests', [AdminController::class, 'guests'])->name('guests');
Route::get('/guests/{id}', [AdminController::class, 'showGuest'])->name('guests.show');
Route::delete('/guests/{id}', [AdminController::class, 'deleteGuest'])->name('guests.delete');
Route::get('/guests/export/csv', [AdminController::class, 'exportGuests'])->name('guests.export');
// Settings
Route::get('/settings', [AdminController::class, 'settings'])->name('settings');
// Event Settings
Route::get('/event-settings', [AdminController::class, 'editEventSettings'])->name('event-settings.edit');
Route::put('/event-settings', [AdminController::class, 'updateEventSettings'])->name('event-settings.update');
});