Eluvio Media Wallet on Apple TV.
For a detailed walkthrough of customizing and running this app in single property mode, see Customize.md.
The build works fine without GoogleService-Info.plist — Firebase is just disabled at runtime.
If you want Firebase enabled (Eluvio team only), fetch the plist file using:
bin/fetch-secrets.sh- Stores as single source of truth:
PropertyStore,AccountStore, etc. hold app state. Views read from stores rather than making API calls directly. - Router-based navigation: A
Routerwith aNavigationStackand typedNavDestinationenum handles all navigation. - Persistent caching:
PersistentDataCachecaches API responses to disk, making subsequent launches fast. - Permission resolution:
PermissionResolverchecks content access before displaying items. @Observablestate: Stores use Swift Observation for reactive UI updates.