From b08112699e570f16026a2377c33240b5d263f847 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Tue, 24 Mar 2026 15:24:20 +0100 Subject: [PATCH] feat: implement infinite scroll with pagination for media browsing Add infinite scroll functionality to MediaBrowser component using IntersectionObserver, introduce BrowseState and pagination support (offset/limit) in API and backend, update version to 0.3.24 --- PMOMusic/Cargo.toml | 2 +- .../components/pmocontrol/MediaBrowser.vue | 56 +++++++++++++--- .../src/components/unified/ServerDrawer.vue | 4 +- .../webapp/src/composables/useMediaServers.ts | 66 +++++++++++++++---- pmoapp/webapp/src/services/pmocontrol/api.ts | 4 +- .../webapp/src/services/pmocontrol/types.ts | 2 + pmocontrol/src/media_server.rs | 64 +++++++++++++++++- pmocontrol/src/openapi.rs | 6 +- pmocontrol/src/pmoserver_ext.rs | 33 +++++++--- version.txt | 2 +- 10 files changed, 204 insertions(+), 35 deletions(-) diff --git a/PMOMusic/Cargo.toml b/PMOMusic/Cargo.toml index 07676aaf..b179d32f 100644 --- a/PMOMusic/Cargo.toml +++ b/PMOMusic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "PMOMusic" -version = "0.3.23" +version = "0.3.24" edition = "2024" [dependencies] diff --git a/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue b/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue index a99badbc..c665b17a 100644 --- a/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue +++ b/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue @@ -1,5 +1,5 @@