diff --git a/app.json b/app.json
index 2a248f42..8ce0dbe7 100644
--- a/app.json
+++ b/app.json
@@ -26,7 +26,8 @@
"foregroundImage": "./assets/images/adaptive-icon.png",
"backgroundColor": "#ffffff"
},
- "package": "medical.app"
+ "package": "medical.app",
+ "softwareKeyboardLayoutMode": "pan"
},
"web": {
"bundler": "metro",
diff --git a/app/(auth)/SignIn&SignOut/LetsYouIn.tsx b/app/(auth)/SignIn&SignOut/LetsYouIn.tsx
new file mode 100644
index 00000000..b6485c85
--- /dev/null
+++ b/app/(auth)/SignIn&SignOut/LetsYouIn.tsx
@@ -0,0 +1,145 @@
+import * as React from "react";
+import { StyleSheet, Text, View, Image, TouchableOpacity } from "react-native";
+import { useState } from "react";
+import { LeftArrow } from "@/components/UI/icons";
+import { router } from "expo-router";
+import Typography from "../../../constants/Typography";
+import { Colors } from "../../../constants/Colors";
+
+const LetsYouIn = () => {
+ const [visible, setVisible] = React.useState(false);
+ const hideDialog = () => setVisible(false);
+
+ return (
+
+
+
+
+
+
+
+
+
+
+ Let's you in
+
+
+
+
+
+
+
+ Continue with facebook
+
+
+
+
+
+
+ Continue with Google
+
+
+
+
+
+ Continue with Apple
+
+
+
+
+
+
+
+
+ Sign in with password
+
+
+
+
+ Don't have an account?
+
+ router.replace("/(auth)/SignIn&SignOut/SignUpBlankForm")
+ }
+ >
+ Sign up
+
+
+
+ );
+};
+
+export default LetsYouIn;
+
+const styles = StyleSheet.create({
+ signupText: {
+ color: "#246BFD",
+ fontWeight: "600",
+ },
+ signText: {
+ fontSize: 16,
+ color: "#FFFFFF",
+ fontWeight: "bold",
+ },
+ signinBtn: {
+ backgroundColor: "#246BFD",
+ width: "100%",
+ height: 58,
+ borderRadius: 100,
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ textBtn: {
+ fontSize: 16,
+ fontWeight: "bold",
+ },
+ middleButton: {
+ flexDirection: "row",
+ gap: 15,
+ borderWidth: 1,
+ borderColor: "#eeeeee",
+ justifyContent: "center",
+ alignItems: "center",
+ padding: 15,
+ width: "110%",
+ borderRadius: 16,
+ },
+ Buttons: {
+ gap: 10,
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ textOne: {
+ fontSize: 48,
+ fontWeight: "bold",
+ color: "#212121",
+ fontFamily: "Bold",
+ },
+ midPartOne: {
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ middlePart: {
+ gap: 30,
+ },
+ arrow: {
+ alignSelf: "flex-start",
+ },
+ container: {
+ flex: 1,
+ flexDirection: "column",
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#FFFFFF",
+ gap: 20,
+ paddingTop: 24,
+ paddingLeft: 24,
+ paddingBottom: 48,
+ paddingRight: 24,
+ // borderWidth: 4,
+ // borderColor: 'red',
+ },
+});
diff --git a/app/(auth)/SignIn&SignOut/SignInBlankForm.tsx b/app/(auth)/SignIn&SignOut/SignInBlankForm.tsx
new file mode 100644
index 00000000..816ead12
--- /dev/null
+++ b/app/(auth)/SignIn&SignOut/SignInBlankForm.tsx
@@ -0,0 +1,339 @@
+import React, { useState } from "react";
+import {
+ StyleSheet,
+ Text,
+ View,
+ Image,
+ TouchableOpacity,
+ TextInput,
+ TouchableWithoutFeedback,
+} from "react-native";
+import { Ionicons } from "@expo/vector-icons";
+import CheckBox from "expo-checkbox";
+import { LeftArrow } from "@/components/UI/icons";
+import { router } from "expo-router";
+import Typography from '../../../constants/Typography';
+import {Colors} from '../../../constants/Colors';
+
+const Login = () => {
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+ const [secureTextEntry, setSecureTextEntry] = useState(true);
+ const [isChecked, setIsChecked] = useState(false);
+ const [emailFocused, setEmailFocused] = useState(false);
+ const [passwordFocused, setPasswordFocused] = useState(false);
+
+
+ const handleEmailChange = (text: string) => {
+ setEmail(text);
+ };
+
+ const handlePasswordChange = (text: string) => {
+ setPassword(text);
+ };
+
+ const togglePasswordVisibility = () => {
+ setSecureTextEntry(!secureTextEntry);
+ };
+
+ const handleEmailFocus = () => {
+ setEmailFocused(true);
+ setPasswordFocused(false);
+ };
+
+ const handlePasswordFocus = () => {
+ setPasswordFocused(true);
+ setEmailFocused(false);
+ }
+
+ const handleEmailBlur = () => {
+ setEmailFocused(false);
+ };
+
+ const handlePasswordBlur = () => {
+ setPasswordFocused(false);
+ }
+
+ return (
+
+
+ router.replace("/(auth)/SignIn&SignOut/SignUpBlankForm")}>
+
+
+
+
+
+
+
+
+
+ Login to Your Account
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remember me
+
+
+
+
+ Sign in
+
+
+
+
+ Forgot the password?
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Don’t have an account?
+ router.replace("/(auth)/SignIn&SignOut/SignUpBlankForm")}
+ >
+ Sign up
+
+
+
+ );
+};
+
+export default Login;
+
+const styles = StyleSheet.create({
+
+ inputOneFocused: {
+ borderColor: "#246BFD",
+ borderWidth: 2,
+ },
+ emailFocused: {
+ color: "#212121",
+ fontSize: 16
+ },
+ iconFocused: {
+ tintColor: "#246BFD",
+ },
+ passwordInputContainerFocused: {
+ borderColor: "#246BFD",
+ // borderWidth: 2,
+ // borderRadius: 5,
+ },
+ icon: {
+ tintColor: "#868a94",
+ },
+ eye:{
+ marginRight: 10
+ },
+ passwordIconContainer:{
+ flexDirection: "row",
+ alignItems: "center",
+ justifyContent: "flex-end",
+ },
+ textInputFocused: {
+ borderColor: "blue",
+ },
+ checkbox: {
+ width: 24,
+ height: 24,
+ borderRadius: 8,
+ borderWidth: 3,
+ borderColor: "#246BFD",
+ },
+ remember: {
+ fontSize: 14,
+ fontWeight: "600",
+ lineHeight: 19.6,
+ letterSpacing: 0.2,
+ },
+ Check: {
+ justifyContent: "center",
+ alignItems: "center",
+ flexDirection: "row",
+ gap: 10,
+ },
+ smallCont: {
+ width: 80,
+ height: 60,
+ backgroundColor: "#FFFFFF",
+ borderColor: "#eeeeee",
+ borderWidth: 1,
+ borderRadius: 16,
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ overCont: {
+ flexDirection: "row",
+ gap: 10,
+ },
+ passwordInputContainer: {
+ // flex: 1,
+ flexDirection: "row",
+ alignItems: "center",
+ },
+ inputs1: {
+ backgroundColor: "#fff",
+ margin: 30,
+ marginTop: 30,
+ marginBottom: 0,
+ padding: 8,
+ borderRadius: 10,
+ paddingHorizontal: 10,
+ },
+ inputOne: {
+ borderRadius: 16,
+ backgroundColor: "#FAFAFA",
+ width: 380,
+ height: 60,
+ padding: 8,
+ paddingHorizontal: 10,
+ flexDirection: "row",
+ paddingLeft: 20,
+ alignItems: "center",
+ gap: 10,
+ },
+ email: {
+ fontSize: 16,
+ flex: 1,
+ },
+ signText: {
+ fontSize: 16,
+ color: "#FFFFFF",
+ fontWeight: "bold",
+ },
+ signinBtn: {
+ backgroundColor: "#246BFD",
+ width: 380,
+ height: 58,
+ borderRadius: 100,
+ justifyContent: "center",
+ alignItems: "center",
+ shadowColor: '#246BFD',
+ elevation: 15,
+ },
+ textBtn: {
+ fontSize: 16,
+ fontWeight: "bold",
+ },
+ middleButton: {
+ flexDirection: "row",
+ gap: 15,
+ borderWidth: 0.5,
+ justifyContent: "center",
+ alignItems: "center",
+ padding: 10,
+ width: 380,
+ borderRadius: 16,
+ },
+ Buttons: {
+ gap: 10,
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ textOne: {
+ fontSize: 32,
+ fontWeight: "bold",
+ color: "#212121",
+ },
+ midPartOne: {
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ frogotPass: {
+ fontSize: 16,
+ fontWeight: "600",
+ lineHeight: 22.4,
+ letterSpacing: 0.2,
+ textAlign: "center",
+ color: "#246BFD",
+ },
+ account: {
+ flexDirection: "row",
+ },
+ middlePart: {
+ gap: 30,
+ },
+ arrow: {
+ alignSelf: "flex-start"
+ },
+ container: {
+ flex: 1,
+ flexDirection: "column",
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#FFFFFF",
+ gap: 15,
+ paddingTop: 24,
+ paddingLeft: 24,
+ paddingBottom: 48,
+ paddingRight: 24,
+ },
+ LoginText: {
+ color: "#246BFD",
+ fontWeight: "600",
+ },
+
+});
diff --git a/app/(auth)/SignIn&SignOut/SignUpBlankForm.tsx b/app/(auth)/SignIn&SignOut/SignUpBlankForm.tsx
new file mode 100644
index 00000000..d6726509
--- /dev/null
+++ b/app/(auth)/SignIn&SignOut/SignUpBlankForm.tsx
@@ -0,0 +1,330 @@
+import React, { useState } from "react";
+import {
+ StyleSheet,
+ Text,
+ View,
+ Image,
+ TouchableOpacity,
+ TextInput,
+ TouchableWithoutFeedback,
+ KeyboardAvoidingView,
+ ScrollView,
+ Platform,
+} from "react-native";
+import { Ionicons } from "@expo/vector-icons";
+import CheckBox from "expo-checkbox";
+import { LeftArrow } from "@/components/UI/icons";
+import { router } from "expo-router";
+import Typography from "../../../constants/Typography";
+import { Colors } from "../../../constants/Colors";
+
+const Signup = () => {
+ const [email, setEmail] = useState("");
+ const [password, setPassword] = useState("");
+ const [secureTextEntry, setSecureTextEntry] = useState(true);
+ const [isChecked, setIsChecked] = useState(false);
+ const [isFocused, setIsFocused] = useState(false);
+ const [passwordFocused, setPasswordFocused] = useState(false);
+
+ const handleEmailChange = (text: string) => {
+ setEmail(text);
+ };
+
+ const handlePasswordChange = (text: string) => {
+ setPassword(text);
+ };
+
+ const togglePasswordVisibility = () => {
+ setSecureTextEntry(!secureTextEntry);
+ };
+
+ const handleEmailFocused = () => {
+ setIsFocused(true);
+ }
+ const handleEmailBlur = () => {
+ setIsFocused(false);
+ }
+ const handlePasswordFocused = () =>{
+ setPasswordFocused(true);
+ }
+ const handlePasswordBlur = () => {
+ setPasswordFocused(false);
+ }
+
+ return (
+
+ router.replace("/(auth)/SignIn&SignOut/LetsYouIn")}
+ >
+
+
+
+
+
+
+
+
+ Create new account
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remember me
+
+
+
+
+
+ Sign up
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Already have an account?
+
+ router.replace("/(auth)/SignIn&SignOut/SignInBlankForm")
+ }
+ >
+ Sign In
+
+
+
+
+ );
+};
+
+export default Signup;
+
+const styles = StyleSheet.create({
+
+ inputOneFocused: {
+ borderColor: "#246BFD",
+ borderWidth: 2,
+ },
+ emailFocused: {
+ color: "#212121",
+ fontSize: 16
+ },
+ iconFocused: {
+ tintColor: "#246BFD",
+ },
+ passwordInputContainerFocused: {
+ borderColor: "#246BFD",
+ },
+ icon: {
+ tintColor: "#868a94",
+ },
+ eye: {
+ marginRight: 40,
+ },
+ passwordIconContainer: {
+ flexDirection: "row",
+ alignItems: "center",
+ justifyContent: "flex-end",
+ },
+ textInputFocused: {
+ borderColor: "blue",
+ },
+ checkbox: {
+ width: 24,
+ height: 24,
+ borderRadius: 8,
+ borderWidth: 3,
+ borderColor: "#246BFD",
+ },
+ remember: {
+ fontSize: 14,
+ fontWeight: "600",
+ lineHeight: 19.6,
+ letterSpacing: 0.2,
+ },
+ Check: {
+ justifyContent: "center",
+ alignItems: "center",
+ flexDirection: "row",
+ gap: 10,
+ },
+ smallCont: {
+ width: 80,
+ height: 60,
+ backgroundColor: "#FFFFFF",
+ borderColor: "#eeeeee",
+ borderWidth: 1,
+ borderRadius: 16,
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ overCont: {
+ flexDirection: "row",
+ gap: 10,
+ },
+ passwordInputContainer: {
+ // flex: 1,
+ flexDirection: "row",
+ alignItems: "center",
+ },
+ inputs1: {
+ backgroundColor: "#fff",
+ margin: 30,
+ marginTop: 30,
+ marginBottom: 0,
+ padding: 8,
+ borderRadius: 10,
+ paddingHorizontal: 10,
+ },
+ inputOne: {
+ borderRadius: 16,
+ backgroundColor: "#FAFAFA",
+ width: 380,
+ height: 60,
+ padding: 8,
+ flexDirection: "row",
+ paddingLeft: 20,
+ alignItems: "center",
+ gap: 10,
+ },
+ email: {
+ fontSize: 16,
+ flex: 1,
+ },
+ signupText: {
+ color: "#246BFD",
+ fontWeight: "600",
+ },
+ // signText: {
+ // fontSize: 16,
+ // color: "#FFFFFF",
+ // fontWeight: "bold",
+ // },
+ signinBtn: {
+ backgroundColor: "#246BFD",
+ width: "90%",
+ height: 58,
+ borderRadius: 100,
+ justifyContent: "center",
+ alignItems: "center",
+ shadowColor: "#246BFD",
+ elevation: 15,
+ },
+ textBtn: {
+ fontSize: 16,
+ fontWeight: "bold",
+ },
+ middleButton: {
+ flexDirection: "row",
+ gap: 15,
+ borderWidth: 0.5,
+ justifyContent: "center",
+ alignItems: "center",
+ padding: 10,
+ width: 380,
+ borderRadius: 16,
+ },
+ Buttons: {
+ gap: 10,
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ textOne: {
+ fontSize: 32,
+ fontWeight: "bold",
+ color: "#212121",
+ },
+ midPartOne: {
+ justifyContent: "center",
+ alignItems: "center",
+ },
+ middlePart: {
+ gap: 30,
+ },
+ arrow: {
+ alignSelf: "flex-start",
+ },
+ container: {
+ flex: 1,
+ flexDirection: "column",
+ justifyContent: "center",
+ alignItems: "center",
+ backgroundColor: "#FFFFFF",
+ gap: 20,
+ paddingTop: 24,
+ paddingLeft: 24,
+ paddingBottom: 48,
+ paddingRight: 24,
+ },
+});
diff --git a/app/_layout.tsx b/app/_layout.tsx
index bb4bae56..ae6f559d 100644
--- a/app/_layout.tsx
+++ b/app/_layout.tsx
@@ -6,18 +6,18 @@ import * as SecureStore from "expo-secure-store";
import { useContext, useEffect, useState } from "react";
-import * as NavigationBar from "expo-navigation-bar";
-import { ZoomOutUp } from "react-native-reanimated";
import ThemeProvider, { ThemeContext } from "@/ctx/ThemeContext";
import { Pressable, View, useColorScheme } from "react-native";
import { ThemeType } from "@/constants/Types";
import { Text } from "@/components/Themed";
-import ModalProvider from "@/ctx/ModalContext";
-import ModalContainer from "@/components/UI/Modal";
-export { ErrorBoundary } from "expo-router";
+export {
+
+ ErrorBoundary,
+} from "expo-router";
export const unstable_settings = {
+
initialRouteName: "(auth)",
};
@@ -62,22 +62,7 @@ export default function RootLayout() {
}, [error]);
useEffect(() => {
- async function handleNavigationButtons() {
- await NavigationBar.setPositionAsync("absolute");
- await NavigationBar.setBackgroundColorAsync("#ffffff00");
- await NavigationBar.setBehaviorAsync("inset-swipe");
- await NavigationBar.setVisibilityAsync("hidden");
-
- NavigationBar.addVisibilityListener(({ visibility }) => {
- if (visibility === "visible") {
- setTimeout(async () => {
- await NavigationBar.setVisibilityAsync("hidden");
- }, 2000);
- }
- });
- }
- if (loaded) {
- handleNavigationButtons();
+ if (loaded && favoredTheme) {
SplashScreen.hideAsync();
}
}, [loaded, favoredTheme]);
@@ -88,9 +73,7 @@ export default function RootLayout() {
return (
-
-
-
+
);
}
@@ -102,9 +85,7 @@ function RootLayoutNav() {
-
-
>
);
}
diff --git a/app/index.tsx b/app/index.tsx
index d47c1f7b..c08c25ef 100644
--- a/app/index.tsx
+++ b/app/index.tsx
@@ -34,7 +34,7 @@ export default function App() {
useEffect(() => {
setTimeout(() => {
- router.push("/(auth)/SignIn&SignOut/SetYourFingerPrint");
+ router.push("/(auth)/SignIn&SignOut/LetsYouIn");
}, 2000);
}, []);
diff --git a/assets/icons/AppleIcon.png b/assets/icons/AppleIcon.png
new file mode 100644
index 00000000..67a355a9
Binary files /dev/null and b/assets/icons/AppleIcon.png differ
diff --git a/assets/icons/FrameOne.png b/assets/icons/FrameOne.png
new file mode 100644
index 00000000..06771a34
Binary files /dev/null and b/assets/icons/FrameOne.png differ
diff --git a/assets/icons/Google.png b/assets/icons/Google.png
new file mode 100644
index 00000000..b7db776e
Binary files /dev/null and b/assets/icons/Google.png differ
diff --git a/assets/icons/HeartPlus.png b/assets/icons/HeartPlus.png
new file mode 100644
index 00000000..bf19fdc3
Binary files /dev/null and b/assets/icons/HeartPlus.png differ
diff --git a/assets/icons/Lock.png b/assets/icons/Lock.png
new file mode 100644
index 00000000..fc79a483
Binary files /dev/null and b/assets/icons/Lock.png differ
diff --git a/assets/icons/Message.png b/assets/icons/Message.png
new file mode 100644
index 00000000..fe32ebf2
Binary files /dev/null and b/assets/icons/Message.png differ
diff --git a/assets/icons/OR.png b/assets/icons/OR.png
new file mode 100644
index 00000000..d5e3bf73
Binary files /dev/null and b/assets/icons/OR.png differ
diff --git a/assets/icons/continue.png b/assets/icons/continue.png
new file mode 100644
index 00000000..8c7b8dc7
Binary files /dev/null and b/assets/icons/continue.png differ
diff --git a/assets/icons/facebook.png b/assets/icons/facebook.png
new file mode 100644
index 00000000..eefc1c8b
Binary files /dev/null and b/assets/icons/facebook.png differ
diff --git a/package-lock.json b/package-lock.json
index aa83f31f..8ad78b29 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,6 +13,7 @@
"@react-navigation/native": "^6.0.2",
"eas-cli": "^8.0.0",
"expo": "~50.0.14",
+ "expo-checkbox": "^2.7.0",
"expo-font": "~11.10.3",
"expo-linear-gradient": "~12.7.2",
"expo-linking": "~6.2.2",
@@ -13399,6 +13400,11 @@
"md5-file": "^3.2.3"
}
},
+ "node_modules/expo-checkbox": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/expo-checkbox/-/expo-checkbox-2.7.0.tgz",
+ "integrity": "sha512-1wYgoOZ9pBg64PPPULbdD7jEVFX354dpJdUZRmkrO/7ybI668qO4r4+9777CUQ+2JoZEEJBBQzN6UiAl0Uodkg=="
+ },
"node_modules/expo-constants": {
"version": "15.4.6",
"resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-15.4.6.tgz",
diff --git a/package.json b/package.json
index 9ef076fc..f0e65ad7 100644
--- a/package.json
+++ b/package.json
@@ -22,6 +22,7 @@
"@react-navigation/native": "^6.0.2",
"eas-cli": "^8.0.0",
"expo": "~50.0.14",
+ "expo-checkbox": "^2.7.0",
"expo-font": "~11.10.3",
"expo-linear-gradient": "~12.7.2",
"expo-linking": "~6.2.2",