devlogquedulaux
Devlog #14: Drag-and-drop в планировщике
В календарном виде мы реализовали drag-and-drop: можно перетащить запланированный пост на другой временной слот прямо на экране.
С точки зрения UX это удобно — не нужно открывать пост и менять время вручную. Но с точки зрения реализации это несколько нетривиально.
Основная сложность: drag-and-drop работает на клиенте, но изменение времени нужно сохранить на сервере. Если сохранение упало — нужно откатить UI в исходное состояние, иначе пользователь думает что изменение применилось.
Мы добавили оптимистичное обновление с возможностью отката. Пост перемещается сразу при drop, затем идёт запрос к серверу. Если сервер вернул ошибку — пост возвращается на место с уведомлением.