diff --git a/History/README.md b/History/README.md index 112b81f..418b597 100644 --- a/History/README.md +++ b/History/README.md @@ -104,6 +104,7 @@ - **2026-08-24-interrupt-eta-design.md** — дизайн: TTL-фикс + прерывание с сохранением + оценка времени + UI. - **2026-08-24-interrupt-eta-implemented.md** — v0.0.63: реализовано прерывание с сохранением + ETA + UI-таблица. - **2026-08-24-time-tickers-estimates.md** — v0.0.64–0.0.65: тикер текущего файла на всех этапах, мгновенные оценки времени по файлам и суммарно. +- **2026-08-24-folder-select-implemented.md** — v0.0.68: кнопка «Выбрать папку» (webkitdirectory, рекурсивно, относительный путь). - **2026-08-24-ui-locks-session-freeze.md** — v0.0.66: блокировки UI (выбор/удаление) на время работы, заморозка сессии + кнопка «Новая сессия». ## upload/ — загрузка файлов diff --git a/History/ux-frontend/2026-08-24-folder-select-implemented.md b/History/ux-frontend/2026-08-24-folder-select-implemented.md new file mode 100644 index 0000000..a502406 --- /dev/null +++ b/History/ux-frontend/2026-08-24-folder-select-implemented.md @@ -0,0 +1,18 @@ +# v0.0.68 — Кнопка «Выбрать папку» (webkitdirectory, рекурсивно) (2026-08-24) + +_ux-frontend. По плану `plans/2026-08-24-folder-select-plan.md`. Код: `site/templates/index.html`._ + +## Что сделано +- Кнопка «📁 Выбрать папку» (`#folderBtn`) + скрытый ``. +- Обработчик `change` `#folderInput`: + - `if (busy) return` — во время загрузки/обработки выбор папки заблокирован. + - Берёт `webkitRelativePath` (`TopFolder/Подпапка/file.pdf`), **отбрасывает верхнюю папку** → `rel`. + - `.zip` → раскрывает `listZipFiles`, префикс пути папки к именам; при ошибке — zip как есть. + - Документы (`.pdf .doc .docx .txt .md`) → `addFileWithDedup(new File([...], rel))`. + - Прочее — пропускается. Индикатор «Разбираю папку…», после — «✅ Добавлено N файлов». +- Дедуп/лимиты работают штатно (имя = относительный путь → подпапки не сливаются). +- Поддержка: Chrome/Edge — полно, Firefox — частично, Safari — нет (best-effort). + +## Проверка +- `node --check` — OK; `py_compile` — OK. +- Версия 0.0.67 → 0.0.68. diff --git a/site/app.py b/site/app.py index 8bc5576..4b20c5c 100644 --- a/site/app.py +++ b/site/app.py @@ -21,7 +21,7 @@ if _sys_path_root not in sys.path: sys.path.insert(0, _sys_path_root) # Версия приложения (меняется при изменениях) -VERSION = "0.0.67" +VERSION = "0.0.68" def setup_logging(): diff --git a/site/templates/index.html b/site/templates/index.html index 2a77d17..97222b2 100644 --- a/site/templates/index.html +++ b/site/templates/index.html @@ -144,6 +144,8 @@