country = request()->route('country'); $geoCountry = \Lwwcas\LaravelCountries\Models\Country::query() ->where('iso_alpha_2', str($this->country)->upper()) ->first() ?->coordinates() ->first(); $this->latitude = $geoCountry->latitude ?? 51.165691; $this->longitude = $geoCountry->longitude ?? 10.451526; } public function with(): array { return [ 'meetups' => Meetup::query() ->select([ 'meetups.id', 'meetups.city_id', 'meetups.name', 'meetups.slug', 'meetups.intro', 'meetups.telegram_link', 'meetups.webpage', 'meetups.twitter_username', 'meetups.matrix_group', 'meetups.nostr', 'meetups.simplex', 'meetups.signal', ]) ->with(['city:id,country_id,longitude,latitude']) ->get() ->map(function ($meetup) { $meetup->load(['meetupEvents' => function($query) { $query->where('start', '>=', now()) ->orderBy('start') ->limit(1); }]); $nextEvent = $meetup->meetupEvents->first(); $eventUrl = null; if ($nextEvent) { $eventUrl = route('meetups.landingpage-event', [ 'country' => $meetup->city->country, 'meetup' => $meetup->slug, 'event' => $nextEvent->id ]); } return [ 'id' => $meetup->id, 'name' => $meetup->name, 'slug' => $meetup->slug, 'city' => $meetup->city, 'popupHtml' => view('components.meetup-popup', [ 'meetup' => $meetup, 'url' => route('meetups.landingpage', [ 'country' => $meetup->city->country, 'meetup' => $meetup->slug ]), 'eventUrl' => $eventUrl ])->render(), ]; }), ]; } }; ?>
@php $attribution = '© OpenStreetMap contributors'; @endphp
{{ __('Zoom = STRG+Scroll') }}