From d2054b028aa0b494d164c1b060e2f2af3c63a34d Mon Sep 17 00:00:00 2001 From: Nikolaos Karaolidis Date: Tue, 1 Aug 2023 14:53:10 +0300 Subject: [PATCH] Reorganize files Signed-off-by: Nikolaos Karaolidis --- src/components/index.ts | 12 ++---------- src/components/{memes => }/memeFail.tsx | 2 +- src/components/memes/index.ts | 6 ------ src/components/{tags => }/tagChip.tsx | 4 ++-- src/components/tags/index.ts | 5 ----- src/database/meme.ts | 2 +- src/database/tag.ts | 2 +- src/screens/editors/{ => meme}/addMeme.tsx | 12 ++++++------ src/screens/editors/{ => meme}/editMeme.tsx | 12 ++++++------ .../editors/meme}/memeEditor.tsx | 13 +++++++------ .../meme}/memeTagSelector/memeTagSearchModal.tsx | 8 ++++---- .../meme}/memeTagSelector/memeTagSelector.tsx | 4 ++-- src/screens/editors/{ => tag}/addTag.tsx | 10 +++++----- src/screens/editors/{ => tag}/editTag.tsx | 10 +++++----- .../tags => screens/editors/tag}/tagEditor.tsx | 6 +++--- .../tags => screens/editors/tag}/tagPreview.tsx | 2 +- src/screens/index.ts | 16 ++++++++-------- src/screens/{ => memeView}/memeView.tsx | 11 ++++++----- .../memes => screens/memeView}/memeViewItem.tsx | 4 ++-- src/screens/{ => memes}/memes.tsx | 10 ++++++---- .../memes/memesHeader.tsx | 0 .../memes/memesList/memesGridItem.tsx | 2 +- .../memes/memesList/memesList.tsx | 0 .../memes/memesList/memesListItem.tsx | 2 +- .../memes/memesList/memesMasonryItem.tsx | 2 +- src/screens/{ => settings}/settings.tsx | 10 +++++----- .../settings}/storageLocationChangeDialog.tsx | 4 ++-- src/screens/{ => tags}/tags.tsx | 10 ++++++---- src/{components => screens}/tags/tagsHeader.tsx | 0 .../tags => screens/tags/tagsList}/tagRow.tsx | 6 +++--- src/types/route.ts | 2 +- src/utilities/meme.ts | 2 +- src/utilities/validation.ts | 2 +- 33 files changed, 90 insertions(+), 103 deletions(-) rename src/components/{memes => }/memeFail.tsx (94%) delete mode 100644 src/components/memes/index.ts rename src/components/{tags => }/tagChip.tsx (93%) delete mode 100644 src/components/tags/index.ts rename src/screens/editors/{ => meme}/addMeme.tsx (96%) rename src/screens/editors/{ => meme}/editMeme.tsx (96%) rename src/{components/memes => screens/editors/meme}/memeEditor.tsx (92%) rename src/{components/memes => screens/editors/meme}/memeTagSelector/memeTagSearchModal.tsx (95%) rename src/{components/memes => screens/editors/meme}/memeTagSelector/memeTagSelector.tsx (96%) rename src/screens/editors/{ => tag}/addTag.tsx (93%) rename src/screens/editors/{ => tag}/editTag.tsx (92%) rename src/{components/tags => screens/editors/tag}/tagEditor.tsx (96%) rename src/{components/tags => screens/editors/tag}/tagPreview.tsx (95%) rename src/screens/{ => memeView}/memeView.tsx (96%) rename src/{components/memes => screens/memeView}/memeViewItem.tsx (96%) rename src/screens/{ => memes}/memes.tsx (94%) rename src/{components => screens}/memes/memesHeader.tsx (100%) rename src/{components => screens}/memes/memesList/memesGridItem.tsx (97%) rename src/{components => screens}/memes/memesList/memesList.tsx (100%) rename src/{components => screens}/memes/memesList/memesListItem.tsx (98%) rename src/{components => screens}/memes/memesList/memesMasonryItem.tsx (98%) rename src/screens/{ => settings}/settings.tsx (97%) rename src/{components => screens/settings}/storageLocationChangeDialog.tsx (97%) rename src/screens/{ => tags}/tags.tsx (93%) rename src/{components => screens}/tags/tagsHeader.tsx (100%) rename src/{components/tags => screens/tags/tagsList}/tagRow.tsx (85%) diff --git a/src/components/index.ts b/src/components/index.ts index aaec59b..2bb13d1 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,15 +1,7 @@ -export { - MemesList, - MemeEditor, - MemeFail, - MemesHeader, - MemeTagSelector, - MemeViewItem, -} from './memes'; -export { TagChip, TagEditor, TagPreview, TagRow, TagsHeader } from './tags'; export { default as AnimatedImage } from './animatedImage'; export { default as FloatingActionButton } from './floatingActionButton'; export { default as HideableBottomNavigationBar } from './hideableBottomNavigationBar'; export { default as HideableHeader } from './hideableHeader'; export { default as LoadingView } from './loadingView'; -export { default as storageLocationChangeDialog } from './storageLocationChangeDialog'; +export { default as MemeFail } from './memeFail'; +export { default as TagChip } from './tagChip'; diff --git a/src/components/memes/memeFail.tsx b/src/components/memeFail.tsx similarity index 94% rename from src/components/memes/memeFail.tsx rename to src/components/memeFail.tsx index a63fa93..ce43c94 100644 --- a/src/components/memes/memeFail.tsx +++ b/src/components/memeFail.tsx @@ -2,7 +2,7 @@ import React, { ComponentProps } from 'react'; import { StyleSheet, View } from 'react-native'; import { useTheme } from 'react-native-paper'; import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'; -import { rgbToRgba } from '../../utilities'; +import { rgbToRgba } from '../utilities'; const memeFailStyles = StyleSheet.create({ view: { diff --git a/src/components/memes/index.ts b/src/components/memes/index.ts deleted file mode 100644 index dfd802c..0000000 --- a/src/components/memes/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { default as MemesList } from './memesList/memesList'; -export { default as MemeEditor } from './memeEditor'; -export { default as MemeFail } from './memeFail'; -export { default as MemesHeader } from './memesHeader'; -export { default as MemeTagSelector } from './memeTagSelector/memeTagSelector'; -export { default as MemeViewItem } from './memeViewItem'; diff --git a/src/components/tags/tagChip.tsx b/src/components/tagChip.tsx similarity index 93% rename from src/components/tags/tagChip.tsx rename to src/components/tagChip.tsx index 7095ba9..65d5e4b 100644 --- a/src/components/tags/tagChip.tsx +++ b/src/components/tagChip.tsx @@ -1,9 +1,9 @@ import React, { ComponentProps, useMemo } from 'react'; -import { getContrastColor } from '../../utilities'; import { Chip, useTheme } from 'react-native-paper'; -import { Tag } from '../../database'; import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'; import { StyleSheet } from 'react-native'; +import { getContrastColor } from '../utilities'; +import { Tag } from '../database'; const tagChipStyles = StyleSheet.create({ chip: { diff --git a/src/components/tags/index.ts b/src/components/tags/index.ts deleted file mode 100644 index 6b9fca9..0000000 --- a/src/components/tags/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { default as TagChip } from './tagChip'; -export { default as TagEditor } from './tagEditor'; -export { default as TagPreview } from './tagPreview'; -export { default as TagRow } from './tagRow'; -export { default as TagsHeader } from './tagsHeader'; diff --git a/src/database/meme.ts b/src/database/meme.ts index 134e416..6724e38 100644 --- a/src/database/meme.ts +++ b/src/database/meme.ts @@ -1,5 +1,5 @@ import { BSON, Object, ObjectSchema } from 'realm'; -import { Tag } from './tag'; +import { Tag } from '.'; enum MEME_TYPE { IMAGE = 'Image', diff --git a/src/database/tag.ts b/src/database/tag.ts index 64f90ac..086a29f 100644 --- a/src/database/tag.ts +++ b/src/database/tag.ts @@ -1,5 +1,5 @@ import { BSON, Object, ObjectSchema } from 'realm'; -import { Meme } from './meme'; +import { Meme } from '.'; import { generateRandomColor } from '../utilities'; class Tag extends Object { diff --git a/src/screens/editors/addMeme.tsx b/src/screens/editors/meme/addMeme.tsx similarity index 96% rename from src/screens/editors/addMeme.tsx rename to src/screens/editors/meme/addMeme.tsx index 87424e5..a5c1d99 100644 --- a/src/screens/editors/addMeme.tsx +++ b/src/screens/editors/meme/addMeme.tsx @@ -15,17 +15,17 @@ import { ROUTE, RootStackParamList, StagingMeme, -} from '../../types'; -import { Meme, Tag } from '../../database'; -import { RootState } from '../../state'; +} from '../../../types'; +import { Meme, Tag } from '../../../database'; +import { RootState } from '../../../state'; import { allowedMimeTypes, getMemeTypeFromMimeType, guessMimeType, validateMemeTitle, -} from '../../utilities'; -import { MemeEditor } from '../../components'; -import editorStyles from './editorStyles'; +} from '../../../utilities'; +import MemeEditor from './memeEditor'; +import editorStyles from '../editorStyles'; const AddMeme = ({ route, diff --git a/src/screens/editors/editMeme.tsx b/src/screens/editors/meme/editMeme.tsx similarity index 96% rename from src/screens/editors/editMeme.tsx rename to src/screens/editors/meme/editMeme.tsx index 960410b..6cc1459 100644 --- a/src/screens/editors/editMeme.tsx +++ b/src/screens/editors/meme/editMeme.tsx @@ -6,12 +6,12 @@ import { NativeStackScreenProps } from '@react-navigation/native-stack'; import { useObject, useRealm } from '@realm/react'; import { useDeviceOrientation } from '@react-native-community/hooks'; import { BSON } from 'realm'; -import { RootStackParamList, ROUTE, StagingMeme } from '../../types'; import { pickSingle } from 'react-native-document-picker'; import { AndroidScoped, FileSystem } from 'react-native-file-access'; import { extension } from 'react-native-mime-types'; import { useSelector } from 'react-redux'; -import { Meme } from '../../database'; +import { RootStackParamList, ROUTE, StagingMeme } from '../../../types'; +import { Meme } from '../../../database'; import { allowedMimeTypes, deleteMeme, @@ -20,10 +20,10 @@ import { guessMimeType, noOp, validateMemeTitle, -} from '../../utilities'; -import { MemeEditor } from '../../components'; -import editorStyles from './editorStyles'; -import { RootState } from '../../state'; +} from '../../../utilities'; +import { RootState } from '../../../state'; +import MemeEditor from './memeEditor'; +import editorStyles from '../editorStyles'; const EditMeme = ({ route, diff --git a/src/components/memes/memeEditor.tsx b/src/screens/editors/meme/memeEditor.tsx similarity index 92% rename from src/components/memes/memeEditor.tsx rename to src/screens/editors/meme/memeEditor.tsx index 7e36d63..a21b39f 100644 --- a/src/components/memes/memeEditor.tsx +++ b/src/screens/editors/meme/memeEditor.tsx @@ -2,16 +2,17 @@ import React, { useMemo } from 'react'; import { HelperText, Text, TextInput, useTheme } from 'react-native-paper'; import { Image, LayoutAnimation } from 'react-native'; import { useSafeAreaFrame } from 'react-native-safe-area-context'; -import { LoadingView, MemeFail, MemeTagSelector } from '..'; +import Video from 'react-native-video'; +import { LoadingView, MemeFail } from '../../../components'; import { getFilenameFromUri, getMemeTypeFromMimeType, validateMemeTitle, -} from '../../utilities'; -import { StagingMeme } from '../../types'; -import { useMemeDimensions } from '../../hooks'; -import { MEME_TYPE } from '../../database'; -import Video from 'react-native-video'; +} from '../../../utilities'; +import { StagingMeme } from '../../../types'; +import { useMemeDimensions } from '../../../hooks'; +import { MEME_TYPE } from '../../../database'; +import MemeTagSelector from './memeTagSelector/memeTagSelector'; const memeEditorStyles = { media: { diff --git a/src/components/memes/memeTagSelector/memeTagSearchModal.tsx b/src/screens/editors/meme/memeTagSelector/memeTagSearchModal.tsx similarity index 95% rename from src/components/memes/memeTagSelector/memeTagSearchModal.tsx rename to src/screens/editors/meme/memeTagSelector/memeTagSearchModal.tsx index cf6f408..ae20f34 100644 --- a/src/components/memes/memeTagSelector/memeTagSearchModal.tsx +++ b/src/screens/editors/meme/memeTagSelector/memeTagSearchModal.tsx @@ -4,10 +4,10 @@ import { Chip, Modal, Portal, Searchbar, useTheme } from 'react-native-paper'; import { LayoutAnimation, StyleSheet } from 'react-native'; import { FlashList } from '@shopify/flash-list'; import { useSafeAreaFrame } from 'react-native-safe-area-context'; -import { TAG_SORT, tagSortQuery } from '../../../types'; -import { TagChip } from '../../tags'; -import { Tag } from '../../../database'; -import { validateTagName } from '../../../utilities'; +import { TAG_SORT, tagSortQuery } from '../../../../types'; +import { TagChip } from '../../../../components'; +import { Tag } from '../../../../database'; +import { validateTagName } from '../../../../utilities'; const memeTagSearchModalStyles = StyleSheet.create({ modal: { diff --git a/src/components/memes/memeTagSelector/memeTagSelector.tsx b/src/screens/editors/meme/memeTagSelector/memeTagSelector.tsx similarity index 96% rename from src/components/memes/memeTagSelector/memeTagSelector.tsx rename to src/screens/editors/meme/memeTagSelector/memeTagSelector.tsx index 064e2b7..0202b4b 100644 --- a/src/components/memes/memeTagSelector/memeTagSelector.tsx +++ b/src/screens/editors/meme/memeTagSelector/memeTagSelector.tsx @@ -3,8 +3,8 @@ import { LayoutAnimation, StyleSheet, View } from 'react-native'; import { Chip } from 'react-native-paper'; import { FlashList } from '@shopify/flash-list'; import { useSafeAreaFrame } from 'react-native-safe-area-context'; -import { TagChip } from '../../tags'; -import { Tag } from '../../../database'; +import { TagChip } from '../../../../components'; +import { Tag } from '../../../../database'; import MemeTagSearchModal from './memeTagSearchModal'; const memeTagSelectorStyles = StyleSheet.create({ diff --git a/src/screens/editors/addTag.tsx b/src/screens/editors/tag/addTag.tsx similarity index 93% rename from src/screens/editors/addTag.tsx rename to src/screens/editors/tag/addTag.tsx index 5fdff72..c4d99bc 100644 --- a/src/screens/editors/addTag.tsx +++ b/src/screens/editors/tag/addTag.tsx @@ -8,11 +8,11 @@ import { generateRandomColor, validateColor, validateTagName, -} from '../../utilities'; -import { Tag } from '../../database'; -import { TagEditor } from '../../components'; -import editorStyles from './editorStyles'; -import { StagingTag } from '../../types'; +} from '../../../utilities'; +import { Tag } from '../../../database'; +import { StagingTag } from '../../../types'; +import TagEditor from './tagEditor'; +import editorStyles from '../editorStyles'; const AddTag = () => { const { goBack } = useNavigation(); diff --git a/src/screens/editors/editTag.tsx b/src/screens/editors/tag/editTag.tsx similarity index 92% rename from src/screens/editors/editTag.tsx rename to src/screens/editors/tag/editTag.tsx index 58f8a1a..566e57e 100644 --- a/src/screens/editors/editTag.tsx +++ b/src/screens/editors/tag/editTag.tsx @@ -6,11 +6,11 @@ import { NativeStackScreenProps } from '@react-navigation/native-stack'; import { BSON } from 'realm'; import { useObject, useRealm } from '@realm/react'; import { useDeviceOrientation } from '@react-native-community/hooks'; -import { TagEditor } from '../../components'; -import { ROUTE, RootStackParamList, StagingTag } from '../../types'; -import { Tag } from '../../database'; -import { deleteTag, validateColor, validateTagName } from '../../utilities'; -import editorStyles from './editorStyles'; +import { ROUTE, RootStackParamList, StagingTag } from '../../../types'; +import { Tag } from '../../../database'; +import { deleteTag, validateColor, validateTagName } from '../../../utilities'; +import TagEditor from './tagEditor'; +import editorStyles from '../editorStyles'; const EditTag = ({ route, diff --git a/src/components/tags/tagEditor.tsx b/src/screens/editors/tag/tagEditor.tsx similarity index 96% rename from src/components/tags/tagEditor.tsx rename to src/screens/editors/tag/tagEditor.tsx index 3c71344..1401f14 100644 --- a/src/components/tags/tagEditor.tsx +++ b/src/screens/editors/tag/tagEditor.tsx @@ -1,12 +1,12 @@ import React, { useEffect, useRef } from 'react'; import { HelperText, TextInput } from 'react-native-paper'; -import TagPreview from './tagPreview'; import { generateRandomColor, validateColor, validateTagName, -} from '../../utilities'; -import { StagingTag } from '../../types'; +} from '../../../utilities'; +import { StagingTag } from '../../../types'; +import TagPreview from './tagPreview'; const TagEditor = ({ staging, diff --git a/src/components/tags/tagPreview.tsx b/src/screens/editors/tag/tagPreview.tsx similarity index 95% rename from src/components/tags/tagPreview.tsx rename to src/screens/editors/tag/tagPreview.tsx index e099948..228acab 100644 --- a/src/components/tags/tagPreview.tsx +++ b/src/screens/editors/tag/tagPreview.tsx @@ -2,7 +2,7 @@ import React, { useMemo } from 'react'; import { StyleSheet, View } from 'react-native'; import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'; import { Chip, useTheme } from 'react-native-paper'; -import { getContrastColor } from '../../utilities'; +import { getContrastColor } from '../../../utilities'; const tagPreviewStyles = StyleSheet.create({ view: { diff --git a/src/screens/index.ts b/src/screens/index.ts index 57a3627..60d673a 100644 --- a/src/screens/index.ts +++ b/src/screens/index.ts @@ -1,9 +1,9 @@ -export { default as AddMeme } from './editors/addMeme'; -export { default as AddTag } from './editors/addTag'; -export { default as EditMeme } from './editors/editMeme'; -export { default as EditTag } from './editors/editTag'; -export { default as Memes } from './memes'; -export { default as MemeView } from './memeView'; -export { default as Settings } from './settings'; -export { default as Tags } from './tags'; +export { default as AddMeme } from './editors/meme/addMeme'; +export { default as AddTag } from './editors/tag/addTag'; +export { default as EditMeme } from './editors/meme/editMeme'; +export { default as EditTag } from './editors/tag/editTag'; +export { default as Memes } from './memes/memes'; +export { default as MemeView } from './memeView/memeView'; +export { default as Settings } from './settings/settings'; +export { default as Tags } from './tags/tags'; export { default as Welcome } from './welcome'; diff --git a/src/screens/memeView.tsx b/src/screens/memeView/memeView.tsx similarity index 96% rename from src/screens/memeView.tsx rename to src/screens/memeView/memeView.tsx index 4f9568b..97057b6 100644 --- a/src/screens/memeView.tsx +++ b/src/screens/memeView/memeView.tsx @@ -12,9 +12,9 @@ import { RootStackParamList, ROUTE, SORT_DIRECTION, -} from '../types'; -import { Meme } from '../database'; -import { LoadingView, MemeViewItem } from '../components'; +} from '../../types'; +import { Meme } from '../../database'; +import { LoadingView } from '../../components'; import { copyMeme, deleteMeme, @@ -22,8 +22,9 @@ import { favoriteMeme, multipleIdQuery, shareMeme, -} from '../utilities'; -import { RootState } from '../state'; +} from '../../utilities'; +import { RootState } from '../../state'; +import MemeViewItem from './memeViewItem'; const memeViewStyles = StyleSheet.create({ // eslint-disable-next-line react-native/no-color-literals diff --git a/src/components/memes/memeViewItem.tsx b/src/screens/memeView/memeViewItem.tsx similarity index 96% rename from src/components/memes/memeViewItem.tsx rename to src/screens/memeView/memeViewItem.tsx index ed14038..ec76774 100644 --- a/src/components/memes/memeViewItem.tsx +++ b/src/screens/memeView/memeViewItem.tsx @@ -3,11 +3,11 @@ import { StyleSheet, View } from 'react-native'; import { useSafeAreaFrame } from 'react-native-safe-area-context'; import { AndroidScoped } from 'react-native-file-access'; import { useSelector } from 'react-redux'; +import Video from 'react-native-video'; import { MEME_TYPE, Meme } from '../../database'; import { RootState } from '../../state'; -import { AnimatedImage, LoadingView, MemeFail } from '..'; +import { AnimatedImage, LoadingView, MemeFail } from '../../components'; import { useMemeDimensions } from '../../hooks'; -import Video from 'react-native-video'; const memeViewItemStyles = StyleSheet.create({ view: { diff --git a/src/screens/memes.tsx b/src/screens/memes/memes.tsx similarity index 94% rename from src/screens/memes.tsx rename to src/screens/memes/memes.tsx index db0aefc..4faae6a 100644 --- a/src/screens/memes.tsx +++ b/src/screens/memes/memes.tsx @@ -17,11 +17,13 @@ import { useNavigation, } from '@react-navigation/native'; import { NativeStackNavigationProp } from '@react-navigation/native-stack'; -import { ROUTE, SORT_DIRECTION, memesSortQuery } from '../types'; -import { RootState, setNavVisible } from '../state'; -import { Meme } from '../database'; -import { HideableHeader, MemesHeader, MemesList } from '../components'; import { useDeviceOrientation } from '@react-native-community/hooks'; +import { ROUTE, SORT_DIRECTION, memesSortQuery } from '../../types'; +import { RootState, setNavVisible } from '../../state'; +import { Meme } from '../../database'; +import { HideableHeader } from '../../components'; +import MemesHeader from './memesHeader'; +import MemesList from './memesList/memesList'; const memesStyles = StyleSheet.create({ listView: { diff --git a/src/components/memes/memesHeader.tsx b/src/screens/memes/memesHeader.tsx similarity index 100% rename from src/components/memes/memesHeader.tsx rename to src/screens/memes/memesHeader.tsx diff --git a/src/components/memes/memesList/memesGridItem.tsx b/src/screens/memes/memesList/memesGridItem.tsx similarity index 97% rename from src/components/memes/memesList/memesGridItem.tsx rename to src/screens/memes/memesList/memesGridItem.tsx index da62b64..a954714 100644 --- a/src/components/memes/memesList/memesGridItem.tsx +++ b/src/screens/memes/memesList/memesGridItem.tsx @@ -5,7 +5,7 @@ import { useSafeAreaFrame } from 'react-native-safe-area-context'; import { AndroidScoped } from 'react-native-file-access'; import { MEME_TYPE, Meme } from '../../../database'; import { RootState } from '../../../state'; -import { MemeFail } from '..'; +import { MemeFail } from '../../../components'; import { getFontAwesome5IconSize } from '../../../utilities'; import { useMemeDimensions } from '../../../hooks'; diff --git a/src/components/memes/memesList/memesList.tsx b/src/screens/memes/memesList/memesList.tsx similarity index 100% rename from src/components/memes/memesList/memesList.tsx rename to src/screens/memes/memesList/memesList.tsx diff --git a/src/components/memes/memesList/memesListItem.tsx b/src/screens/memes/memesList/memesListItem.tsx similarity index 98% rename from src/components/memes/memesList/memesListItem.tsx rename to src/screens/memes/memesList/memesListItem.tsx index f4f588b..da81188 100644 --- a/src/components/memes/memesList/memesListItem.tsx +++ b/src/screens/memes/memesList/memesListItem.tsx @@ -5,7 +5,7 @@ import { useSafeAreaFrame } from 'react-native-safe-area-context'; import { AndroidScoped } from 'react-native-file-access'; import { useSelector } from 'react-redux'; import { MEME_TYPE, Meme } from '../../../database'; -import { MemeFail } from '..'; +import { MemeFail } from '../../../components'; import { RootState } from '../../../state'; import { useMemeDimensions } from '../../../hooks'; diff --git a/src/components/memes/memesList/memesMasonryItem.tsx b/src/screens/memes/memesList/memesMasonryItem.tsx similarity index 98% rename from src/components/memes/memesList/memesMasonryItem.tsx rename to src/screens/memes/memesList/memesMasonryItem.tsx index 3962548..5407fde 100644 --- a/src/components/memes/memesList/memesMasonryItem.tsx +++ b/src/screens/memes/memesList/memesMasonryItem.tsx @@ -5,7 +5,7 @@ import { useSafeAreaFrame } from 'react-native-safe-area-context'; import { AndroidScoped } from 'react-native-file-access'; import { MEME_TYPE, Meme } from '../../../database'; import { RootState } from '../../../state'; -import { MemeFail } from '..'; +import { MemeFail } from '../../../components'; import { getFontAwesome5IconSize } from '../../../utilities'; import { useMemeDimensions } from '../../../hooks'; diff --git a/src/screens/settings.tsx b/src/screens/settings/settings.tsx similarity index 97% rename from src/screens/settings.tsx rename to src/screens/settings/settings.tsx index 89e7daf..df61390 100644 --- a/src/screens/settings.tsx +++ b/src/screens/settings/settings.tsx @@ -11,6 +11,8 @@ import { } from 'react-native-paper'; import { useDispatch, useSelector } from 'react-redux'; import type {} from 'redux-thunk/extend-redux'; +import { useRealm } from '@realm/react'; +import { FileSystem, FileStat } from 'react-native-file-access'; import { RootState, setAutofocusMemesSearch, @@ -19,11 +21,9 @@ import { setMasonryColumns, setNoMedia, setSnackbarMessage, -} from '../state'; -import StorageLocationChangeDialog from '../components/storageLocationChangeDialog'; -import { useRealm } from '@realm/react'; -import { FileSystem, FileStat } from 'react-native-file-access'; -import { Meme } from '../database'; +} from '../../state'; +import { Meme } from '../../database'; +import StorageLocationChangeDialog from './storageLocationChangeDialog'; const settingsStyles = StyleSheet.create({ scrollView: { diff --git a/src/components/storageLocationChangeDialog.tsx b/src/screens/settings/storageLocationChangeDialog.tsx similarity index 97% rename from src/components/storageLocationChangeDialog.tsx rename to src/screens/settings/storageLocationChangeDialog.tsx index f614209..337e92a 100644 --- a/src/components/storageLocationChangeDialog.tsx +++ b/src/screens/settings/storageLocationChangeDialog.tsx @@ -4,8 +4,8 @@ import { Dialog, ProgressBar, Text } from 'react-native-paper'; import { openDocumentTree } from 'react-native-scoped-storage'; import { useDispatch, useSelector } from 'react-redux'; import { AndroidScoped, FileSystem } from 'react-native-file-access'; -import { RootState, setStorageUri } from '../state'; -import { clearPermissions, isPermissionForPath, noOp } from '../utilities'; +import { RootState, setStorageUri } from '../../state'; +import { clearPermissions, isPermissionForPath, noOp } from '../../utilities'; const storageLocationChangeDialogStyles = StyleSheet.create({ progressBar: { diff --git a/src/screens/tags.tsx b/src/screens/tags/tags.tsx similarity index 93% rename from src/screens/tags.tsx rename to src/screens/tags/tags.tsx index b18a00c..eba00ad 100644 --- a/src/screens/tags.tsx +++ b/src/screens/tags/tags.tsx @@ -13,10 +13,12 @@ import { FlashList } from '@shopify/flash-list'; import { useFocusEffect } from '@react-navigation/native'; import { useDeviceOrientation } from '@react-native-community/hooks'; import { useSafeAreaFrame } from 'react-native-safe-area-context'; -import { HideableHeader, TagRow, TagsHeader } from '../components'; -import { Tag } from '../database'; -import { RootState, setNavVisible } from '../state'; -import { SORT_DIRECTION, tagSortQuery } from '../types'; +import { HideableHeader } from '../../components'; +import { Tag } from '../../database'; +import { RootState, setNavVisible } from '../../state'; +import { SORT_DIRECTION, tagSortQuery } from '../../types'; +import TagsHeader from './tagsHeader'; +import TagRow from './tagsList/tagRow'; const tagsStyles = StyleSheet.create({ listView: { diff --git a/src/components/tags/tagsHeader.tsx b/src/screens/tags/tagsHeader.tsx similarity index 100% rename from src/components/tags/tagsHeader.tsx rename to src/screens/tags/tagsHeader.tsx diff --git a/src/components/tags/tagRow.tsx b/src/screens/tags/tagsList/tagRow.tsx similarity index 85% rename from src/components/tags/tagRow.tsx rename to src/screens/tags/tagsList/tagRow.tsx index d438745..d06af6f 100644 --- a/src/components/tags/tagRow.tsx +++ b/src/screens/tags/tagsList/tagRow.tsx @@ -2,9 +2,9 @@ import React from 'react'; import { StyleSheet, View } from 'react-native'; import { TouchableRipple, Text } from 'react-native-paper'; import { useNavigation, NavigationProp } from '@react-navigation/native'; -import { Tag } from '../../database'; -import { ROUTE, RootStackParamList } from '../../types'; -import { TagChip } from '.'; +import { Tag } from '../../../database'; +import { ROUTE, RootStackParamList } from '../../../types'; +import { TagChip } from '../../../components'; const tagRowStyles = StyleSheet.create({ view: { diff --git a/src/types/route.ts b/src/types/route.ts index 5db0819..1128291 100644 --- a/src/types/route.ts +++ b/src/types/route.ts @@ -1,6 +1,6 @@ import { DocumentPickerResponse } from 'react-native-document-picker'; import { getFilenameFromUri } from '../utilities'; -import { SharedItem } from './share'; +import { SharedItem } from '.'; enum ROUTE { MAIN = 'Main', diff --git a/src/utilities/meme.ts b/src/utilities/meme.ts index e0db3d9..79a31e3 100644 --- a/src/utilities/meme.ts +++ b/src/utilities/meme.ts @@ -4,7 +4,7 @@ import Share from 'react-native-share'; import Clipboard from '@react-native-clipboard/clipboard'; import { Meme } from '../database'; import { ROUTE, RootStackParamList } from '../types'; -import { noOp } from './constants'; +import { noOp } from '.'; const favoriteMeme = (realm: Realm, meme: Meme) => { realm.write(() => { diff --git a/src/utilities/validation.ts b/src/utilities/validation.ts index 5886ba4..606684f 100644 --- a/src/utilities/validation.ts +++ b/src/utilities/validation.ts @@ -1,4 +1,4 @@ -import { isHexColor, isRgbColor } from './color'; +import { isHexColor, isRgbColor } from '.'; interface StringValidationResult { valid: boolean;