# Hotkeys System - VoIdea **Дата:** 2026-05-10 **Статус:** Backlog (часть WebUI) --- ## Обзор Настраиваемая система горячих клавиш для быстрого управления приложением. --- ## Структура хранения ### База данных (primary) ```sql CREATE TABLE user_hotkeys ( id UUID PRIMARY KEY, user_id UUID REFERENCES users(id), action VARCHAR(50) NOT NULL, key_combination VARCHAR(100) NOT NULL, modifier VARCHAR(20), created_at TIMESTAMP, updated_at TIMESTAMP ); ``` ### localStorage (backup for offline) ```javascript // Ключ: 'voidea_hotkeys' { "new_idea": "ctrl+n", "save": "ctrl+s", "search": "/" } ``` --- ## Синхронизация 1. При входе → загрузить настройки из БД 2. При изменении → обновить БД и localStorage 3. При оффлайн → использовать localStorage 4. При восстановлении → sync БД → localStorage --- ## Дефолтные горячие клавиши | Действие | Клавиша | Описание | |----------|---------|----------| | Новая идея | `Ctrl+N` | Создать новую идею | | Сохранить | `Ctrl+S` | Сохранить текущее | | Поиск | `/` | Фокус на поиск | | Навигация вверх | `J` или `↑` | Предыдущая идея | | Навигация вниз | `K` или `↓` | Следующая идея | | Отправить на анализ | `Ctrl+Enter` | Запустить ИИ-анализ | | Настройки | `Ctrl+,` | Открыть настройки | | Помощь | `?` | Показать справку | | Отмена | `Escape` | Закрыть модалку | | Undo | `Ctrl+Z` | Отменить действие | | Redo | `Ctrl+Shift+Z` | Повторить действие | --- ## UI настройки ### Страница настроек ``` ├── Настройки │ ├── Горячие клавиши │ │ ├── Список действий │ │ ├── Поле ввода (нажмите клавишу) │ │ ├── Сброс на дефолт │ │ └── Сохранить ``` ### Ввод новой комбинации 1. Клик на поле ввода 2. Нажатие клавиши/комбинации 3. Автоматическое сохранение 4. Валидация (не конфликтует с системой) --- ## Обработка конфликтов 1. **Системные клавиши** (Ctrl+Alt+Del) — запрещено переназначать 2. **Браузерные** (Ctrl+T) — предупреждение 3. **Между пользователями** — индивидуально --- ## Поддерживаемые модификаторы - `Ctrl` / `Cmd` (Mac) - `Alt` / `Option` - `Shift` - Комбинации: `Ctrl+Shift+N` --- ## TODO - [ ] Создать модель user_hotkeys - [ ] Реализовать хуки для клавиш - [ ] Добавить UI настроек - [ ] Синхронизация БД ↔ localStorage - [ ] Обработка конфликтов - [ ] Тесты - [ ] Документация для пользователей --- *Создано: 2026-05-10* *Часть WebUI (Block 4)*