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
+16
View File
@@ -0,0 +1,16 @@
import { test, expect } from '@playwright/test';
test.beforeEach(async ({ page }) => {
await page.goto('/');
await page.evaluate(async () => {
indexedDB.deleteDatabase('ttrpg-manager');
localStorage.clear();
});
await page.reload();
});
test('onboarding: first-run welcome loads the sample campaign', async ({ page }) => {
await expect(page.getByRole('heading', { name: 'Welcome to TTRPG Manager' })).toBeVisible();
await page.getByRole('button', { name: 'Try the sample campaign' }).click();
await expect(page.getByRole('heading', { name: 'Sample: Lost Mine' })).toBeVisible();
});