Summary
Stretch goal. Extend the loadout builder to support 4-player squads.
Parent: #162
Design
- Hash format:
[[player1...], [player2...], ...] detected by checking if arr[0] is an array
- Player tabs (Player 1-4) with editable names
- Solo/Squad toggle switch
- Compact summary of all 4 loadouts at bottom
- Shared squad URLs show vertical layout
- OG image renders 2x2 grid
Files
- CREATE
src/features/loadout/SquadBuilder.jsx (~250-350 LOC)
- CREATE
src/features/loadout/SquadSummary.jsx
- MODIFY
src/shared/utils/loadoutHash.mjs — add squad encode/decode
- MODIFY
src/__tests__/unit/shared/utils/loadoutHash.test.mjs
- MODIFY
src/app/loadout/opengraph-image.jsx
- MODIFY
src/app/loadout/page.jsx
Size: XL
Summary
Stretch goal. Extend the loadout builder to support 4-player squads.
Parent: #162
Design
[[player1...], [player2...], ...]detected by checking ifarr[0]is an arrayFiles
src/features/loadout/SquadBuilder.jsx(~250-350 LOC)src/features/loadout/SquadSummary.jsxsrc/shared/utils/loadoutHash.mjs— add squad encode/decodesrc/__tests__/unit/shared/utils/loadoutHash.test.mjssrc/app/loadout/opengraph-image.jsxsrc/app/loadout/page.jsxSize: XL