Операторская панель на React: канбан, drag-and-drop, статусы

Канбан смены: drag-and-drop, SLA-таймер и откат, если бэкенд запретил переход стадии.

Стек React, TypeScript, WebSocket, канбан

Я делал операторскую панель на React: канбан заявок, drag-and-drop по стадиям, карточка с историей. Нужен был экран смены, а не Excel.

Я написал доску: колонки = статусы, карточки с приоритетом и SLA-таймером. Перенос стадии — optimistic UI + запрет перехода, если бэкенд вернул правило (например, нет оплаты). Конфликт двух операторов на одной карточке — toast и откат.

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

Стек: React, TypeScript, dnd-kit, TanStack Query, WebSocket/polling статусов. NDA: компания не публикуется.