Phase 9: onboarding, mobile & accessibility

- First-run welcome on the Campaigns page: what-the-app-is blurb, three feature
  highlights, and one-click "Try the sample campaign" (seedSampleCampaign) plus
  "Start your first campaign".
- Map token palette starts collapsed on small screens so the map gets the width.
- (Reduced-motion is already honoured globally in styles/globals.css.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-08 15:53:33 +02:00
parent 7f1ab8f094
commit f01e8ffe32
3 changed files with 62 additions and 11 deletions
+2 -1
View File
@@ -53,7 +53,8 @@ export function MapEditor({ map, campaign }: { map: BattleMap; campaign: Campaig
const [gmDraw, setGmDraw] = useState(true);
const [dims, setDims] = useState({ cols: 0, rows: 0 });
const [editToken, setEditToken] = useState<string | null>(null);
const [showPalette, setShowPalette] = useState(true);
// Collapsed by default on small screens so the map gets the width.
const [showPalette, setShowPalette] = useState(() => typeof window === 'undefined' || window.innerWidth >= 880);
// transient interaction state
const [overlay, setOverlay] = useState<Overlay>({});