diff --git a/app/(explore)/category.tsx b/app/(explore)/category.tsx index 499c0c9..2627ab0 100644 --- a/app/(explore)/category.tsx +++ b/app/(explore)/category.tsx @@ -10,9 +10,9 @@ import RenderHtml from 'react-native-render-html'; import { useNavigation } from '@react-navigation/native'; import { useSelector } from 'react-redux'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { ThemedView } from '@/lib/components/ThemedView'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { ThemedView } from '@/src/components/themed/ThemedView'; export default function CategoryScreen() { const colorScheme = useColorScheme() ?? 'light'; diff --git a/app/(onboarding)/start.tsx b/app/(onboarding)/start.tsx index 186619f..104416d 100644 --- a/app/(onboarding)/start.tsx +++ b/app/(onboarding)/start.tsx @@ -6,16 +6,16 @@ import DeviceInfo from 'react-native-device-info'; import { useTranslation } from 'react-i18next'; import Ionicons from '@expo/vector-icons/Ionicons'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { useToken } from '@/lib/context/AppProvider'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { Message } from '@/lib/services/message'; -import { Request } from '@/lib/services/request'; -import { store } from '@/lib/store/store'; -import { setSession } from '@/lib/store/dataStore'; -import ThemedInput from '@/lib/components/ThemedInput'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { useToken } from '@/src/context/AppProvider'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { Message } from '@/src/services/message'; +import { Request } from '@/src/services/request'; +import { store } from '@/src/store/store'; +import { setSession } from '@/src/store/dataStore'; +import ThemedInput from '@/src/components/themed/ThemedInput'; export default function OnboardStartScreen() { const colorScheme = useColorScheme() ?? 'light'; diff --git a/app/(settings)/notifications.tsx b/app/(settings)/notifications.tsx index 1eeb57a..652b1b6 100644 --- a/app/(settings)/notifications.tsx +++ b/app/(settings)/notifications.tsx @@ -5,16 +5,16 @@ import { DateTimePickerAndroid, DateTimePickerEvent } from '@react-native-commun import { useSelector } from 'react-redux'; import { useTranslation } from 'react-i18next'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { Request } from '@/lib/services/request'; -import { useToken } from '@/lib/context/AppProvider'; -import { Message } from '@/lib/services/message'; -import { store } from '@/lib/store/store'; -import { setSession } from '@/lib/store/dataStore'; -import { ThemedIcon } from '@/lib/components/ThemedIcon'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { Request } from '@/src/services/request'; +import { useToken } from '@/src/context/AppProvider'; +import { Message } from '@/src/services/message'; +import { store } from '@/src/store/store'; +import { setSession } from '@/src/store/dataStore'; +import { ThemedIcon } from '@/src/components/themed/ThemedIcon'; export default function CategoryScreen() { const colorScheme = useColorScheme() ?? 'light'; diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx index 693bdc1..6b2aad4 100644 --- a/app/(tabs)/_layout.tsx +++ b/app/(tabs)/_layout.tsx @@ -1,9 +1,9 @@ import { Tabs } from 'expo-router'; import React from 'react'; -import { TabBarIcon } from '@/lib/components/navigation/TabBarIcon'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; +import { TabBarIcon } from '@/src/components/navigation/TabBarIcon'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; export default function TabLayout() { const colorScheme = useColorScheme(); diff --git a/app/(tabs)/explore.tsx b/app/(tabs)/explore.tsx index d813fdc..2c2678a 100644 --- a/app/(tabs)/explore.tsx +++ b/app/(tabs)/explore.tsx @@ -14,14 +14,14 @@ import { AutocompleteDropdown } from 'react-native-autocomplete-dropdown'; import Modal from "react-native-modal"; import { useTranslation } from 'react-i18next'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { Request } from '@/lib/services/request'; -import List from '@/lib/components/List'; -import { store } from '@/lib/store/store'; -import { setViewCategory } from '@/lib/store/dataStore'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { Request } from '@/src/services/request'; +import List from '@/src/components/List'; +import { store } from '@/src/store/store'; +import { setViewCategory } from '@/src/store/dataStore'; export default function ExploreScreen() { const colorScheme = useColorScheme() ?? 'light'; diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index 466c79d..fcf324d 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -7,15 +7,15 @@ import { useSelector } from 'react-redux'; import { LogLevel, OneSignal } from 'react-native-onesignal'; import { useTranslation } from 'react-i18next'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { useToken } from '@/lib/context/AppProvider'; -import { Request } from '@/lib/services/request'; -import List from '@/lib/components/List'; -import { Message } from '@/lib/services/message'; -import { ThemedIcon } from '@/lib/components/ThemedIcon'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { useToken } from '@/src/context/AppProvider'; +import { Request } from '@/src/services/request'; +import List from '@/src/components/List'; +import { Message } from '@/src/services/message'; +import { ThemedIcon } from '@/src/components/themed/ThemedIcon'; export default function HomeScreen() { const colorScheme = useColorScheme() ?? 'light'; diff --git a/app/(tabs)/map.tsx b/app/(tabs)/map.tsx index 4d02fe8..f69b1a3 100644 --- a/app/(tabs)/map.tsx +++ b/app/(tabs)/map.tsx @@ -7,12 +7,12 @@ import { useTranslation } from 'react-i18next'; Mapbox.setAccessToken( "pk.eyJ1IjoibWFhcnRlbnZyOTgiLCJhIjoiY2x6ZDFqMGp1MGVyejJrczhqcXpvYm9iYiJ9.XvYcL62dWiJQiFmG6mOoug" ); -import { ThemedText } from '@/lib/components/ThemedText'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import List from '@/lib/components/List'; -import { Request } from '@/lib/services/request'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import List from '@/src/components/List'; +import { Request } from '@/src/services/request'; export default function MapScreen() { const colorScheme = useColorScheme() ?? 'light'; diff --git a/app/(tabs)/settings.tsx b/app/(tabs)/settings.tsx index 684f4e3..041ae19 100644 --- a/app/(tabs)/settings.tsx +++ b/app/(tabs)/settings.tsx @@ -13,18 +13,18 @@ import { useTranslation } from 'react-i18next'; import { BottomSheet, BottomSheetRefType } from 'react-native-select-bottom-list'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { useToken } from '@/lib/context/AppProvider'; -import { Message } from '@/lib/services/message'; -import { Request } from '@/lib/services/request'; -import CustomModal from '@/lib/components/EditModal'; -import { store } from '@/lib/store/store'; -import { setSession, setReloadCalendar } from '@/lib/store/dataStore'; -import { ThemedIcon } from '@/lib/components/ThemedIcon'; -import List from '@/lib/components/List'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { useToken } from '@/src/context/AppProvider'; +import { Message } from '@/src/services/message'; +import { Request } from '@/src/services/request'; +import CustomModal from '@/src/components/EditModal'; +import { store } from '@/src/store/store'; +import { setSession, setReloadCalendar } from '@/src/store/dataStore'; +import { ThemedIcon } from '@/src/components/themed/ThemedIcon'; +import List from '@/src/components/List'; export default function SettingsScreen() { const colorScheme = useColorScheme() ?? 'light'; @@ -266,20 +266,14 @@ export default function SettingsScreen() { ]} viewStyle={styles.languagesList} renderItem={(item: any, index: any) => ( - - {item.key === language ? - ( - changeLanguage( item.key )}> - {item.name} - - - ) : ( - changeLanguage( item.key )}> - {item.name} - - ) + + changeLanguage( item.key )}> + {item.name} + + {item.key === language && + } - + )} /> diff --git a/app/_layout.tsx b/app/_layout.tsx index d930e74..8330551 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -7,9 +7,9 @@ import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native import Toast from 'react-native-toast-message'; import { AutocompleteDropdownContextProvider } from 'react-native-autocomplete-dropdown'; -import { AppProvider } from '@/lib/context/AppProvider'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { store } from '@/lib/store/store'; +import { AppProvider } from '@/src/context/AppProvider'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { store } from '@/src/store/store'; // Prevent the splash screen from auto-hiding before asset loading is complete. SplashScreen.preventAutoHideAsync(); diff --git a/app/index.tsx b/app/index.tsx index c9317c3..891ffe5 100644 --- a/app/index.tsx +++ b/app/index.tsx @@ -2,14 +2,14 @@ import React, { useEffect } from 'react'; import { Redirect, useRouter } from 'expo-router'; import { useTranslation } from 'react-i18next'; -import '@/lib/localization/i18n'; +import '@/src/localization/i18n'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { useToken } from '@/lib/context/AppProvider'; -import { Request } from '@/lib/services/request'; -import { store } from '@/lib/store/store'; -import { setSession } from '@/lib/store/dataStore'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { useToken } from '@/src/context/AppProvider'; +import { Request } from '@/src/services/request'; +import { store } from '@/src/store/store'; +import { setSession } from '@/src/store/dataStore'; export default function OnboardStartScreen() { const { token, isLoading } = useToken(); diff --git a/lib/components/__tests__/ThemedText-test.tsx b/lib/components/__tests__/ThemedText-test.tsx deleted file mode 100644 index acf89f8..0000000 --- a/lib/components/__tests__/ThemedText-test.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import * as React from 'react'; -import renderer from 'react-test-renderer'; - -import { ThemedText } from '../ThemedText'; - -it( `renders correctly`, () => { - const tree = renderer.create( Snapshot test! ).toJSON(); - - expect( tree ).toMatchSnapshot(); -} ); diff --git a/lib/components/__tests__/__snapshots__/ThemedText-test.tsx.snap b/lib/components/__tests__/__snapshots__/ThemedText-test.tsx.snap deleted file mode 100644 index b68e53e..0000000 --- a/lib/components/__tests__/__snapshots__/ThemedText-test.tsx.snap +++ /dev/null @@ -1,24 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`renders correctly 1`] = ` - - Snapshot test! - -`; diff --git a/lib/components/EditModal.tsx b/src/components/EditModal.tsx similarity index 92% rename from lib/components/EditModal.tsx rename to src/components/EditModal.tsx index 95f4048..24968be 100644 --- a/lib/components/EditModal.tsx +++ b/src/components/EditModal.tsx @@ -7,11 +7,11 @@ import { import Modal from "react-native-modal"; import { useTranslation } from 'react-i18next'; -import { Colors } from '@/lib/constants/Colors'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import ThemedInput from '@/lib/components/ThemedInput'; +import { Colors } from '@/src/constants/Colors'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import ThemedInput from '@/src/components/themed/ThemedInput'; interface Field { name: string; diff --git a/lib/components/List.tsx b/src/components/List.tsx similarity index 87% rename from lib/components/List.tsx rename to src/components/List.tsx index 67e8f90..2749140 100644 --- a/lib/components/List.tsx +++ b/src/components/List.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { ViewStyle } from 'react-native'; -import { ThemedView } from '@/lib/components/ThemedView'; +import { ThemedView } from '@/src/components/themed/ThemedView'; interface ListProps { data: any; diff --git a/lib/components/navigation/TabBarIcon.tsx b/src/components/navigation/TabBarIcon.tsx similarity index 100% rename from lib/components/navigation/TabBarIcon.tsx rename to src/components/navigation/TabBarIcon.tsx diff --git a/lib/components/ThemedIcon.tsx b/src/components/themed/ThemedIcon.tsx similarity index 82% rename from lib/components/ThemedIcon.tsx rename to src/components/themed/ThemedIcon.tsx index 9f961d4..59fdb22 100644 --- a/lib/components/ThemedIcon.tsx +++ b/src/components/themed/ThemedIcon.tsx @@ -3,8 +3,8 @@ import Ionicons from '@expo/vector-icons/Ionicons'; import { type IconProps } from '@expo/vector-icons/build/createIconSet'; import { type ComponentProps } from 'react'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; -import { Colors } from '@/lib/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; +import { Colors } from '@/src/constants/Colors'; export function ThemedIcon({ style, ...rest }: IconProps['name']>) { const colorScheme = useColorScheme() ?? 'light'; diff --git a/lib/components/ThemedInput.tsx b/src/components/themed/ThemedInput.tsx similarity index 85% rename from lib/components/ThemedInput.tsx rename to src/components/themed/ThemedInput.tsx index 0060747..511093d 100644 --- a/lib/components/ThemedInput.tsx +++ b/src/components/themed/ThemedInput.tsx @@ -1,9 +1,9 @@ import React from 'react'; import { TextInput, StyleSheet, TextInputProps, StyleProp, TextStyle, ViewStyle } from 'react-native'; -import { ThemedView } from '@/lib/components/ThemedView'; -import { ThemedText } from '@/lib/components/ThemedText'; -import { Colors } from '@/lib/constants/Colors'; -import { useColorScheme } from '@/lib/hooks/useColorScheme'; +import { ThemedView } from '@/src/components/themed/ThemedView'; +import { ThemedText } from '@/src/components/themed/ThemedText'; +import { Colors } from '@/src/constants/Colors'; +import { useColorScheme } from '@/src/hooks/useColorScheme'; interface InputComponentProps extends TextInputProps { label?: string; diff --git a/lib/components/ThemedText.tsx b/src/components/themed/ThemedText.tsx similarity index 95% rename from lib/components/ThemedText.tsx rename to src/components/themed/ThemedText.tsx index e8532c5..184af01 100644 --- a/lib/components/ThemedText.tsx +++ b/src/components/themed/ThemedText.tsx @@ -1,6 +1,6 @@ import { Text, type TextProps, StyleSheet } from 'react-native'; -import { useThemeColor } from '@/lib/hooks/useThemeColor'; +import { useThemeColor } from '@/src/hooks/useThemeColor'; export type ThemedTextProps = TextProps & { lightColor?: string; diff --git a/lib/components/ThemedView.tsx b/src/components/themed/ThemedView.tsx similarity index 87% rename from lib/components/ThemedView.tsx rename to src/components/themed/ThemedView.tsx index 1c77f54..bdbd6db 100644 --- a/lib/components/ThemedView.tsx +++ b/src/components/themed/ThemedView.tsx @@ -1,6 +1,6 @@ import { View, type ViewProps } from 'react-native'; -import { useThemeColor } from '@/lib/hooks/useThemeColor'; +import { useThemeColor } from '@/src/hooks/useThemeColor'; export type ThemedViewProps = ViewProps & { lightColor?: string; diff --git a/lib/constants/Colors.ts b/src/constants/Colors.ts similarity index 100% rename from lib/constants/Colors.ts rename to src/constants/Colors.ts diff --git a/lib/context/AppProvider.tsx b/src/context/AppProvider.tsx similarity index 92% rename from lib/context/AppProvider.tsx rename to src/context/AppProvider.tsx index 8616719..1f164a2 100644 --- a/lib/context/AppProvider.tsx +++ b/src/context/AppProvider.tsx @@ -1,5 +1,5 @@ import { createContext, PropsWithChildren, useContext } from "react"; -import { useStorageState } from '@/lib/context/UseStorageState'; +import { useStorageState } from '@/src/context/UseStorageState'; type TokenType = { token: string | null; diff --git a/lib/context/UseStorageState.tsx b/src/context/UseStorageState.tsx similarity index 100% rename from lib/context/UseStorageState.tsx rename to src/context/UseStorageState.tsx diff --git a/lib/hooks/useColorScheme.ts b/src/hooks/useColorScheme.ts similarity index 100% rename from lib/hooks/useColorScheme.ts rename to src/hooks/useColorScheme.ts diff --git a/lib/hooks/useColorScheme.web.ts b/src/hooks/useColorScheme.web.ts similarity index 100% rename from lib/hooks/useColorScheme.web.ts rename to src/hooks/useColorScheme.web.ts diff --git a/lib/hooks/useThemeColor.ts b/src/hooks/useThemeColor.ts similarity index 91% rename from lib/hooks/useThemeColor.ts rename to src/hooks/useThemeColor.ts index 8b0a6f1..19d55d2 100644 --- a/lib/hooks/useThemeColor.ts +++ b/src/hooks/useThemeColor.ts @@ -5,7 +5,7 @@ import { useColorScheme } from 'react-native'; -import { Colors } from '@/lib/constants/Colors'; +import { Colors } from '@/src/constants/Colors'; export function useThemeColor( props: { light?: string; dark?: string }, diff --git a/lib/localization/i18n.tsx b/src/localization/i18n.tsx similarity index 100% rename from lib/localization/i18n.tsx rename to src/localization/i18n.tsx diff --git a/lib/services/message.tsx b/src/services/message.tsx similarity index 100% rename from lib/services/message.tsx rename to src/services/message.tsx diff --git a/lib/services/request.tsx b/src/services/request.tsx similarity index 100% rename from lib/services/request.tsx rename to src/services/request.tsx diff --git a/lib/store/dataStore.tsx b/src/store/dataStore.tsx similarity index 100% rename from lib/store/dataStore.tsx rename to src/store/dataStore.tsx diff --git a/lib/store/store.tsx b/src/store/store.tsx similarity index 100% rename from lib/store/store.tsx rename to src/store/store.tsx