country = request()->route('country'); } public function with(): array { return [ 'meetups' => Meetup::with(['city.country', 'createdBy']) ->withExists([ 'meetupEvents as has_future_events' => fn($query) => $query->where('start', '>=', now()), ]) ->leftJoin('meetup_events', function ($join) { $join ->on('meetups.id', '=', 'meetup_events.meetup_id') ->where('meetup_events.start', '>=', now()); }) ->selectRaw('meetups.*, MIN(meetup_events.start) as next_event_start') ->groupBy('meetups.id') ->whereHas('city.country', fn($query) => $query->where('countries.code', $this->country)) ->when($this->search, fn($query) => $query->where('meetups.name', 'ilike', '%'.$this->search.'%'), ) ->orderByDesc('has_future_events') ->orderByRaw('next_event_start ASC NULLS LAST') ->paginate(15), ]; } }; ?>
{{ __('Meetups') }}
{{ __('Kalender-Stream-URL kopieren') }} @auth {{ __('Meetup erstellen') }} @endauth
{{ __('Name') }} {{ __('Nächster Termin') }} {{ __('Links') }} {{ __('Aktionen') }} @foreach ($meetups as $meetup) @if($meetup->nextEvent && $meetup->nextEvent['start']->isFuture())
{{ $meetup->nextEvent['start']->asDateTime() }}
{{ $meetup->nextEvent['attendees'] }} {{ __('Zusagen') }} {{ $meetup->nextEvent['might_attendees'] }} {{ __('Vielleicht') }}
@endif
@if($meetup->telegram_link) @endif @if($meetup->webpage) @endif @if($meetup->twitter_username) @endif @if($meetup->matrix_group) @endif @if($meetup->nostr) @endif @if($meetup->simplex) @endif @if($meetup->signal) @endif
@if(auth()->check() && $meetup->belongsToMe)
{{ __('Bearbeiten') }}
{{ __('Neues Event erstellen') }}
@elseif(!auth()->check()) {{ __('Log in') }} @endif
@endforeach