How zxsos/hghubx works
HGhubX is a cross-platform Tauri client for browsing third-party video and post content and watching it in an immersive player. The main user path runs from the app shell through discovery or search surfaces, into a feed/player, and through the typed frontend API to native commands and upstream networking. Native media handling, session/line selection, and optional diagnostics are distinct supporting capabilities. Relationships below follow shown imports, calls, or README statements; unsampled wiring is omitted or marked unverified.
Main entry points: api.ts Frontend API · App.tsx App shell · api.rs Native commands · Category.tsx Categories
Components 27
Client experience
- App shell
src/App.tsx - App state
src/store.tsx - HTML security
src/html.ts - Clipboard
src/clipboard.ts
Content browsing
- Home and discovery
src/pages/Home.tsx - Discover
src/pages/Discover.tsx - Categories
src/pages/Category.tsx - Search
src/pages/Search.tsx - Profiles and posts
src/pages/User.tsx - Content models
src/types.ts - Content cards
src/components/cards.tsx - Inline search
src/components/InplaceSearch.tsx
Native services
- Frontend API
src/api.ts - Line selection
src/components/LinePicker.tsx - Native commands
src-tauri/src/api.rs - Upstream networking
src-tauri/src/net.rs - Line management
src-tauri/src/lines.rs - Session storage
src-tauri/src/session.rs - Network policy
src-tauri/src/network_policy.rs - Application logging
src-tauri/src/logging.rs
Playback and diagnostics
- Feed and player
src/components/Feed.tsx - Playback controls
src/components/Player.tsx - Media delivery
src-tauri/src/media.rs - Playback diagnostics
src/playbackDiagnostics.ts - Playback log
src-tauri/src/playback_log.rs
Other components
- Viewer
- Third-party site
Connections 40
- Viewer → App shell: uses
- App shell → Home and discovery: renders
src/App.tsx - App shell → Search: renders
src/App.tsx - App shell → Categories: renders
src/App.tsx - App shell → Profiles and posts: routes to
src/App.tsx - App shell → Feed and player: opens
src/App.tsx - App shell → App state: uses
src/App.tsx - Home and discovery → Frontend API: requests data
- Discover → Frontend API: requests data
src/pages/Discover.tsx - Categories → Frontend API: requests data
src/pages/Category.tsx - Search → Frontend API: requests data
src/pages/Search.tsx - Profiles and posts → Frontend API: requests data
src/pages/User.tsx - Discover → Content cards: renders
src/pages/Discover.tsx - Categories → Content cards: renders
src/pages/Category.tsx - Search → Content cards: renders
src/pages/Search.tsx - Profiles and posts → Content cards: renders
src/pages/User.tsx - Search → Inline search: uses
src/pages/Search.tsx - Categories → Inline search: uses
src/pages/Category.tsx - Feed and player → Playback controls: renders
src/components/Feed.tsx - Feed and player → Frontend API: requests data
src/components/Feed.tsx - Playback controls → Frontend API: requests media
src/components/Player.tsx - Line selection → Frontend API: changes line
src/components/LinePicker.tsx - Frontend API → Native commands: invokes commands
- Native commands → Upstream networking: dispatches requests
src-tauri/src/api.rs - Native commands → Session storage: uses
src-tauri/src/api.rs - Native commands → Line management: uses
src-tauri/src/api.rs - Native commands → Network policy: checks policy
src-tauri/src/api.rs - Native commands → Application logging: logs
src-tauri/src/api.rs - Upstream networking → Network policy: checks policy
src-tauri/src/net.rs - Upstream networking → Third-party site: sends requests
src-tauri/src/net.rs - Playback controls → Playback diagnostics: records events
src/components/Player.tsx - Frontend API → Playback diagnostics: traces failures
src/api.ts - Playback diagnostics → Playback log: writes events
- Native commands → Playback log: records events
src-tauri/src/api.rs - Playback log → Application logging: uses timestamp
src-tauri/src/playback_log.rs - Frontend API → Media delivery: loads media
- Media delivery → Upstream networking: fetches media
src-tauri/src/media.rs - App state → Frontend API: loads settings
src/store.tsx - App state → HTML security: sets security
src/store.tsx - Playback diagnostics → Clipboard: copies report
src/playbackDiagnostics.ts