Skip to content

feature: calendar frontend component#71

Open
achneerov wants to merge 19 commits into
developfrom
feature/12-calendar-frontend-component
Open

feature: calendar frontend component#71
achneerov wants to merge 19 commits into
developfrom
feature/12-calendar-frontend-component

Conversation

@achneerov
Copy link
Copy Markdown

@achneerov achneerov commented May 18, 2026

Closes #12

Overview

Implements the scheduling availability calendar frontend with drag-to-select time slots, week/day headers, and coach message section integration.

Also includes mobile UX refinements so key context remains visible while scrolling:

  • Time labels on the left stay visible during horizontal day scrolling.
  • Selection legend/summary footer remains outside the horizontal scroll region.

Testing

Manual testing:

  • Opened the scheduling page and verified calendar renders with expected date/time grid.
  • Drag-selected and deselected multiple time ranges to confirm interaction and visual states.
  • Verified weekend slots remain blocked.
  • On mobile viewport, horizontally scrolled across days and confirmed left time labels remain visible.
  • Confirmed selection legend/summary footer remains visible and does not scroll away horizontally.

Screenshots / Screencasts

image

Checklist

  • Code is neat, readable, and works
  • Code is commented where appropriate and well-documented
  • Commit messages follow our guidelines
  • Issue number is linked
  • Branch is linked
  • Reviewers are assigned (one of your tech leads)

Notes

No backend/schema changes. Frontend-only scheduling UI work.

achneerov added 14 commits May 18, 2026 15:39
…ctionality and aria-labels for accessibility
…necessary borders and adjusting border styles for improved visual clarity
…lity calendar with improved state management and key range selection
…ning and background colors for improved header visibility
…olidating header components and improving overflow handling
@achneerov achneerov changed the title Feature/12 calendar frontend component DRAFT Feature/12 calendar frontend component May 18, 2026
achneerov and others added 3 commits May 18, 2026 19:24
…ability calendar by replacing refs with state for drag mode and selection tracking
… review

- Make AvailabilityCalendar controlled (value/onChange) and SSR-safe via anchor prop
- Wire AvailabilityForm to selectAvailabilities with useActionState; submit button now actually submits
- Replace hardcoded hex colors with design tokens; use Textarea/Button/Label primitives
- Consolidate drag state into a single discriminated union (no more parallel state/ref pairs)
- Add keyboard support (Space/Enter to toggle) and improved aria-labels
- Remove hardcoded weekend block; daysOfWeek is now the single source of truth
- Fix tooltip to follow the pointer instead of being pinned to viewport center
- Persist optional coach message via notes field on coaching_sessions
- Rename users-availability-calendar -> availability-calendar
- Rename user-availability-calendar-submit-coach-message -> availability-form

Co-authored-by: Cursor <cursoragent@cursor.com>
@achneerov achneerov requested a review from RenaudBernier May 19, 2026 00:00
@achneerov achneerov force-pushed the feature/12-calendar-frontend-component branch from 6613b6b to f202acf Compare May 25, 2026 00:52
…s for improved clarity and maintainability in availability calendar

- Introduced SLOT_INDICES and SLOTS_PER_HOUR constants to enhance readability and reduce magic numbers in the AvailabilityCalendar component.
- Updated references to quarter indices in the rendering logic to use the new constants.
- Minor cleanup in error handling during pointer capture release.
@achneerov achneerov changed the title DRAFT Feature/12 calendar frontend component feature12: calendar frontend component May 30, 2026
@achneerov achneerov changed the title feature12: calendar frontend component feature: calendar frontend component May 30, 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.

2 participants