🎉 **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
@@ -39,8 +39,17 @@ class extends Component {
'longitude' => ['required', 'numeric', 'between:-180,180'],
'population' => ['nullable', 'integer', 'min:0'],
'population_date' => ['nullable', 'string', 'max:255'],
], [], [
'latitude' => __('Breitengrad'),
'longitude' => __('Längengrad'),
]);
if ((float) $validated['latitude'] === 0.0 && (float) $validated['longitude'] === 0.0) {
$this->addError('latitude', __('Breiten- und Längengrad dürfen nicht beide 0 sein.'));
return;
}
$validated['slug'] = str($validated['name'])->slug();
$this->city->update($validated);