Skip to content

[FE-17] Build DisputeSubmissionForm #514

@mftee

Description

@mftee

Problem

The dispute submission backend endpoint exists (BE-06) but there is no frontend form. Users who want to raise a dispute about a flagged document have no way to do so through the UI.

Proposed Solution

Create a DisputeSubmissionForm component inside frontend/module/disputes/submit/ that collects dispute details and submits them to the backend.

Acceptance Criteria

  • Renders a document selector (dropdown populated from the user's documents), a disputeType selector, and a description textarea
  • The document selector pre-selects the document if a documentId prop is passed (e.g. when navigating from a document detail page)
  • Description field requires a minimum of 20 characters and shows a live character count
  • Includes an optional file attachment input (single file, PDF/PNG/JPEG, max 10MB) that uploads evidence via the DisputeEvidenceUploadController (BE-33)
  • On submit, calls POST /api/module/disputes and on success redirects to the dispute list page with a success message
  • Shows inline validation errors for empty required fields
  • All component files live inside frontend/module/disputes/submit/

Metadata

Metadata

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions