Description
A page where clients can review freelancer applications for their listings, accept one (triggering on-chain project creation), and reject others.
Route: /client/listings/[id]/applications
UI
- Back link to
/client
- Listing summary header (title, total XLM, status badge)
- List of applications, each showing:
- Freelancer Stellar address (truncated + full on hover/copy)
- Application message
- Time posted
- Status badge (Pending / Accepted / Rejected)
- Accept button (pending applications only, listing must be open)
- Reject button (pending applications only)
- Empty state if no applications yet
Accept Flow
- Client clicks "Accept"
- Inline confirmation: "This will create an on-chain escrow project with this freelancer. Continue?"
- On confirm →
acceptApplication():
- Calls
createProject() on-chain (triggers Freighter popup)
- Updates listing
status = 'filled', on_chain_project_id = projectId
- Sets accepted application
status = 'accepted'
- Sets all other applications
status = 'rejected'
- Redirect to
/client/projects/[projectId]
Acceptance Criteria
Description
A page where clients can review freelancer applications for their listings, accept one (triggering on-chain project creation), and reject others.
Route:
/client/listings/[id]/applicationsUI
/clientAccept Flow
acceptApplication():createProject()on-chain (triggers Freighter popup)status = 'filled',on_chain_project_id = projectIdstatus = 'accepted'status = 'rejected'/client/projects/[projectId]Acceptance Criteria