diff --git a/App.js b/App.js
index a10e755..bd69245 100644
--- a/App.js
+++ b/App.js
@@ -1,50 +1,22 @@
-import React from "react";
-import { StyleSheet, useColorScheme } from "react-native";
-import AsyncStorage from "@react-native-async-storage/async-storage";
-import { Provider } from "react-redux";
-import { applyMiddleware, createStore, compose } from "redux";
-import { createLogger } from "redux-logger";
-import thunk from "redux-thunk";
-import { persistStore, persistReducer } from "redux-persist";
-import autoMergeLevel2 from "redux-persist/lib/stateReconciler/autoMergeLevel2";
-import allReducers from "./src/reducers";
+import { StyleSheet } from "react-native";
+import { useFonts } from "expo-font";
+import AppLoading from "expo-app-loading";
 import Navigation from "./navigation/index";
 import AlertModal from "./src/components/AlertModal";
+import { Provider } from "react-redux";
+import store from './src/redux/store';
 
-const persistConfig = {
-  key: "root",
-  storage: AsyncStorage,
-  stateReconciler: autoMergeLevel2, // see "Merge Process" section for details.
-  whitelist: ["profile"],
-};
-const pReducer = persistReducer(persistConfig, allReducers);
-
-const middleWare = [];
-
-middleWare.push(thunk);
-
-const loggerMiddleware = createLogger({
-  predicate: () => process.env.NODE_ENV === "development",
-});
-middleWare.push(loggerMiddleware);
-
-const store = createStore(pReducer, compose(applyMiddleware(...middleWare)));
-
-const persistor = persistStore(store);
-
-const ReactNative = require("react-native");
-try {
-  ReactNative.I18nManager.allowRTL(true);
-  //  enableScreens();
-} catch (e) {
-  console.log(e);
-}
-
-console.disableYellowBox = true;
 
 const App = () => {
-  const isDarkMode = useColorScheme() === "dark";
-
+  let [fontsLoaded] = useFonts({
+    light : require("./assets/fonts/Farsi/IRANSansXFaNum-Light.ttf"),
+    regular: require("./assets/fonts/Farsi/IRANSansXFaNum-Regular.ttf"),
+    bold: require("./assets/fonts/Farsi/IRANSansXFaNum-Medium.ttf"),
+  });
+
+  if (!fontsLoaded) {
+    return ;
+  }
   return (
     
       
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-Black.ttf b/assets/fonts/Farsi/IRANSansXFaNum-Black.ttf
new file mode 100644
index 0000000..a073217
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-Black.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-Bold.ttf b/assets/fonts/Farsi/IRANSansXFaNum-Bold.ttf
new file mode 100644
index 0000000..84d2767
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-Bold.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-DemiBold.ttf b/assets/fonts/Farsi/IRANSansXFaNum-DemiBold.ttf
new file mode 100644
index 0000000..4fd2c73
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-DemiBold.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-ExtraBold.ttf b/assets/fonts/Farsi/IRANSansXFaNum-ExtraBold.ttf
new file mode 100644
index 0000000..21d4fbf
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-ExtraBold.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-Light.ttf b/assets/fonts/Farsi/IRANSansXFaNum-Light.ttf
new file mode 100644
index 0000000..4807f62
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-Light.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-Medium.ttf b/assets/fonts/Farsi/IRANSansXFaNum-Medium.ttf
new file mode 100644
index 0000000..4d88319
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-Medium.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-Regular.ttf b/assets/fonts/Farsi/IRANSansXFaNum-Regular.ttf
new file mode 100644
index 0000000..385e013
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-Regular.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-Thin.ttf b/assets/fonts/Farsi/IRANSansXFaNum-Thin.ttf
new file mode 100644
index 0000000..da257b5
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-Thin.ttf differ
diff --git a/assets/fonts/Farsi/IRANSansXFaNum-UltraLight.ttf b/assets/fonts/Farsi/IRANSansXFaNum-UltraLight.ttf
new file mode 100644
index 0000000..d8a5468
Binary files /dev/null and b/assets/fonts/Farsi/IRANSansXFaNum-UltraLight.ttf differ
diff --git a/navigation/BottomNavigation.js b/navigation/BottomNavigation.js
deleted file mode 100644
index c4c19e3..0000000
--- a/navigation/BottomNavigation.js
+++ /dev/null
@@ -1,54 +0,0 @@
-import React from "react";
-import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
-import Home from "../src/screens/Home";
-import ShoppingCart from '../src/screens/ShoppingCart';
-import Products from "../src/screens/Products";
-import { Entypo, FontAwesome } from "@expo/vector-icons";
-
-const Tab = createBottomTabNavigator();
-
-const BottomTabNavigator = () => {
-  return (
-    
-       (
-            
-          ),
-        }}
-      />
-       (
-            
-          ),
-        }}
-      />
-       (
-            
-          ),
-        }}
-      />
-    
-  );
-};
-
-export default BottomTabNavigator;
\ No newline at end of file
diff --git a/navigation/index.js b/navigation/index.js
index d2b66ca..bfe77d6 100644
--- a/navigation/index.js
+++ b/navigation/index.js
@@ -1,9 +1,13 @@
 import React from "react";
 import { NavigationContainer } from "@react-navigation/native";
 import { createNativeStackNavigator } from "@react-navigation/native-stack";
-import BottomTabNavigator from "./BottomNavigation";
+import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
+import { Entypo, FontAwesome, Ionicons } from "@expo/vector-icons";
+import OrderDetails from "../src/screens/OrderDetails";
+import { Dimensions } from "react-native";
 import Splash from "../src/screens/Splash";
 import Home from "../src/screens/Home";
+import Products from "../src/screens/Products";
 import Login from "../src/screens/Login";
 import Otp from "../src/screens/Otp";
 import Product from "../src/screens/Product";
@@ -14,7 +18,114 @@ import { useTranslation } from "react-i18next";
 import Profile from "../src/screens/Profile";
 import Videos from "../src/screens/Videos";
 import Exams from "../src/screens/Exams";
-import OrderDetails from "../src/screens/OrderDetails";
+import ShoppingCart from "../src/screens/ShoppingCart";
+
+const width = Dimensions.get("window").width;
+
+const Tab = createBottomTabNavigator();
+const BottomTabNavigator = () => {
+  return (
+    
+       (
+            
+          ),
+        }}
+      />
+       (
+            
+          ),
+        }}
+      />
+       (
+            
+          ),
+        }}
+      />
+       (
+            
+          ),
+        }}
+      />
+    
+  );
+};
+
+const HomeStack = createNativeStackNavigator();
+const HomeStackScreen = () => {
+  return (
+    
+      
+      
+      
+    
+  );
+};
+
+const ProductsStack = createNativeStackNavigator();
+const ProductsStackScreen = () => {
+  return (
+    
+      
+      
+      
+    
+  );
+};
+
+const AuthStack = createNativeStackNavigator();
+const AuthStackScreen = () => {
+  return (
+    
+      
+      
+      
+    
+  );
+};
 
 const Stack = createNativeStackNavigator();
 
@@ -26,11 +137,6 @@ const Navigation = () => {
         screenOptions={{ headerShown: false }}
       >
         
-        
-        
-        
-        
-        
       
     
   );
