Add review data durability and post-24h editing
Schema Changes:
- Add optional fragranceName and houseName fields to review records
- Reviews now cache fragrance metadata for durability when fragrances are deleted/renamed
- Regenerated API types from updated lexicon schema
Fragrance Deletion:
- Enable deletion even when reviews exist (with warnings)
- Show review count and impact in deletion UI
- Reviews display deleted fragrances as "Name (deleted)"
- Created EditFragrancePage component with edit/delete functionality
- Added route for /profile/:handle/fragrance/:rkey/edit
Review Editing After 24 Hours:
- Allow editing text notes at any time
- Allow changing fragrance assignment at any time
- Lock stage ratings after 24 hours
- Update validation logic to distinguish editable vs locked fields
- Show edit button for all reviews with appropriate functionality
Bug Fixes:
- Fix fragrance deletion using typed method instead of raw XRPC call
- Fix review deletion using typed method instead of raw XRPC call
- Fix edit button visibility for reviews >= 24 hours old
- Remove "or is private" from fragrance not found error (records are always public)
- Update cached fragrance metadata when editing old reviews
UI/UX Improvements:
- Show cached fragrance names in reviews when fragrance is deleted
- Updated edit UI for post-24h reviews (text and fragrance only)
- Better confirmation dialogs explaining what will change
- Clearer error messages and permissions
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>