How shadowhedgehog76/hedgehop works
Hedgehop is a React Native music-listening app. Users browse and search a catalog, start playback, and manage favorites and playlists; playback also feeds listening statistics. App navigation exposes news, account, support, donation, and developer screens, while party rooms synchronize playback among participants. The sampled source confirms player/statistics and party-sync wiring, plus authentication and playlist sync behavior. Several screen and API implementations were not sampled, so their detailed calls are omitted; the graph retains the major product areas shown in the repository tree.
Main entry points: App.js App shell · player.js Audio player · StatsService.js Stats service · useCrossPartySync.js Playback sync hooks
Components 30
App navigation
- App shell
App.js - Home
screens/HomeStack.js - News
screens/NewsStack.js - Support and giving
screens/HelpSupportScreen.js - Donations
screens/DonationScreen.js - Developer tools
screens/DevScreen.js
Music listening
- Catalog API
src/api/catalog.js - Track search
screens/SearchTracksScreen.js - Audio player
src/api/player.js - Playback controls
src/components/PlayerBar.js - Player screen
screens/PlayerScreen.js - Album browsing
screens/AlbumScreen.js
Account and library
- Favorites
src/api/favorites.js - Favorites view
screens/FavoritesScreen.js - Playlists
src/api/playlists.js - Playlist views
screens/PlaylistsScreen.js - Account view
screens/YouStack.js - Authentication
src/services/auth.js - Listening statistics
screens/StatsScreen.js - Stats state
src/hooks/useStats.js - Stats service
src/services/StatsService.js
Party sync
- Party room
screens/PartyRoomScreen.js - Playback sync hooks
src/hooks/useCrossPartySync.js - Room service
src/services/crossPartyService.js
Supporting services
- Local storage
- Firebase
src/config/firebaseConfig.js - Update checker
src/hooks/useUpdateChecker.js - Update notice
src/components/UpdateNotification.js
Other components
- Listener
- Release service
Connections 29
- Listener → App shell: opens
- App shell → Home: routes to
- App shell → News: routes to
- App shell → Favorites view: routes to
- App shell → Listening statistics: routes to
- App shell → Player screen: routes to
- App shell → Playback controls: renders
- App shell → Playback sync hooks: activates
- Home → Album browsing: opens
- Track search → Catalog API: loads catalog
- Track search → Audio player: starts track
- Album browsing → Catalog API: browses
- Player screen → Audio player: controls
- Playback controls → Audio player: controls
- Favorites view → Favorites: loads favorites
- Playlist views → Playlists: manages playlists
- Account view → Authentication: authenticates
- Authentication → Playlists: syncs on login
- Listening statistics → Stats state: reads stats
- Stats state → Stats service: loads and records
- Audio player → Stats service: records listening
- Stats service → Local storage: reads and writes
- Stats service → Authentication: saves account stats
- Party room → Room service: manages room
- Playback sync hooks → Room service: syncs room state
- Playback sync hooks → Audio player: reads and controls
- Room service → Firebase: reads and writes
- Update notice → Update checker: checks updates
- Update checker → Release service: checks releases