diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json
index f2ef03fd..c16b717a 100644
--- a/src/i18n/en_US.json
+++ b/src/i18n/en_US.json
@@ -359,6 +359,8 @@
"settings.prompt.general.keybindings.update.success": "Keybind updated successfully. Press OK to relaunch Cider",
"settings.option.general.themeUpdateNotification": "Automatically check for theme updates",
"settings.option.general.showLovedTracksInline": "Show loved tracks inline",
+ "settings.option.general.pagination": "Items to show per page",
+ "settings.options.general.pagination.description": "This determines how many songs/albums to show initially for infinite scrolling, or how many songs/albums to show for a single page",
"settings.description.search": "Search",
"settings.description.albums": "Library Albums",
"settings.description.artists": "Library Artists",
diff --git a/src/main/base/store.ts b/src/main/base/store.ts
index 68ea8cf1..c111c73b 100644
--- a/src/main/base/store.ts
+++ b/src/main/base/store.ts
@@ -161,7 +161,8 @@ export class Store {
"playlists": {
"scroll": "infinite"
},
- "localPaths": []
+ "localPaths": [],
+ "pageSize": 250
},
"audio": {
"volume": 1,
diff --git a/src/renderer/views/components/settings-window.ejs b/src/renderer/views/components/settings-window.ejs
index 1236d71d..c8d51de2 100644
--- a/src/renderer/views/components/settings-window.ejs
+++ b/src/renderer/views/components/settings-window.ejs
@@ -1347,6 +1347,26 @@
+
+
+ {{$root.getLz('settings.option.general.pagination')}}
+
+ {{$root.getLz('settings.options.general.pagination.description')}}
+
+
+
+
+
+
diff --git a/src/renderer/views/pages/cider-playlist.ejs b/src/renderer/views/pages/cider-playlist.ejs
index e9626fcb..7beb5f69 100644
--- a/src/renderer/views/pages/cider-playlist.ejs
+++ b/src/renderer/views/pages/cider-playlist.ejs
@@ -299,7 +299,7 @@
props: ["data"],
data: function () {
- const pageSize = 250;
+ const pageSize = this.$root.cfg.libraryPrefs.pageSize;
return {
editorialNotesExpanded: false,
drag: false,
diff --git a/src/renderer/views/pages/library-albums.ejs b/src/renderer/views/pages/library-albums.ejs
index 2af0f199..64cab57d 100644
--- a/src/renderer/views/pages/library-albums.ejs
+++ b/src/renderer/views/pages/library-albums.ejs
@@ -81,7 +81,7 @@
Vue.component('cider-library-albums', {
template: '#cider-library-albums',
data: function () {
- const pageSize = 250;
+ const pageSize = this.$root.cfg.libraryPrefs.pageSize;
return {
library: this.$root.library,
mediaItemSize: "compact",
diff --git a/src/renderer/views/pages/library-songs.ejs b/src/renderer/views/pages/library-songs.ejs
index cda73ccd..f428396e 100644
--- a/src/renderer/views/pages/library-songs.ejs
+++ b/src/renderer/views/pages/library-songs.ejs
@@ -87,7 +87,7 @@
Vue.component('cider-library-songs', {
template: '#cider-library-songs',
data: function () {
- const pageSize = 250;
+ const pageSize = this.$root.cfg.libraryPrefs.pageSize;
return {
// currentPage is oneIndexed
library: this.$root.library,
diff --git a/src/renderer/views/pages/settings.ejs b/src/renderer/views/pages/settings.ejs
index 0b9fcbe8..91032979 100644
--- a/src/renderer/views/pages/settings.ejs
+++ b/src/renderer/views/pages/settings.ejs
@@ -1268,6 +1268,26 @@
+
+
+ {{$root.getLz('settings.option.general.pagination')}}
+
+ {{$root.getLz('settings.options.general.pagination.description')}}
+
+
+
+
+
+