Legendary Trio
devlogquedulaux

Devlog #14: Drag-and-drop в планировщике

В календарном виде мы реализовали drag-and-drop: можно перетащить запланированный пост на другой временной слот прямо на экране.

С точки зрения UX это удобно — не нужно открывать пост и менять время вручную. Но с точки зрения реализации это несколько нетривиально.

Основная сложность: drag-and-drop работает на клиенте, но изменение времени нужно сохранить на сервере. Если сохранение упало — нужно откатить UI в исходное состояние, иначе пользователь думает что изменение применилось.

Мы добавили оптимистичное обновление с возможностью отката. Пост перемещается сразу при drop, затем идёт запрос к серверу. Если сервер вернул ошибку — пост возвращается на место с уведомлением.