Polish and harden the upload experience across file and URL sources with clearer validation, resilient state handling, and actionable feedback.
Scope
- Improve validation messaging for upload inputs.
- Refine loading/disabled/success/reset interactions.
- Ensure empty/error states are clear and recoverable.
- Keep behavior consistent between file and URL upload modes.
Acceptance Criteria
- Invalid inputs show actionable error messages.
- Submit/loading state prevents duplicate submissions.
- Failure states are visible, understandable, and recoverable.
- Success behavior is consistent (form reset/close and state cleanup).