diff --git a/package.json b/package.json
index 99cc228..1ac3f82 100644
--- a/package.json
+++ b/package.json
@@ -10,14 +10,18 @@
     "eject": "expo eject"
   },
   "dependencies": {
+    "@expo-google-fonts/noto-sans": "^0.2.0",
     "@react-native-async-storage/async-storage": "~1.15.0",
     "@react-navigation/bottom-tabs": "^6.0.9",
+    "@react-navigation/drawer": "^6.1.8",
     "@react-navigation/native": "^6.0.6",
     "@react-navigation/native-stack": "^6.2.5",
     "expo": "^44.0.1",
+    "expo-app-loading": "~1.3.0",
     "expo-barcode-scanner": "~11.2.0",
     "expo-camera": "~12.1.0",
     "expo-device": "~4.1.0",
+    "expo-font": "^10.0.4",
     "expo-status-bar": "~1.2.0",
     "i18next": "^21.6.3",
     "install": "^0.13.0",
diff --git a/src/assets/video.mp4 b/src/assets/video.mp4
deleted file mode 100644
index fd6954b..0000000
Binary files a/src/assets/video.mp4 and /dev/null differ
diff --git a/src/components/CustomTextInput.js b/src/components/CustomTextInput.js
index 4d84604..64e63cb 100644
--- a/src/components/CustomTextInput.js
+++ b/src/components/CustomTextInput.js
@@ -1,6 +1,8 @@
 import React, {useState} from 'react';
 import {TextInput, View, Text, Dimensions, StyleSheet} from 'react-native';
-import tw from 'tailwind-react-native-classnames';
+import tw from 'tailwind-rn';
+
+const width = Dimensions.get('window').width; 
 
 const FloatingLabelInput = ({
   label,
@@ -8,48 +10,47 @@ const FloatingLabelInput = ({
   direction,
   labelBackgroundColor,
   onChange,
-  value,
   name,
+  value,
+  color,
+  maxLength,
+  autoFocus,
   ...props
 }) => {
   const [isFocused, setIsFocused] = useState(false);
   const styles = StyleSheet.create({
     labelStyle: {
-      position: 'absolute',
-      right: 15,
-      backgroundColor: 'white',
-      zIndex: 100,
-      paddingHorizontal: 5,
-      textAlign: 'center',
-      top: !isFocused ? '50%' : 0,
-      fontSize: !isFocused ? Dimensions.get('window').width / 27 : 14,
-      transform: [{translateY: -Dimensions.get('window').width / 35}],
-      color: !isFocused ? '#555' : '#6CBE44',
-      // transition: Transitions.all(Transitions.)
+      fontFamily: 'regular',
+      top: !isFocused ? '50%' : 1,
+      fontSize: !isFocused ? width / 36 : width / 40,
+      transform: [{translateY: -width / 35}],
+      color: !isFocused ? '#555' : '#196EC0',
     },
     inputStyle: {
-      fontSize: Dimensions.get('window').width / 25,
+      fontSize: Dimensions.get('window').width / 27,
       color: '#000',
-      borderWidth: 0.5,
-      borderColor: isFocused ? '#6CBE44' : '#555',
-      paddingVertical: 15,
-      paddingHorizontal: 10,
-      direction: 'rtl',
-      textAlign: 'right',
+      borderWidth: 1,
+      borderColor: isFocused ? '#196EC0' : '#777',
+      textAlign: textAlign,
+      fontFamily: 'light'
     },
   });
   return (
-    
+    
       
+        style={[styles.labelStyle, tw('px-1 z-10 bg-white absolute right-4 text-center')]}>
         {label}
       
        onChange(name, text)}
+        placeholder={'09123456789'}
         onFocus={() => setIsFocused(true)}
+        autoFocus={autoFocus}
+        underlineColorAndroid={"transparent"}
+        maxLength={maxLength}
         onBlur={() =>
-          value ? setIsFocused(() => true) : setIsFocused(() => false)
+          value ? setIsFocused(() => false) : setIsFocused(() => false)
         }
       />
     
diff --git a/src/components/Header.js b/src/components/Header.js
index 9aa2911..693d7fc 100644
--- a/src/components/Header.js
+++ b/src/components/Header.js
@@ -17,14 +17,14 @@ export default function Header({icon, title, description, background}) {
       
         {title}
       
       
         {description}
       
diff --git a/src/components/Navbar.js b/src/components/Navbar.js
index f9017d9..f407809 100644
--- a/src/components/Navbar.js
+++ b/src/components/Navbar.js
@@ -57,7 +57,7 @@ const Navbar = ({ notification }) => {
         )}
       
        navigation.navigate("Home")}
+        onPress={() => navigation.navigate("خانه")}
         style={tw("absolute right-1/2 top-1/2")}
       >
         
-      {title}
+      {title}
     
   );
 }
diff --git a/src/components/Progress.js b/src/components/Progress.js
index 0c5dc68..d54489a 100644
--- a/src/components/Progress.js
+++ b/src/components/Progress.js
@@ -5,7 +5,7 @@ import tw from 'tailwind-rn';
 //Color
 import Color from '../constants/Colors';
 
-function Progress({percent}) {
+function Progress({percent, alignItems}) {
   const [delayPercent, setDelayPercent] = useState(0);
   useEffect(() => {
     setTimeout(() => {
@@ -15,14 +15,14 @@ function Progress({percent}) {
   return (
     
        {
   const styles = StyleSheet.create({
     inputStyle: {
-      fontSize: width / 30,
+      fontSize: width / 36,
       color: '#000',
       borderWidth: 0.5,
       borderColor: '#DBDBDB',
@@ -29,6 +29,7 @@ const Search = ({
       direction: direction,
       textAlign: textAlign,
       backgroundColor: '#F9F9F9',
+      fontFamily : 'light'
     },
   });
   return (
@@ -40,7 +41,7 @@ const Search = ({
         placeholderTextColor={'#cccccc'}
         value={value}
       />
-      
+      
         
       
     
diff --git a/src/components/Select.js b/src/components/Select.js
index 4f38377..223434e 100644
--- a/src/components/Select.js
+++ b/src/components/Select.js
@@ -15,16 +15,18 @@ function Select({iconPosition, options, onChange, value, width, defaultValue}) {
         borderRadius: 6,
         height: 36,
         backgroundColor: '#F9F9F9',
+        fontFamily : 'light'
       }}
-      rowTextStyle={{fontSize: Dimensions.get('window').width / 30}}
+      rowTextStyle={{fontSize: Dimensions.get('window').width / 36, fontFamily : 'light'}}
       defaultButtonText={defaultValue}
       statusBarTranslucent={true}
       buttonTextStyle={{
         textAlign: 'center',
         justifyContent: 'flex-end',
         flex: 0,
-        fontSize: Dimensions.get('window').width / 30,
+        fontSize: Dimensions.get('window').width / 36,
         color: '#707070',
+        fontFamily : 'light'
         // display: 'inline'
       }}
       dropdownIconPosition={iconPosition}
diff --git a/src/reducers/index.js b/src/reducers/index.js
index f0b0c71..1d0c85e 100644
--- a/src/reducers/index.js
+++ b/src/reducers/index.js
@@ -11,4 +11,4 @@ const allReducers = combineReducers({
   }),
 });
 
-export default allReducers;
+export default allReducers;
\ No newline at end of file
diff --git a/src/redux/store.js b/src/redux/store.js
new file mode 100644
index 0000000..32172bb
--- /dev/null
+++ b/src/redux/store.js
@@ -0,0 +1,40 @@
+import AsyncStorage from "@react-native-async-storage/async-storage";
+import { applyMiddleware, createStore, compose } from "redux";
+import { createLogger } from "redux-logger";
+import thunk from "redux-thunk";
+import { persistStore, persistReducer } from "redux-persist";
+import autoMergeLevel2 from "redux-persist/lib/stateReconciler/autoMergeLevel2";
+import allReducers from "../reducers";
+
+const persistConfig = {
+  key: "root",
+  storage: AsyncStorage,
+  stateReconciler: autoMergeLevel2, // see "Merge Process" section for details.
+  whitelist: ["profile"],
+};
+const pReducer = persistReducer(persistConfig, allReducers);
+
+const middleWare = [];
+
+middleWare.push(thunk);
+
+const loggerMiddleware = createLogger({
+  predicate: () => process.env.NODE_ENV === "development",
+});
+middleWare.push(loggerMiddleware);
+
+const store = createStore(pReducer, compose(applyMiddleware(...middleWare)));
+
+const persistor = persistStore(store);
+
+const ReactNative = require("react-native");
+try {
+  ReactNative.I18nManager.allowRTL(true);
+  //  enableScreens();
+} catch (e) {
+  console.log(e);
+}
+
+console.disableYellowBox = true;
+
+export default store;
\ No newline at end of file
diff --git a/src/screens/Home/components/Blogs.js b/src/screens/Home/components/Blogs.js
index 15c79e4..44e2431 100644
--- a/src/screens/Home/components/Blogs.js
+++ b/src/screens/Home/components/Blogs.js
@@ -1,4 +1,4 @@
-import React from 'react';
+import React from "react";
 import {
   View,
   Image,
@@ -6,74 +6,99 @@ import {
   Dimensions,
   TouchableOpacity,
   FlatList,
-} from 'react-native';
+} from "react-native";
 
-const width = Dimensions.get('window').width;
-const height = Dimensions.get('window').height;
+const width = Dimensions.get("window").width;
+const height = Dimensions.get("window").height;
 
-import Header from '../components/Header';
-import tw from 'tailwind-rn';
+import Header from "../components/Header";
+import tw from "tailwind-rn";
 
-import {connect} from 'react-redux';
+import { connect } from "react-redux";
 
 //asssets
-import foodImage from '../assets/food.png';
-import userImage from '../assets/user.png';
-import messageIcon from '../assets/message.png';
+import foodImage from "../assets/food.png";
+import userImage from "../assets/user.png";
+import messageIcon from "../assets/message.png";
 //Color
-import Color from '../../../constants/Colors';
+import Color from "../../../constants/Colors";
 
-function Blogs({products}) {
+function Blogs({ products }) {
   return (
-    
-      
-        
+    
+      
+        
       
        }
+        renderItem={({ item }) => }
+        keyExtractor={item => item.id}
       />
     
   );
 }
 
-const Blog = ({blog}) => {
+const Blog = ({ blog }) => {
   return (
      navigation.navigate('Product')}
     >
-      
+      
       
+          { transform: [{ translateY: -20 }], marginHorizontal: 10 },
+          tw("flex flex-col bg-white rounded-md p-2"),
+        ]}
+      >
         
+            tw("mb-2"),
+            {
+              color: Color.theme1.light.blue7,
+              fontFamily: "bold",
+              fontSize: width / 36,
+            },
+          ]}
+        >
           آیا مواد غذای پر فیبر مفید هستند؟
         
-        
-          
+        
+          
             
-            
+            
               حامد دژبانی نسب
             
           
-          
-            ۳۰ دقیقه
+          
+            
+              ۳۰ دقیقه
+            
             
           
         
@@ -82,7 +107,7 @@ const Blog = ({blog}) => {
   );
 };
 
-const mapStateToProps = state => ({
+const mapStateToProps = (state) => ({
   // features: state.publicApi.home?.features,
 });
 export default connect(mapStateToProps, {})(Blogs);
@@ -91,27 +116,35 @@ Blogs.defaultProps = {
   products: [
     {
       imageUrl: foodImage,
+      id: 0,
     },
     {
       imageUrl: foodImage,
+      id: 1,
     },
     {
       imageUrl: foodImage,
+      id: 2,
     },
     {
       imageUrl: foodImage,
+      id: 3,
     },
     {
       imageUrl: foodImage,
+      id: 4,
     },
     {
       imageUrl: foodImage,
+      id: 5,
     },
     {
       imageUrl: foodImage,
+      id: 6,
     },
     {
       imageUrl: foodImage,
+      id: 7,
     },
   ],
 };
diff --git a/src/screens/Home/components/Header.js b/src/screens/Home/components/Header.js
index 251bf82..affa8ef 100644
--- a/src/screens/Home/components/Header.js
+++ b/src/screens/Home/components/Header.js
@@ -1,22 +1,32 @@
-import React from 'react';
-import {View, Text, Image, Pressable} from 'react-native';
-import {useNavigation} from '@react-navigation/native';
-import tw from 'tailwind-rn';
+import React from "react";
+import { View, Text, Image, Pressable, Dimensions } from "react-native";
+import {Entypo} from '@expo/vector-icons';
+import { useNavigation } from "@react-navigation/native";
+import tw from "tailwind-rn";
 //assets
-import arrowIcon from '../assets/arrow.png';
+import arrowIcon from "../assets/arrow.png";
 //Color
-import Color from '../../../constants/Colors';
+import Color from "../../../constants/Colors";
 
-const Header = ({title, route}) => {
+const width = Dimensions.get('window').width;
+
+const Header = ({ title, route }) => {
   const navigation = useNavigation();
   return (
-    
+    
       
+        style={[
+          {
+            color: Color.theme1.light.blue5,
+            fontFamily : 'bold',
+            fontSize : width / 30
+          },
+        ]}
+      >
         {title}
       
        navigation.navigate(route)}>
-        
+        
       
     
   );
diff --git a/src/screens/Home/components/MyBooks.js b/src/screens/Home/components/MyBooks.js
index 03b13ea..c923949 100644
--- a/src/screens/Home/components/MyBooks.js
+++ b/src/screens/Home/components/MyBooks.js
@@ -1,4 +1,4 @@
-import React, {useState, useEffect} from 'react';
+import React, { useState, useEffect } from "react";
 import {
   View,
   Text,
@@ -6,82 +6,103 @@ import {
   TouchableOpacity,
   Dimensions,
   FlatList,
-} from 'react-native';
-import tw from 'tailwind-rn';
-import {connect} from 'react-redux';
-// import { book } from "../../../../../redux/actions";
-import Progress from '../../../components/Progress';
+} from "react-native";
+import tw from "tailwind-rn";
+import {useNavigation} from '@react-navigation/native';
+import { connect } from "react-redux";
+import Progress from "../../../components/Progress";
 
 //assets
-import bookImage from '../assets/zist11.png';
+import bookImage from "../assets/zist11.png";
 
 //Color
-import Color from '../../../constants/Colors';
+import Color from "../../../constants/Colors";
 
-const width = Dimensions.get('window').width;
-const height = Dimensions.get('window').height;
+const width = Dimensions.get("window").width;
+const height = Dimensions.get("window").height;
 
-function MyBooks({getList, list, grades}) {
+function MyBooks({ getList, list, grades }) {
   return (
-    
+    
       
+        ]}
+      >
         
+          style={[
+            {
+              color: Color.theme1.light.blue5,
+              fontFamily: "bold",
+              fontSize: width / 30,
+            },
+          ]}
+        >
           کتابهای من
         
          }
+          renderItem={({ item }) => }
+          keyExtractor={(book) => book.name}
         />
       
     
   );
 }
 
-const Book = ({book, grades}) => {
+const Book = ({ book, grades }) => {
+  const navigation = useNavigation();
   return (
-    
+     navigation.navigate("Product")}
+    >
       
       
-        {'نام کتاب'}
+          tw("mt-2 pr-1"),
+          {
+            color: Color.theme1.light.blue6,
+            fontFamily: "bold",
+            fontSize: width / 36,
+          },
+        ]}
+      >
+        {"نام کتاب"}
       
       {`پایه ${'اول'}`}
-      
+          tw("mt-1 pr-1"),
+          {
+            color: Color.theme1.light.blue5,
+            fontFamily: "light",
+            fontSize: width / 40,
+          },
+        ]}
+      >{`پایه ${"اول"}`}
+      
     
   );
 };
 
-const mapStateToProps = state => ({
+const mapStateToProps = (state) => ({
   // list: state.book.list,
   // grades : state.publicApi.grades
 });
@@ -89,5 +110,5 @@ const mapStateToProps = state => ({
 export default connect(mapStateToProps, {})(MyBooks);
 
 MyBooks.defaultProps = {
-  list: [{name: 1}, {name: 2}, {name: 3}, {name: 4}, {name: 5}],
+  list: [{ name: 1 }, { name: 2 }, { name: 3 }, { name: 4 }, { name: 5 }],
 };
diff --git a/src/screens/Home/components/Videos.js b/src/screens/Home/components/Videos.js
index 28e039e..c4c9765 100644
--- a/src/screens/Home/components/Videos.js
+++ b/src/screens/Home/components/Videos.js
@@ -24,11 +24,11 @@ const height = Dimensions.get('window').height;
 
 function Videos({getList, list, grades}) {
   return (
-    
+    
       
         
@@ -37,7 +37,8 @@ function Videos({getList, list, grades}) {
           horizontal={true}
           inverted={true}
           data={list}
-          renderItem={(video, index) => }
+          renderItem={(item) => }
+          keyExtractor={item => item.name}
         />
       
     
@@ -52,22 +53,22 @@ const Video = ({book, grades}) => {
         style={[
           tw('rounded-md'),
           {
-            height: 180,
-            width: 114,
+            height: 160,
+            width: 110,
           },
         ]}
       />
       
         {'نام کتاب'}
       
       {`پایه ${'اول'}`}
       
     
diff --git a/src/screens/Home/index.js b/src/screens/Home/index.js
index 9e04a47..0764b10 100644
--- a/src/screens/Home/index.js
+++ b/src/screens/Home/index.js
@@ -23,7 +23,7 @@ function Home(props) {
   return (
     
       
diff --git a/src/screens/Login/assets/logo.png b/src/screens/Login/assets/logo.png
new file mode 100644
index 0000000..035ccf2
Binary files /dev/null and b/src/screens/Login/assets/logo.png differ
diff --git a/src/screens/Login/index.js b/src/screens/Login/index.js
index 6b88815..63ead7b 100644
--- a/src/screens/Login/index.js
+++ b/src/screens/Login/index.js
@@ -1,129 +1,132 @@
-import React, {useState} from 'react';
-import {View, Text, Image, ActivityIndicator, Dimensions, TextInput, TouchableHighlight} from 'react-native';
-import Logo from '../../assets/images/logo.png';
-import IranFlag from "./components/IranFlag";
-import {digitToEn, digitToPersian} from "../../utils";
+import React, { useState } from "react";
+import {
+  View,
+  Text,
+  Image,
+  ActivityIndicator,
+  Dimensions,
+  TextInput,
+  TouchableHighlight,
+} from "react-native";
+import Logo from "./assets/logo.png";
+import CustomTextInput from "../../components/CustomTextInput";
+import { digitToEn, digitToPersian } from "../../utils";
 import services from "./services";
-import {asyncAwesomeAlert} from "../../utils/AsyncWrappers";
+import { asyncAwesomeAlert } from "../../utils/AsyncWrappers";
+import tw from "tailwind-rn";
 
-const {width, height} = Dimensions.get('window');
-let faNums = ['۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹', '۰']
+const { width, height } = Dimensions.get("window");
+let faNums = ["۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹", "۰"];
 
 function Login(props) {
+  const [phone, setPhone] = useState("");
+  const [loading, setLoading] = useState(false);
 
-  const [phone, setPhone] = useState('');
-  const [loading, setLoading] = useState(false)
-
-  const onChangePhone = (value) => {
-    let items = digitToPersian(value).split('');
+  const onChangePhone = (name, value) => {
+    let items = digitToPersian(value).split("");
     for (let item of items) {
       if (!faNums.includes(item)) {
-        return
+        return;
       }
     }
     setPhone(digitToPersian(value));
-  }
+  };
 
   const checkPhoneNumber = () => {
-    return phone.split('').length === 9;
-  }
+    return phone.split("").length === 11;
+  };
 
   const submit = async () => {
-    setLoading(true)
-    if (!checkPhoneNumber()) {
-      setLoading(false)
-      return asyncAwesomeAlert('خطا', 'شماره وارد شده اشتباه است', {showCancelButton: false});
-    }
-    let res = await services.getSmsCode({
-      cellphone: '09' + digitToEn(phone)
-    })
-    if (res.ok) {
-      setLoading(false)
-      props.navigation.navigate('Otp', {phone: '09' + digitToEn(phone)});
-    }
-    setLoading(false)
-  }
+    setLoading(true);
+    // if (!checkPhoneNumber()) {
+    //   setLoading(false);
+    //   return asyncAwesomeAlert("خطا", "شماره وارد شده اشتباه است", {
+    //     showCancelButton: false,
+    //   });
+    // }
+    // let res = await services.getSmsCode({
+    //   cellphone: digitToEn(phone),
+    // });
+    // if (res.ok) {
+    //   setLoading(false);
+      props.navigation.navigate("Otp", { phone: digitToEn(phone) });
+    // }
+    setLoading(false);
+  };
 
   return (
-    
-      
-      {'دانوین'}
-      {'به دانوین خوش اومدی برای عضویت و ادامه شماره موبایلت رو وارد کن و روی گزینه ثبت بزن'}
-      
-        
-        
-          {'۰۹'}
-        
-        
+      
+      
+        {"سلام"}
+      
+      {/* 
+        {
+          "به دانوین خوش اومدی برای عضویت و ادامه شماره موبایلت رو وارد کن و روی گزینه ثبت بزن"
+        }
+       */}
+      
+         onChangePhone(text)}
+          onChange={onChangePhone}
+          autoFocus={true}
         />
       
        submit()}>
-        {loading ?
-        
-          :
-          
-            {'ادامه'}
+        style={[
+          tw("w-full py-2 rounded-md"),
+          {
+            backgroundColor: "#196EC0",
+            alignItems: "center",
+            justifyContent: "center",
+            marginTop: 15,
+            fontFamily: "light",
+          },
+        ]}
+        onPress={() => submit()}
+      >
+        {loading ? (
+          
+        ) : (
+          
+            {"ادامه"}
           
-        }
+        )}
       
     
   );
diff --git a/src/screens/OrderDetails/index.js b/src/screens/OrderDetails/index.js
index dedcf35..80d39e1 100644
--- a/src/screens/OrderDetails/index.js
+++ b/src/screens/OrderDetails/index.js
@@ -135,7 +135,7 @@ function OrderDetails({order}) {
           این کد را پس از دریافت کالا، به مامور ارسال دانوین اعلام فرمایید
         
       
-      
+      
         {order.items.map((item, index) => (
           
         ))}
diff --git a/src/screens/Otp/index.js b/src/screens/Otp/index.js
index c8651d9..f2f8ba7 100644
--- a/src/screens/Otp/index.js
+++ b/src/screens/Otp/index.js
@@ -1,4 +1,4 @@
-import React, {useEffect, useState} from 'react'
+import React, { useEffect, useState } from "react";
 import {
   View,
   Text,
@@ -9,17 +9,18 @@ import {
   StyleSheet,
   TouchableOpacity,
   ActivityIndicator,
-  AsyncStorage
-} from 'react-native';
-import {connect} from 'react-redux';
-import Logo from "../../assets/images/logo.png";
+} from "react-native";
+import tw from "tailwind-rn";
+import AsyncStorage from "@react-native-async-storage/async-storage";
+import { connect } from "react-redux";
+import Logo from "../Login/assets/logo.png";
 import IranFlag from "../Login/components/IranFlag";
-import {digitToEn, digitToPersian} from "../../utils";
+// import { digitToEn, digitToPersian } from "../../utils";
 import services from "./services";
-import {buildAction} from "../../reducers/DefaultReducer";
-import {PROFILE_RECORD} from "../../actions/actionTypes";
+import { buildAction } from "../../reducers/DefaultReducer";
+import { PROFILE_RECORD } from "../../actions/actionTypes";
 
-const {width} = Dimensions.get('window')
+const { width } = Dimensions.get("window");
 let ref1;
 let ref2;
 let ref3;
@@ -27,189 +28,222 @@ let ref4;
 
 let timer = 60;
 
-const mapStateToProps = state => {
+const mapStateToProps = (state) => {
   return {
     profile: state.profile,
-  }
-}
+  };
+};
 
 function Otp(props) {
-  let faNums = ['۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹', '۰']
+  let faNums = ["۱", "۲", "۳", "۴", "۵", "۶", "۷", "۸", "۹", "۰"];
 
-  const [firstCode, setFirstCode] = useState('');
-  const [secondCode, setSecondCode] = useState('');
-  const [thirdCode, setThirdCode] = useState('');
-  const [fourthCode, setFourthCode] = useState('');
+  const [firstCode, setFirstCode] = useState("");
+  const [secondCode, setSecondCode] = useState("");
+  const [thirdCode, setThirdCode] = useState("");
+  const [fourthCode, setFourthCode] = useState("");
   const [time, setTime] = useState(60);
   const [loading, setLoading] = useState(false);
 
   const checkValue = (value) => {
     return faNums.includes(digitToPersian(value));
-  }
+  };
 
   const onChangeCode = (value, key) => {
     // if (!checkValue()) {
     //   return
     // }
     switch (key) {
-      case '1':
-        setFirstCode(digitToPersian(value));
-        ref2.focus();
+      case "1":
+        setFirstCode(value);
+        if(value !== ''){
+          ref2.focus();
+        }
         break;
-      case '2':
-        setSecondCode(digitToPersian(value));
-        ref3.focus();
+      case "2":
+        setSecondCode(value);
+        if(value !== ''){
+          ref3.focus();
+        }else{
+          ref1.focus();
+        }
         break;
-      case '3':
-        setThirdCode(digitToPersian(value));
-        ref4.focus();
+      case "3":
+        setThirdCode(value);
+        if(value !== ''){
+          ref4.focus();
+        }else{
+          ref2.focus();
+        }
         break;
-      case '4':
-        setFourthCode(digitToPersian(value))
-        submit();
+      case "4":
+        setFourthCode(value);
+        if(value !== ''){
+          // ref3.focus();
+        }else{
+          ref3.focus();
+        }
+        // submit();
         break;
     }
-  }
+  };
 
   const getEnCode = () => {
-    return Number(digitToEn(firstCode) + digitToEn(secondCode) + digitToEn(thirdCode) + digitToEn(fourthCode))
-  }
+    return Number(
+      digitToEn(firstCode) +
+        digitToEn(secondCode) +
+        digitToEn(thirdCode) +
+        digitToEn(fourthCode)
+    );
+  };
 
   const submit = async () => {
-    setLoading(true)
+    setLoading(true);
     let res = await services.sendOtpCode({
       cellphone: props.route.params.phone,
       otp: String(getEnCode()),
       applicationToken: "1",
-      userToken: "1"
-    })
+      userToken: "1",
+    });
     if (res.ok) {
-      setLoading(false)
-      await AsyncStorage.setItem('accessToken', res.data.accessToken);
-      await AsyncStorage.setItem('refreshToken', res.data.refreshToken);
+      setLoading(false);
+      await AsyncStorage.setItem("accessToken", res.data.accessToken);
+      await AsyncStorage.setItem("refreshToken", res.data.refreshToken);
       let action = buildAction(PROFILE_RECORD);
-      await props.dispatch(action({
-        accessToken: res.data.accessToken,
-        refreshToken: res.data.refreshToken,
-        ...res.data.profile,
-      }))
+      await props.dispatch(
+        action({
+          accessToken: res.data.accessToken,
+          refreshToken: res.data.refreshToken,
+          ...res.data.profile,
+        })
+      );
       props.navigation.reset({
         index: 0,
-        routes: [{name: 'Home'}]
-      })
+        routes: [{ name: "Home" }],
+      });
     }
-    setLoading(false)
-  }
+    setLoading(false);
+  };
 
   useEffect(() => {
-    let interval = setInterval(() => {
-      if (time > 0) {
-        setTime(timer - 1);
-        timer -= 1;
-      }
-    }, 1000);
-    let timeout = setTimeout(() => {
-      clearInterval(interval)
-    }, 60000)
-    return () => {
-      clearInterval(interval);
-      clearTimeout(timeout)
-    }
+    // let interval = setInterval(() => {
+    //   if (time > 0) {
+    //     setTime(timer - 1);
+    //     timer -= 1;
+    //   }
+    // }, 1000);
+    // let timeout = setTimeout(() => {
+    //   clearInterval(interval)
+    // }, 60000)
+    // return () => {
+    //   clearInterval(interval);
+    //   clearTimeout(timeout)
+    // }
   }, []);
 
   return (
-    
-      
-      {'دانوین'}
-      {`یک کد تائیدیه به شماره ${props.route.params.phone} ارسال شد. آن را در قسمت زیر وارد کنید`}
-      
+    
+      
+      {`یک کد تائیدیه به شماره ${props.route.params.phone} ارسال شد. آن را در قسمت زیر وارد کنید`}
+      
          ref1 = ref}
-          onChangeText={text => onChangeCode(text, '1')}
+          ref={(ref) => (ref1 = ref)}
+          onChangeText={(text) => onChangeCode(text, "1")}
         />
          ref2 = ref}
-          onChangeText={text => onChangeCode(text, '2')}
+          ref={(ref) => (ref2 = ref)}
+          onChangeText={(text) => onChangeCode(text, "2")}
         />
          ref3 = ref}
-          onChangeText={text => onChangeCode(text, '3')}
+          ref={(ref) => (ref3 = ref)}
+          onChangeText={(text) => onChangeCode(text, "3")}
         />
          ref4 = ref}
-          onChangeText={text => onChangeCode(text, '4')}
+          ref={(ref) => (ref4 = ref)}
+          onChangeText={(text) => onChangeCode(text, "4")}
         />
       
        submit()}>
-        {loading ?
-           :
-          
-            {'ثبت'}
+        style={[
+          tw("w-full rounded-md py-2 mt-6 items-center justify-center"),
+          {
+            backgroundColor: "#196EC0",
+          },
+        ]}
+        onPress={() => submit()}
+      >
+        {loading ? (
+          
+        ) : (
+          
+            {"ثبت"}
           
-        }
+        )}
       
       
-        
-          {'زمان باقی مانده تا انقضای کد: ' + time}
+        
+          {"زمان باقی مانده تا انقضای کد: " + time}
         
          {
             props.navigation.reset({
               index: 0,
-              routes: [{ name: 'Login' }],
+              routes: [{ name: "Login" }],
             });
-          }}>
-          
-            {'بازگشت به مرحله قبل و اصلاح شماره'}
+          }}
+        >
+          
+            {"بازگشت به مرحله قبل و اصلاح شماره"}
           
         
       
     
-  )
+  );
 }
 
