Add meme-adding logic

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2023-07-21 09:46:13 +03:00
parent 1b2ce96c5e
commit 4b601872bc
40 changed files with 1037 additions and 324 deletions

View File

@@ -1,7 +1,7 @@
export { ROUTE, type RootStackParamList } from './route';
export {
MEME_SORT,
homeSortQuery,
memesSortQuery,
TAG_SORT,
tagSortQuery,
SORT_DIRECTION,

View File

@@ -1,21 +1,39 @@
import { DocumentPickerResponse } from 'react-native-document-picker';
enum ROUTE {
MAIN = 'Main',
HOME = 'Home',
MEMES = 'Memes',
TAGS = 'Tags',
SETTINGS = 'Settings',
ADD_MEME = 'Add Meme',
EDIT_MEME = 'Edit Meme',
ADD_TAG = 'Add Tag',
EDIT_TAG = 'Edit Tag',
}
interface AddMemeRouteParamsFromFiles {
uri: DocumentPickerResponse[];
}
interface EditMemeRouteParams {
id: string;
}
interface EditTagRouteParams {
id: string;
}
interface RootStackParamList {
[key: string]: undefined | EditTagRouteParams;
[key: string]:
| undefined
| AddMemeRouteParamsFromFiles
| EditMemeRouteParams
| EditTagRouteParams;
[ROUTE.MAIN]: undefined;
[ROUTE.EDIT_MEME]: undefined;
[ROUTE.EDIT_TAG]: EditTagRouteParams | undefined;
[ROUTE.ADD_MEME]: AddMemeRouteParamsFromFiles;
[ROUTE.EDIT_MEME]: EditMemeRouteParams;
[ROUTE.ADD_TAG]: undefined;
[ROUTE.EDIT_TAG]: EditTagRouteParams;
}
export { ROUTE, type RootStackParamList };

View File

@@ -7,7 +7,7 @@ enum MEME_SORT {
SIZE = 'Size',
}
const homeSortQuery = (sort: MEME_SORT) => {
const memesSortQuery = (sort: MEME_SORT) => {
switch (sort) {
case MEME_SORT.TITLE: {
return 'title';
@@ -36,6 +36,7 @@ enum TAG_SORT {
MEMES_LENGTH = 'Items',
DATE_CREATED = 'Date Created',
DATE_MODIFIED = 'Date Modified',
DATE_USED = 'Last Used',
TIMES_USED = 'Times Used',
}
@@ -59,6 +60,9 @@ const tagSortQuery = (sort: TAG_SORT) => {
case TAG_SORT.TIMES_USED: {
return 'timesUsed';
}
case TAG_SORT.DATE_USED: {
return 'dateUsed';
}
}
};
@@ -67,4 +71,4 @@ enum SORT_DIRECTION {
DESCENDING = 1,
}
export { MEME_SORT, homeSortQuery, TAG_SORT, tagSortQuery, SORT_DIRECTION };
export { MEME_SORT, memesSortQuery, TAG_SORT, tagSortQuery, SORT_DIRECTION };

View File

@@ -1,6 +1,5 @@
enum VIEW {
MASONRY = 'Masonry',
GRID = 'Grid',
LIST = 'List',
}