-
Notifications
You must be signed in to change notification settings - Fork 0
feat: add video controls to main dashboard #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request refactors video streaming controls in the dashboard by introducing dedicated components for video preset management and SRT statistics monitoring. The changes consolidate video-related functionality, remove legacy components (WebRTCClientPanel, NodeManagerPanel), and improve UI consistency by removing redundant panel headers and increasing title visibility.
Key Changes:
- Introduces new
VideoControlspanel combining preset selection, custom preset configuration, and SRT streaming statistics - Adds
SrtStatscomponent for real-time display of SRT connection metrics (RTT, bandwidth, packet loss, retransmissions) - Refactors and renames
WebRTCPresetsPaneltoVideoPresetsPanelandWebRTCCustomPresetFormtoVideoCustomPresetFormwith improved styling - Removes inline panel headers across multiple components to create more display space and emphasizes tile-level titles
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/components/panels/VideoControls.tsx | New panel component integrating video presets, custom form, and SRT stats with quick control buttons |
| src/components/SrtStats.tsx | New component displaying real-time SRT streaming statistics with formatted metrics |
| src/components/VideoCustomPresetForm.tsx | Refactored form component with improved dark theme styling and scrollable layout |
| src/components/VideoPresetsPanel.tsx | Renamed and restyled preset panel with updated button styling and formatting |
| src/components/WebRTCClientPage.tsx | Updated imports to use renamed Video* components |
| src/components/panels/MosaicDashboard.tsx | Restructured layout replacing removed panels with VideoControls and adjusting split percentages |
| src/components/panels/WaypointList.tsx | Removed panel header for consistent UI |
| src/components/panels/SystemTelemetryPanel.tsx | Removed panel header for consistent UI |
| src/components/panels/OrientationDisplayPanel.tsx | Removed panel header for consistent UI |
| src/components/panels/GoalSetterPanel.tsx | Removed panel header and updated window title to "Nav2" |
| src/components/panels/GasSensor.tsx | Removed panel header for consistent UI |
| src/components/panels/NetworkHealthTelemetryPanel.tsx | Removed panel header for consistent UI |
| src/components/panels/WebRTCClientPanel.tsx | Deleted legacy WebRTC client panel component |
| src/components/panels/NodeManagerPanel.tsx | Deleted node manager panel component |
| src/components/WebRTCCustomPresetForm.tsx | Deleted old custom preset form (replaced by VideoCustomPresetForm.tsx) |
Comments suppressed due to low confidence (1)
src/components/SrtStats.tsx:96
- Unused variable stale.
const stale =
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1093524 to
4efab95
Compare
New display:

Old display:

This pull request introduces two new React components—
VideoCustomPresetFormandSrtStats—and refactors the video presets panel for improved usability and clarity. It also updates component imports and usage throughout the codebase to match these changes. The most important changes are:New Features:
SrtStatscomponent to display real-time SRT connection statistics, including RTT, bandwidth, packet loss, and retransmissions, with user-friendly formatting and stale data detection. (src/components/SrtStats.tsx)VideoCustomPresetFormcomponent, allowing users to dynamically add, configure, and remove video sources for custom video output presets, with a modern UI and validation. (src/components/VideoCustomPresetForm.tsx)UI and Component Refactoring:
WebRTCPresetsPaneltoVideoPresetsPanel, updated its styling for a more modern look, and improved preset definitions for clarity and maintainability. (src/components/VideoPresetsPanel.tsx) [1] [2] [3] [4]WebRTCClientPage.tsxto useVideoPresetsPanelandVideoCustomPresetForminstead of their previous counterparts, ensuring consistency across the codebase. (src/components/WebRTCClientPage.tsx) [1] [2] [3]