diff --git a/app/_layout.tsx b/app/_layout.tsx index 7c50c19..e45856c 100644 --- a/app/_layout.tsx +++ b/app/_layout.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React, { useState, useEffect } from 'react'; import { router, Stack } from 'expo-router'; export const unstable_settings = { @@ -8,10 +8,24 @@ export const unstable_settings = { export default function App() { + const [auth, setAuth] = useState(false); + useEffect(() => { - router.replace('/login'); + if (auth) { + router.replace('/explore'); + } else { + router.replace('/login'); + } }, []); + useEffect(() => { + if (auth) { + router.replace('/explore'); + } else { + router.replace('/login'); + } + }, [auth]); + return ( + ); } \ No newline at end of file diff --git a/app/helpers.jsx b/app/helpers.jsx index 61e2f09..eab6d35 100644 --- a/app/helpers.jsx +++ b/app/helpers.jsx @@ -3,13 +3,13 @@ import Constants from 'expo-constants'; import { View, Text, Image, TextInput, TouchableOpacity } from 'react-native'; import { Ionicons } from '@expo/vector-icons'; import { Picker } from '@react-native-picker/picker'; +import { Children } from 'react'; const StatusBarHeight = Constants.statusBarHeight; export const StyledContainer = styled.View` flex: 1; padding: 25px; - padding-top: ${StatusBarHeight + 10}px; `; export const InnerContainer = styled.View` @@ -117,6 +117,18 @@ export const TextLinkContent = styled.Text` font-size: 15px; ` +export const PageHeader = ({ + children +}) => { + return ( + + + {children} + + + ) +} + export const LoginTextInput = ({ label, icon, diff --git a/app/login.jsx b/app/login.jsx index 56bb74f..a50786e 100644 --- a/app/login.jsx +++ b/app/login.jsx @@ -1,10 +1,12 @@ import React, { useState, useEffect } from 'react'; +import { router } from 'expo-router'; import { StatusBar } from 'expo-status-bar'; import { useFormik } from 'formik'; import { SafeAreaView } from 'react-native-safe-area-context'; import { Tabs, Link } from 'expo-router'; import { useColorScheme } from '@/hooks/useColorScheme'; import { + PageHeader, StyledContainer, InnerContainer, StyledFormArea, @@ -23,6 +25,8 @@ import { export default function TabLayout() { const colorScheme = useColorScheme(); + const [hidePassword, setHidePassword] = useState(true); + const [loginButtonDisabled, setLoginButtonDisabled] = useState(true); const formik = useFormik({ initialValues: { @@ -36,10 +40,6 @@ export default function TabLayout() { }); const formValues = formik.values; - - const [login, setLogin] = useState(false); - const [hidePassword, setHidePassword] = useState(true); - const [loginButtonDisabled, setLoginButtonDisabled] = useState(true); useEffect(() => { if (formValues) { @@ -53,78 +53,53 @@ export default function TabLayout() { return ( - {login ? ( - - ( - - ), - }} - /> - ( - - ), - }} - /> - - ) : ( - - - - - - Tones - Account Login - - - - ... - - Login - - - - Don't have an account already? - - Register - - - - - - )} + + + + + + + Tones + Account Login + + + + ... + + Login + + + + Don't have an account already? + + Register + + + + + ); } \ No newline at end of file diff --git a/app/register.jsx b/app/register.jsx index bd76212..b07e0fa 100644 --- a/app/register.jsx +++ b/app/register.jsx @@ -1,9 +1,12 @@ import React, { useState, useEffect } from 'react'; -import { ScrollView } from 'react-native'; +import { router } from 'expo-router'; +import { View, ScrollView, Text, TouchableOpacity } from 'react-native'; import { StatusBar } from 'expo-status-bar'; -import { useFormik, Formik } from 'formik'; +import { useFormik } from 'formik'; import { SafeAreaView } from 'react-native-safe-area-context'; +import { Ionicons } from '@expo/vector-icons'; import { + PageHeader, StyledContainer, InnerContainer, StyledFormArea, @@ -64,93 +67,101 @@ export default function Register() { }, [formValues]) return ( - - - - - - - Tones - Account Register - - - - - - - - - ... - - Register - - - - - + + + + + Back to Login + + + + + + + + + Tones + Account Register + + + + + + + + + ... + + Register + + + + + + ) } \ No newline at end of file diff --git a/assets/images/icon.png b/assets/images/icon.png index a0b1526..0f6156f 100644 Binary files a/assets/images/icon.png and b/assets/images/icon.png differ diff --git a/package-lock.json b/package-lock.json index c9a0889..5c26af9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.1", "dependencies": { "@expo/vector-icons": "^14.0.2", - "@react-native-picker/picker": "^2.7.7", + "@react-native-picker/picker": "2.7.5", "@react-navigation/native": "^6.0.2", "expo": "~51.0.24", "expo-constants": "~16.0.2", @@ -5866,9 +5866,9 @@ } }, "node_modules/@react-native-picker/picker": { - "version": "2.7.7", - "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.7.7.tgz", - "integrity": "sha512-CTHthVmx8ujlH/u5AnxLQfsheh/DoEbo+Kbx0HGTlbKVLC1eZ4Kr9jXIIUcwB7JEgOXifdZIPQCsoTc/7GQ0ag==", + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/@react-native-picker/picker/-/picker-2.7.5.tgz", + "integrity": "sha512-vhMaOLkXSUb+YKVbukMJToU4g+89VMhBG2U9+cLYF8X8HtFRidrHjohGqT8/OyesDuKIXeLIP+UFYI9Q9CRA9Q==", "peerDependencies": { "react": "*", "react-native": "*" diff --git a/package.json b/package.json index cce343b..8017cf3 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@expo/vector-icons": "^14.0.2", - "@react-native-picker/picker": "^2.7.7", + "@react-native-picker/picker": "2.7.5", "@react-navigation/native": "^6.0.2", "expo": "~51.0.24", "expo-constants": "~16.0.2",