Skip to content

WebUI Improvements - Mock Mode, Tooltips, and UX Enhancements#1

Merged
eduard256 merged 7 commits intomainfrom
develop
Nov 21, 2025
Merged

WebUI Improvements - Mock Mode, Tooltips, and UX Enhancements#1
eduard256 merged 7 commits intomainfrom
develop

Conversation

@eduard256
Copy link
Owner

Summary

Major WebUI improvements focused on developer experience and user interface enhancements.

New Features

Mock Mode for Development

  • Added standalone mock mode for WebUI development (?mock=true URL parameter)
  • Visual "MOCK MODE" indicator when enabled
  • Mock data for all 7 stream types (FFMPEG, ONVIF, JPEG, MJPEG, HLS, HTTP_VIDEO, BUBBLE)
  • New dev-server.sh script for local development
  • Enables UI development without running backend

Stream Discovery UI Redesign

  • Replaced horizontal carousel with vertical scrollable list
  • Added collapsible stream details with expand/collapse toggle
  • Improved stream URL display (preview in header, full URL in details)
  • New StreamList component replacing StreamCarousel
  • Enhanced layout and hover effects

Interactive Tooltips & UX Improvements

  • Added informational tooltips for all configuration form fields
  • Tooltips for all 7 stream types with protocol descriptions
  • Reordered tabs: Frigate → Go2RTC → URL (Frigate first as primary use case)
  • Smart auto-fill: username defaults to "admin", network address pre-fills based on server IP
  • Hide Copy/Download buttons until configuration is generated
  • Added BUBBLE protocol support with icon and detailed description

Files Changed

New Files:

  • webui/web/dev-server.sh - Development server script
  • webui/web/js/mock/mock-camera-api.js - Mock camera API
  • webui/web/js/mock/mock-data.js - Mock test data
  • webui/web/js/mock/mock-stream-api.js - Mock stream API
  • webui/web/js/ui/stream-list.js - New vertical list component

Modified Files:

  • webui/web/index.html - UI structure updates
  • webui/web/css/main.css - Styling improvements
  • webui/web/js/main.js - Core logic enhancements
  • webui/web/js/api/camera-search.js - API integration
  • webui/web/js/api/stream-discovery.js - Stream discovery API

Statistics

  • 10 files changed
  • 1,526 insertions
  • 201 deletions

Testing

  • Mock mode tested with all stream types
  • Tooltips verified on all form fields
  • Auto-fill functionality validated
  • Vertical list UI tested with various stream counts

eduard256 and others added 7 commits November 21, 2025 22:40
- Add mock data module with simulated camera search and stream discovery
- Enable mock mode via ?mock=true URL parameter
- Show MOCK MODE indicator when enabled
- Remove statistics cards from discovery screen, keep only progress bar
- Mock mode works independently from Go backend for easier UI testing
- Add mock API classes for camera search and stream discovery
- Add mock mode toggle via ?mock=true URL parameter
- Add visual mock mode indicator badge
- Add dev-server.sh script for local development
- Mock data includes 10 diverse streams (FFMPEG, ONVIF, JPEG, MJPEG, HLS, HTTP_VIDEO)
Restored stats block (Tested, Found, Remaining) that was accidentally
removed when adding mock mode functionality. This fixes JavaScript
errors where main.js tried to update non-existent DOM elements.
- Replace carousel navigation with scrollable vertical list
- Remove statistics counters (Tested/Found/Remaining)
- Add collapsible stream details with expand/collapse toggle
- Show stream URL preview in header, full URL in details
- Position URL below stream type badge for better readability
- Add new StreamList component replacing StreamCarousel
- Update CSS with improved layout and hover effects

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Добавлены информационные тултипы для всех полей формы настройки камеры с подробными описаниями, примерами использования и рекомендациями. Улучшает пользовательский опыт и помогает пользователям правильно заполнить форму.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add informational tooltips to all configuration fields
- Reorder tabs: Frigate first, then Go2RTC, then URL
- Hide Copy/Download buttons on Frigate tab until config is generated
- Auto-fill username field with "admin" as default value
- Smart pre-fill network address based on server IP (first 3 octets)
- Add tooltips for Main Stream, Sub Stream, and all buttons
- Improve user guidance throughout the configuration flow
- Add tooltips for all 7 stream types: FFMPEG, ONVIF, MJPEG, HLS, BUBBLE, JPEG, HTTP_VIDEO
- Each tooltip explains protocol features, use cases, and compatibility
- Add BUBBLE protocol icon and detailed description (XMEye/DVRIP cameras)
- Update mock streams to show one example of each type
- Remove unused mock-data.js file to reduce confusion
- Add CSS styles for stream type info icons
@eduard256 eduard256 merged commit 12770ed into main Nov 21, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments