PathLogs UI
English

0.1.0 — первый публичный выпуск

Компоненты, выросшие из
настоящего продукта

Дизайн-система, поведенческие хуки и тяжёлые виджеты — канбан, диаграмма Ганта, панель фильтров. Примитивы ставятся из npm, виджеты копируются в проект и правятся как свой код.

terminal
npm install @toimetdev/pathlogs-core @toimetdev/pathlogs-hooks @toimetdev/pathlogs-tokens

Не скриншот

Это настоящий виджет из реестра. Перетащите карточку, переставьте колонку, откройте её настройки.

Документация доски →

К выполнению

2
UI-15Рефакторинг

Вынести разбор Markdown в отдельный модуль

ДК
UI-16Фича

WIP-лимиты у колонок

МТ

В работе

2/2
UI-12Баг

Импорт досок из Trello падает на больших проектах

МТ
UI-14Фича

Живые обновления доски по SSE

АСДК

На проверке

1
UI-17Фича

Критический путь на диаграмме Ганта

АС

Готово

1
UI-9Баг

Тултипы обрезались в колонках доски

ДК

Мелочи, которые обычно пишут заново

Каждая из них стоила отладки в настоящем продукте. Рядом с кодом лежит комментарий, объясняющий, что было бы иначе.

Протяжка, которая не ломает клик

Прокрутка мышью включается только после порога сдвига, уступает нативному drag&drop и сама подкручивает ленту у края. Инерция, растворение краёв, клавиатура.

Доска с честным оптимизмом

Карточка встаёт ровно туда, где показан слот. Свежие данные с сервера не перезатирают более позднее локальное изменение — быстрые переносы подряд не откатываются.

Markdown без сырого HTML

Разбор даёт дерево, из дерева строятся React-элементы. Чужой тег станет текстом, а javascript:-ссылка не станет ссылкой — по построению, а не по санитайзеру.

Клавиши с последовательностями

«g», затем «d». Два независимых матчера: набранная в поле ввода буква не оставляет приложение в ожидании второй клавиши.

Тултип, который не обрезается

Один слой на всё приложение и атрибут data-tip на любом элементе. Портал с fixed — колонки и ленты с overflow ему не помеха.

Темы на CSS-переменных

Светлая, тёмная и системная. Скрипт в head ставит тему до первой отрисовки, поэтому страница не мигает. Своя палитра — переопределением переменных.

Пакеты — из npm

Токены, хуки и примитивы правят редко, а обновлять их хочется одной командой.

tsx
import { Dialog, Button } from "@toimetdev/pathlogs-core";
import { useHotkeys } from "@toimetdev/pathlogs-hooks";

Виджеты — копированием

Доска и Гант почти всегда требуют правок под домен. В вашем проекте это обычные файлы.

terminal
npx @toimetdev/pathlogs-ui init
npx @toimetdev/pathlogs-ui add kanban gantt