You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ios): add Android/WebApp parity sections and UX improvements
1. ScanResultView Parity (Android/WebApp):
- Added ScanStatusBadge showing scan completion status
- Added UrlDisplayRow with link icon
- Added AnalysisMetaRow ('Analyzed offline • No data leaves device')
- Added EngineStatsCard (analysis time, signals, engine version)
- Added TopAnalysisFactorsSection with PASS/FAIL/WARN/CRITICAL cards
2. History Navigation Fix:
- Changed from popup sheet to full NavigationLink navigation
- Clicking history item now opens full ScanResultView
- Added toRiskAssessment() conversion on HistoryItemMock
3. Beat the Bot Reset Button:
- Added reset button (⟲) to toolbar
- resetGame() resets all state and starts fresh
Files: 8 files changed
Version: 1.20.26
Added Android/WebApp parity sections to iOS ScanResultView, fixed History navigation to show full result screen, and added Reset button to Beat the Bot game.
192
+
193
+
## ✅ Changes Made
194
+
195
+
### 1. ScanResultView Parity (Android/WebApp)
196
+
- Added `ScanStatusBadge` - shows "Scan Complete" / "Threat Detected" based on verdict
197
+
- Added `UrlDisplayRow` - URL with link icon
198
+
- Added `AnalysisMetaRow` - "Analyzed offline • No data leaves device"
199
+
- Added `EngineStatsCard` - analysis time (ms), signals count, engine version (KMP/Swift)
200
+
- Added `TopAnalysisFactorsSection` - grid of factor cards with PASS/FAIL/WARN/CRITICAL tags
201
+
- HTTPS check
202
+
- Domain analysis
203
+
- Database check
204
+
- Heuristics check
205
+
206
+
### 2. History Navigation Fix
207
+
-**Before:** Clicking history item showed small popup sheet (HistoryDetailSheet)
208
+
-**After:** Clicking history item navigates to full ScanResultView
209
+
- Added `toRiskAssessment()` conversion method on HistoryItemMock
210
+
- Removed unused `selectedItem` state and sheet modifier
211
+
212
+
### 3. Beat the Bot Reset Button
213
+
- Added reset button (⟲) to toolbar leading position
214
+
-`resetGame()` function resets: timer, points, streak, accuracy, challenge, signals
215
+
- Includes haptic feedback on reset
216
+
217
+
## 📁 Files Modified
218
+
219
+
| File | Change |
220
+
|------|--------|
221
+
|`ScanResultView.swift`| +5 new sections (ScanStatusBadge, UrlDisplayRow, AnalysisMetaRow, EngineStatsCard, TopAnalysisFactorsSection) |
222
+
|`HistoryView.swift`| Changed to NavigationLink, removed sheet |
0 commit comments