Commit e7a717e
committed
feat: implement audit detail page with findings view (#32)
- API: Add PATCH /audits/findings/:id endpoint for finding status updates
- Validates status against allowed values (OPEN, ACKNOWLEDGED, etc.)
- Enforces authorization (user must own the audit)
- Web: Create reusable audit components
- FindingCard: expandable card with status selector, code display, AI summary
- FindingList: findings with search, severity/status/plugin filters
- SeverityChart: pie chart showing severity distribution via recharts
- Web: Rewrite audit detail page with real API integration
- Fetches audit + findings from API with loading/error/empty states
- Stats grid showing security score, status, findings count, duration
- Optimistic status updates with revert on failure
- Active 'Verify on-chain' button with placeholder
- Link to AI Chat for contextual questions
- Web: Improve audit list page
- Real API integration with status filtering and search
- Links to detail pages
- Proper loading, empty, and error states
- Web: Extract shared API helpers to lib/api-helpers.ts1 parent b91fbbd commit e7a717e
8 files changed
Lines changed: 1021 additions & 324 deletions
File tree
- apps
- api/src/modules/audits
- web/src
- app/dashboard/audits
- [id]
- components/audits
- lib
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
33 | 43 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
109 | 137 | | |
0 commit comments