Selected work, moving forward.
Runs return a proposed change, verification evidence and anything that still needs attention.
Give the investigation a useful starting point.
Expected: Reopening the modal starts with no validation message. An empty submission still shows the required-field error.
Scope: Trace the form lifecycle, reset stale validation state and verify both behaviours.
Trace the modal lifecycle and preserve validation on submission.
Checking the close and cancel handlers before deciding where the reset belongs.
Clear reproduction steps and expected behaviour.
Read the admin conventions and dependency notes.
Inspecting form state and close handlers.
READ memory/repos/admin.md READ src/reports/ReportModal.tsx FIND hasTriedSubmit survives modal close NEXT check cancel and dismiss handlers
Implementation complete. Engineering review is the next step.
Reset the submission flag when the report modal closes. Both cancel and dismiss use the same reset path.
WHY THIS FIXThe previous submission flag persisted between openings. The change addresses the state lifecycle and keeps the existing required-field validation.
Close and reopenNo stale validation message
Submit an empty formRequired-field error appears
Build and type checkCompleted without errors
const closeReport = () => { - setOpen(false); + setHasTriedSubmit(false); + setOpen(false); }; + // Both close and cancel use closeReport. + // Required-field checks stay on submit.
Inspect the change or send feedback for another attempt.
Conventions and dependencies travel with the ticket.
Staff tools and reporting
Context availableCustomer-facing application
Context availableDocument services
Context availableJob search and matching
Context availableBackground processing
Context availableShared types and utilities
Context available