Files
2026-09-12 21:04:45 +01:00

47 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers\Account;
use App\Http\Controllers\Controller;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Validation\Rule;
use Illuminate\View\View;
class PageController extends Controller
{
public function enquiries(Request $request): View
{
return view('account.enquiries', [
'enquiries' => $request->user()->enquiries()->with('djProfile')->latest()->paginate(12),
]);
}
public function bookings(Request $request): View
{
return view('account.bookings', [
'bookings' => $request->user()->bookings()->with(['djProfile', 'review'])->latest('event_date')->paginate(12),
]);
}
public function profile(Request $request): View
{
return view('account.profile', ['user' => $request->user()]);
}
public function updateProfile(Request $request): RedirectResponse
{
$user = $request->user();
$data = $request->validate([
'name' => ['required', 'string', 'max:120'],
'email' => ['required', 'email', 'max:190', Rule::unique('users')->ignore($user->id)],
'phone' => ['nullable', 'string', 'max:40'],
'marketing_opt_in' => ['nullable', 'boolean'],
]);
$data['marketing_opt_in'] = $request->boolean('marketing_opt_in');
$user->update($data);
return back()->with('success', 'Your account details have been updated.');
}
}