Public Access
feat(library): time to beat, short-games filter and backlog hours
This commit is contained in:
1 parent
fd343da4be
commit
91d5672421
11 files changed
+131
-11
No files matched your search
@@ -25,10 +25,11 @@ export const saveBacklogEntry = (appid, entry) =>
|
||||
body: JSON.stringify(entry),
|
||||
});
|
||||
|
||||
export const libraryQuery = ({page, size, sort, status, q}) => {
|
||||
export const libraryQuery = ({page, size, sort, status, q, maxMinutes}) => {
|
||||
const params = new URLSearchParams({page: String(page), size: String(size), sort});
|
||||
if (status) params.set('status', status);
|
||||
if (q?.trim()) params.set('q', q.trim());
|
||||
if (maxMinutes) params.set('maxMinutes', String(maxMinutes));
|
||||
return params.toString();
|
||||
};
|
||||
|
||||
|
||||
@@ -27,6 +27,11 @@ describe('libraryQuery', () => {
|
||||
.toBe('page=0&size=20&sort=playtimeMinutes%2Cdesc');
|
||||
});
|
||||
|
||||
it('adds the time-to-beat limit', () => {
|
||||
expect(libraryQuery({page: 0, size: 20, sort: 'appid,asc', status: null, q: '', maxMinutes: 600}))
|
||||
.toBe('page=0&size=20&sort=appid%2Casc&maxMinutes=600');
|
||||
});
|
||||
|
||||
it('adds status and the trimmed, encoded search', () => {
|
||||
expect(libraryQuery({page: 1, size: 40, sort: 'appid,asc', status: 'DROPPED', q: ' 100% & more '}))
|
||||
.toBe('page=1&size=40&sort=appid%2Casc&status=DROPPED&q=100%25+%26+more');
|
||||
|
||||
Reference in new issue
Block a user