diff --git a/public/flash-walkthrough-poster.webp b/public/flash-walkthrough-poster.webp new file mode 100644 index 00000000..3130db6f Binary files /dev/null and b/public/flash-walkthrough-poster.webp differ diff --git a/public/flash-walkthrough.webm b/public/flash-walkthrough.webm new file mode 100644 index 00000000..74afe844 Binary files /dev/null and b/public/flash-walkthrough.webm differ diff --git a/src/app/App.test.jsx b/src/app/App.test.jsx index 206de720..5f251bf9 100644 --- a/src/app/App.test.jsx +++ b/src/app/App.test.jsx @@ -7,4 +7,5 @@ import App from '.' test('renders without crashing', () => { render() expect(screen.getByText('flash.comma.ai')).toBeInTheDocument() + expect(screen.getByRole('button', { name: 'Watch walkthrough' })).toBeInTheDocument() }) diff --git a/src/app/Flash.jsx b/src/app/Flash.jsx index 18a650b6..3376027f 100644 --- a/src/app/Flash.jsx +++ b/src/app/Flash.jsx @@ -343,7 +343,37 @@ function Stepper({ steps, currentStep, onStepClick }) { } // Landing page component +function WalkthroughDialog({ onClose }) { + return ( +
+
+ + +
+
+ ) +} + function LandingPage({ onStart }) { + const [showWalkthrough, setShowWalkthrough] = useState(false) + return (
comma @@ -359,6 +389,14 @@ function LandingPage({ onStart }) { > Start + + {showWalkthrough && setShowWalkthrough(false)} />}
) } diff --git a/src/utils/manifest.test.js b/src/utils/manifest.test.js index 3167e825..73059a84 100644 --- a/src/utils/manifest.test.js +++ b/src/utils/manifest.test.js @@ -8,6 +8,11 @@ const CI = import.meta.env.CI const MANIFEST_BRANCH = import.meta.env.MANIFEST_BRANCH const imageManager = new ImageManager() +const expectedImageCounts = { + release_mici: 32, + release_tizi: 32, + release_tici: 33, +} beforeAll(async () => { globalThis.navigator = { @@ -38,7 +43,7 @@ for (const [branch, manifestUrl] of Object.entries(config.manifests)) { const images = await getManifest(manifestUrl) // Check all images are present - expect(images.length).toBe(33) + expect(images.length).toBe(expectedImageCounts[branch]) let countGpt = 0