Add type picker for entity creation, icon grid filter, and serial port placeholder

- Replace inline type selectors with pre-modal type picker grid for devices,
  color strip sources, and value sources
- Add filterable search to icon grid when items > 9 (no auto-focus on touch)
- Show disabled (grayed-out) filtered items instead of hiding them
- Responsive grid columns (2-5 cols based on viewport width)
- Add "Select a port..." placeholder to serial port dropdown
- Update en/ru/zh locales with new keys

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 21:44:26 +03:00
parent 6395709bb8
commit a922c6e052
9 changed files with 233 additions and 16 deletions

View File

@@ -112,6 +112,7 @@
"templates.test.error.no_display": "Please select a display",
"templates.test.error.failed": "Test failed",
"devices.title": "Devices",
"device.select_type": "Select Device Type",
"devices.add": "Add New Device",
"devices.loading": "Loading devices...",
"devices.none": "No devices configured",
@@ -211,6 +212,7 @@
"device.serial_port": "Serial Port:",
"device.serial_port.hint": "Select the COM port of the Adalight device",
"device.serial_port.none": "No serial ports found",
"device.serial_port.select": "Select a port...",
"device.led_count_manual.hint": "Number of LEDs on the strip (must match your Arduino sketch)",
"device.baud_rate": "Baud Rate:",
"device.baud_rate.hint": "Serial communication speed. Higher = more FPS but requires matching Arduino sketch.",
@@ -827,6 +829,7 @@
"aria.previous": "Previous",
"aria.next": "Next",
"aria.hint": "Show hint",
"color_strip.select_type": "Select Color Strip Type",
"color_strip.add": "Add Color Strip Source",
"color_strip.edit": "Edit Color Strip Source",
"color_strip.name": "Name:",
@@ -1179,6 +1182,7 @@
"tree.group.picture": "Picture",
"tree.group.utility": "Utility",
"value_source.group.title": "Value Sources",
"value_source.select_type": "Select Value Source Type",
"value_source.add": "Add Value Source",
"value_source.edit": "Edit Value Source",
"value_source.name": "Name:",