Add tag sorting

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2023-07-15 13:09:53 +03:00
parent 1e36e01ea1
commit de44828434
13 changed files with 312 additions and 98 deletions

View File

@@ -1,2 +1,8 @@
export { SORT, SORT_DIRECTION } from './sort';
export {
HOME_SORT,
homeSortQuery,
TAG_SORT,
tagSortQuery,
SORT_DIRECTION,
} from './sort';
export { VIEW } from './view';

View File

@@ -1,4 +1,4 @@
enum SORT {
enum HOME_SORT {
TITLE = 'Title',
DATE_CREATED = 'Date Created',
DATE_MODIFIED = 'Date Modified',
@@ -7,9 +7,60 @@ enum SORT {
SIZE = 'Size',
}
const homeSortQuery = (sort: HOME_SORT) => {
switch (sort) {
case HOME_SORT.TITLE: {
return 'title';
}
case HOME_SORT.DATE_CREATED: {
return 'dateCreated';
}
case HOME_SORT.DATE_MODIFIED: {
return 'dateModified';
}
case HOME_SORT.DATE_USED: {
return 'dateUsed';
}
case HOME_SORT.TIMES_USED: {
return 'timesUsed';
}
case HOME_SORT.SIZE: {
return 'size';
}
}
};
enum TAG_SORT {
NAME = 'Name',
MEMES_LENGTH = 'Items',
DATE_CREATED = 'Date Created',
DATE_MODIFIED = 'Date Modified',
TIMES_USED = 'Times Used',
}
const tagSortQuery = (sort: TAG_SORT) => {
switch (sort) {
case TAG_SORT.NAME: {
return 'name';
}
case TAG_SORT.MEMES_LENGTH: {
return 'memesLength';
}
case TAG_SORT.DATE_CREATED: {
return 'dateCreated';
}
case TAG_SORT.DATE_MODIFIED: {
return 'dateModified';
}
case TAG_SORT.TIMES_USED: {
return 'timesUsed';
}
}
};
enum SORT_DIRECTION {
ASCENDING = 0,
DESCENDING = 1,
}
export { SORT, SORT_DIRECTION };
export { HOME_SORT, homeSortQuery, TAG_SORT, tagSortQuery, SORT_DIRECTION };