verstak/docs/05_UI_UX.md

258 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Верстак — UI/UX
## 1. Главный экран — Сегодня
```text
Сегодня
──────────────────────────────
Активные дела:
[ООО Ромашка / Сайт] примерно 3ч 12 следов [подтвердить]
[sshkeeper] 42м 5 следов [открыть]
[Документы / Договоры] 3 новых файла разобрать [разобрать]
Неразобранное:
- screenshot_2026-05-30.png
- dogovor-final2.docx
- backup-site-old.zip
- import/dokuwiki/mysql-cleanup.txt
Быстрые действия:
[Новое дело] [Добавить файл] [Журнал] [Sync]
```
## 2. Общий layout
```text
┌───────────────┬────────────────────────────────────┐
│ Tree sidebar │ Header: Section/Node Title │
│ ├────────────────────────────────────┤
│ Сегодня │ Main content │
│ Клиенты │ Case / Note / File / Search │
│ Проекты │ │
│ Рецепты │ │
│ Документы │ │
└───────────────┴────────────────────────────────────┘
*Примечание: Sync Status реализован в footer сайдбара и открывает Settings → Sync. Quick Add как отдельная глобальная панель пока не реализован.*
```
## 3. Sidebar tree
```text
Сегодня
Неразобранное
Клиенты
ООО Ромашка
Сайт
Почта
Договоры
Личные проекты
sshkeeper
Tyaplyapiya
Рецепты
MySQL
Сайты
Документы
Служебки
Договоры
Серийники
Архив
```
## 4. Экран дела
```text
ООО Ромашка / Сайт
──────────────────────────────
Описание:
Сайт клиента. WordPress/nginx. Иногда обновление витрины, формы, почта.
Быстрые действия:
[Открыть сайт] [Открыть админку] [Открыть sshkeeper] [Открыть папку] [Добавить работу]
Последнее:
2026-05-30 — обновление витрины, баннеры, проверка — примерно 3ч
2026-05-12 — чистка кеша и проверка формы — 40м
Вкладки:
Обзор | Заметки | Файлы | Неразобранное | Ссылки | Действия | Журнал | Активность
```
## 5. Заметки
- список заметок;
- Markdown editor;
- preview;
- save;
- move;
- rename;
- search within note later.
## 6. Файлы и документы
Actions:
- add file;
- drag & drop в приложении создаёт unresolved artifact в Неразобранном;
- явные кнопки добавления файла/папки импортируют в выбранный раздел файлов;
- copy into vault;
- link external;
- open with system app;
- show in folder;
- delete to trash;
- rename;
- move.
MVP:
- preview только для markdown;
- системное открытие для office/pdf/images.
Later:
- image preview;
- PDF preview;
- thumbnails;
- document metadata.
## 7. Действия
Вкладка Actions:
```text
Открыть сайт open_url
Открыть админку open_url
Открыть sshkeeper run_command
Открыть папку open_folder
Backup сайта run_script, confirm required
```
При опасном action:
```text
Команда:
./backup-site.sh
Рабочая папка:
.../clients/romashka/scripts
[Запустить] [Отмена]
```
## 8. Журнал работ
```text
2026-05-30
3ч, примерно
Обновил витрину сайта, товары, баннеры, проверил отображение.
2026-05-12
40м
Почистил кеш и проверил форму обратной связи.
```
Кнопки:
- add entry;
- edit;
- copy report;
- mark billable;
- approximate/exact.
## 9. Активность
Текущий MVP фиксирует события внутри приложения: создание/изменение заметок, добавление/перемещение/удаление файлов и папок, создание/изменение узлов, запуск actions и добавление worklog. На основе этих событий строятся предложения для журнала работ.
```text
14:05 opened admin.romashka.ru
14:18 opened catalog.xlsx
14:44 changed price-list.csv
15:58 sshkeeper profile romashka-vps
16:40 opened romashka.ru/catalog
```
Suggestion:
```text
Похоже, работа по Ромашка / Сайт:
14:0517:12, примерно 3ч.
[Записать] [Изменить] [Игнорировать]
```
## 10. Поиск
Search results:
```text
[Recipe] Рецепты / MySQL / Очистка таблиц
[Note] Клиенты / Ромашка / mysql-cleanup.md
[Script] Клиенты / Петров / scripts/cleanup.sql
[Worklog] 2026-04-28 — удалял старые записи из таблиц
```
## 11. Неразобранное
Неразобранное — единый входящий лоток для внешнего материала.
Пользователь может кинуть или вставить материал в любое место
приложения; Верстак сначала сохраняет его как unresolved artifact,
а не добавляет напрямую в дело.
Туда попадают:
- файлы и папки из drag-and-drop;
- изображения из paste/drop, если webview отдаёт данные;
- URL из браузера (`text/uri-list`, `text/x-moz-url`, `text/plain`);
- обычный текст из Ctrl+V;
- текст/URL из кнопки "Вставить из буфера" через backend clipboard bridge;
- будущие импортированные материалы без уверенного назначения;
- будущие конфликты sync.
Глобальное "Неразобранное" показывает все unresolved artifacts.
Локальная вкладка "Неразобранное" внутри дела показывает artifacts,
захваченные в контексте этого `node_id` или предложенные для него.
Actions:
- "Оставить здесь" — если есть suggested target;
- "Разложить" / "Переместить..." — выбрать target node;
- удалить artifact и staged данные.
Маршрутизация при разборе:
- файл / папка / изображение → вкладка "Файлы" target node;
- текст → вкладка "Заметки" target node;
- URL → вкладка "Ссылки" target node.
## 12. Ссылки
Вкладка "Ссылки" внутри дела показывает только resolved URL artifacts
этого node. Ссылки не смешиваются с файлами, заметками и действиями.
Минимальные действия:
- открыть во внешнем браузере;
- скопировать URL;
- редактировать название, URL и заметку;
- удалить ссылку.
## 13. CLI UX
CLI команды:
```bash
verstak sync
verstak index rebuild
verstak import-dokuwiki --pages /path/data/pages
verstak log "Ромашка" --time 3h --text "Обновил витрину"
verstak open "sshkeeper"
verstak action run "Ромашка/Открыть сайт"
```