diff --git a/app/Http/Controllers/DownloadMeetupCalendar.php b/app/Http/Controllers/DownloadMeetupCalendar.php index 45003792..c996d3a4 100644 --- a/app/Http/Controllers/DownloadMeetupCalendar.php +++ b/app/Http/Controllers/DownloadMeetupCalendar.php @@ -19,7 +19,7 @@ class DownloadMeetupCalendar extends Controller if ($request->has('meetup')) { $meetup = Meetup::query() ->with([ - 'meetupEvents', + 'meetupEvents.meetup', ]) ->findOrFail($request->input('meetup')); $events = $meetup->meetupEvents; diff --git a/app/Http/Livewire/Meetup/LandingPage.php b/app/Http/Livewire/Meetup/LandingPage.php index 1377b63c..7f0a3252 100644 --- a/app/Http/Livewire/Meetup/LandingPage.php +++ b/app/Http/Livewire/Meetup/LandingPage.php @@ -20,37 +20,41 @@ class LandingPage extends Component public function mount() { - $this->meetup->load([ - 'media', - ]); + $this->meetup + ->loadCount([ + 'meetupEvents' + ]) + ->load([ + 'media', + ]); } public function render() { return view('livewire.meetup.landing-page', [ 'meetupEvents' => MeetupEvent::query() - ->with([ - 'meetup.city.country', - ]) - ->where('meetup_events.meetup_id', $this->meetup->id) - ->where('meetup_events.start', '>=', now()->subDay()) - ->orderBy('start') - ->get(), + ->with([ + 'meetup.city.country', + ]) + ->where('meetup_events.meetup_id', $this->meetup->id) + ->where('meetup_events.start', '>=', now()->subDay()) + ->orderBy('start') + ->get(), 'events' => MeetupEvent::query() - ->with([ - 'meetup.city.country', - ]) - ->where('meetup_events.meetup_id', $this->meetup->id) - ->where('meetup_events.start', '>=', now()->subDay()) - ->orderBy('start') - ->get() - ->map(fn ($event) => [ - 'id' => $event->id, - 'startDate' => $event->start, - 'endDate' => $event->start->addHours(1), - 'location' => $event->location, - 'description' => $event->description, - ]), + ->with([ + 'meetup.city.country', + ]) + ->where('meetup_events.meetup_id', $this->meetup->id) + ->where('meetup_events.start', '>=', now()->subDay()) + ->orderBy('start') + ->get() + ->map(fn($event) => [ + 'id' => $event->id, + 'startDate' => $event->start, + 'endDate' => $event->start->addHours(1), + 'location' => $event->location, + 'description' => $event->description, + ]), ]) ->layout('layouts.guest', [ 'SEOData' => new SEOData( diff --git a/app/Http/Livewire/Profile/Meetups.php b/app/Http/Livewire/Profile/Meetups.php index 9ccf4456..428c0047 100644 --- a/app/Http/Livewire/Profile/Meetups.php +++ b/app/Http/Livewire/Profile/Meetups.php @@ -38,13 +38,13 @@ class Meetups extends Component } $this->meetups = Meetup::query() - ->with([ - 'city', - ]) - ->where('name', 'ilike', '%'.$this->search.'%') - ->orderBy('name') - ->limit(10) - ->get(); + ->with([ + 'city', + ]) + ->where('name', 'ilike', '%' . $this->search . '%') + ->orderBy('name') + ->limit(10) + ->get(); $this->myMeetups = auth() ->user() ->meetups() @@ -64,7 +64,11 @@ class Meetups extends Component 'link' => route('meetup.landing', [ 'country' => $meetup->city->country->code, 'meetup' => $meetup, - ]) + ]), + 'ics' => route('meetup.ics', [ + 'country' => $meetup->city->country->code, + 'meetup' => $meetup, + ]), ]) ->toArray(); if (count($this->myMeetups) > 0) { @@ -83,20 +87,20 @@ class Meetups extends Component public function updatedSearch($value) { $this->meetups = Meetup::query() - ->with([ - 'city', - ]) - ->where('name', 'ilike', '%'.$value.'%') - ->orderBy('name') - ->limit(10) - ->get(); + ->with([ + 'city', + ]) + ->where('name', 'ilike', '%' . $value . '%') + ->orderBy('name') + ->limit(10) + ->get(); } public function signUpForMeetup($id) { $user = auth()->user(); $user->meetups() - ->toggle($id); + ->toggle($id); $this->myMeetups = auth() ->user() ->meetups() @@ -121,11 +125,15 @@ class Meetups extends Component 'link' => route('meetup.landing', [ 'country' => $meetup->city->country->code, 'meetup' => $meetup, - ]) + ]), + 'ics' => route('meetup.ics', [ + 'country' => $meetup->city->country->code, + 'meetup' => $meetup, + ]), ]) ->toArray(); $this->notification() - ->success(__('Saved.')); + ->success(__('Saved.')); } public function render() diff --git a/resources/views/livewire/meetup/landing-page-event.blade.php b/resources/views/livewire/meetup/landing-page-event.blade.php index 11bf7108..143621f3 100644 --- a/resources/views/livewire/meetup/landing-page-event.blade.php +++ b/resources/views/livewire/meetup/landing-page-event.blade.php @@ -269,6 +269,27 @@ @endauth + +