How airzz90/study-materials-fork works
HGhub is a cross-platform short-video and social-content client built with React and Tauri. Users browse home feeds, categories, search results, rankings, profiles and posts; selecting content opens an episode-aware player with comments and playback controls. Settings expose playback, security and diagnostics options. The native layer provides upstream API access, media proxying, network policy and local session/logging support. The excerpts establish the application shell, player composition, API invocation and selected native wiring; some page-to-service and backend details are not shown, so those links are omitted.
Main entry points: App.tsx App navigation · Feed.tsx Video feed · api.rs Tauri command API · lib.rs Tauri runtime
Components 26
App shell
- App navigation
src/App.tsx - App state
src/store.tsx - Desktop chrome
src/components/DesktopChrome.tsx
Content discovery
- Home feed
src/pages/Home.tsx - Video feed
src/components/Feed.tsx - Search and ranks
src/pages/Search.tsx - Categories
src/pages/Category.tsx - User profiles
src/pages/Profile.tsx - Posts and details
src/pages/Posts.tsx - Content cards
src/components/cards.tsx
Playback
- Player surface
src/components/VideoSurface.tsx - Playback controls
src/components/PlayerControls.tsx - Player page
src/components/Player.tsx - Episode and comments
src/components/Panels.tsx - Playback diagnostics
src/playbackDiagnostics.ts
Native services
- Client API
src/api.ts - Tauri command API
src-tauri/src/api.rs - Upstream networking
src-tauri/src/net.rs - Network policy
src-tauri/src/network_policy.rs - Media proxy
src-tauri/src/media.rs - Server lines
src-tauri/src/lines.rs - User session
src-tauri/src/session.rs - Playback logs
src-tauri/src/playback_log.rs - App logging
src-tauri/src/logging.rs - Tauri runtime
src-tauri/src/lib.rs
Other components
- Viewer
Connections 29
- Viewer → App navigation: uses
src/App.tsx - App navigation → Home feed: renders
src/App.tsx - App navigation → Search and ranks: renders
src/App.tsx - App navigation → Categories: renders
src/App.tsx - App navigation → User profiles: renders
src/App.tsx - App navigation → Posts and details: renders
src/App.tsx - App navigation → Desktop chrome: renders
src/App.tsx - App navigation → App state: reads
src/App.tsx - Home feed → Video feed: renders
src/pages/Home.tsx - Categories → Content cards: renders
src/pages/Category.tsx - Search and ranks → Content cards: renders
src/pages/Search.tsx - Video feed → Player surface: renders
src/components/Feed.tsx - Video feed → Playback controls: renders
src/components/Feed.tsx - Video feed → Episode and comments: opens
src/components/Feed.tsx - Player page → Playback diagnostics: records
src/components/Player.tsx - Player surface → Playback diagnostics: records
src/components/VideoSurface.tsx - Video feed → Client API: requests data
src/components/Feed.tsx - Client API → Tauri runtime: invokes commands
src/api.ts - Tauri runtime → Tauri command API: registers handlers
src-tauri/src/lib.rs - Tauri command API → Upstream networking: uses
src-tauri/src/api.rs - Tauri command API → User session: uses
src-tauri/src/api.rs - Tauri command API → Server lines: uses
src-tauri/src/api.rs - Tauri command API → Media proxy: uses
src-tauri/src/api.rs - Upstream networking → Network policy: checks targets
src-tauri/src/net.rs - Media proxy → Upstream networking: fetches media
src-tauri/src/media.rs - Upstream networking → Playback logs: records events
src-tauri/src/net.rs - Playback logs → App logging: uses
src-tauri/src/playback_log.rs - Tauri runtime → Playback logs: binds storage
src-tauri/src/lib.rs - Tauri runtime → User session: binds storage
src-tauri/src/lib.rs