From a66a6a720707260722439e0149de22a17d844428 Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode Date: Sun, 23 Nov 2025 23:01:42 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=8D=20Add=20global=20map=20route,=20re?= =?UTF-8?q?fine=20country-specific=20routes,=20and=20enhance=20sidebar=20f?= =?UTF-8?q?unctionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Introduced `meetups.map-world` route for global meetup map view. - Updated `meetups.map` route to include dynamic filtering based on country. - Enhanced sidebar with icons and flags for improved navigation clarity. --- .../components/layouts/app/sidebar.blade.php | 39 ++++++++++++++----- .../views/livewire/meetups/map.blade.php | 8 ++++ routes/web.php | 1 + 3 files changed, 39 insertions(+), 9 deletions(-) diff --git a/resources/views/components/layouts/app/sidebar.blade.php b/resources/views/components/layouts/app/sidebar.blade.php index ac8dd5e..86fa22c 100644 --- a/resources/views/components/layouts/app/sidebar.blade.php +++ b/resources/views/components/layouts/app/sidebar.blade.php @@ -30,7 +30,22 @@ {{ __('Karte') }} + wire:navigate> +
+ {{ __('Karte') }} + {{ request()->route('country') }} +
+ + +
+ {{ __('Welt-Karte') }} + +
+
@@ -49,7 +64,8 @@ - + - {{ __('Sprache wechseln') }} @@ -108,7 +125,7 @@
- +
{{ auth()->user()?->name }} @@ -128,8 +145,10 @@ - {{ __('Settings') }} + {{ __('Settings') }} @@ -169,7 +188,7 @@
- +
{{ auth()->user()?->name }} @@ -189,8 +208,10 @@ - {{ __('Settings') }} + {{ __('Settings') }} diff --git a/resources/views/livewire/meetups/map.blade.php b/resources/views/livewire/meetups/map.blade.php index 08683fe..761a984 100644 --- a/resources/views/livewire/meetups/map.blade.php +++ b/resources/views/livewire/meetups/map.blade.php @@ -13,9 +13,11 @@ class extends Component { public string $country = 'de'; public float $latitude = 0.0; public float $longitude = 0.0; + public string $currentRouteName = ''; public function mount(): void { + $this->currentRouteName = request()->route()->getName(); $this->country = request()->route('country', config('app.domain_country')); $geoCountry = \Lwwcas\LaravelCountries\Models\Country::query() ->where('iso_alpha_2', str($this->country)->upper()) @@ -45,6 +47,12 @@ class extends Component { 'meetups.signal', ]) ->with(['city:id,country_id,longitude,latitude', 'city.country']) + ->when( + $this->currentRouteName === 'meetups.map', + fn($query) + => $query + ->whereHas('city.country', fn($query) => $query->where('code', $this->country)) + ) ->get() ->map(function ($meetup) { $meetup->load(['meetupEvents' => function($query) { diff --git a/routes/web.php b/routes/web.php index ff675bf..4414488 100644 --- a/routes/web.php +++ b/routes/web.php @@ -74,6 +74,7 @@ Route::middleware([]) Volt::route('meetups', 'meetups.index')->name('meetups.index'); Volt::route('map', 'meetups.map')->name('meetups.map'); + Volt::route('map-world', 'meetups.map')->name('meetups.map-world'); Volt::route('meetup/{meetup:slug}', 'meetups.landingpage')->name('meetups.landingpage'); Volt::route('meetup/{meetup:slug}/event/{event}', 'meetups.landingpage-event')->name('meetups.landingpage-event');