0.1.0 — первый публичный выпуск
Компоненты, выросшие из
настоящего продукта
Дизайн-система, поведенческие хуки и тяжёлые виджеты — канбан, диаграмма Ганта, панель фильтров. Примитивы ставятся из npm, виджеты копируются в проект и правятся как свой код.
npm install @toimetdev/pathlogs-core @toimetdev/pathlogs-hooks @toimetdev/pathlogs-tokensНе скриншот
Это настоящий виджет из реестра. Перетащите карточку, переставьте колонку, откройте её настройки.
К выполнению
Вынести разбор Markdown в отдельный модуль
WIP-лимиты у колонок
В работе
Импорт досок из Trello падает на больших проектах
Живые обновления доски по SSE
На проверке
Критический путь на диаграмме Ганта
Готово
Тултипы обрезались в колонках доски
Мелочи, которые обычно пишут заново
Каждая из них стоила отладки в настоящем продукте. Рядом с кодом лежит комментарий, объясняющий, что было бы иначе.
Протяжка, которая не ломает клик
Прокрутка мышью включается только после порога сдвига, уступает нативному drag&drop и сама подкручивает ленту у края. Инерция, растворение краёв, клавиатура.
Доска с честным оптимизмом
Карточка встаёт ровно туда, где показан слот. Свежие данные с сервера не перезатирают более позднее локальное изменение — быстрые переносы подряд не откатываются.
Markdown без сырого HTML
Разбор даёт дерево, из дерева строятся React-элементы. Чужой тег станет текстом, а javascript:-ссылка не станет ссылкой — по построению, а не по санитайзеру.
Клавиши с последовательностями
«g», затем «d». Два независимых матчера: набранная в поле ввода буква не оставляет приложение в ожидании второй клавиши.
Тултип, который не обрезается
Один слой на всё приложение и атрибут data-tip на любом элементе. Портал с fixed — колонки и ленты с overflow ему не помеха.
Темы на CSS-переменных
Светлая, тёмная и системная. Скрипт в head ставит тему до первой отрисовки, поэтому страница не мигает. Своя палитра — переопределением переменных.
Пакеты — из npm
Токены, хуки и примитивы правят редко, а обновлять их хочется одной командой.
import { Dialog, Button } from "@toimetdev/pathlogs-core";
import { useHotkeys } from "@toimetdev/pathlogs-hooks";Виджеты — копированием
Доска и Гант почти всегда требуют правок под домен. В вашем проекте это обычные файлы.
npx @toimetdev/pathlogs-ui init
npx @toimetdev/pathlogs-ui add kanban gantt