-const styles = StyleSheet.create({
-  input: {
-    width: width / 13 * 2,
-    height: width / 16 * 2,
-    backgroundColor: '#a2a2a2',
-    color: '#000',
-    fontSize: 22,
-    borderRadius: 8,
-    textAlign: 'center'
-  }
-})
-
 export default connect(mapStateToProps)(Otp);
diff --git a/src/screens/Product/components/Book.js b/src/screens/Product/components/Book.js
index 725cfff..b625c62 100644
--- a/src/screens/Product/components/Book.js
+++ b/src/screens/Product/components/Book.js
@@ -1,5 +1,5 @@
-import {t} from 'i18next';
-import React from 'react';
+import { t } from "i18next";
+import React from "react";
 import {
   View,
   Text,
@@ -7,160 +7,176 @@ import {
   Dimensions,
   ScrollView,
   Pressable,
-} from 'react-native';
-import CustomPressable from '../../../components/Pressable';
-import Description from './Description';
-import LinkBox from './LinkBox';
-import Comments from './Comments';
-import Rates from './Rates';
-import tw from 'tailwind-react-native-classnames';
-import arrowMoreIcon from '../assets/arrowMore.png';
+} from "react-native";
+import { Entypo } from '@expo/vector-icons';
+import CustomPressable from "../../../components/Pressable";
+import Description from "./Description";
+import LinkBox from "./LinkBox";
+import Comments from "./Comments";
+import Rates from "./Rates";
+import tw from "tailwind-react-native-classnames";
 
-const width = Dimensions.get('window').width;
-const height = Dimensions.get('window').height;
+const width = Dimensions.get("window").width;
+const height = Dimensions.get("window").height;
 
-export default function Book({product}) {
+export default function Book({ product }) {
   return (
-    
-      
-        
+    
+      
+        
           
         
 
         
-          
+          ]}
+        >
+          
             
+                fontFamily: "bold",
+              }}
+            >
               {product.name}
             
-            
+            
               {product.grade}
             
           
           
+              tw.style("text-right w-full"),
+              { color: "#323232", fontSize: width / 38, fontFamily: "light" },
+            ]}
+          >
             {product.text}
           
         
       
       
+          "flex flex-row-reverse items-center justify-around py-6"
+        )}
+      >
         
           
-            {' '}
-            {473 + '\n' + 'صفحه'}
+              color: "#196EC0",
+              textAlign: "center",
+              fontSize: width / 37,
+              fontFamily: "light",
+            }}
+          >
+            {" "}
+            {473 + "\n" + "صفحه"}
           
         
         
+          style={{ backgroundColor: "#196EC055", height: 20, width: 2 }}
+        >
         
           
-            {' '}
-            {'فیزیکی- دیجیتالی - ویدئو' + '\n' + 'در دسترس'}
+              color: "#196EC0",
+              textAlign: "center",
+              fontSize: width / 37,
+              fontFamily: "light",
+            }}
+          >
+            {" "}
+            {"فیزیکی- دیجیتالی - ویدئو" + "\n" + "در دسترس"}
           
         
         
+          style={{ backgroundColor: "#196EC055", height: 20, width: 2 }}
+        >
         
           
-            {' '}
-            {4.8 + '\n' + 'امتیاز'}
+              color: "#196EC0",
+              textAlign: "center",
+              fontSize: width / 37,
+              fontFamily: "light",
+            }}
+          >
+            {" "}
+            {4.8 + "\n" + "امتیاز"}
           
         
       
-      
+      
         
+            tw.style("w-full text-right font-medium"),
+            { color: "#196EC0", fontSize: width / 36, fontFamily: "regular" },
+          ]}
+        >
           نسخه محصول را انتخاب کنید
         
-        
+        
       
       
+        style={tw.style("flex flex-row-reverse justify-between flex-wrap py-3")}
+      >
         
         
         
         
         
-          
-
+            { backgroundColor: "#196EC01a" },
+          ]}
+        >
+          
           
+            style={[
+              tw.style(""),
+              { color: "#275077", fontSize: width / 36, fontFamily: "light" },
+            ]}
+          >
             مشاهده دوره ویدئویی این محصول
           
         
@@ -171,19 +187,15 @@ export default function Book({product}) {
       
       
+          "flex flex-row-reverse justify-between items-center my-6"
+        )}
+      >
         
+          style={[{ fontSize: width / 36, color: "#275077", fontFamily: "regular"}, tw.style("")]}
+        >
           امتیازات و نظرات
         
-        
+        
       
       
       
diff --git a/src/screens/Product/components/Comments.js b/src/screens/Product/components/Comments.js
index b2e904c..c887d45 100644
--- a/src/screens/Product/components/Comments.js
+++ b/src/screens/Product/components/Comments.js
@@ -1,59 +1,82 @@
-import React from 'react';
-import {View, Text, ScrollView, Image, Dimensions} from 'react-native';
-import tw from 'tailwind-react-native-classnames';
+import React from "react";
+import { View, Text, FlatList, Image, Dimensions } from "react-native";
+import tw from "tailwind-rn";
 
-const width = Dimensions.get('window').width;
+const width = Dimensions.get("window").width;
 
-export default function Commnets({comments}) {
+export default function Commnets({ comments }) {
+  console.log(comments);
   return (
-    
-      {comments.map((comment, index) => (
-        
-      ))}
-    
+     }
+      keyExtractor={(item) => item.id}
+    />
   );
 }
 
-const Comment = ({comment}) => {
+const Comment = ({ comment }) => {
+  console.log(comment);
   return (
     
-      
-        
+        tw("flex flex-col rounded-md p-4 ml-2"),
+        { width: width / 1.3, borderWidth: 1, borderColor: "#7070701a" },
+      ]}
+    >
+      
+        
           
           
+              { fontSize: width / 36, color: "#132F52", fontFamily: "bold" },
+              ,
+            ]}
+          >
             {comment.name}
           
         
-        
-          18:20
+        
+          
+            18:20
+          
           
-          
+            }}
+          >
+          
             1400/08/19
           
         
       
       
+          { fontSize: width / 40, lineHeight: 20, color: "#132F52", fontFamily: "light",},
+          tw("mt-2"),
+        ]}
+      >
         {comment.message}
       
     
diff --git a/src/screens/Product/components/Description.js b/src/screens/Product/components/Description.js
index 082c894..c9e9d06 100644
--- a/src/screens/Product/components/Description.js
+++ b/src/screens/Product/components/Description.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import {View, Text, Dimensions, Image} from 'react-native';
 import tw from 'tailwind-react-native-classnames';
-import arrowMoreIcon from '../assets/arrowMore.png';
+import {Entypo} from '@expo/vector-icons';
 
 const width = Dimensions.get('window').width;
 const height = Dimensions.get('window').height;
@@ -13,20 +13,17 @@ export default function Description({description}) {
         style={tw.style('flex flex-row-reverse justify-between items-center mb-2')}>
         
           توضیحات
         
-        
+        
       
       
         {description}
       
diff --git a/src/screens/Product/components/LinkBox.js b/src/screens/Product/components/LinkBox.js
index 9f04945..0075d27 100644
--- a/src/screens/Product/components/LinkBox.js
+++ b/src/screens/Product/components/LinkBox.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import {View, Text, Dimensions, Image} from 'react-native';
 import tw from 'tailwind-react-native-classnames';
-import arrowMoreIcon from '../assets/arrowMore.png';
+import {Entypo} from '@expo/vector-icons';
 
 const width = Dimensions.get('window').width;
 const height = Dimensions.get('window').height;
@@ -10,22 +10,19 @@ export default function Description({title, path}) {
   return (
     
       
         {title}
       
-      
+      
     
   );
 }
diff --git a/src/screens/Product/components/Rates.js b/src/screens/Product/components/Rates.js
index 2a41ca6..752c162 100644
--- a/src/screens/Product/components/Rates.js
+++ b/src/screens/Product/components/Rates.js
@@ -14,12 +14,11 @@ export default function Rates({rates}) {
         ]}>
         
           {rates.mid}
         
-        
+        
           {'از' + ' ' + rates.allRates + ' ' + 'نفر'}
         
       
