Imported from azimov777/casefile (
ui/src/entities/task/ui/AGENTS.md). Install upstream withnpx skills add azimov777/casefile --skill ui. Copyright stays with the author.
src/entities/task/ui
Представление задачи: то, что рисуют и список, и карточка.
Файлы
task-row.tsx— строка таблицы одной высоты: поля задачи, признаки изfeatures, плашка родителя в гнезде одной ширины справа в ячейке названия (UI-152); на узком месте (@max-list:) та же строка — карточка с переносом названияtask-card.tsx— задача карточкой для доски: родитель первой строкой, ключ, приоритет, название, исполнитель, признакиparent-badge.tsx— родитель в строке таблицы плашкой «родитель KEY»; нажатие открывает панель «Родитель задачи X» с родителем ссылкойtask-parents.tsx— родитель задачи подписью в одну строку «ключ · название» ссылкой в него, полное — в подсказке; родитель один (TRK-135); её ставит карточка доскиtask-parents.test.tsx— карточка и строка с родителем и без, без «+N»: место подписи, подъём над растяжкой, куда ведёт клик, обводка строкиstatus-mark.tsx— статус формой: кольцо, половина, пауза, залитый круг; имя из контракта рядомpriority-mark.tsx— приоритет высотой столбиков;critical— единственная заливка в строкеlink-kind.tsx— заголовок группы связей: знак и подпись, кем задачи группы приходятся открытой (вид — вdata-kind); порядок групп по значимостиmarks.test.tsx— у каждого значения контракта своя форма, и род значения слышен дикторуfeature-marks.tsx— признаки знаками: замок, вопрос, флажок; блокирующий вопрос — состояние знака вопросов;pressable(шапка задачи) делает знак переключателем числа на фразу признака, в строке и на карточке знак остаётся подсказкой — нажатие там ведёт в задачу (UI-163)feature-badges.ts— есть ли что показывать значками; отдельным файлом ради горячей перезагрузкиtask-nav.tsx— липкая строка над задачей: возврат в список и переключение «Карточка — Дело» слева, действие страницы справа — переключатель на обеих страницах на одном месте (UI-144)columns.ts— порядок столбцов списка ключами словаря; отдельным файлом, чтобы не ломать горячую перезагрузкуtones.ts— соответствие «статус → тон» и «приоритет → тон» для плашекtones.test.ts— полнота соответствия и различимость статусов и приоритетов
