PathLogs UI
English

Компоненты

ActivityTimeline

Лента событий по дням со свёрткой серий однотипных.

Хронология событий: сгруппирована по дням, а подряд идущие однотипные события свёрнуты в одну запись. Лента остаётся читаемой, а не тонет в семи одинаковых строках «сменил статус».

Пример

сегодня

  1. 💬
    Мурат Добавил обработку таймаута в импорт
  2. Айгерим обновил статусы задач4
    1. Айгерим перевела UI-14 в «На проверке»
    2. Айгерим перевела UI-12 в «В работе»
    3. Айгерим перевела UI-9 в «Готово»
    4. Айгерим перевела UI-7 в «Готово»
  3. 💬
    Данияр Вынес разбор Markdown в отдельный модуль

вчера

  1. 💬
    Мурат Открыл задачу про WIP-лимиты
  2. @
    Мурат назначил Данияра на UI-15

Разверните свёрнутую серию, чтобы увидеть отдельные события внутри.

Пропсы

events*E[]

События. Нужны id, at (время) и kind (тип).

renderEvent*(event: E) => ReactNode

Отрисовка одиночного события.

renderBurst(events: E[]) => ReactNode

Заголовок свёрнутой серии.

renderIcon(event: E) => ReactNode

Маркер слева на линии времени.

nowDate

Точка отсчёта относительного времени. По умолчанию — сейчас.

order"desc" | "asc"

по умолчанию: "desc"

Новые сверху или снизу.

burstThresholdnumber

по умолчанию: 3

С какого числа однотипных подряд сворачивать.

expandableboolean

по умолчанию: true

Раскрывать серию по клику.

Свёртка серий

Разрыв внутри серии считается между соседними событиями, а не от её начала: десять правок по одной в двадцать минут — это одна работа, а не пять отдельных серий.

Группировка отдельно

tsx
import {
  groupActivity,   // события → дни со свёрнутыми сериями
  collapseBursts,  // свёртка подряд идущих однотипных
  relativeTime,    // «5 минут назад» с заданной локалью
  dayLabel,        // «Сегодня» / «Вчера» / дата
} from "@toimetdev/pathlogs-core";