Remove event search from Attendees, Badge printing, and Speakers hubs.
Deploy Ladill Events / deploy (push) Successful in 31s
Deploy Ladill Events / deploy (push) Successful in 31s
These pages list all events directly without a redundant search filter. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -23,11 +23,9 @@ class AttendeeController extends Controller
|
||||
public function hub(Request $request): View
|
||||
{
|
||||
$account = ladill_account();
|
||||
$search = trim((string) $request->query('search', ''));
|
||||
|
||||
$events = $account->qrCodes()
|
||||
->where('type', QrCode::TYPE_EVENT)
|
||||
->when($search !== '', fn ($q) => $q->where('label', 'like', "%{$search}%"))
|
||||
->latest()
|
||||
->get()
|
||||
->map(function (QrCode $event) {
|
||||
@@ -43,18 +41,15 @@ class AttendeeController extends Controller
|
||||
|
||||
return view('events.attendees-hub', [
|
||||
'events' => $events,
|
||||
'search' => $search,
|
||||
]);
|
||||
}
|
||||
|
||||
public function badgesHub(Request $request): View
|
||||
{
|
||||
$account = ladill_account();
|
||||
$search = trim((string) $request->query('search', ''));
|
||||
|
||||
$events = $account->qrCodes()
|
||||
->where('type', QrCode::TYPE_EVENT)
|
||||
->when($search !== '', fn ($q) => $q->where('label', 'like', "%{$search}%"))
|
||||
->latest()
|
||||
->get()
|
||||
->map(function (QrCode $event) {
|
||||
@@ -67,7 +62,6 @@ class AttendeeController extends Controller
|
||||
|
||||
return view('events.badges-hub', [
|
||||
'events' => $events,
|
||||
'search' => $search,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,9 +22,8 @@ class SpeakerController extends Controller
|
||||
public function hub(Request $request): View
|
||||
{
|
||||
$account = ladill_account();
|
||||
$search = trim((string) $request->query('search', ''));
|
||||
|
||||
$events = $this->speakers->eventsForAccount($account->id, $search !== '' ? $search : null)
|
||||
$events = $this->speakers->eventsForAccount($account->id)
|
||||
->map(function (QrCode $event) {
|
||||
$event->speaker_count = count($this->speakers->rosterFor($event));
|
||||
|
||||
@@ -33,7 +32,6 @@ class SpeakerController extends Controller
|
||||
|
||||
return view('events.speakers-hub', [
|
||||
'events' => $events,
|
||||
'search' => $search,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,21 +7,13 @@
|
||||
<p class="mt-1 text-sm text-slate-500">Manage registrations, check-ins, and programme sharing for each event.</p>
|
||||
</div>
|
||||
|
||||
<form method="GET" class="flex items-center gap-2">
|
||||
<input type="text" name="search" value="{{ $search }}" placeholder="Search events…"
|
||||
class="w-full max-w-sm rounded-xl border border-slate-200 px-3.5 py-2 text-sm focus:border-indigo-400 focus:outline-none focus:ring-1 focus:ring-indigo-400/30">
|
||||
<button type="submit" class="rounded-xl border border-slate-200 px-4 py-2 text-sm font-semibold text-slate-600 hover:bg-slate-50 transition">Search</button>
|
||||
</form>
|
||||
|
||||
<div class="overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||
@if($events->isEmpty())
|
||||
<div class="px-6 py-14 text-center">
|
||||
<p class="text-sm text-slate-500">{{ $search ? 'No events match your search.' : 'No events yet.' }}</p>
|
||||
@unless($search)
|
||||
<p class="text-sm text-slate-500">No events yet.</p>
|
||||
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
|
||||
Create your first event
|
||||
</a>
|
||||
@endunless
|
||||
</div>
|
||||
@else
|
||||
<div class="divide-y divide-slate-100">
|
||||
|
||||
@@ -7,21 +7,13 @@
|
||||
<p class="mt-1 text-sm text-slate-500">Select attendees and print badges or download ZPL for label printers.</p>
|
||||
</div>
|
||||
|
||||
<form method="GET" class="flex items-center gap-2">
|
||||
<input type="text" name="search" value="{{ $search }}" placeholder="Search events…"
|
||||
class="w-full max-w-sm rounded-xl border border-slate-200 px-3.5 py-2 text-sm focus:border-indigo-400 focus:outline-none focus:ring-1 focus:ring-indigo-400/30">
|
||||
<button type="submit" class="rounded-xl border border-slate-200 px-4 py-2 text-sm font-semibold text-slate-600 hover:bg-slate-50 transition">Search</button>
|
||||
</form>
|
||||
|
||||
<div class="overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||
@if($events->isEmpty())
|
||||
<div class="px-6 py-14 text-center">
|
||||
<p class="text-sm text-slate-500">{{ $search ? 'No events match your search.' : 'No events yet.' }}</p>
|
||||
@unless($search)
|
||||
<p class="text-sm text-slate-500">No events yet.</p>
|
||||
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
|
||||
Create your first event
|
||||
</a>
|
||||
@endunless
|
||||
</div>
|
||||
@else
|
||||
<div class="divide-y divide-slate-100">
|
||||
|
||||
@@ -7,19 +7,11 @@
|
||||
<p class="mt-1 text-sm text-slate-500">Manage speaker rosters and programme assignments for each event.</p>
|
||||
</div>
|
||||
|
||||
<form method="GET" class="flex items-center gap-2">
|
||||
<input type="text" name="search" value="{{ $search }}" placeholder="Search events…"
|
||||
class="w-full max-w-sm rounded-xl border border-slate-200 px-3.5 py-2 text-sm focus:border-indigo-400 focus:outline-none focus:ring-1 focus:ring-indigo-400/30">
|
||||
<button type="submit" class="rounded-xl border border-slate-200 px-4 py-2 text-sm font-semibold text-slate-600 hover:bg-slate-50 transition">Search</button>
|
||||
</form>
|
||||
|
||||
<div class="overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||
@if($events->isEmpty())
|
||||
<div class="px-6 py-14 text-center">
|
||||
<p class="text-sm text-slate-500">{{ $search ? 'No events match your search.' : 'No events yet.' }}</p>
|
||||
@unless($search)
|
||||
<p class="text-sm text-slate-500">No events yet.</p>
|
||||
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">Create your first event</a>
|
||||
@endunless
|
||||
</div>
|
||||
@else
|
||||
<div class="divide-y divide-slate-100">
|
||||
|
||||
Reference in New Issue
Block a user