Legendary Trio
devlogquedulaux

Devlog #14: Drag-and-drop scheduling

In the calendar view we implemented drag-and-drop: you can drag a scheduled post to another time slot directly on screen.

From a UX perspective this is convenient — no need to open the post and manually change the time. But from an implementation perspective it's somewhat non-trivial.

The main challenge: drag-and-drop happens on the client, but the time change needs to be saved on the server. If the save fails — you need to roll back the UI to its original state, otherwise the user thinks the change was applied.

We added optimistic update with rollback support. The post moves immediately on drop, then a request goes to the server. If the server returns an error — the post returns to its original position with a notification.