diff --git a/front/Navigation.tsx b/front/Navigation.tsx index 63f0524..b4e32db 100644 --- a/front/Navigation.tsx +++ b/front/Navigation.tsx @@ -30,7 +30,7 @@ const protectedRoutes = () => ({ }) as const; const publicRoutes = () => ({ - Start: { component: StartPageView, options: { title: translate('welcome'), headerShown: false } }, + Start: { component: StartPageView, options: { title: "Chromacase", headerShown: false } }, Login: { component: AuthenticationView, options: { title: translate('signInBtn') } }, }) as const; diff --git a/front/views/AuthenticationView.tsx b/front/views/AuthenticationView.tsx index cb63382..7469370 100644 --- a/front/views/AuthenticationView.tsx +++ b/front/views/AuthenticationView.tsx @@ -32,9 +32,10 @@ const handleSignup = async (username: string, password: string, email: string, a } }; -const AuthenticationView = () => { +const AuthenticationView = ({ route, navigation }: any) => { const dispatch = useDispatch(); - const [mode, setMode] = React.useState("signin" as "signin" | "signup"); + const isSignup = route.params?.isSignup ?? false; + const [mode, setMode] = React.useState((isSignup ? "signup" : "signin") as "signin" | "signup"); return (
diff --git a/front/views/StartPageView.tsx b/front/views/StartPageView.tsx index 5969948..827bb21 100644 --- a/front/views/StartPageView.tsx +++ b/front/views/StartPageView.tsx @@ -6,16 +6,17 @@ import { Stack, Box, Button, - Pressable, + AspectRatio, + Column, useBreakpointValue, Image, + Link, Center, Row, Heading, Icon, } from "native-base"; import { FontAwesome5 } from "@expo/vector-icons"; -import Card from "../components/Card"; import BigActionButton from "../components/BigActionButton"; const imgLogin = @@ -24,15 +25,24 @@ const imgGuest = "https://imgs.search.brave.com/BzxPphCCWbF_Vm0KhenmxH61M3Vm3_HhxWO0s_rw4Nk/rs:fit:1200:1200:1/g:ce/aHR0cHM6Ly9pLnJl/ZGQuaXQvYW9waWtp/dXFrOTV6LmpwZw"; const imgRegister = "https://media.discordapp.net/attachments/717080637038788731/1093674574027182141/image.png"; + +const imgBanner = + "https://chromacase.studio/wp-content/uploads/2023/03/music-sheet-music-color-2462438.jpg"; + +const imgLogo = + "https://chromacase.studio/wp-content/uploads/2023/03/cropped-cropped-splashLogo-280x300.png"; + const StartPageView = () => { - const navigation = useNavigation(); + const navigate = useNavigation(); const screenSize = useBreakpointValue({ base: "small", md: "big" }); const isSmallScreen = screenSize === "small"; return ( - +
{ Chromacase logo } size={isSmallScreen ? "5xl" : "6xl"} /> - - Chromacase - + Chromacase
{ image={imgLogin} iconName="user" iconProvider={FontAwesome5} - onPress={() => navigation.navigate("Login")} + onPress={() => navigation.navigate("Login", { isSignup: false })} style={{ width: isSmallScreen ? "90%" : "clamp(100px, 33.3%, 600px)", height: "300px", @@ -99,13 +107,95 @@ const StartPageView = () => { subtitle="Create an account to save your progress" iconProvider={FontAwesome5} iconName="user-plus" - onPress={() => navigation.navigate("Login")} + onPress={() => navigation.navigate("Login", { isSignup: true })} style={{ height: "150px", width: isSmallScreen ? "90%" : "clamp(150px, 50%, 600px)", }} />
+ + + + What is Chromacase? + + + Chromacase is a free and open source project that aims to provide a + complete learning experience for anyone willing to learn piano. + + + + + + + + Chromacase Banner + + + + Click here for more infos + + + + + ); };