From c9971144dae299a1d6b14a5f0454525d868c458f Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode Date: Fri, 5 Dec 2025 19:04:38 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=8D=20Scope=20lecturers=20and=20course?= =?UTF-8?q?s=20by=20country=20across=20views=20and=20enhance=20sidebar=20w?= =?UTF-8?q?ith=20dynamic=20country=20flags?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/layouts/app/sidebar.blade.php | 18 ++++++++++++++---- .../views/livewire/courses/index.blade.php | 1 + .../livewire/courses/landingpage.blade.php | 8 +++++++- .../views/livewire/lecturers/index.blade.php | 3 +++ 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/resources/views/components/layouts/app/sidebar.blade.php b/resources/views/components/layouts/app/sidebar.blade.php index 4431d42..ae0a622 100644 --- a/resources/views/components/layouts/app/sidebar.blade.php +++ b/resources/views/components/layouts/app/sidebar.blade.php @@ -66,14 +66,24 @@ - {{ __('Kurse') }} + badge="{{ \App\Models\Course::query()->whereHas('courseEvents.venue.city.country', fn($query) => $query->where('countries.code', request()->route('country')))->count() }}"> +
+ {{ __('Kurse') }} + {{ request()->route('country') }} +
- {{ __('Dozenten') }} + badge="{{ \App\Models\Lecturer::query()->whereHas('coursesEvents.venue.city.country', fn($query) => $query->where('countries.code', request()->route('country')))->count() }}"> +
+ {{ __('Dozenten') }} + {{ request()->route('country') }} +
diff --git a/resources/views/livewire/courses/index.blade.php b/resources/views/livewire/courses/index.blade.php index 5df937f..8818023 100644 --- a/resources/views/livewire/courses/index.blade.php +++ b/resources/views/livewire/courses/index.blade.php @@ -32,6 +32,7 @@ class extends Component { ->where('name', 'ilike', '%'.$this->search.'%') ->orWhere('description', 'ilike', '%'.$this->search.'%'), ) + ->whereHas('courseEvents.venue.city.country', fn($query) => $query->where('countries.code', request()->route('country'))) ->orderByDesc('has_future_events') ->paginate(15), ]; diff --git a/resources/views/livewire/courses/landingpage.blade.php b/resources/views/livewire/courses/landingpage.blade.php index 7b42676..0b1ee77 100644 --- a/resources/views/livewire/courses/landingpage.blade.php +++ b/resources/views/livewire/courses/landingpage.blade.php @@ -18,6 +18,9 @@ class extends Component { public function mount(): void { $this->country = request()->route('country', config('app.domain_country')); + $this->course->load([ + 'courseEvents.registrations', + ]); } public function with(): array @@ -26,7 +29,10 @@ class extends Component { 'course' => $this->course->load('lecturer'), 'events' => $this->course ->courseEvents() - ->with(['venue.city']) + ->with([ + 'venue.city', + 'registrations', + ]) ->where('from', '>=', now()) ->orderBy('from', 'asc') ->get(), diff --git a/resources/views/livewire/lecturers/index.blade.php b/resources/views/livewire/lecturers/index.blade.php index f783ec8..61c240c 100644 --- a/resources/views/livewire/lecturers/index.blade.php +++ b/resources/views/livewire/lecturers/index.blade.php @@ -35,6 +35,9 @@ class extends Component { ->withCount([ 'coursesEvents as future_events_count' => fn($query) => $query->where('from', '>=', now()), ]) + ->whereHas('coursesEvents') + ->whereHas('coursesEvents.venue.city.country', + fn($query) => $query->where('countries.code', $this->country)) ->when($this->search, fn($query) => $query ->where('name', 'ilike', '%'.$this->search.'%')