Commit Graph

55 Commits

Author SHA1 Message Date
a8f2b93de0 refactor: complete LED type system simplification 2025-07-09 16:59:07 +08:00
2c6b777fa6 feat: implement comprehensive i18n internationalization support
- Add custom i18n infrastructure with TypeScript support
- Support Chinese (zh-CN) and English (en-US) languages
- Implement language switching with localStorage persistence
- Update all components with translation keys:
  * System info components (board-info-panel, board-index)
  * Display management components (display-state-index, display-state-card)
  * LED strip configuration components (led-strip-configuration, led-count-control-panel)
  * White balance component with detailed usage instructions
  * LED test component with test pattern descriptions
- Add comprehensive translation coverage for:
  * Navigation menus and page titles
  * Common UI elements (buttons, status, actions)
  * Hardware information and connection status
  * Display configuration options
  * LED strip settings and controls
  * White balance adjustment instructions and tips
  * LED test modes and descriptions
  * Error messages and status indicators
- Features:
  * Dynamic language switching without app restart
  * Type-safe translation keys with full TypeScript support
  * Modular design for easy language extension
  * Responsive UI updates using SolidJS reactivity
2025-07-08 16:55:12 +08:00
4a3d7681d6 Fix layout spacing issues in LED strip configuration
- Remove forced height expansion from display configuration panel
- Change layout from flex-based to space-based for natural content sizing
- Eliminate large empty spaces between configuration sections
- Improve overall UI compactness and visual flow
2025-07-08 03:19:06 +08:00
2834b7fe57 Optimize responsive layout for LED count control interface
- Improve grid layout responsiveness from md:grid-cols-2 to lg:grid-cols-2
- Add responsive LED control items with grid-cols-2 sm:grid-cols-4
- Reduce padding and spacing for better small window display
- Optimize button and input sizes with compact styling
- Add custom CSS for small screen handling (<640px and <600px)
- Implement auto-fit grid layout with minmax(280px, 1fr)
- Enhance main container with overflow-x-auto and responsive padding
- Reduce overall page spacing and card body padding for compact display
2025-07-08 03:02:24 +08:00
c57f52ea74 Improve white balance panel drag functionality
- Fix drag event handling to only trigger on title bar area
- Prevent color slider interactions from triggering panel drag
- Add event propagation control for better user experience
- Improve cursor styling for interactive elements
2025-07-08 02:46:44 +08:00
9f37b4043c Fix device selection reset issue in LED Strip Testing
- Fix frontend device selection state management to properly update selected board when boards_changed event is triggered
- Optimize backend board status checking to only emit boards_changed events when there are actual changes
- Prevent unnecessary UI updates and improve performance

Fixes issue where device selection would reset to unselected state shortly after selection
2025-07-08 02:46:24 +08:00
92349eebb6 Fix hamburger menu button click issue
- Add dropdown-hover class for better interaction
- Add onClick handler to ensure proper focus management
- Increase z-index from z-[1] to z-[100] to prevent overlay issues
- Remove conflicting tabindex from menu items
- Add border and hover effects for better visual feedback
2025-07-07 19:20:05 +08:00
d1fc5713a1 Fix top navigation bar to prevent scrolling
- Add fixed positioning to navbar with top-0, left-0, right-0, z-50 classes
- Increase main content top padding to pt-20 to account for fixed navbar height
- Ensure navbar stays visible at top of screen during page scrolling
2025-07-07 14:59:42 +08:00
d1a614fbbb docs: enhance hardware protocol documentation and reorganize project docs
- Complete hardware communication protocol documentation with:
  * Add ping/pong health check protocol (0x01)
  * Add hardware control protocols (0x03 brightness, 0x04 volume)
  * Add mDNS service discovery specifications
  * Add connection state management and retry logic
  * Add comprehensive troubleshooting guide
  * Update hardware implementation examples

- Reorganize project documentation:
  * Move device auto-refresh docs from root to docs/ directory
  * Rename files to follow kebab-case convention
  * Maintain complete technical implementation details

- Fix markdown formatting issues:
  * Add proper language tags to code blocks
  * Ensure consistent documentation structure
2025-07-07 13:50:05 +08:00
7e2dafa3d2 Implement LED test effects with proper cleanup
- Add LED test effects page with multiple test patterns (solid colors, rainbow, breathing, flowing)
- Implement Rust backend for LED test effects with proper task management
- Add automatic cleanup when navigating away from test page using onCleanup hook
- Ensure test mode is properly disabled to resume normal ambient lighting
- Clean up debug logging for production readiness
- Fix menu navigation issues by using SolidJS router components

