Speed up camera source modal with cached enumeration and instant open

Cache camera enumeration results for 30s and limit probe range using
WMI camera count on Windows. Open source modal instantly with a loading
spinner while dropdowns are populated asynchronously.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-01 13:35:26 +03:00
parent 9ee6dcf94a
commit ddfa7637d6
7 changed files with 76 additions and 4 deletions

View File

@@ -334,6 +334,7 @@
"streams.updated": "Source updated successfully",
"streams.deleted": "Source deleted successfully",
"streams.delete.confirm": "Are you sure you want to delete this source?",
"streams.modal.loading": "Loading...",
"streams.error.load": "Failed to load sources",
"streams.error.required": "Please fill in all required fields",
"streams.error.delete": "Failed to delete source",

View File

@@ -334,6 +334,7 @@
"streams.updated": "Источник успешно обновлён",
"streams.deleted": "Источник успешно удалён",
"streams.delete.confirm": "Вы уверены, что хотите удалить этот источник?",
"streams.modal.loading": "Загрузка...",
"streams.error.load": "Не удалось загрузить источники",
"streams.error.required": "Пожалуйста, заполните все обязательные поля",
"streams.error.delete": "Не удалось удалить источник",

View File

@@ -334,6 +334,7 @@
"streams.updated": "源更新成功",
"streams.deleted": "源删除成功",
"streams.delete.confirm": "确定要删除此源吗?",
"streams.modal.loading": "加载中...",
"streams.error.load": "加载源失败",
"streams.error.required": "请填写所有必填项",
"streams.error.delete": "删除源失败",