Add capture template system with in-memory defaults and split device settings UI
Some checks failed
Validate / validate (push) Failing after 8s
Some checks failed
Validate / validate (push) Failing after 8s
- Generate default templates (MSS, DXcam, WGC) in memory from EngineRegistry at startup - Only persist user-created templates to JSON, skip defaults on load/save - Add capture_template_id to Device model and DeviceCreate schema - Remember last used template in localStorage, use it for new devices with fallback - Split Device Settings dialog into General Settings and Capture Settings - Add capture settings button (🎬) to device card - Separate default and custom templates with visual separator in Templates tab - Add capture engine integration to ProcessorManager - Add CLAUDE.md with git commit/push policy and server restart instructions - Add en/ru localization for all new UI elements Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,61 @@
|
||||
"displays.loading": "Loading displays...",
|
||||
"displays.none": "No displays available",
|
||||
"displays.failed": "Failed to load displays",
|
||||
"templates.title": "\uD83C\uDFAF Capture Templates",
|
||||
"templates.description": "Capture templates define how the screen is captured. Each template uses a specific capture engine (MSS, DXcam, WGC) with custom settings. Assign templates to devices for optimal performance.",
|
||||
"templates.loading": "Loading templates...",
|
||||
"templates.empty": "No capture templates configured",
|
||||
"templates.add": "Add Capture Template",
|
||||
"templates.edit": "Edit Capture Template",
|
||||
"templates.name": "Template Name:",
|
||||
"templates.name.placeholder": "My Custom Template",
|
||||
"templates.description.label": "Description (optional):",
|
||||
"templates.description.placeholder": "Describe this template...",
|
||||
"templates.engine": "Capture Engine:",
|
||||
"templates.engine.select": "Select an engine...",
|
||||
"templates.engine.unavailable": "Unavailable",
|
||||
"templates.engine.unavailable.hint": "This engine is not available on your system",
|
||||
"templates.config": "Engine Configuration",
|
||||
"templates.config.show": "Show configuration",
|
||||
"templates.config.none": "No additional configuration",
|
||||
"templates.config.default": "Default",
|
||||
"templates.default": "Default",
|
||||
"templates.custom": "Custom Templates",
|
||||
"templates.default.locked": "Default template (cannot edit/delete)",
|
||||
"templates.created": "Template created successfully",
|
||||
"templates.updated": "Template updated successfully",
|
||||
"templates.deleted": "Template deleted successfully",
|
||||
"templates.delete.confirm": "Are you sure you want to delete this template?",
|
||||
"templates.error.load": "Failed to load templates",
|
||||
"templates.error.engines": "Failed to load engines",
|
||||
"templates.error.required": "Please fill in all required fields",
|
||||
"templates.error.delete": "Failed to delete template",
|
||||
"templates.test.title": "Test Capture",
|
||||
"templates.test.description": "Test this template before saving to see a capture preview and performance metrics.",
|
||||
"templates.test.display": "Display:",
|
||||
"templates.test.display.select": "Select display...",
|
||||
"templates.test.duration": "Capture Duration (s):",
|
||||
"templates.test.border_width": "Border Width (px):",
|
||||
"templates.test.run": "\uD83E\uDDEA Run Test",
|
||||
"templates.test.running": "Running test...",
|
||||
"templates.test.results.preview": "Full Capture Preview",
|
||||
"templates.test.results.borders": "Border Extraction",
|
||||
"templates.test.results.top": "Top",
|
||||
"templates.test.results.right": "Right",
|
||||
"templates.test.results.bottom": "Bottom",
|
||||
"templates.test.results.left": "Left",
|
||||
"templates.test.results.performance": "Performance",
|
||||
"templates.test.results.capture_time": "Capture",
|
||||
"templates.test.results.extraction_time": "Extraction",
|
||||
"templates.test.results.total_time": "Total",
|
||||
"templates.test.results.max_fps": "Max FPS",
|
||||
"templates.test.results.duration": "Duration",
|
||||
"templates.test.results.frame_count": "Frames",
|
||||
"templates.test.results.actual_fps": "Actual FPS",
|
||||
"templates.test.results.avg_capture_time": "Avg Capture",
|
||||
"templates.test.error.no_engine": "Please select a capture engine",
|
||||
"templates.test.error.no_display": "Please select a display",
|
||||
"templates.test.error.failed": "Test failed",
|
||||
"devices.title": "\uD83D\uDCA1 Devices",
|
||||
"devices.add": "Add New Device",
|
||||
"devices.loading": "Loading devices...",
|
||||
@@ -54,7 +109,8 @@
|
||||
"device.button.add": "Add Device",
|
||||
"device.button.start": "Start",
|
||||
"device.button.stop": "Stop",
|
||||
"device.button.settings": "Settings",
|
||||
"device.button.settings": "General Settings",
|
||||
"device.button.capture_settings": "Capture Settings",
|
||||
"device.button.calibrate": "Calibrate",
|
||||
"device.button.remove": "Remove",
|
||||
"device.button.webui": "Open WLED Web UI",
|
||||
@@ -81,16 +137,23 @@
|
||||
"device.tip.metadata": "Device info (LED count, type, color channels) is auto-detected from WLED",
|
||||
"device.tip.brightness": "Slide to adjust device brightness",
|
||||
"device.tip.start": "Start or stop screen capture processing",
|
||||
"device.tip.settings": "Configure device settings (display, FPS, health check)",
|
||||
"device.tip.settings": "Configure general device settings (name, URL, health check)",
|
||||
"device.tip.capture_settings": "Configure capture settings (display, capture template)",
|
||||
"device.tip.calibrate": "Calibrate LED positions, direction, and coverage",
|
||||
"device.tip.webui": "Open WLED's built-in web interface for advanced configuration",
|
||||
"device.tip.add": "Click here to add a new WLED device",
|
||||
"settings.title": "Device Settings",
|
||||
"settings.general.title": "General Settings",
|
||||
"settings.capture.title": "Capture Settings",
|
||||
"settings.capture.saved": "Capture settings updated",
|
||||
"settings.capture.failed": "Failed to save capture settings",
|
||||
"settings.brightness": "Brightness:",
|
||||
"settings.brightness.hint": "Global brightness for this WLED device (0-100%)",
|
||||
"settings.url.hint": "IP address or hostname of your WLED device",
|
||||
"settings.display_index": "Display:",
|
||||
"settings.display_index.hint": "Which screen to capture for this device",
|
||||
"settings.capture_template": "Capture Template:",
|
||||
"settings.capture_template.hint": "Screen capture engine and configuration for this device",
|
||||
"settings.button.cancel": "Cancel",
|
||||
"settings.health_interval": "Health Check Interval (s):",
|
||||
"settings.health_interval.hint": "How often to check the WLED device status (5-600 seconds)",
|
||||
|
||||
Reference in New Issue
Block a user