feat(reviews): add reviews route
allows seeing all reviews with optional filters. works sans JS as well closes https://github.com/zyachel/libremdb/issues/25 closes https://codeberg.org/zyachel/libremdb/issues/19
This commit is contained in:
@ -34,3 +34,5 @@ export const resultTitleTypes = {
|
||||
],
|
||||
key: 'ttype',
|
||||
} as const;
|
||||
|
||||
export const findFilterable = ['q', 'exact', resultTitleTypes.key, resultTypes.key];
|
||||
|
@ -1,4 +1,7 @@
|
||||
export const titleKey = (titleId: string) => `title:${titleId}`;
|
||||
export const titleReviewsKey = (titleId: string, query = '') => `title:${titleId}|${query}`;
|
||||
export const titleReviewsCursoredKey = (titleId: string, paginationKey: string) =>
|
||||
`title:${titleId}|${paginationKey}`;
|
||||
export const nameKey = (nameId: string) => `name:${nameId}`;
|
||||
export const listKey = (listId: string, pageNum = '1') => `list:${listId}?page=${pageNum}`;
|
||||
export const findKey = (query: string) => `find:${query}`;
|
||||
|
36
src/utils/constants/titleReviewsFilters.ts
Normal file
36
src/utils/constants/titleReviewsFilters.ts
Normal file
@ -0,0 +1,36 @@
|
||||
export const ratings = {
|
||||
types: [
|
||||
{ name: 'All', val: '0' },
|
||||
{ name: '1', val: '1' },
|
||||
{ name: '2', val: '2' },
|
||||
{ name: '3', val: '3' },
|
||||
{ name: '4', val: '4' },
|
||||
{ name: '5', val: '5' },
|
||||
{ name: '6', val: '6' },
|
||||
{ name: '7', val: '7' },
|
||||
{ name: '8', val: '8' },
|
||||
{ name: '9', val: '9' },
|
||||
{ name: '10', val: '10' },
|
||||
],
|
||||
key: 'ratingFilter',
|
||||
} as const;
|
||||
|
||||
export const sortBy = {
|
||||
types: [
|
||||
{ name: 'Featured', val: 'curated' },
|
||||
{ name: 'Review Date', val: 'submissionDate' },
|
||||
{ name: 'Total Votes', val: 'totalVotes' },
|
||||
{ name: 'Prolific Reviewer', val: 'reviewVolume' },
|
||||
{ name: 'Review Rating', val: 'userRating' },
|
||||
],
|
||||
key: 'sort',
|
||||
} as const;
|
||||
|
||||
export const direction = {
|
||||
types: [
|
||||
{ name: 'Ascending', val: 'asc' },
|
||||
{ name: 'Descending', val: 'desc' },
|
||||
],
|
||||
key: 'dir',
|
||||
} as const;
|
||||
export const keys = ['spoiler', direction.key, sortBy.key, ratings.key];
|
Reference in New Issue
Block a user