📄 OSS Task: Print Escrow Viewer to PDF – “Export Escrow Report”
Product: Escrow Viewer (Astro-based dApp)
Type: Feature · Reporting / Export
Difficulty: Medium
Track: Transparency · UX · Reporting
Repo: Escrow Viewer repository
Overview
Add a “Print to PDF” / “Export to PDF” feature to the Escrow Viewer.
Once an escrow is loaded and visible on screen, users should be able to export the current escrow view into a clean, well-structured PDF report.
This feature is essential for:
- Audits
- Compliance
- Sharing with non-technical stakeholders
- Offline review and record keeping
Context
The Escrow Viewer already presents a rich, structured view of escrow data, including:
- Escrow metadata
- Status
- Assigned roles
- Milestones
- Progress indicators
However, there is currently no way to export this information.
This task bridges on-chain transparency with real-world documentation needs.
Goal
Allow users to:
“Export the escrow I’m viewing into a professional PDF report.”
The PDF should reflect what the user sees on screen, but in a print-friendly, organized format.
Button Requirements
PDF Content Requirements
The exported PDF should include, at minimum:
1️⃣ Header Section
- Trustless Work branding
- Report title (e.g. Escrow Report)
- Network (Testnet / Mainnet)
- Export timestamp
2️⃣ Escrow Summary
- Escrow ID (contract ID)
- Description / engagement name
- Escrow type (Single Release / Multi-Release)
- Asset / trustline
- Total amount
- Platform fee
- Trustless Work fee (0.3%)
3️⃣ Escrow Status
- Current escrow status
- Dispute flag
- Release flag
- Resolved flag
4️⃣ Assigned Roles
For each role:
5️⃣ Milestones
For each milestone:
- Milestone name / index
- Description
- Amount
- Status (Pending / Approved / Released / Disputed)
6️⃣ Optional Footer
- “Generated by Trustless Work Escrow Viewer”
- Link to Trustless Work website
Important Design Constraint
🚨 The PDF should not be a raw browser screenshot.
Instead:
- Use a print-friendly layout
- White or light background (even if Viewer is in dark mode)
- Clear typography
- Logical section separation
This is a report, not a screenshot.
Technical Expectations (Flexible)
You may choose the implementation approach, for example:
window.print() with print-specific styles
- Client-side PDF generation (e.g. via a PDF library)
- Render a hidden “print view” component
What matters:
- Output quality
- Correct data
- Maintainability
Functional Requirements
Developer Workflow (required)
feature/escrow-pdf-export
-
Open a PR into main
-
Include:
- Screenshot of the export button
- Screenshot or sample of the generated PDF
- Short explanation of the approach used
Acceptance Criteria
Nice-to-haves (optional)
- Filename includes escrow ID and date
- Page numbers in PDF
- Section anchors / table of contents
- “Export summary only” vs “full report”
Learning Outcomes (why this task exists)
By completing this task, contributors will learn:
- How to translate on-chain data into human-readable reports
- How blockchain transparency maps to real-world documentation
- How to design print-friendly UX
- How Web3 apps support audits and compliance workflows
📄 OSS Task: Print Escrow Viewer to PDF – “Export Escrow Report”
Product: Escrow Viewer (Astro-based dApp)
Type: Feature · Reporting / Export
Difficulty: Medium
Track: Transparency · UX · Reporting
Repo: Escrow Viewer repository
Overview
Add a “Print to PDF” / “Export to PDF” feature to the Escrow Viewer.
Once an escrow is loaded and visible on screen, users should be able to export the current escrow view into a clean, well-structured PDF report.
This feature is essential for:
Context
The Escrow Viewer already presents a rich, structured view of escrow data, including:
However, there is currently no way to export this information.
This task bridges on-chain transparency with real-world documentation needs.
Goal
Allow users to:
The PDF should reflect what the user sees on screen, but in a print-friendly, organized format.
Button Requirements
Label: Export to PDF or Print to PDF
Placement:
Behavior:
Scope:
PDF Content Requirements
The exported PDF should include, at minimum:
1️⃣ Header Section
2️⃣ Escrow Summary
3️⃣ Escrow Status
4️⃣ Assigned Roles
For each role:
5️⃣ Milestones
For each milestone:
6️⃣ Optional Footer
Important Design Constraint
🚨 The PDF should not be a raw browser screenshot.
Instead:
This is a report, not a screenshot.
Technical Expectations (Flexible)
You may choose the implementation approach, for example:
window.print()with print-specific stylesWhat matters:
Functional Requirements
Developer Workflow (required)
Open a PR into
mainInclude:
Acceptance Criteria
Nice-to-haves (optional)
Learning Outcomes (why this task exists)
By completing this task, contributors will learn: