diff --git a/README.md b/README.md index a2df142d..08a73039 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,22 @@ Online Doctor Appointment & Consultation App ## Table Of Content - - [Description](#description) - - - [Documentation](#documentation) - - [Setup](#setup) - - [Testing](#testing) - - [Contribute](#contribute) - - [Contact](#contact) - - [License](#license) +- [Medica App](#medica-app) + - [Table Of Content](#table-of-content) + - [Description](#description) + - [Overview;](#overview) + - [Overview;](#overview-1) + - [Documentation](#documentation) + - [Endpoints](#endpoints) + - [Setup](#setup) + - [Dependencies](#dependencies) + - [Getting Started](#getting-started) + - [Run The Service](#run-the-service) + - [Testing](#testing) + - [Contribute](#contribute) + - [Contact](#contact) + - [Contact](#contact-1) + - [License](#license) ## Description @@ -21,6 +29,9 @@ Medica is a mobile application designed to facilitate online doctor appointments ## Overview; None at the moment!! +## Overview; +None at the moment!! + ## Documentation ### Endpoints @@ -58,7 +69,7 @@ git clone https://github.com/atlp-rwanda/matadors-rn-medica.git ```bash npm install ``` -5. Set up environment variables: +1. Set up environment variables: - Create a `.env` file based on `.env.example` and fill in necessary values. ### Run The Service @@ -67,6 +78,16 @@ npm install ```bash npm start ``` +1. Use the Expo client on your mobile device or simulator to run the app. + +## Testing + +To run tests, use the following command: +```bash +npm test +``` +npm start +``` 2. Use the Expo client on your mobile device or simulator to run the app. ## Testing @@ -84,14 +105,23 @@ Contributions are welcome! To contribute to this repository, please follow these 4. Push to the branch (`git push origin feature/my-feature`). 5. Create a new Pull Request. +## Contact + +Feel free to reach out to us: +[Nkbtemmy](https://github.com/Nkbtemmy) +[mukunzidd](https://github.com/mukunzidd) - ## Contact +## Contact - Feel free to reach out to us: - [Nkbtemmy](https://github.com/Nkbtemmy) - [mukunzidd](https://github.com/mukunzidd) +Feel free to reach out to me on my email: +example@gmail.com +[GitHub](https://github.com/Nkbtemmy) +[GitHub](https://github.com/mukunzidd) +Feel free to reach out to us: +[Nkbtemmy](https://github.com/Nkbtemmy) +[mukunzidd](https://github.com/mukunzidd) - ## License +## License None At the moment !! # Test coverage diff --git a/SpashScreen/Splash.tsx b/SpashScreen/Splash.tsx index 596a3109..a5f666cf 100644 --- a/SpashScreen/Splash.tsx +++ b/SpashScreen/Splash.tsx @@ -1,56 +1,50 @@ import Loading from "@/app/spinner/Loading"; import { Image, StyleSheet, Text, View } from "react-native"; - - -export default function SplashScreen(){ - return ( - <> - - - - - - - - - - Medica - - - - - - +export default function SplashScreen() { + return ( + <> + + + + + - + + + + Medica + + + + - - ) + + + ); } const styles = StyleSheet.create({ - container:{ -flex:1, -justifyContent:'center', -alignItems:'center', -backgroundColor:'#ffff' - }, - splash:{ - flex:1, - flexDirection:'row', - justifyContent:'center', - alignItems:'center', - backgroundColor:'white', - gap:20, - width:'100%' - }, - text:{ - fontSize:30 - }, - spin:{ - position:'absolute', - bottom: 50 - - } -}) \ No newline at end of file + container: { + flex: 1, + justifyContent: "center", + alignItems: "center", + backgroundColor: "#ffff", + }, + splash: { + flex: 1, + flexDirection: "row", + justifyContent: "center", + alignItems: "center", + backgroundColor: "white", + gap: 20, + width: "100%", + }, + text: { + fontSize: 30, + }, + spin: { + position: "absolute", + bottom: 50, + }, +}); diff --git a/app.json b/app.json index 2837dc35..2a248f42 100644 --- a/app.json +++ b/app.json @@ -16,8 +16,8 @@ ], "ios": { "supportsTablet": true, - "config": { - "usesNonExemptEncryption": false + "infoPlist": { + "NSFaceIDUsageDescription": "This app uses Face ID and Touch ID for some features" }, "bundleIdentifier": "medical.app" }, @@ -35,7 +35,12 @@ }, "plugins": [ "expo-router", - "expo-secure-store" + [ + "expo-local-authentication", + { + "faceIDPermission": "Allow $(PRODUCT_NAME) to use Face ID." + } + ] ], "experiments": { "typedRoutes": true diff --git a/app/(app)/HomeScreen.tsx b/app/(app)/HomeScreen.tsx index 20b19115..3776b9b8 100644 --- a/app/(app)/HomeScreen.tsx +++ b/app/(app)/HomeScreen.tsx @@ -3,7 +3,6 @@ import Typography from "@/constants/Typography"; import Colors from "@/constants/Colors"; - export default function HomeScreen(){ return ( <> diff --git a/app/(auth)/SignIn&SignOut/SetYourFingerPrint.tsx b/app/(auth)/SignIn&SignOut/SetYourFingerPrint.tsx index c25df595..e0918607 100644 --- a/app/(auth)/SignIn&SignOut/SetYourFingerPrint.tsx +++ b/app/(auth)/SignIn&SignOut/SetYourFingerPrint.tsx @@ -1,15 +1,228 @@ +import ModalScreen from "@/app/modal"; import { Text, View } from "@/components/Themed"; -import { LeftArrow } from "@/components/UI/icons"; -import { ThemeContext } from "@/ctx/ThemeContext"; -import { useContext, useEffect } from "react"; import { SvgUri, SvgXml } from "react-native-svg"; +import Button from "@/components/UI/Button"; +import { Colors } from "@/constants/Colors"; +import Typography from "@/constants/Typography"; +import { Image, ScrollView } from "react-native"; +import { ThemeContext } from "@/ctx/ThemeContext"; +import React, { useContext, useEffect } from "react"; +import * as LocalAuthentication from "expo-local-authentication"; +import ModalContainer from "@/components/UI/Modal"; +import { useModal } from "@/ctx/ModalContext"; +import Animated, { + useAnimatedStyle, + useSharedValue, + withRepeat, + withTiming, +} from "react-native-reanimated"; +import { LoadingIcon } from "@/components/UI/Icons"; + export default function SetYourFingerPrint() { const { theme, changeTheme } = useContext(ThemeContext); + const modal = useModal(); + + const rotationValue = useSharedValue(0); + + useEffect(() => { + rotationValue.value = withRepeat(withTiming(1, { duration: 2000 }), -1); + }, []); + + const animatedStyle = useAnimatedStyle(() => ({ + transform: [{ rotate: `${rotationValue.value * 360}deg` }], + })); return ( <> - Set Your Finger Print + + + + Add a fingerprint to make your account more secure. + + + + + + + Please put your finger on the fingerprint scanner to get started. + + + +