275 lines
8.5 KiB
Markdown
275 lines
8.5 KiB
Markdown
# Верстак — 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:05–17: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. TUI UX
|
||
|
||
TUI нужен для быстрого:
|
||
|
||
- fuzzy search;
|
||
- открыть дело;
|
||
- добавить worklog;
|
||
- запустить action;
|
||
- sync now.
|
||
|
||
Не нужно делать в TUI:
|
||
|
||
- импорт DokuWiki;
|
||
- сложный conflict resolver;
|
||
- preview документов;
|
||
- настройки sync.
|
||
|
||
## 14. 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 "Ромашка/Открыть сайт"
|
||
```
|