|
|
e5690625eb
|
Fix member removal bug + QA fixes + shared calendar sidebar styling
Bug fix:
- CalendarMemberRow: add type="button" to remove button (was submitting parent form)
QA fixes:
- EventDetailPanel: use axios.isAxiosError() instead of duck-typing for lock errors
- EventDetailPanel: only call onSaved on create (edits return to view mode, not close)
- CalendarForm: remove 4 redundant membersQuery.refetch() calls (mutations already invalidate)
- useEventLock: remove unused lockHeld ref from return, fix stale eventId in onSuccess
- EventLockBanner: guard against invalid date parse
UI:
- SharedCalendarSection: add purple Ghost icon next to "SHARED CALENDARS" header
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-06 06:07:55 +08:00 |
|
|
|
eedfaaf859
|
Phase 4: Event locking + permission gating for shared calendars
- useEventLock hook with auto-release on unmount/event change
- EventLockBanner component for locked event display
- EventDetailPanel: lock acquire on edit, release on save/cancel, permission-gated edit/delete buttons
- CalendarPage: permission map from owned+shared calendars, per-event editable gating
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-06 05:24:43 +08:00 |
|