Commit Graph

14 Commits

Author SHA1 Message Date
HolgerHatGarKeineNode 308cd8a611 🚀 **Automate Meetup Activity Recalculation**
- Introduced `recalculateActivity` method in `Meetup` model to centralize activity and event timestamp updates.
- Added `MeetupEventObserver` to trigger activity recalculation on event save/delete.
- Updated `/meetups:update-activity` command to leverage the new model method for cleanup.
- Enhanced tests to cover various `MeetupEvent` scenarios affecting activity states.
2026-05-17 18:13:37 +02:00
HolgerHatGarKeineNode 71a4898303 🎉 **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`).
2026-05-17 17:57:16 +02:00
HolgerHatGarKeineNode deeb1f066d 🌍 Update timezone fallback for Nostr publishing command to use Europe/Berlin 2025-12-11 02:13:17 +01:00
HolgerHatGarKeineNode a8f1257948 🌍 Add Austria and Switzerland to German locale mapping in Nostr publishing command
- Extend `TZ_MAP` and `DOMAIN_MAP` with `'at'` and `'ch'` entries pointing to `Europe/Berlin` and `portal.einundzwanzig.space` respectively.
- Adjust locale setting logic to use `'de'` for Austria and Switzerland, ensuring consistent language handling in Nostr publishing flows.
2025-12-10 03:46:14 +01:00
HolgerHatGarKeineNode c6c524a876 ⚙️ Update PublishUnpublishedItems to run hourly and only publish MeetupEvents starting within the next 7 days. 2025-12-09 23:02:43 +01:00
HolgerHatGarKeineNode d263eaf92d 🛠️ Add German portal domain and refactor URL handling for Nostr publishing
- Introduce `portal.einundzwanzig.space` with locale settings in `DomainMiddleware`.
- Replace verbose if‑chain in `NostrTrait::getUrl()` with a concise match expression.
- Add `DOMAIN_MAP` constant to `PublishUnpublishedItems` and force URL generation to use the correct domain per country.
- Update command flow: set domain before configuring timezone/locale.
2025-12-09 22:45:26 +01:00
HolgerHatGarKeineNode 2a70537fcb 🛠️ Add Nostr publishing support with i18n templates and country‑specific configuration for domain handling and CLI command 2025-12-09 22:35:54 +01:00
HolgerHatGarKeineNode d0d19663aa 🛠️ Ensure meetup names are converted to ASCII before sanitizing in ExtractLogos command 2025-12-05 23:27:12 +01:00
HolgerHatGarKeineNode 22592bbd23 🛠️ Use sanitized studly case for meetup names in ExtractLogos command output filenames 2025-12-05 23:07:28 +01:00
HolgerHatGarKeineNode 60634146fe 🛠️ Use camel case for meetup names in ExtractLogos command output filenames 2025-12-05 23:02:10 +01:00
HolgerHatGarKeineNode 1adbec3519 🛠️ Add ExtractLogos command to export meetup logos to public storage 2025-12-05 22:54:17 +01:00
HolgerHatGarKeineNode 33b599702c Add SyncNostrProfilesCommand to dispatch Nostr profile sync job 2025-11-24 00:53:38 +01:00
HolgerHatGarKeineNode 7adefecfbb Add Nostr publishing and login keys cleanup commands 2025-11-21 16:34:38 +01:00
HolgerHatGarKeineNode 976844487a 🌍 Add city creation modal and country migration command 2025-11-21 13:35:29 +01:00