ghostguild-org/server
Jennie Robinson Faber e6f05b5471 feat(events): add displayTimezone field and zoned datetime helpers
Events stored UTC have always been interpreted in viewer-local TZ at
the admin form and render layer. Adding an event-owned IANA timezone
unblocks accurate scheduling and display regardless of the admin's or
viewer's browser TZ.

- Event.displayTimezone (default "America/Toronto") on the model.
- displayTimezone added to admin create/update Zod schemas.
- app/utils/timezones.js: zonedLocalToUTC, utcToZonedLocal,
  shortTimezoneName — Intl-based helpers, no new dependencies.
2026-05-19 10:39:27 +01:00
..
_archive/utils chore(slack): remove dead invite path, archive checkSlackJoins poller 2026-04-29 12:34:21 +01:00
api fix(board-channels): dev stub slackChannelId must match update schema 2026-05-01 12:08:35 +01:00
config feat(contributions): rewrite server config as preset-based helpers 2026-04-19 18:12:44 +01:00
emails feat(payments): add upsertPaymentFromHelcim helper with idempotent insert 2026-04-20 13:15:38 +01:00
middleware refactor(rate-limit): delegate auth limiting to handlers, add dev bypass 2026-04-27 19:18:34 +01:00
migrations refactor(community): rename Community Connections → Community Ecology 2026-04-09 09:07:15 +01:00
models feat(events): add displayTimezone field and zoned datetime helpers 2026-05-19 10:39:27 +01:00
plugins chore(slack): remove dead invite path, archive checkSlackJoins poller 2026-04-29 12:34:21 +01:00
routes refactor(env): unify required-env validation through useRuntimeConfig 2026-04-26 14:47:02 +01:00
utils feat(events): add displayTimezone field and zoned datetime helpers 2026-05-19 10:39:27 +01:00