Таймлайн ТГУ: по умолчанию только актуальная цепочка планов

Раньше таймлайн рисовал планы всех статусов, включая историю версий
(SUPERSEDED/EXPIRED/REJECTED), из-за чего активная цепочка тонула в
наложении старых планов. Теперь по умолчанию показываются только
актуальные планы (PLANNED/ISSUING/WAITING_DECISION/ACCEPTED), а историю
версий можно включить чекбоксом над таймлайном.
This commit is contained in:
Дмитрий Соловьев
2026-06-02 11:25:58 +03:00
parent e8f253ac6a
commit e0aa1ccf0e
3 changed files with 55 additions and 2 deletions
@@ -14,6 +14,19 @@ export const STATUS_STYLES: TimelineStatusStyle[] = [
const STATUS_BY_NAME = new Map(STATUS_STYLES.map((style) => [style.status, style]));
/** Статусы актуальной цепочки: их показываем на таймлайне по умолчанию. */
const ACTIVE_PLAN_STATUSES = new Set<TguPlanStatus>([
"PLANNED",
"ISSUING",
"WAITING_DECISION",
"ACCEPTED"
]);
/** Проверяет, относится ли план к актуальной цепочке (а не к истории версий). */
export function isActivePlanStatus(status: TguPlanStatus): boolean {
return ACTIVE_PLAN_STATUSES.has(status);
}
export function statusStyle(status: TguPlanStatus): TimelineStatusStyle {
return (
STATUS_BY_NAME.get(status) ?? {