🎉 **Introduce meetup activity management**

- Added `is_active` and `last_event_at` fields to meetups with migration.
- Enhanced UI: Display `Aktiv`/`Inaktiv` badges and last event dates across dashboard, tables, and maps.
- Introduced `/meetups:update-activity` command to manage activity flags and timestamps.
- Validated latitude/longitude to prevent `0,0` inputs in city creation and updates.
- Updated factories and tests to include meetup activity states (`active`, `inactive`).
This commit is contained in:
HolgerHatGarKeineNode
2026-05-17 17:57:16 +02:00
parent bf9654de87
commit 71a4898303
16 changed files with 343 additions and 11 deletions
@@ -1,7 +1,20 @@
@props(['meetup', 'url', 'eventUrl' => null])
<div class="w-72">
<flux:heading size="lg" class="mb-3">{{ $meetup->name }}</flux:heading>
<div class="flex items-center justify-between mb-3 gap-2">
<flux:heading size="lg">{{ $meetup->name }}</flux:heading>
@if($meetup->is_active)
<flux:badge color="green" size="sm">{{ __('Aktiv') }}</flux:badge>
@else
<flux:badge color="zinc" size="sm">{{ __('Inaktiv') }}</flux:badge>
@endif
</div>
@if($meetup->last_event_at)
<flux:text class="text-xs text-zinc-500 mb-2">
{{ __('Letztes Event') }}: {{ $meetup->last_event_at->asDate() }}
</flux:text>
@endif
@if($meetup->intro)
<flux:text class="text-sm text-zinc-600 dark:text-zinc-400 mb-3">