@@ -35,7 +34,7 @@ export default function Rates({rates}) {
 const Progress = ({data}) => {
   return (
     
-      {data.name}
+      {data.name}
        {
       
       
-      
+    
+      
         
           {/*  */}
           
           
         
 
         
-          
+          
             
               {product.name}
             
-            
+            
               {product.grade}
             
           
           
             {product.text}
           
         
       
       
         
@@ -87,7 +89,8 @@ export default function Video({product}) {
             style={{
               color: '#196EC0',
               textAlign: 'center',
-              fontSize: width / 27,
+              fontSize: width / 37,
+              fontFamily: 'light'
             }}>
             {' '}
             {473 + '\n' + 'صفحه'}
@@ -100,7 +103,8 @@ export default function Video({product}) {
             style={{
               color: '#196EC0',
               textAlign: 'center',
-              fontSize: width / 27,
+              fontSize: width / 37,
+              fontFamily: 'light'
             }}>
             {' '}
             {'فیزیکی- دیجیتالی - ویدئو' + '\n' + 'در دسترس'}
@@ -113,7 +117,8 @@ export default function Video({product}) {
             style={{
               color: '#196EC0',
               textAlign: 'center',
-              fontSize: width / 27,
+              fontSize: width / 37,
+              fontFamily: 'light'
             }}>
             {' '}
             {4.8 + '\n' + 'امتیاز'}
@@ -123,16 +128,16 @@ export default function Video({product}) {
       
         
           نسخه محصول را انتخاب کنید
         
-        
+        
       
       
         
         
-          
+          
 
           
+            style={[tw(''), {color: '#275077', fontSize: width / 36, fontFamily : 'light'}]}>
             مشاهده دوره ویدئویی این محصول
           
         
@@ -185,20 +187,16 @@ export default function Video({product}) {
       
       
       
         
           امتیازات و نظرات
         
-        
+        
       
       
       
diff --git a/src/screens/Product/index.js b/src/screens/Product/index.js
index d48bb75..b86cff9 100644
--- a/src/screens/Product/index.js
+++ b/src/screens/Product/index.js
@@ -16,7 +16,7 @@ import Navbar from "../../components/Navbar";
 
 function Product({
   product = {
-    type: "ویدئوها",
+    type: "کتاب ها",
     name: "ریاضی",
     price: "145.000 تومان",
     imageUrl: "https://dnvn.ir/api/v1/file/2105",
@@ -38,6 +38,7 @@ function Product({
     },
     comments: [
       {
+        id: 0,
         name: "سورنا عابدی",
         imageUrl: userImage,
         vote: 4,
@@ -46,6 +47,7 @@ function Product({
           "خالد حسینی تو رمان باد بادک باز مینویسه : ﻣﺮﺩ ﺁﻫﺴﺘﻪ ﺩﺭ ﮔﻮﺵ ﻓﺮﺯﻧﺪ ﺗﺎﺯﻩ ﺑﻪ ﺑﻠﻮﻍ ﺭﺳﯿﺪﻩ ﺍﺵ ﺑﺮﺍﯼ ﭘﻨﺪ ﭼﻨﯿﻦ ﻧﺠﻮﺍ ﮐﺮﺩ : ” ﭘﺴﺮﻡ ﺩﺭ ﺯﻧﺪﮔﯽ ﻫﺮﮔﺰ ﺩﺯﺩﯼ ﻧﮑﻦ ” ﭘﺴﺮ ﻣﺘﻌﺠﺐ ﻭ ﻣﺒﻬﻮﺕ ﺑﻪ ﭘﺪﺭ ﻧﮕﺎﻩ ﮐﺮﺩ ﺑﺪﯾﻦ ﻣﻌﻨﺎ ﮐﻪ ﺍﻭ ﻫﺮﮔﺰ ﺩﺳﺖ ﮐﺞ ﻧﺪﺍﺷﺘﻪ ﭘﺪﺭ ﺑﻪ ﻧﮕﺎﻩ ﻣﺘﻌﺠﺐ ﻓﺮﺯﻧﺪ ﻟﺒﺨﻨﺪﯼ ﺯﺩ ﻭ ﺍﺩﺍﻣﻪ ",
       },
       {
+        id : 1,
         name: "سورنا عابدی",
         imageUrl: userImage,
         vote: 4,
diff --git a/src/screens/Products/components/Book.js b/src/screens/Products/components/Book.js
index e1e64ab..d7aeffd 100644
--- a/src/screens/Products/components/Book.js
+++ b/src/screens/Products/components/Book.js
@@ -1,16 +1,16 @@
-import React from 'react';
-import {View, Image, Text, Dimensions, Pressable} from 'react-native';
-import { useNavigation } from '@react-navigation/native';
-import tw from 'tailwind-react-native-classnames';
-const width = Dimensions.get('window').width;
-const height = Dimensions.get('window').height;
+import React from "react";
+import { View, Image, Text, Dimensions, Pressable } from "react-native";
+import { useNavigation } from "@react-navigation/native";
+import tw from "tailwind-react-native-classnames";
+const width = Dimensions.get("window").width;
+const height = Dimensions.get("window").height;
 
 function Book({
   item = {
-    name: 'ریاضی',
-    price: '145.000 تومان',
-    grade : '4',
-    imageUrl: 'https://dnvn.ir/api/v1/file/2105',
+    name: "ریاضی",
+    price: "145.000 تومان",
+    grade: "4",
+    imageUrl: "https://dnvn.ir/api/v1/file/2105",
   },
 }) {
   const navigation = useNavigation();
@@ -25,21 +25,37 @@ function Book({
           // shadowOpacity : 1,
           marginBottom: 15,
           borderWidth: 1,
-          borderColor: '#ddd',
+          borderColor: "#ddd",
         },
-        tw.style('flex flex-col items-end p-2 rounded-md'),
+        tw.style("flex flex-col items-end p-2 rounded-md"),
       ]}
-      onPress={() => navigation.navigate('Product')}
-      >
+      onPress={() => navigation.navigate("Product")}
+    >
       
-      
+      
         {item.name}
       
-      {'پایه' + ' ' + item.grade }
-      {item.price}
+      
+        {"پایه" + " " + item.grade}
+      
+      
+        {item.price}
+      
     
   );
 }
diff --git a/src/screens/Products/components/Video.js b/src/screens/Products/components/Video.js
index 2385f38..c07f6b6 100644
--- a/src/screens/Products/components/Video.js
+++ b/src/screens/Products/components/Video.js
@@ -54,11 +54,18 @@ function Video({
           source={{ uri: item.imageUrl }}
           style={[
             tw.style("rounded-md h-full absolute left-2 bottom-2 rounded-md"),
-            { width: width / 5, height: height / 7 },
+            { width: 70, height: 100 },
           ]}
         />
       
-      
+      
         {item.name}
       
 
@@ -67,13 +74,25 @@ function Video({
       >
         
           {item.price}
         
-        
+        
           {"پایه" + " " + item.grade}
         
       
diff --git a/src/screens/QR/Content/index.js b/src/screens/QR/Content/index.js
index f47e906..d651d26 100644
--- a/src/screens/QR/Content/index.js
+++ b/src/screens/QR/Content/index.js
@@ -15,7 +15,7 @@ export default function Content({data}) {
                 source={{uri: 'https://dnvn.ir/api/v1/file/2094'}}
                 style={{width: 80, height: 120}}
               />
-              
+              
                 {data.name}
                 {data.grade}
                 {`شما در حال مشاهده `}
diff --git a/src/screens/QR/index.js b/src/screens/QR/index.js
index e20b304..00ddf60 100644
--- a/src/screens/QR/index.js
+++ b/src/screens/QR/index.js
@@ -48,9 +48,9 @@ function QR({ data }) {
                 style={[tw.style("rounded"), { width: width / 5, height: 120 }]}
               />
               
-                
+                
                   {data.name}
                 
                 
         
         
-          ثبت کد
+          ثبت کد
         
       
     
diff --git a/src/screens/ShoppingCart/components/Product.js b/src/screens/ShoppingCart/components/Product.js
index ed19749..288f41e 100644
--- a/src/screens/ShoppingCart/components/Product.js
+++ b/src/screens/ShoppingCart/components/Product.js
@@ -1,87 +1,116 @@
-import React from 'react';
-import {View, Text, Image, Dimensions, Pressable} from 'react-native';
-import tw from 'tailwind-react-native-classnames';
-import bookImage from '../assets/book.png';
-import deleteIcon from '../assets/delete.png';
-import plusIcon from '../assets/+.png';
-import minus from '../assets/_.png';
+import React from "react";
+import { View, Text, Image, Dimensions, Pressable } from "react-native";
+import { AntDesign } from "@expo/vector-icons";
+import tw from "tailwind-react-native-classnames";
+import bookImage from "../assets/book.png";
+import deleteIcon from "../assets/delete.png";
 
-const width = Dimensions.get('window').width;
-const height = Dimensions.get('window').height;
+const width = Dimensions.get("window").width;
+const height = Dimensions.get("window").height;
 
-export default function Product({product}) {
+export default function Product({ product }) {
   return (
     
-      
+        tw.style("flex flex-row-reverse justify-between py-2"),
+        { borderBottomWidth: 1, borderColor: "#7070701a", direction: "rtl" },
+      ]}
+    >
+      
         
-        
+        
           
+            style={{
+              fontSize: width / 31,
+              color: "#05335F",
+              marginBottom: 5,
+              fontFamily: "bold",
+            }}
+          >
             علوم اجتماعی
           
           
+            style={{
+              fontSize: width / 36,
+              color: "#707070",
+              marginBottom: 5,
+              fontFamily: "light",
+            }}
+          >
             پایه دوم
           
-          
+          
             نسخه فیزیکی
           
         
       
-      
-        
-        
-          
+      
+        
+        
+          
             
-              +
+              ]}
+            >
+              
+                +
+              
             
             
+              ]}
+            >
               1
             
             
+              ]}
+            >
               
+                  fontSize: width / 24,
+                  color: "#DBDBDB",
+                  fontFamily: "light",
+                }}
+              >
                 -
               
             
           
-          
+          
             145.000
           
         
diff --git a/src/screens/ShoppingCart/index.js b/src/screens/ShoppingCart/index.js
index c15cc1e..f2e73ff 100644
--- a/src/screens/ShoppingCart/index.js
+++ b/src/screens/ShoppingCart/index.js
@@ -10,12 +10,12 @@ import {
   SafeAreaView,
   StatusBar,
 } from "react-native";
+import { Ionicons } from '@expo/vector-icons';
 import Product from "./components/Product";
 import Code from "./components/Code";
 import CustomPressable from "../../components/Pressable";
 import Navbar from "../../components/Navbar";
 import tw from "tailwind-react-native-classnames";
-import alertIcon from "./assets/alert.png";
 
 import { connect } from "react-redux";
 
@@ -26,18 +26,19 @@ const PriceStatus = ({ name, value, type }) => {
     
       
         {name}
       
       
@@ -85,13 +86,13 @@ function ShoppingCart({}) {
             "flex flex-row-reverse justify-between items-center w-full py-3"
           )}
         >
-          
+          
             جمع کل سبد خرید
           
           
             235.000 تومان
@@ -100,20 +101,17 @@ function ShoppingCart({}) {
         
           
             هزینه ارسال کالا پس از تعیین محل آدرس مشخص میشود
           
-          
+          
         
          {
+const mapStateToProps = (state) => {
   return {
-    profile: state.profile
-  }
-}
-
-function Splash({navigation, profile}) {
+    profile: state.profile,
+  };
+};
 
+function Splash({ navigation, profile }) {
   useEffect(() => {
     setTimeout(() => {
-      !profile.accessToken ? navigation.reset({
-        index: 0,
-        routes: [{ name: 'Login' }],
-      }) : navigation.reset({
-        index: 0,
-        routes: [{ name: 'Home' }],
-      })
-    }, 2000)
-  }, [profile])
+      // !profile.accessToken ? navigation.reset({
+      1
+        ? navigation.reset({
+            index: 0,
+            routes: [{ name: "Login" }],
+          })
+        : navigation.reset({
+            index: 0,
+            routes: [{ name: "Home" }],
+          });
+    }, 2000);
+  }, [profile]);
 
   return (
-    
-      
-      
+    
+      
+      
     
-  )
+  );
 }
 
 export default connect(mapStateToProps)(Splash);
diff --git a/yarn-error.log b/yarn-error.log
index db87696..bea3b9c 100644
--- a/yarn-error.log
+++ b/yarn-error.log
@@ -1,5 +1,5 @@
 Arguments: 
-  /opt/homebrew/Cellar/node/17.0.1/bin/node /usr/local/bin/yarn add react-native-permisson
+  /opt/homebrew/Cellar/node/17.0.1/bin/node /usr/local/bin/yarn add @react-navigation/draweryarn add react-native-reanimated
 
 PATH: 
   /Library/Frameworks/Python.framework/Versions/3.10/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/reza/Library/Android/sdk/emulator:/Users/reza/Library/Android/sdk/tools:/Users/reza/Library/Android/sdk/tools/bin:/Users/reza/Library/Android/sdk/platform-tools:/Users/reza/Library/Android/sdk/emulator:/Users/reza/Library/Android/sdk/tools:/Users/reza/Library/Android/sdk/tools/bin:/Users/reza/Library/Android/sdk/platform-tools
@@ -14,7 +14,7 @@ Platform:
   darwin arm64
 
 Trace: 
-  Error: https://registry.yarnpkg.com/react-native-permisson: Not found
+  Error: https://registry.yarnpkg.com/@react-navigation%2fdraweryarn: Not found
       at Request.params.callback [as _callback] (/usr/local/lib/node_modules/yarn/lib/cli.js:67029:18)
       at Request.self.callback (/usr/local/lib/node_modules/yarn/lib/cli.js:140883:22)
       at Request.emit (node:events:390:28)
@@ -39,22 +39,27 @@ npm manifest:
       "eject": "expo eject"
     },
     "dependencies": {
+      "@expo-google-fonts/noto-sans": "^0.2.0",
       "@react-native-async-storage/async-storage": "~1.15.0",
       "@react-navigation/bottom-tabs": "^6.0.9",
+      "@react-navigation/drawer": "^6.1.8",
       "@react-navigation/native": "^6.0.6",
       "@react-navigation/native-stack": "^6.2.5",
-      "expo": "~44.0.0",
+      "expo": "^44.0.1",
+      "expo-app-loading": "~1.3.0",
+      "expo-barcode-scanner": "~11.2.0",
       "expo-camera": "~12.1.0",
       "expo-device": "~4.1.0",
+      "expo-font": "^10.0.4",
       "expo-status-bar": "~1.2.0",
       "i18next": "^21.6.3",
+      "install": "^0.13.0",
       "lodash": "^4.17.21",
       "react": "17.0.1",
       "react-dom": "17.0.1",
       "react-i18next": "^11.15.1",
       "react-native": "0.64.3",
       "react-native-awesome-alerts": "^1.5.2",
-      "react-native-camera": "^4.2.1",
       "react-native-qrcode-scanner": "^1.5.4",
       "react-native-restart": "^0.0.22",
       "react-native-safe-area-context": "3.3.2",
@@ -1132,6 +1137,11 @@ Lockfile:
       exec-sh "^0.3.2"
       minimist "^1.2.0"
   
+  "@expo-google-fonts/noto-sans@^0.2.0":
+    version "0.2.0"
+    resolved "https://registry.yarnpkg.com/@expo-google-fonts/noto-sans/-/noto-sans-0.2.0.tgz#e5bb0d73235e963d318d38b859c3470aa197ab58"
+    integrity sha512-Qk9goIvIQxAF0FRHSpw63smmp0uGBKmcRdhIqI4SvJNYEomQzH/Xzy5MA5MJanh/UhYx9KnyaidSH6FiJLLXeg==
+  
   "@expo/config-plugins@4.0.15", "@expo/config-plugins@^4.0.2":
     version "4.0.15"
     resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.0.15.tgz#cc170a0cf890973b6491cf357540e9955296019c"
@@ -1180,15 +1190,15 @@ Lockfile:
     resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-43.0.1.tgz#3e047dccb371741a540980eaff26fb0c95039c30"
     integrity sha512-EtllpCGDdB/UdwAIs5YXJwBLpbFQNdlLLrxIvoILA9cXrpQMWkeDCT9lQPJzFRMFcLUaMuGvkzX2tR4tx5EQFQ==
   
-  "@expo/config@6.0.6":
-    version "6.0.6"
-    resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.6.tgz#64b49b93f07cb046f5a8538a1793bef9070d8d52"
-    integrity sha512-GPI8EIdMAtZ5VaB4p5GcfuX50xyfGFdpEqLi0QmcfrCfTsGry1/j/Qy28hovHM1oJYHlaZylTcbGy+1ET+AO2w==
+  "@expo/config@6.0.15", "@expo/config@^6.0.6":
+    version "6.0.15"
+    resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.15.tgz#aa610f8b714e0b1103e13c8210059519479d11d6"
+    integrity sha512-nrG+OUe/2n3ulNSgHRs9V70zXu3lpkuzJ6F0VmCuhjyHqT7UYimkgSCJGqaE3N+AayBTK+YffOT6bTWH17wxjQ==
     dependencies:
       "@babel/code-frame" "~7.10.4"
-      "@expo/config-plugins" "4.0.6"
+      "@expo/config-plugins" "4.0.15"
       "@expo/config-types" "^43.0.1"
-      "@expo/json-file" "8.2.33"
+      "@expo/json-file" "8.2.34"
       getenv "^1.0.0"
       glob "7.1.6"
       require-from-string "^2.0.2"
@@ -1197,15 +1207,15 @@ Lockfile:
       slugify "^1.3.4"
       sucrase "^3.20.0"
   
-  "@expo/config@^6.0.6":
-    version "6.0.15"
-    resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.15.tgz#aa610f8b714e0b1103e13c8210059519479d11d6"
-    integrity sha512-nrG+OUe/2n3ulNSgHRs9V70zXu3lpkuzJ6F0VmCuhjyHqT7UYimkgSCJGqaE3N+AayBTK+YffOT6bTWH17wxjQ==
+  "@expo/config@6.0.6":
+    version "6.0.6"
+    resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.6.tgz#64b49b93f07cb046f5a8538a1793bef9070d8d52"
+    integrity sha512-GPI8EIdMAtZ5VaB4p5GcfuX50xyfGFdpEqLi0QmcfrCfTsGry1/j/Qy28hovHM1oJYHlaZylTcbGy+1ET+AO2w==
     dependencies:
       "@babel/code-frame" "~7.10.4"
-      "@expo/config-plugins" "4.0.15"
+      "@expo/config-plugins" "4.0.6"
       "@expo/config-types" "^43.0.1"
-      "@expo/json-file" "8.2.34"
+      "@expo/json-file" "8.2.33"
       getenv "^1.0.0"
       glob "7.1.6"
       require-from-string "^2.0.2"
@@ -1214,6 +1224,37 @@ Lockfile:
       slugify "^1.3.4"
       sucrase "^3.20.0"
   
+  "@expo/configure-splash-screen@^0.6.0":
+    version "0.6.0"
+    resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.6.0.tgz#07d97ee512fd859fcc09506ba3762fd6263ebc39"
+    integrity sha512-4DyPoNXJqx9bN4nEwF3HQreo//ECu7gDe1Xor3dnnzFm9P/VDxAKdbEhA0n+R6fgkNfT2onVHWijqvdpTS3Xew==
+    dependencies:
+      color-string "^1.5.3"
+      commander "^5.1.0"
+      fs-extra "^9.0.0"
+      glob "^7.1.6"
+      lodash "^4.17.15"
+      pngjs "^5.0.0"
+      xcode "^3.0.0"
+      xml-js "^1.6.11"
+  
+  "@expo/image-utils@0.3.18":
+    version "0.3.18"
+    resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.3.18.tgz#36a41ab2925974ac5707e02cb0d3694349140497"
+    integrity sha512-77/ub2aGuf7SYfaFhvCHE54Hs/jRuU5j+pemS5seLfVHNwHbJSse91TMhsTLLNz3GwwqTxFVe3KMycSccJ73nA==
+    dependencies:
+      "@expo/spawn-async" "1.5.0"
+      chalk "^4.0.0"
+      fs-extra "9.0.0"
+      getenv "^1.0.0"
+      jimp-compact "0.16.1"
+      mime "^2.4.4"
+      node-fetch "^2.6.0"
+      parse-png "^2.1.0"
+      resolve-from "^5.0.0"
+      semver "7.3.2"
+      tempy "0.3.0"
+  
   "@expo/json-file@8.2.33":
     version "8.2.33"
     resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.33.tgz#78f56f33a2cfb807b23c81e00237a33159aa1f32"
@@ -1261,11 +1302,35 @@ Lockfile:
       base64-js "^1.2.3"
       xmlbuilder "^14.0.0"
   
+  "@expo/prebuild-config@^3.0.15":
+    version "3.0.15"
+    resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-3.0.15.tgz#bfc920bdbd01ab4d785cbf64c3a9deb74a6bb6a4"
+    integrity sha512-fP35AajhPIyUoqexTCxjcfSLZwK4OeedLZbxgUb32+k5kl1b7uSbmdAMtGHfLgnI18Mhk2QprerXOMK4zxo9mQ==
+    dependencies:
+      "@expo/config" "6.0.15"
+      "@expo/config-plugins" "4.0.15"
+      "@expo/config-types" "^43.0.1"
+      "@expo/image-utils" "0.3.18"
+      "@expo/json-file" "8.2.34"
+      debug "^4.3.1"
+      expo-modules-autolinking "~0.5.1"
+      fs-extra "^9.0.0"
+      resolve-from "^5.0.0"
+      semver "7.3.2"
+      xml2js "0.4.23"
+  
   "@expo/sdk-runtime-versions@^1.0.0":
     version "1.0.0"
     resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c"
     integrity sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==
   
+  "@expo/spawn-async@1.5.0":
+    version "1.5.0"
+    resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.5.0.tgz#799827edd8c10ef07eb1a2ff9dcfe081d596a395"
+    integrity sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==
+    dependencies:
+      cross-spawn "^6.0.5"
+  
   "@expo/vector-icons@^12.0.4":
     version "12.0.5"
     resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-12.0.5.tgz#bc508ad05fb7e9a3e008704977cfec6c18aa7728"
@@ -1507,6 +1572,15 @@ Lockfile:
       query-string "^7.0.0"
       react-is "^16.13.0"
   
+  "@react-navigation/drawer@^6.1.8":
+    version "6.1.8"
+    resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.1.8.tgz#82e2a06d17166a82dd18233678ebf63ed523aaab"
+    integrity sha512-kYE2EO5dianUuUcaYmAlYBcgtmvGm2fxWTQ5sn103cgPNidp4KBUR9ClkhF+btfRaHKq+8Ul5M6qvL0mBAv/Lg==
+    dependencies:
+      "@react-navigation/elements" "^1.2.1"
+      color "^3.1.3"
+      warn-once "^0.1.0"
+  
   "@react-navigation/elements@^1.2.1":
     version "1.2.1"
     resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.2.1.tgz#86f19781c6f34a5c9dd25dca99915e0306f477d1"
@@ -2303,7 +2377,7 @@ Lockfile:
     resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
     integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
   
-  color-string@^1.6.0, color-string@^1.9.0:
+  color-string@^1.5.3, color-string@^1.6.0, color-string@^1.9.0:
     version "1.9.0"
     resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa"
     integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==
@@ -2352,6 +2426,11 @@ Lockfile:
     resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
     integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
   
+  commander@^5.1.0:
+    version "5.1.0"
+    resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+    integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+  
   commander@^7.2.0:
     version "7.2.0"
     resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
@@ -2494,6 +2573,11 @@ Lockfile:
       shebang-command "^1.2.0"
       which "^1.2.9"
   
+  crypto-random-string@^1.0.0:
+    version "1.0.0"
+    resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+    integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
+  
   css-color-keywords@^1.0.0:
     version "1.0.0"
     resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
@@ -2814,6 +2898,13 @@ Lockfile:
       snapdragon "^0.8.1"
       to-regex "^3.0.1"
   
+  expo-app-loading@~1.3.0:
+    version "1.3.0"
+    resolved "https://registry.yarnpkg.com/expo-app-loading/-/expo-app-loading-1.3.0.tgz#2023f11e1420d423478474942c0d1c74e1afa335"
+    integrity sha512-IbMI1w2a79IXw2uH/dgwxWmXW9uR5DNjY/mDKdUCGR0tjMeeliZRq66gGdRLgCkfXS2b2WMIi03gB05l7SiQeg==
+    dependencies:
+      expo-splash-screen "~0.14.0"
+  
   expo-application@~4.0.1:
     version "4.0.1"
     resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-4.0.1.tgz#d38a1315c06c253b843c951ddc6fbb9a026f05cc"
@@ -2830,6 +2921,14 @@ Lockfile:
       path-browserify "^1.0.0"
       url-parse "^1.4.4"
   
+  expo-barcode-scanner@~11.2.0:
+    version "11.2.0"
+    resolved "https://registry.yarnpkg.com/expo-barcode-scanner/-/expo-barcode-scanner-11.2.0.tgz#9d316a36962f74f117f19f7c722de1334a4fd8d2"
+    integrity sha512-Dmp6KTzkMa9E561gR7kRP8ZXfVdAn9SLUwQ5DdeEGTC7D1NIqEO8WmyfVtWSLUUSArF6QxL+oYOZyzJ+LVjkHA==
+    dependencies:
+      "@expo/config-plugins" "^4.0.2"
+      expo-image-loader "~3.1.0"
+  
   expo-camera@~12.1.0:
     version "12.1.0"
     resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-12.1.0.tgz#d968b282d2155956655e217b35bade66ed361ad7"
@@ -2867,13 +2966,18 @@ Lockfile:
       "@expo/config-plugins" "^4.0.2"
       uuid "^3.4.0"
   
-  expo-font@~10.0.4:
+  expo-font@^10.0.4, expo-font@~10.0.4:
     version "10.0.4"
     resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-10.0.4.tgz#c06ff88079c857ef71c24414a583fd270b3f34e7"
     integrity sha512-ieEsT6tD6yD6qT7WUzzJ5el0UvACr53RqICu0GI9GUiWuwDFPM2Oi5WfWwYFFStCRuaP6kEtpkJDUZ9cjT5F+w==
     dependencies:
       fontfaceobserver "^2.1.0"
   
+  expo-image-loader@~3.1.0:
+    version "3.1.0"
+    resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-3.1.0.tgz#d60d57d6d36d1ea9b07ed2e8bed87574edd2ad1e"
+    integrity sha512-86oT25SDTO018hWO61HGnoB4l+DEgT9sOoW24rvXX99VBe/MPheGo+DDNKtLNf6k06n/OFL3LgtR0m9YpOCT8Q==
+  
   expo-keep-awake@~10.0.1:
     version "10.0.1"
     resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-10.0.1.tgz#9f1176216c41eee20843c8232acfdca2bc32d334"
@@ -2890,6 +2994,17 @@ Lockfile:
       find-up "^5.0.0"
       fs-extra "^9.1.0"
   
+  expo-modules-autolinking@~0.5.1:
+    version "0.5.3"
+    resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-0.5.3.tgz#e66d36db9c67dad6247ed72ce050dee4cb50eb64"
+    integrity sha512-l6jbfApkU7AX8FLr8o+O7/yXamxdaP6a8yZ/mNBudZIV6AVeMI602O0AFErsDj8xTcJSe0puIX2WjK29XlVayg==
+    dependencies:
+      chalk "^4.1.0"
+      commander "^7.2.0"
+      fast-glob "^3.2.5"
+      find-up "^5.0.0"
+      fs-extra "^9.1.0"
+  
   expo-modules-core@0.6.3:
     version "0.6.3"
     resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-0.6.3.tgz#e5326169a888144f2691ffd49b7686dfac235227"
@@ -2898,12 +3013,20 @@ Lockfile:
       compare-versions "^3.4.0"
       invariant "^2.2.4"
   
+  expo-splash-screen@~0.14.0:
+    version "0.14.1"
+    resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.14.1.tgz#7647c8b98c679b8313d24a7c14729402c3c16631"
+    integrity sha512-Y08wMIVjRuPbBnH2N6KwUfQYYnAiBrZMFAfXjjPPObyMDZ7v5VXTcbAWHqGdnYDcIbXRpat+fiWpTeU2HanBBg==
+    dependencies:
+      "@expo/configure-splash-screen" "^0.6.0"
+      "@expo/prebuild-config" "^3.0.15"
+  
   expo-status-bar@~1.2.0:
     version "1.2.0"
     resolved "https://registry.yarnpkg.com/expo-status-bar/-/expo-status-bar-1.2.0.tgz#16e73205da563f9536f562e439081e30e318a82e"
     integrity sha512-pVZZ/kDCXFK79E4dCtRecs3XLC8aiwlciutSd/fFmUPJSQZ1Txia6hlKajPt0GAYft8/YnT0V3URXzWZOBniYQ==
   
-  expo@~44.0.0:
+  expo@^44.0.1:
     version "44.0.1"
     resolved "https://registry.yarnpkg.com/expo/-/expo-44.0.1.tgz#998a29c8e7eeab1c72d4e51d907494e16a49ed1c"
     integrity sha512-r3UXg8d2ypcK2I8ds5r9WP6luOLKH4tTqtdgOS+rQt3jpMpkF89VRnNB/Ux3GnzxHnxIHcEmTYBmfoI3qA4abg==
@@ -3165,7 +3288,7 @@ Lockfile:
       jsonfile "^4.0.0"
       universalify "^0.1.0"
   
-  fs-extra@^9.1.0:
+  fs-extra@^9.0.0, fs-extra@^9.1.0:
     version "9.1.0"
     resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
     integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
@@ -3483,6 +3606,11 @@ Lockfile:
     dependencies:
       css-in-js-utils "^2.0.0"
   
+  install@^0.13.0:
+    version "0.13.0"
+    resolved "https://registry.yarnpkg.com/install/-/install-0.13.0.tgz#6af6e9da9dd0987de2ab420f78e60d9c17260776"
+    integrity sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==
+  
   interpret@^1.0.0:
     version "1.4.0"
     resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
@@ -3784,6 +3912,11 @@ Lockfile:
     resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.8.tgz#e88068697875cbda98c32472902c4d3756247798"
     integrity sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==
   
+  jimp-compact@0.16.1:
+    version "0.16.1"
+    resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.1.tgz#9582aea06548a2c1e04dd148d7c3ab92075aefa3"
+    integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==
+  
   joi@^17.2.1:
     version "17.5.0"
     resolved "https://registry.yarnpkg.com/joi/-/joi-17.5.0.tgz#7e66d0004b5045d971cf416a55fb61d33ac6e011"
@@ -4462,7 +4595,7 @@ Lockfile:
     resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
     integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
   
-  mime@^2.4.1:
+  mime@^2.4.1, mime@^2.4.4:
     version "2.6.0"
     resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
     integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
@@ -4850,6 +4983,13 @@ Lockfile:
       json-parse-even-better-errors "^2.3.0"
       lines-and-columns "^1.1.6"
   
+  parse-png@^2.1.0:
+    version "2.1.0"
+    resolved "https://registry.yarnpkg.com/parse-png/-/parse-png-2.1.0.tgz#2a42ad719fedf90f81c59ebee7ae59b280d6b338"
+    integrity sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==
+    dependencies:
+      pngjs "^3.3.0"
+  
   parseurl@~1.3.3:
     version "1.3.3"
     resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@@ -4937,6 +5077,16 @@ Lockfile:
       base64-js "^1.5.1"
       xmlbuilder "^9.0.7"
   
+  pngjs@^3.3.0:
+    version "3.4.0"
+    resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
+    integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
+  
+  pngjs@^5.0.0:
+    version "5.0.0"
+    resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
+    integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
+  
   posix-character-classes@^0.1.0:
     version "0.1.1"
     resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -5035,7 +5185,7 @@ Lockfile:
       kleur "^3.0.3"
       sisteransi "^1.0.5"
   
-  prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2:
+  prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.7.2:
     version "15.8.0"
     resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.0.tgz#d237e624c45a9846e469f5f31117f970017ff588"
     integrity sha512-fDGekdaHh65eI3lMi5OnErU6a8Ighg2KjcjQxO7m8VHyWjcPyj5kiOgV1LQDOOOgVy3+5FgjXvdSSX7B8/5/4g==
@@ -5145,13 +5295,6 @@ Lockfile:
     dependencies:
       prop-types "^15.7.2"
   
-  react-native-camera@^4.2.1:
-    version "4.2.1"
-    resolved "https://registry.yarnpkg.com/react-native-camera/-/react-native-camera-4.2.1.tgz#caf74081f055e89d7e9b0cd5108965d808c60e90"
-    integrity sha512-+Vkql24PFYQfsPRznJCvPwJQfyzCnjlcww/iZ4Ej80bgivKjL9eU0IMQIXp4yi6XCrKi4voWXxIDPMupQZKeIQ==
-    dependencies:
-      prop-types "^15.6.2"
-  
   react-native-codegen@^0.0.6:
     version "0.0.6"
     resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.0.6.tgz#b3173faa879cf71bfade8d030f9c4698388f6909"
@@ -5592,7 +5735,7 @@ Lockfile:
       minimist "^1.1.1"
       walker "~1.0.5"
   
-  sax@>=0.6.0, sax@^1.2.1:
+  sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4:
     version "1.2.4"
     resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
     integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
@@ -6072,6 +6215,11 @@ Lockfile:
       resolve "^1.20.0"
       tmp "^0.2.1"
   
+  temp-dir@^1.0.0:
+    version "1.0.0"
+    resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
+    integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=
+  
   temp@0.8.3:
     version "0.8.3"
     resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
@@ -6087,6 +6235,15 @@ Lockfile:
     dependencies:
       rimraf "~2.6.2"
   
+  tempy@0.3.0:
+    version "0.3.0"
+    resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8"
+    integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==
+    dependencies:
+      temp-dir "^1.0.0"
+      type-fest "^0.3.1"
+      unique-string "^1.0.0"
+  
   thenify-all@^1.0.0:
     version "1.6.0"
     resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
@@ -6193,6 +6350,11 @@ Lockfile:
     resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
     integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
   
+  type-fest@^0.3.1:
+    version "0.3.1"
+    resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
+    integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
+  
   type-fest@^0.6.0:
     version "0.6.0"
     resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
@@ -6259,6 +6421,13 @@ Lockfile:
       is-extendable "^0.1.1"
       set-value "^2.0.1"
   
+  unique-string@^1.0.0:
+    version "1.0.0"
+    resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
+    integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=
+    dependencies:
+      crypto-random-string "^1.0.0"
+  
   universalify@^0.1.0:
     version "0.1.2"
     resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
@@ -6462,7 +6631,7 @@ Lockfile:
       simple-plist "^1.0.0"
       uuid "^3.3.2"
   
-  xcode@^3.0.1:
+  xcode@^3.0.0, xcode@^3.0.1:
     version "3.0.1"
     resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c"
     integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==
@@ -6470,6 +6639,13 @@ Lockfile:
       simple-plist "^1.1.0"
       uuid "^7.0.3"
   
+  xml-js@^1.6.11:
+    version "1.6.11"
+    resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9"
+    integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==
+    dependencies:
+      sax "^1.2.4"
+  
   xml2js@0.4.23:
     version "0.4.23"
     resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
diff --git a/yarn.lock b/yarn.lock
index 08e4621..b047327 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1051,6 +1051,11 @@
     exec-sh "^0.3.2"
     minimist "^1.2.0"
 
+"@expo-google-fonts/noto-sans@^0.2.0":
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/@expo-google-fonts/noto-sans/-/noto-sans-0.2.0.tgz#e5bb0d73235e963d318d38b859c3470aa197ab58"
+  integrity sha512-Qk9goIvIQxAF0FRHSpw63smmp0uGBKmcRdhIqI4SvJNYEomQzH/Xzy5MA5MJanh/UhYx9KnyaidSH6FiJLLXeg==
+
 "@expo/config-plugins@4.0.15", "@expo/config-plugins@^4.0.2":
   version "4.0.15"
   resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-4.0.15.tgz#cc170a0cf890973b6491cf357540e9955296019c"
@@ -1099,15 +1104,15 @@
   resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-43.0.1.tgz#3e047dccb371741a540980eaff26fb0c95039c30"
   integrity sha512-EtllpCGDdB/UdwAIs5YXJwBLpbFQNdlLLrxIvoILA9cXrpQMWkeDCT9lQPJzFRMFcLUaMuGvkzX2tR4tx5EQFQ==
 
-"@expo/config@6.0.6":
-  version "6.0.6"
-  resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.6.tgz#64b49b93f07cb046f5a8538a1793bef9070d8d52"
-  integrity sha512-GPI8EIdMAtZ5VaB4p5GcfuX50xyfGFdpEqLi0QmcfrCfTsGry1/j/Qy28hovHM1oJYHlaZylTcbGy+1ET+AO2w==
+"@expo/config@6.0.15", "@expo/config@^6.0.6":
+  version "6.0.15"
+  resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.15.tgz#aa610f8b714e0b1103e13c8210059519479d11d6"
+  integrity sha512-nrG+OUe/2n3ulNSgHRs9V70zXu3lpkuzJ6F0VmCuhjyHqT7UYimkgSCJGqaE3N+AayBTK+YffOT6bTWH17wxjQ==
   dependencies:
     "@babel/code-frame" "~7.10.4"
-    "@expo/config-plugins" "4.0.6"
+    "@expo/config-plugins" "4.0.15"
     "@expo/config-types" "^43.0.1"
-    "@expo/json-file" "8.2.33"
+    "@expo/json-file" "8.2.34"
     getenv "^1.0.0"
     glob "7.1.6"
     require-from-string "^2.0.2"
@@ -1116,15 +1121,15 @@
     slugify "^1.3.4"
     sucrase "^3.20.0"
 
-"@expo/config@^6.0.6":
-  version "6.0.15"
-  resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.15.tgz#aa610f8b714e0b1103e13c8210059519479d11d6"
-  integrity sha512-nrG+OUe/2n3ulNSgHRs9V70zXu3lpkuzJ6F0VmCuhjyHqT7UYimkgSCJGqaE3N+AayBTK+YffOT6bTWH17wxjQ==
+"@expo/config@6.0.6":
+  version "6.0.6"
+  resolved "https://registry.yarnpkg.com/@expo/config/-/config-6.0.6.tgz#64b49b93f07cb046f5a8538a1793bef9070d8d52"
+  integrity sha512-GPI8EIdMAtZ5VaB4p5GcfuX50xyfGFdpEqLi0QmcfrCfTsGry1/j/Qy28hovHM1oJYHlaZylTcbGy+1ET+AO2w==
   dependencies:
     "@babel/code-frame" "~7.10.4"
-    "@expo/config-plugins" "4.0.15"
+    "@expo/config-plugins" "4.0.6"
     "@expo/config-types" "^43.0.1"
-    "@expo/json-file" "8.2.34"
+    "@expo/json-file" "8.2.33"
     getenv "^1.0.0"
     glob "7.1.6"
     require-from-string "^2.0.2"
@@ -1133,6 +1138,37 @@
     slugify "^1.3.4"
     sucrase "^3.20.0"
 
+"@expo/configure-splash-screen@^0.6.0":
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/@expo/configure-splash-screen/-/configure-splash-screen-0.6.0.tgz#07d97ee512fd859fcc09506ba3762fd6263ebc39"
+  integrity sha512-4DyPoNXJqx9bN4nEwF3HQreo//ECu7gDe1Xor3dnnzFm9P/VDxAKdbEhA0n+R6fgkNfT2onVHWijqvdpTS3Xew==
+  dependencies:
+    color-string "^1.5.3"
+    commander "^5.1.0"
+    fs-extra "^9.0.0"
+    glob "^7.1.6"
+    lodash "^4.17.15"
+    pngjs "^5.0.0"
+    xcode "^3.0.0"
+    xml-js "^1.6.11"
+
+"@expo/image-utils@0.3.18":
+  version "0.3.18"
+  resolved "https://registry.yarnpkg.com/@expo/image-utils/-/image-utils-0.3.18.tgz#36a41ab2925974ac5707e02cb0d3694349140497"
+  integrity sha512-77/ub2aGuf7SYfaFhvCHE54Hs/jRuU5j+pemS5seLfVHNwHbJSse91TMhsTLLNz3GwwqTxFVe3KMycSccJ73nA==
+  dependencies:
+    "@expo/spawn-async" "1.5.0"
+    chalk "^4.0.0"
+    fs-extra "9.0.0"
+    getenv "^1.0.0"
+    jimp-compact "0.16.1"
+    mime "^2.4.4"
+    node-fetch "^2.6.0"
+    parse-png "^2.1.0"
+    resolve-from "^5.0.0"
+    semver "7.3.2"
+    tempy "0.3.0"
+
 "@expo/json-file@8.2.33":
   version "8.2.33"
   resolved "https://registry.yarnpkg.com/@expo/json-file/-/json-file-8.2.33.tgz#78f56f33a2cfb807b23c81e00237a33159aa1f32"
@@ -1180,11 +1216,35 @@
     base64-js "^1.2.3"
     xmlbuilder "^14.0.0"
 
+"@expo/prebuild-config@^3.0.15":
+  version "3.0.15"
+  resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-3.0.15.tgz#bfc920bdbd01ab4d785cbf64c3a9deb74a6bb6a4"
+  integrity sha512-fP35AajhPIyUoqexTCxjcfSLZwK4OeedLZbxgUb32+k5kl1b7uSbmdAMtGHfLgnI18Mhk2QprerXOMK4zxo9mQ==
+  dependencies:
+    "@expo/config" "6.0.15"
+    "@expo/config-plugins" "4.0.15"
+    "@expo/config-types" "^43.0.1"
+    "@expo/image-utils" "0.3.18"
+    "@expo/json-file" "8.2.34"
+    debug "^4.3.1"
+    expo-modules-autolinking "~0.5.1"
+    fs-extra "^9.0.0"
+    resolve-from "^5.0.0"
+    semver "7.3.2"
+    xml2js "0.4.23"
+
 "@expo/sdk-runtime-versions@^1.0.0":
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c"
   integrity sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==
 
+"@expo/spawn-async@1.5.0":
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.5.0.tgz#799827edd8c10ef07eb1a2ff9dcfe081d596a395"
+  integrity sha512-LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==
+  dependencies:
+    cross-spawn "^6.0.5"
+
 "@expo/vector-icons@^12.0.4":
   version "12.0.5"
   resolved "https://registry.yarnpkg.com/@expo/vector-icons/-/vector-icons-12.0.5.tgz#bc508ad05fb7e9a3e008704977cfec6c18aa7728"
@@ -1426,6 +1486,15 @@
     query-string "^7.0.0"
     react-is "^16.13.0"
 
+"@react-navigation/drawer@^6.1.8":
+  version "6.1.8"
+  resolved "https://registry.yarnpkg.com/@react-navigation/drawer/-/drawer-6.1.8.tgz#82e2a06d17166a82dd18233678ebf63ed523aaab"
+  integrity sha512-kYE2EO5dianUuUcaYmAlYBcgtmvGm2fxWTQ5sn103cgPNidp4KBUR9ClkhF+btfRaHKq+8Ul5M6qvL0mBAv/Lg==
+  dependencies:
+    "@react-navigation/elements" "^1.2.1"
+    color "^3.1.3"
+    warn-once "^0.1.0"
+
 "@react-navigation/elements@^1.2.1":
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/@react-navigation/elements/-/elements-1.2.1.tgz#86f19781c6f34a5c9dd25dca99915e0306f477d1"
@@ -2222,7 +2291,7 @@ color-name@^1.0.0, color-name@~1.1.4:
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
-color-string@^1.6.0, color-string@^1.9.0:
+color-string@^1.5.3, color-string@^1.6.0, color-string@^1.9.0:
   version "1.9.0"
   resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa"
   integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==
@@ -2271,6 +2340,11 @@ commander@^4.0.0:
   resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
   integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
 
+commander@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
+  integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
+
 commander@^7.2.0:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
@@ -2413,6 +2487,11 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
     shebang-command "^1.2.0"
     which "^1.2.9"
 
+crypto-random-string@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+  integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=
+
 css-color-keywords@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
@@ -2733,6 +2812,13 @@ expand-brackets@^2.1.4:
     snapdragon "^0.8.1"
     to-regex "^3.0.1"
 
+expo-app-loading@~1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/expo-app-loading/-/expo-app-loading-1.3.0.tgz#2023f11e1420d423478474942c0d1c74e1afa335"
+  integrity sha512-IbMI1w2a79IXw2uH/dgwxWmXW9uR5DNjY/mDKdUCGR0tjMeeliZRq66gGdRLgCkfXS2b2WMIi03gB05l7SiQeg==
+  dependencies:
+    expo-splash-screen "~0.14.0"
+
 expo-application@~4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-4.0.1.tgz#d38a1315c06c253b843c951ddc6fbb9a026f05cc"
@@ -2794,7 +2880,7 @@ expo-file-system@~13.1.0:
     "@expo/config-plugins" "^4.0.2"
     uuid "^3.4.0"
 
-expo-font@~10.0.4:
+expo-font@^10.0.4, expo-font@~10.0.4:
   version "10.0.4"
   resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-10.0.4.tgz#c06ff88079c857ef71c24414a583fd270b3f34e7"
   integrity sha512-ieEsT6tD6yD6qT7WUzzJ5el0UvACr53RqICu0GI9GUiWuwDFPM2Oi5WfWwYFFStCRuaP6kEtpkJDUZ9cjT5F+w==
@@ -2822,6 +2908,17 @@ expo-modules-autolinking@0.5.2:
     find-up "^5.0.0"
     fs-extra "^9.1.0"
 
+expo-modules-autolinking@~0.5.1:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-0.5.3.tgz#e66d36db9c67dad6247ed72ce050dee4cb50eb64"
+  integrity sha512-l6jbfApkU7AX8FLr8o+O7/yXamxdaP6a8yZ/mNBudZIV6AVeMI602O0AFErsDj8xTcJSe0puIX2WjK29XlVayg==
+  dependencies:
+    chalk "^4.1.0"
+    commander "^7.2.0"
+    fast-glob "^3.2.5"
+    find-up "^5.0.0"
+    fs-extra "^9.1.0"
+
 expo-modules-core@0.6.3:
   version "0.6.3"
   resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-0.6.3.tgz#e5326169a888144f2691ffd49b7686dfac235227"
@@ -2830,6 +2927,14 @@ expo-modules-core@0.6.3:
     compare-versions "^3.4.0"
     invariant "^2.2.4"
 
+expo-splash-screen@~0.14.0:
+  version "0.14.1"
+  resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.14.1.tgz#7647c8b98c679b8313d24a7c14729402c3c16631"
+  integrity sha512-Y08wMIVjRuPbBnH2N6KwUfQYYnAiBrZMFAfXjjPPObyMDZ7v5VXTcbAWHqGdnYDcIbXRpat+fiWpTeU2HanBBg==
+  dependencies:
+    "@expo/configure-splash-screen" "^0.6.0"
+    "@expo/prebuild-config" "^3.0.15"
+
 expo-status-bar@~1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/expo-status-bar/-/expo-status-bar-1.2.0.tgz#16e73205da563f9536f562e439081e30e318a82e"
@@ -3097,7 +3202,7 @@ fs-extra@^8.1.0:
     jsonfile "^4.0.0"
     universalify "^0.1.0"
 
-fs-extra@^9.1.0:
+fs-extra@^9.0.0, fs-extra@^9.1.0:
   version "9.1.0"
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
   integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
@@ -3721,6 +3826,11 @@ jetifier@^1.6.2:
   resolved "https://registry.yarnpkg.com/jetifier/-/jetifier-1.6.8.tgz#e88068697875cbda98c32472902c4d3756247798"
   integrity sha512-3Zi16h6L5tXDRQJTb221cnRoVG9/9OvreLdLU2/ZjRv/GILL+2Cemt0IKvkowwkDpvouAU1DQPOJ7qaiHeIdrw==
 
+jimp-compact@0.16.1:
+  version "0.16.1"
+  resolved "https://registry.yarnpkg.com/jimp-compact/-/jimp-compact-0.16.1.tgz#9582aea06548a2c1e04dd148d7c3ab92075aefa3"
+  integrity sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==
+
 joi@^17.2.1:
   version "17.5.0"
   resolved "https://registry.yarnpkg.com/joi/-/joi-17.5.0.tgz#7e66d0004b5045d971cf416a55fb61d33ac6e011"
@@ -4399,7 +4509,7 @@ mime@1.6.0:
   resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
   integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
 
-mime@^2.4.1:
+mime@^2.4.1, mime@^2.4.4:
   version "2.6.0"
   resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
   integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
@@ -4787,6 +4897,13 @@ parse-json@^5.0.0:
     json-parse-even-better-errors "^2.3.0"
     lines-and-columns "^1.1.6"
 
+parse-png@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/parse-png/-/parse-png-2.1.0.tgz#2a42ad719fedf90f81c59ebee7ae59b280d6b338"
+  integrity sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==
+  dependencies:
+    pngjs "^3.3.0"
+
 parseurl@~1.3.3:
   version "1.3.3"
   resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@@ -4874,6 +4991,16 @@ plist@^3.0.1, plist@^3.0.4:
     base64-js "^1.5.1"
     xmlbuilder "^9.0.7"
 
+pngjs@^3.3.0:
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
+  integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
+
+pngjs@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
+  integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
+
 posix-character-classes@^0.1.0:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
@@ -5522,7 +5649,7 @@ sane@^4.0.3:
     minimist "^1.1.1"
     walker "~1.0.5"
 
-sax@>=0.6.0, sax@^1.2.1:
+sax@>=0.6.0, sax@^1.2.1, sax@^1.2.4:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
   integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
@@ -6002,6 +6129,11 @@ tailwindcss@^2.0.0:
     resolve "^1.20.0"
     tmp "^0.2.1"
 
+temp-dir@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
+  integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=
+
 temp@0.8.3:
   version "0.8.3"
   resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59"
@@ -6017,6 +6149,15 @@ temp@^0.8.1:
   dependencies:
     rimraf "~2.6.2"
 
+tempy@0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.3.0.tgz#6f6c5b295695a16130996ad5ab01a8bd726e8bf8"
+  integrity sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==
+  dependencies:
+    temp-dir "^1.0.0"
+    type-fest "^0.3.1"
+    unique-string "^1.0.0"
+
 thenify-all@^1.0.0:
   version "1.6.0"
   resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
@@ -6123,6 +6264,11 @@ type-fest@^0.13.1:
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934"
   integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==
 
+type-fest@^0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1"
+  integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==
+
 type-fest@^0.6.0:
   version "0.6.0"
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
@@ -6189,6 +6335,13 @@ union-value@^1.0.0:
     is-extendable "^0.1.1"
     set-value "^2.0.1"
 
+unique-string@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
+  integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=
+  dependencies:
+    crypto-random-string "^1.0.0"
+
 universalify@^0.1.0:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
@@ -6392,7 +6545,7 @@ xcode@^2.0.0:
     simple-plist "^1.0.0"
     uuid "^3.3.2"
 
-xcode@^3.0.1:
+xcode@^3.0.0, xcode@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/xcode/-/xcode-3.0.1.tgz#3efb62aac641ab2c702458f9a0302696146aa53c"
   integrity sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==
@@ -6400,6 +6553,13 @@ xcode@^3.0.1:
     simple-plist "^1.1.0"
     uuid "^7.0.3"
 
+xml-js@^1.6.11:
+  version "1.6.11"
+  resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9"
+  integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==
+  dependencies:
+    sax "^1.2.4"
+
 xml2js@0.4.23:
   version "0.4.23"
   resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"