Repository navigation
Conversation
Several validation commands failed on a fresh clone before any workshop changes, which also blocks the Step 7 prompt's validation list: - shared: tsconfig used moduleResolution "bundler", which TypeScript 4.9 rejects; switch to "node" and map @amazon-devices/* and lottie-react-native to the Vega workspace. - shared: the @testing-library/react-native Jest preset no longer exists; use the Vega workspace's React Native preset and module paths, and enable RNTL's built-in matchers. - vega: shared files couldn't resolve react-native/react during ts-jest type checks or at runtime; add tsconfig paths and Jest modulePaths. - vega: replace the stale template test (it looked for a "sampleLink" testID that doesn't exist) with a render test of the home tiles. - expotv: add eslint and eslint-config-expo so `yarn lint` runs. - expotv: add `yarn typecheck` with tsconfig.typecheck.json. It keeps the React type mappings out of tsconfig.json (which Expo Metro reads) and includes Expo's types, since expo-env.d.ts only exists after `expo start`.
The completed workshop result, built on top of the starter tooling fixes. Steps 2-5 (shared components, kept and still exported): - Header with platform-specific logos (Platform.select and file extensions) - Lottie animation with a web fallback using the Animated API - fetch-based httpClient and a random-joke ApiDemo - Movie list: FlatList by default, Vega Carousel via MovieList.kepler.tsx, plus a cross-platform FocusRow Step 7 streaming app (from workshop/prompts/streaming-tv-prompt.txt): - HomeScreen is now a browse/player state machine: a hero updated by focus and one "Featured" row of four static items (HTTPS MP4s from the workshop catalog) - ContentCard with 1.08 focus scale and orange border, title-safe and action-safe constants - PlayerView with loading and error states, Play/Pause and Exit controls that auto-hide after five seconds but stay mounted, Back to browse - Shared VideoPlayer interface: react-native-video (Android TV / Apple TV), W3C Media URL mode (.kepler.tsx), HTML video (.web.tsx) - Vega: react-native-w3cmedia, automatic JSX runtime in Babel, and the W3C Media services and modules in manifest.toml - Tests for browse, focus, selection, play/pause, auto-hide, exit, loading/error states and the Vega player lifecycle, with lightweight mocks for the platform video modules
Owner
|
Hey Gio, I dont want to be prescriptive of what the final app after step 7 should look like as we said they can use the multi-tv as a reference |
Collaborator
Author
|
agree, this should be in a different branch, different from final app too, closing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Final App after Step 7