From b0cb8ca0a237e4fdb84f6419eca04cf0f885592f Mon Sep 17 00:00:00 2001 From: Lars Behrends Date: Sun, 26 Apr 2026 15:43:41 +0200 Subject: [PATCH] Introduce pagination component and sticky views Add a reusable pagination UI (src/components/ui/pagination.tsx) and integrate it into BrowseView and CastView. Replace previous simple prev/next handlers with handlePageChange and a getPaginationItems helper (ellipsis support), move filters/controls into sticky headers, make main content scrollable (browse-scroll-container / cast-scroll-container), and add sticky pagination bars. Also: fix footer to be fixed at bottom in App.tsx, increase bottom padding in DashboardView and DetailView, simplify MediaTable markup to render Table directly, and add /.windsurf to .gitignore. These changes improve UX for large result sets and keep controls accessible while scrolling. --- .gitignore | 1 + src/App.tsx | 2 +- src/components/BrowseView.tsx | 474 ++++++++++++++++++------------- src/components/CastView.tsx | 194 ++++++++----- src/components/DashboardView.tsx | 2 +- src/components/DetailView.tsx | 2 +- src/components/MediaTable.tsx | 272 +++++++++--------- src/components/ui/pagination.tsx | 130 +++++++++ 8 files changed, 672 insertions(+), 405 deletions(-) create mode 100644 src/components/ui/pagination.tsx diff --git a/.gitignore b/.gitignore index f29d127..9d0837e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ coverage/ .env* !.env.example /docs +/.windsurf diff --git a/src/App.tsx b/src/App.tsx index 01be37c..8867031 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -544,7 +544,7 @@ function AppContent() { {/* Footer */} -