Выбор .torrent с длинным именем распирает лейбл файл-пикера (нет ограничения ширины у .btn-file), поле source сжимается, «Добавить» уезжает. Косметика: ellipsis на лейбле; фикс-хуки на CSS/шаблон в теле задачи. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.3 KiB
Форма приёма: длинное имя .torrent-файла ломает верстку add-row
Приоритет: низкий · Теги: web-ui, ingest
При выборе .torrent-файла с длинным именем (типичный релиз с трекера, напр.
«Бухта вдов Widow's Bay Сезон 1 Серии 1-10 из 10 (Хиро Мурай) [2026, США, …,
WEB-DL 1080p] 7 x MVO (HDr [rutracker-6869937].torrent») кнопка-лейбл файл-пикера
раздувается на всю ширину и ломает раскладку строки добавления: поле source
сжимается/прячется, «Добавить» уезжает.
Причина: onchange пишет полное files[0].name в [data-file-label]
(web/templates/index.html:26-30), а у .btn-file нет ограничения ширины
(web/static/css/jellybit.css:194 — только цвет). В .add-row
(display:flex, .input{flex:1}) лейбл распирается по контенту и съедает строку.
Фикс (косметика, без домена):
- CSS
.btn-file:max-width+overflow:hidden; text-overflow:ellipsis; white-space:nowrap— имя усекается многоточием, а не растягивает строку. - Опц.: показывать базовое имя без
.torrentи класть полное вtitle(тултип). Полное имя всё равно уходит на сабмит через сам file-input (header.Filename), правка чисто визуальная.
Смежное (проверить заодно, не обязательно тем же фиксом): на приёме source_ref
выводится из имени раздачи/файла и может быть очень длинным. В списке/карточке он
усечён (shorten(oneLine(d.SourceRef), 120) — internal/httpapi/download.go:67),
так что отображение ок; убедиться лишь, что нет жёсткого лимита колонки в БД,
роняющего сам приём длинного имени.
Связано: openspec/specs/ingest, openspec/specs/web-ui, пакет httpapi,
конвенция web-ui.