I recently built an app where users created projects, and then created ordered milestones within each of those projects.
The milestones in a project often needed to be reordered, and users needed to slot in additional milestones at various points (ie. adding a milestone between the existing milestones 3 and 4).
I played around with assigning a position number to each milestone and allowing users to increment/decrement that number depending on whether they wanted to push a milestone up the order, but this didn’t really solve the issue because often this would just place a bunch of different milestones on the same position number.
Allowing users to set the position number directly could also work, but when there are dozens of milestones, they would have to reassign a number to every milestone to get the proper order.
Any elegant solution to this that I am missing? There’s probably something really obvious I am overlooking