Features:
- Multiple test patterns: solid colors, rainbow cycle, breathing effect, flowing lights
- Configurable animation speed
- Automatic cleanup prevents LED conflicts with ambient lighting
- Responsive UI with proper error handling
2025-07-06 02:37:15 +08:00
90cace679b Implement synchronized LED strip highlighting with theme colors and clean up debug logs
- Add three-way synchronized highlighting between LED strip components
- Implement hover and selection state synchronization across display borders, sorter, and control panels
- Replace hardcoded colors with DaisyUI theme colors (primary, warning, base-content)
- Use background highlighting for sorter to prevent interface jittering
- Reduce LED strip width from 24px to 20px for better visual appearance
- Clean up console.log statements and debug output for production readiness
- Maintain layout stability by avoiding size changes in highlighting effects
2025-07-05 14:32:31 +08:00
99cbaf3b9f feat: Add RGBW LED support and hardware communication protocol
- Add RGBW LED type support alongside existing RGB LEDs
- Implement 4-channel RGBW data transmission (R,G,B,W bytes)
- Add RGBW visual preview with half-color, half-white gradient display
- Fix RGB color calibration bug in publisher (was not being applied)
- Create comprehensive hardware communication protocol documentation
- Support mixed RGB/RGBW LED strips on same display
- Add W channel color temperature adjustment in white balance page
- Hardware acts as simple UDP-to-WS2812 bridge without type distinction
2025-07-05 02:46:31 +08:00
a10fae75d2 Refactor LED strip configuration interface layout
- Separate LED control panels from display preview areas
- Add dedicated LED count control section at bottom of page
- Create new LedCountControlPanel component with 4-column grid layout
- Fix display container height to prevent layout overflow
- Remove embedded LED controls from DisplayView component
- Improve text color for display info panel title
- Hide spinner buttons on number inputs for cleaner UI
- Enhance input field styling with centered text and larger font
2025-07-04 19:13:35 +08:00
5f12b8312a feat: enhance white balance interface with expandable help content
- Add comprehensive expandable help section in normal mode with detailed instructions
- Include usage recommendations, adjustment tips, and comparison methods
- Add simplified tooltip in fullscreen mode for quick reference
- Improve user guidance for LED strip color calibration process
- Maintain dual-mode functionality (normal/fullscreen) with appropriate help content
2025-07-04 18:31:44 +08:00
1944c88b55 Optimize screen streaming performance and clean up debug logs
- Reduced image processing time from 7-8 seconds to 340-420ms (15-20x improvement)
- Optimized BGRA->RGBA conversion with unsafe pointer operations and batch processing
- Changed image resize filter from Lanczos3 to Nearest for maximum speed
- Reduced target resolution from 400x225 to 320x180 for better performance
- Reduced JPEG quality from 75 to 50 for faster compression
- Fixed force-send mechanism timing from 500ms to 200ms intervals
- Improved frame rate from 0 FPS to ~2.5 FPS
- Cleaned up extensive debug logging and performance instrumentation
- Removed unused imports and variables to reduce compiler warnings
2025-07-04 14:45:50 +08:00
c8db28168c feat: Add Daisy-UI and optimize LED strip configuration UI
- Install and configure Tailwind CSS 4.1 with Daisy-UI plugin
- Redesign main navigation with responsive navbar and dark theme
- Optimize LED strip configuration layout with modern card components
- Improve screen preview performance with frame-based rendering
- Reduce LED pixel size for better visual appearance
- Remove excessive debug logging for better performance
- Fix Tailwind CSS ESM compatibility issues with dynamic imports
2025-07-03 13:28:19 +08:00
93ad9ae46c feat: implement real-time LED strip preview
- Add LED strip visualization around display previews
- Show real-time color status for each LED pixel
- Support multi-display LED strip configurations
- Use elegant 16px thin LED strip design
- Real-time LED color sync via WebSocket
- Responsive layout with display scaling support
2025-07-03 02:09:19 +08:00
6c30a824b0 feat: upgrade Tailwind CSS to v4.1.11
- Upgrade Tailwind CSS from 3.x to 4.x for latest features and performance
- Install @tailwindcss/postcss plugin for Tailwind CSS 4.0 compatibility
- Update CSS configuration to use new @import and @config syntax
- Update PostCSS configuration to use new plugin format
- Build working correctly with new Tailwind CSS engine
2025-06-30 18:01:26 +08:00
b1fd751090 Fix LED color events and improve screenshot capture
- Fix LED color publisher: uncomment display_colors_tx.send() to enable LED color events
- Replace rust_swift_screencapture with screen-capture-kit for better macOS compatibility
- Add bounds checking in LED color processing to prevent array index errors
- Update screenshot manager to use CGDisplay as fallback implementation
- Fix frontend screenshot URL protocol to use ambient-light://
- Add debug logging for LED color events in frontend
- Remove debug logs that were added for troubleshooting
- Update dependencies and remove CMake-dependent paho-mqtt temporarily

