feat(p2p): add Phase 3 dispute system components

- Add DisputeModal.tsx with reason selection, evidence upload, terms acceptance
- Add P2PDispute.tsx page with evidence gallery, status timeline, real-time updates
- Integrate dispute button in P2PTrade.tsx
- Add /p2p/dispute/:disputeId route to App.tsx
- Add P2P test suite with MockStore pattern (32 tests passing)
- Update P2P-BUILDING-PLAN.md with Phase 3 progress (70% complete)
- Fix lint errors in test files and components
This commit is contained in:
2025-12-11 09:10:04 +03:00
parent 8a602dc3fa
commit 7330b2e7a6
321 changed files with 5328 additions and 182 deletions
+13 -11
View File
@@ -158,8 +158,21 @@ function main() {
const finalStructure = {};
const generalDocs = {};
// Add "Getting Started" as the first category
finalStructure['Getting Started'] = {
'Introduction': 'introduction.md',
'Whitepaper': 'whitepaper/whitepaper.md'
};
// Items to skip (already handled in Getting Started or SDK Reference)
const skipItems = ['Introduction', 'Whitepaper', 'Mermaid'];
// Iterate through the raw structure to categorize
for (const key in rawStructure) {
// Skip items already handled
if (skipItems.includes(key)) {
continue;
}
// Check if the item is a string (a file) and if its base name is in the generalCategoryFileNames list
if (typeof rawStructure[key] === 'string' && generalCategoryFileNames.includes(path.basename(rawStructure[key]))) {
generalDocs[key] = rawStructure[key];
@@ -168,17 +181,6 @@ function main() {
}
}
// Add "Getting Started" as the first category
finalStructure['Getting Started'] = {
'Introduction': 'introduction.md'
};
// Move whitepaper to Getting Started if it exists, and remove from rawStructure to prevent duplication
if (rawStructure['Whitepaper']) {
finalStructure['Getting Started']['Whitepaper'] = 'whitepaper/whitepaper.md';
delete rawStructure['Whitepaper'];
}
// Add SDK Reference section (always visible)
finalStructure['SDK Reference'] = {
'📚 Rust SDK Docs': 'sdk://open',