It is now possible to re-order sources in a column by dragging them into
a new position. To achieve this a new `position` field was added to the
`sources` column, which contains the index of the source in the column.
We also added a new `updateSourcePositions` function, which is used to
sort the sources locally and update `position` field in the database
afterwards. The dragging is handled via a `ReorderableListView` widget.
Last but not least the selection of sources from the database was
changed, so order them by the `position` column and if the column is
`null` by the `createdAt` data as it was before.
Update Flutter to Version 3.24.0 and replace the deprecated `background`
and `onBackground` colors with `surface` and `onSurface`. Within this
migration we also adjusted the `onSecondary` color, so that the apps
look as before the update.
We always loaded 51 items per fetch instead of 50 items, because we used
a range of 0 to 50 which includes the item at position 0 and at position
50. This is now fixed by adjusting the range to 0 to 49, so that exactly
50 items are loaded per fetch request.
This commit also improves the number of loaded items shown in the column
header. If the status of the ItemsRepository is "loaded" we add a small
"+" symbol behind the number to indicat that there are more items, which
could be loaded. If the last page was already fetched (status ==
"loadedLast") then the "+" symbol isn't shown.