Volvo VIN Decode:
- Changed URL pattern from vehicle.action to vin-group.action
- Added parseVolvoInfoTable() for Volvo's specific table format
(multiple label/value pairs per row)
- Fixed brand detection using WMI codes (YV1/YV4 = Volvo)
- Updated selectors for vinInfoTable and nav-group tables
Category & SubGroup Flow:
- Added LEGACY_VOLVO to architectures using vin-group.action
- Implemented 4-level Volvo hierarchy:
1. vin-group.action → Main groups (group1)
2. vin-group.action?group1=... → Sub-groups (group2)
3. vin-group.action?group1=...&group2=... → Illustrations
4. vin-image-board.action → Parts (dynamic JS loading)
- Added fetchVolvoPartsFromIllustrations() method
- Added parseVolvoIllustrations() for nav-group3-table
TODO: Volvo parts are loaded dynamically via JavaScript.
The nav-bom-table in vin-image-board.action is empty in static HTML.
Need to investigate json-vin-bom.action or similar for BOM data.
Test Results:
- VIN decode: Volvo V40 (13-), 2015, 7 categories ✓
- SubGroups fetch: Working ✓
- Parts fetch: Needs dynamic JS handling
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>