Add ability to order navigation drawer items (#886)

## Description
Allows for reordering the items in the navigation drawer

This does not change the home page row order since #803 decouples the
nav drawer and home page rows.

The initial order will be the "Library Order" settings on the web under
Profile->Home. Making any changes locally in Wholphin will set the
order. If any new libraries are added or if Seerr integration is
enabled, these will added to the end of the "pinned" list.

### Related issues
Closes #822
Related to #399 & #803

### Testing
Tested on emulator
- Re-ordering
- Granting/Revoking user permission to a new library

## Screenshots
N/A, nav drawer is the same, just sorted differently

## AI or LLM usage
None
This commit is contained in:
Ray 2026-02-12 19:55:12 -05:00 committed by GitHub
parent fcba1c7444
commit 17b0eef5c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 1214 additions and 163 deletions

View file

@ -40,7 +40,7 @@ import java.util.UUID
SeerrUser::class,
],
version = 30,
version = 31,
exportSchema = true,
autoMigrations = [
AutoMigration(3, 4),
@ -54,6 +54,7 @@ import java.util.UUID
AutoMigration(11, 12),
AutoMigration(12, 20),
AutoMigration(20, 30),
AutoMigration(30, 31),
],
)
@TypeConverters(Converters::class)

View file

@ -1,5 +1,6 @@
package com.github.damontecres.wholphin.data.model
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.ForeignKey
@ -24,4 +25,5 @@ data class NavDrawerPinnedItem(
val userId: Int,
val itemId: String,
val type: NavPinType,
@ColumnInfo(defaultValue = "-1") val order: Int,
)