This resolves the issue where LED color events were not being sent to the frontend,
enabling real-time LED color visualization in the UI.
2025-06-30 14:35:03 +08:00
800c0d3fc4 feat: 支持列出显示器。 2023-05-07 01:18:48 +08:00
174840403f pref: 调整发送数据的逻辑,改善丢包问题。 2023-05-04 21:56:56 +08:00
82d4adfe0f feat: 增强连接状态。 2023-04-30 22:30:24 +08:00
6c90a5e655 feat: 支持获取和查看板子连接的情况。 2023-04-30 18:44:26 +08:00
f6e3257670 feat: 前端显示 mdns 搜索到的板子连接信息。 2023-04-29 15:09:45 +08:00
d97eb0115f feat: 完善颜色校准 GUI。 2023-04-16 23:45:07 +08:00
1c08c17fd4 feat: 支持将校准的色彩发送到 MQTT 中。 2023-04-16 21:55:24 +08:00
6e6160fc0a feat: 支持将色彩校准的值写入本地配置文件。 2023-04-16 18:17:49 +08:00
fc8b3164d8 feat(GUI): 色彩调整界面。 2023-04-16 12:53:03 +08:00
932cc78bcf chore: GUI 增加路由。 2023-04-15 18:58:40 +08:00
09799cb2d5 fix: 修复灯带顺序控件不能很好地被控制。 2023-04-15 11:26:41 +08:00
9cbccedc72 fix: wrong sample points on mac os 13. 2023-04-14 21:27:14 +08:00
6c3ce607e0 pref: 针对 HiDPI 屏幕捕获的优化。 2023-04-05 12:25:14 +08:00
3ec983cd95 boardcast + interval tick. 2023-04-03 23:19:45 +08:00
a1e6c6e5fb fix: 灯条段长度为0时,崩溃问题。 2023-04-02 18:36:22 +08:00
822d470605 feat: 支持翻转灯条段。 2023-04-02 17:45:18 +08:00
fa5e27f72a feat(GUI): 灯条段拖拽排序功能完善,支持连续拖拽。 2023-04-02 17:21:58 +08:00
86e9b072bc feat: 灯条段排序。 2023-04-02 16:08:33 +08:00
535f731770 feat: 后端发布未映射排序的色彩。 2023-04-02 14:52:08 +08:00
0d47911355 feat: 拖拽排序。 2023-04-01 23:32:31 +08:00
5893c4344c feat(gui): 全局的灯条颜色预览。 2023-04-01 18:49:42 +08:00
d053185cc2 chore: 代码清理。 2023-04-01 18:43:49 +08:00
47e30ec94a fix: 全局灯条颜色发布协程未能等待下一个截图完成,导致性能缺陷。 2023-04-01 18:39:51 +08:00
85a00cf4f2 pref(gui): 渲染性能。 2023-04-01 13:43:02 +08:00
4e75aa4307 feat: 支持预览灯条排序效果。 2023-04-01 10:42:46 +08:00
958a422672 feat(GUI): 指针悬浮时,使用 tooltip 显示灯珠数。 2023-03-26 23:33:38 +08:00
58e8c30fe2 feat(gui, ambient_light): 鼠标滚轮修改 LED 灯条的灯珠数。 2023-03-26 22:39:47 +08:00
3e54d30498 fix: 缩放的屏幕,灯条颜色预览效果错误 2023-03-26 15:54:57 +08:00
1a3102257e feat: GUI 控制的,LED 灯条颜色预览。 2023-03-26 10:48:50 +08:00
3ede04c31b feat(gui): 增强显示屏预览效果。 2023-03-21 23:42:02 +08:00
85ef261c51 pref: 截图改用自定义协议传递。 2023-03-20 09:27:47 +08:00