refactor: enforce shared Modal component #100

Merged
chihlasm merged 3 commits from refactor/enforce-shared-modal into main 2026-03-08 05:25:50 +00:00
chihlasm commented 2026-03-08 03:33:32 +00:00 (Migrated from github.com)

Summary

  • Refactored ShareSessionModal, CreateCategoryModal, and EditCategoryModal to use the shared Modal.tsx component
  • Eliminates custom modal markup (backdrop, header, close button, scroll handling) in favor of the standardized component
  • All three modals now automatically get focus trapping, Escape-to-close, and body scroll lock

Test plan

  • Open Share Session modal from session detail page — verify layout, generate link, copy URL, revoke
  • Create a new category from Step Library — verify form submits, validation works
  • Edit an existing category — verify pre-population, save changes
  • Verify Escape key closes all three modals
  • Verify Tab focus stays trapped inside each modal

🤖 Generated with Claude Code

## Summary - Refactored `ShareSessionModal`, `CreateCategoryModal`, and `EditCategoryModal` to use the shared `Modal.tsx` component - Eliminates custom modal markup (backdrop, header, close button, scroll handling) in favor of the standardized component - All three modals now automatically get focus trapping, Escape-to-close, and body scroll lock ## Test plan - [ ] Open Share Session modal from session detail page — verify layout, generate link, copy URL, revoke - [ ] Create a new category from Step Library — verify form submits, validation works - [ ] Edit an existing category — verify pre-population, save changes - [ ] Verify Escape key closes all three modals - [ ] Verify Tab focus stays trapped inside each modal 🤖 Generated with [Claude Code](https://claude.com/claude-code)
railway-app[bot] commented 2026-03-08 03:33:42 +00:00 (Migrated from github.com)

🚅 Deployed to the patherly-pr-100 environment in selfless-grace

Service Status Web Updated (UTC)
hopeful-liberation Success (View Logs) Web Mar 8, 2026 at 4:40 am
patherly Success (View Logs) Web Mar 8, 2026 at 4:38 am
<!-- railway-bot-comment-version=2 --> <!-- railway-project-id="22b9b58c-271b-42e5-a10e-6fdec8d00134" railway-project-name="selfless-grace" --> 🚅 Deployed to the [patherly-pr-100](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134?environmentId=29108d9c-1b8f-4a77-b523-4040d07235f6) environment in **[selfless-grace](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134)** | **Service** | **Status** | **Web** | **Updated** (UTC) | | :--- | :--- | :--- | :--- | | hopeful-liberation | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/e1db2ee3-d241-4f45-abe4-c9c5fdf483d5?id=d9e358f3-ceac-41e5-a5d8-3c3847dbc336&environmentId=29108d9c-1b8f-4a77-b523-4040d07235f6)) | [Web](https://hopeful-liberation-patherly-pr-100.up.railway.app) | Mar 8, 2026 at 4:40 am | | patherly | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/95f556ff-5264-4116-a0c2-618a2fc53ba4?id=4a0db6ea-e0c7-4dfb-a930-854384d36409&environmentId=29108d9c-1b8f-4a77-b523-4040d07235f6)) | [Web](https://patherly-patherly-pr-100.up.railway.app) | Mar 8, 2026 at 4:38 am |
Sign in to join this conversation.