614c35861bc946a4f0b732f49a36fc1ffb50a1ba
Attendance.note already existed but nothing wrote to it. Picking "Out" anywhere (Home's hero, Coach Today's "Also yours", event_detail's per- person answers) now opens an optional reason field before submitting, via an Alpine two-step within the same form rather than a separate confirmation screen. EventDetailView.post stores it only when the status is actually "absent", and clears it the moment someone flips back to In/Maybe -- a stale "sick" note under a since-changed answer would just be confusing. Private by construction, not by a permission check: nothing anywhere renders another member's own note -- the squad-response view stays counts-only like it already was. The only two places that read it back are this member/family's own "Your answers" card and Coach mode's bench attendance screen, both already scoped to people the viewer has a real claim on. Also, on the shared hero In/Out buttons (Home + Coach Today): dropped the green "In" styling -- nobody's answered yet at that point, so a green default misleadingly read as an already-recorded answer -- and added min-w-0 to both buttons so flex-1 actually splits the row evenly; a longer label's own intrinsic width was winning it a bigger share otherwise. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ECGMEwrc2k4D8VQuwjstj9
Description
No description provided
Languages
Python
59.1%
HTML
28.3%
CSS
8%
JavaScript
4.2%
Shell
0.2%
Other
0.2%