Skip to content

HOLD: Make event start/end time optional with all-day rendering#1744

Open
maebeale wants to merge 4 commits into
mainfrom
maebeale/event-time-fields-optional-styling
Open

HOLD: Make event start/end time optional with all-day rendering#1744
maebeale wants to merge 4 commits into
mainfrom
maebeale/event-time-fields-optional-styling

Conversation

@maebeale

Copy link
Copy Markdown
Collaborator

What is the goal of this PR and why is this important?

  • Event start/end time was required even when only the date matters, forcing admins to invent a time.
  • This makes the time optional: a blank time renders the event as all-day (no time shown) everywhere it appears.

How did you approach the change?

  • Dropped required from the start/end time inputs; a blank time persists as midnight and is treated as "no time" via a new Event#all_day?.
  • Centralized the all-day handling in EventDecorator#times, ApplicationHelper#event_times_label, and calendar_links (which now emits proper all-day calendar entries), so the show page, cards, tickets, mailers, and registration page all follow.
  • Styled the optional fields (start/end time, registration-close box) grey instead of white and added a hint explaining the all-day behavior.

UI Testing Checklist

  • On event edit, leaving a start/end time blank saves and the event shows as all-day (no time) on the show page, cards, and registration page.
  • Entering a time still shows the time range as before.
  • Calendar links (Google/Apple/Outlook/Yahoo) produce an all-day event when no time is set.
  • Optional fields (time inputs, registration-close box) render grey; the all-day hint is visible.

Anything else to add?

  • "No time" is stored as midnight in the viewer's time zone (no migration), so an event can't be set to start exactly at 12:00 AM. A boolean column would make this zone-proof if it ever matters.

🤖 Generated with Claude Code

@maebeale maebeale marked this pull request as ready for review June 18, 2026 18:05
maebeale and others added 3 commits June 18, 2026 16:10
Time was required on the event form even though only the date matters for many
events. Make the time inputs optional: a blank time persists as midnight and
renders as all-day (no time shown) everywhere — show page, cards, mailers,
tickets, and calendar exports (which now emit proper all-day entries). Style
the optional fields (start/end time, registration close) grey instead of white,
and add a hint explaining the all-day behavior and the midnight tradeoff.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…abel

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@maebeale maebeale force-pushed the maebeale/event-time-fields-optional-styling branch from 7427f70 to 8a72aed Compare June 18, 2026 20:13
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@maebeale maebeale changed the title Make event start/end time optional with all-day rendering HOLD: Make event start/end time optional with all-day rendering Jun 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant