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
|
public function hub(Request $request): View
|
||||||
{
|
{
|
||||||
$account = ladill_account();
|
$account = ladill_account();
|
||||||
$search = trim((string) $request->query('search', ''));
|
|
||||||
|
|
||||||
$events = $account->qrCodes()
|
$events = $account->qrCodes()
|
||||||
->where('type', QrCode::TYPE_EVENT)
|
->where('type', QrCode::TYPE_EVENT)
|
||||||
->when($search !== '', fn ($q) => $q->where('label', 'like', "%{$search}%"))
|
|
||||||
->latest()
|
->latest()
|
||||||
->get()
|
->get()
|
||||||
->map(function (QrCode $event) {
|
->map(function (QrCode $event) {
|
||||||
@@ -43,18 +41,15 @@ class AttendeeController extends Controller
|
|||||||
|
|
||||||
return view('events.attendees-hub', [
|
return view('events.attendees-hub', [
|
||||||
'events' => $events,
|
'events' => $events,
|
||||||
'search' => $search,
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function badgesHub(Request $request): View
|
public function badgesHub(Request $request): View
|
||||||
{
|
{
|
||||||
$account = ladill_account();
|
$account = ladill_account();
|
||||||
$search = trim((string) $request->query('search', ''));
|
|
||||||
|
|
||||||
$events = $account->qrCodes()
|
$events = $account->qrCodes()
|
||||||
->where('type', QrCode::TYPE_EVENT)
|
->where('type', QrCode::TYPE_EVENT)
|
||||||
->when($search !== '', fn ($q) => $q->where('label', 'like', "%{$search}%"))
|
|
||||||
->latest()
|
->latest()
|
||||||
->get()
|
->get()
|
||||||
->map(function (QrCode $event) {
|
->map(function (QrCode $event) {
|
||||||
@@ -67,7 +62,6 @@ class AttendeeController extends Controller
|
|||||||
|
|
||||||
return view('events.badges-hub', [
|
return view('events.badges-hub', [
|
||||||
'events' => $events,
|
'events' => $events,
|
||||||
'search' => $search,
|
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,9 +22,8 @@ class SpeakerController extends Controller
|
|||||||
public function hub(Request $request): View
|
public function hub(Request $request): View
|
||||||
{
|
{
|
||||||
$account = ladill_account();
|
$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) {
|
->map(function (QrCode $event) {
|
||||||
$event->speaker_count = count($this->speakers->rosterFor($event));
|
$event->speaker_count = count($this->speakers->rosterFor($event));
|
||||||
|
|
||||||
@@ -33,7 +32,6 @@ class SpeakerController extends Controller
|
|||||||
|
|
||||||
return view('events.speakers-hub', [
|
return view('events.speakers-hub', [
|
||||||
'events' => $events,
|
'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>
|
<p class="mt-1 text-sm text-slate-500">Manage registrations, check-ins, and programme sharing for each event.</p>
|
||||||
</div>
|
</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">
|
<div class="overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||||
@if($events->isEmpty())
|
@if($events->isEmpty())
|
||||||
<div class="px-6 py-14 text-center">
|
<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>
|
<p class="text-sm text-slate-500">No events yet.</p>
|
||||||
@unless($search)
|
|
||||||
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
|
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
|
||||||
Create your first event
|
Create your first event
|
||||||
</a>
|
</a>
|
||||||
@endunless
|
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<div class="divide-y divide-slate-100">
|
<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>
|
<p class="mt-1 text-sm text-slate-500">Select attendees and print badges or download ZPL for label printers.</p>
|
||||||
</div>
|
</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">
|
<div class="overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||||
@if($events->isEmpty())
|
@if($events->isEmpty())
|
||||||
<div class="px-6 py-14 text-center">
|
<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>
|
<p class="text-sm text-slate-500">No events yet.</p>
|
||||||
@unless($search)
|
|
||||||
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
|
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">
|
||||||
Create your first event
|
Create your first event
|
||||||
</a>
|
</a>
|
||||||
@endunless
|
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<div class="divide-y divide-slate-100">
|
<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>
|
<p class="mt-1 text-sm text-slate-500">Manage speaker rosters and programme assignments for each event.</p>
|
||||||
</div>
|
</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">
|
<div class="overflow-hidden rounded-2xl border border-slate-200 bg-white">
|
||||||
@if($events->isEmpty())
|
@if($events->isEmpty())
|
||||||
<div class="px-6 py-14 text-center">
|
<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>
|
<p class="text-sm text-slate-500">No events yet.</p>
|
||||||
@unless($search)
|
|
||||||
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">Create your first event</a>
|
<a href="{{ route('events.create') }}" class="mt-4 btn-primary">Create your first event</a>
|
||||||
@endunless
|
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
<div class="divide-y divide-slate-100">
|
<div class="divide-y divide-slate-100">
|
||||||
|
|||||||
Reference in New Issue
Block a user