copy embed code

This commit is contained in:
HolgerHatGarKeineNode
2023-03-15 14:33:39 +01:00
parent 2eb7315ac0
commit 25dd74312e
5 changed files with 125 additions and 12 deletions

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Http\Livewire\Meetup\Embed;
use App\Models\Country;
use App\Models\Meetup;
use Livewire\Component;
use RalphJSmit\Laravel\SEO\Support\SEOData;
class CountryMap extends Component
{
public Country $country;
public function render()
{
return view('livewire.meetup.embed.country-map', [
'markers' => 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')
),
]);
}
}

View File

@@ -11,6 +11,14 @@ class MeetupTable extends Component
{
public Country $country;
public string $mapEmbedCode = '';
public function mount()
{
$this->mapEmbedCode = '<iframe src="'.url()->route('meetup.embed.countryMap',
['country' => $this->country->code]).'" width="100%" height="500" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>';
}
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', [