diff --git a/app/Http/Livewire/Meetup/Embed/CountryMap.php b/app/Http/Livewire/Meetup/Embed/CountryMap.php new file mode 100644 index 00000000..6d3e7eab --- /dev/null +++ b/app/Http/Livewire/Meetup/Embed/CountryMap.php @@ -0,0 +1,41 @@ + Meetup::query() + ->with([ + 'city.country', + ]) + ->whereHas('city.country', + fn($query) => $query->where('countries.code', $this->country->code)) + ->get() + ->map(fn($meetup) => [ + 'id' => $meetup->id, + 'name' => $meetup->name, + 'coords' => [$meetup->city->latitude, $meetup->city->longitude], + 'url' => url()->route('meetup.landing', [ + 'country' => $meetup->city->country->code, + 'meetup' => $meetup, + ]), + ]), + ])->layout('layouts.app', [ + 'SEOData' => new SEOData( + title: __('Meetups'), + description: __('Bitcoiner Meetups are a great way to meet other Bitcoiners in your area. You can learn from each other, share ideas, and have fun!'), + image: asset('img/screenshot.png') + ), + ]); + } +} diff --git a/app/Http/Livewire/Meetup/MeetupTable.php b/app/Http/Livewire/Meetup/MeetupTable.php index de811b59..20caeb0f 100644 --- a/app/Http/Livewire/Meetup/MeetupTable.php +++ b/app/Http/Livewire/Meetup/MeetupTable.php @@ -11,6 +11,14 @@ class MeetupTable extends Component { public Country $country; + public string $mapEmbedCode = ''; + + public function mount() + { + $this->mapEmbedCode = ''; + } + public function filterByMarker($id) { $meetup = Meetup::with(['city.country']) @@ -18,7 +26,7 @@ class MeetupTable extends Component return to_route('meetup.landing', [ 'country' => $meetup->city->country->code, - 'meetup' => $meetup, + 'meetup' => $meetup, ]); } @@ -32,11 +40,11 @@ class MeetupTable extends Component 'city.country', ]) ->whereHas('city.country', - fn ($query) => $query->where('countries.code', $this->country->code)) + fn($query) => $query->where('countries.code', $this->country->code)) ->get() - ->map(fn ($meetup) => [ - 'id' => $meetup->id, - 'name' => $meetup->name, + ->map(fn($meetup) => [ + 'id' => $meetup->id, + 'name' => $meetup->name, 'coords' => [$meetup->city->latitude, $meetup->city->longitude], ]), ])->layout('layouts.app', [ diff --git a/resources/views/livewire/meetup/embed/country-map.blade.php b/resources/views/livewire/meetup/embed/country-map.blade.php new file mode 100644 index 00000000..e227e9e3 --- /dev/null +++ b/resources/views/livewire/meetup/embed/country-map.blade.php @@ -0,0 +1,50 @@ +