Skip to content

feat: Admin dispute resolution — replace window.prompt() with a proper modal #289

Description

@dotunv

Description

AdminDashboard.jsx uses window.prompt() to collect dispute resolution notes from admins. This is a native browser dialog with no styling, no validation, no character limit, and no ability to paste rich text. It breaks the UI experience and looks unprofessional.

Proposed Solution

Replace window.prompt() with a dedicated DisputeResolveModal component that includes:

  • A textarea for the resolution note (required, min 20 chars)
  • A resolution outcome dropdown (resolved_for_creator, resolved_for_contributor, dismissed)
  • A preview of the dispute details (campaign, reason, evidence)
  • Confirm / Cancel buttons

Acceptance Criteria

  • Resolution note is collected via an in-app modal, not window.prompt()
  • Resolution outcome must be explicitly selected
  • Note is required (minimum 20 characters)
  • Modal shows the dispute context before admin submits
  • Both parties (creator and contributor) receive an email notification on resolution

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programenhancementNew feature or requestfrontendFrontend / UI work

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