994 B
994 B
2026-07-17 — P1-4 modal migration: admin/Library.tsx (3 of 3)
Branch: feat/p1-4-modals-library
Worktree: .worktrees/feat-p1-4-modals-library
Why
P1-4 from the readiness audit asks for every inline modal to use the
shared <Modal> component. Continues the sweep with
admin/Library.tsx.
Changes
client/src/pages/admin/Library.tsx
Migrated 3 of 3 modals to <Modal> + <ModalBody>:
- Register / Update Book — multi-section form (title, author, ISBN, publisher, year, category, shelf location, total copies, image URL, status)
- Circulate Asset (issue) — borrower dropdown, due-date, notes
- Finalize Circulation (return) — condition, return notes
Each modal's inline bg-card rounded-[2.5rem] shell + custom header
- × close button are removed;
<Modal>injects its own header / close. Body content is wrapped in<ModalBody>.
Verification
node scripts/lint-no-inline-modals.js→admin/Library.tsxcount dropped 3 → 0.