Remove event search from Attendees, Badge printing, and Speakers hubs.
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:
isaacclad
2026-07-04 22:06:27 +00:00
co-authored by Cursor
parent f7ee8dc322
commit 129dd04bea
5 changed files with 11 additions and 43 deletions
@@ -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,
]);
}
+4 -12
View File
@@ -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)
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
Create your first event
</a>
@endunless
<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>
</div>
@else
<div class="divide-y divide-slate-100">
+4 -12
View File
@@ -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)
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
Create your first event
</a>
@endunless
<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>
</div>
@else
<div class="divide-y divide-slate-100">
+2 -10
View File
@@ -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)
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">Create your first event</a>
@endunless
<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>
</div>
@else
<div class="divide-y divide-slate-100">