diff --git a/package.json b/package.json index 3ec4175..45eff24 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,8 @@ "react-native": "0.68.2", "react-native-awesome-alerts": "1.5.2", "react-native-copilot": "^2.5.1", + "react-native-htmlview": "^0.16.0", + "react-native-ratings": "^8.1.0", "react-native-safe-area-context": "^4.2.5", "react-native-screens": "3.10.2", "react-native-select-dropdown": "1.13.0", diff --git a/src/components/AlertModal.js b/src/components/AlertModal.js index 3c061b9..ce3bd89 100644 --- a/src/components/AlertModal.js +++ b/src/components/AlertModal.js @@ -82,7 +82,7 @@ const AlertModal = (props) => { showProgress={alert.showProgress} title={alert.title} titleStyle={{ - fontFamily: "Bold", + fontFamily: "Medium", color: props.theme === "light" ? Colors.theme1.gray20 diff --git a/src/components/Avatar.js b/src/components/Avatar.js index 9f0bf2b..3d99c90 100644 --- a/src/components/Avatar.js +++ b/src/components/Avatar.js @@ -81,7 +81,7 @@ function Avatar({ source, size, theme, action }) { top: 16, left: 16, color: "white", - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.tiny, }} > diff --git a/src/components/Drawer.js b/src/components/Drawer.js index 5cb3632..2f5a9c4 100644 --- a/src/components/Drawer.js +++ b/src/components/Drawer.js @@ -451,7 +451,7 @@ const Drawer = ({ style={{ fontSize: mobile ? fontSize.tiny : fontSize.lg, color: "white", - fontFamily: "Bold", + fontFamily: "Medium", marginTop: 5, textAlign: "right", }} @@ -514,7 +514,7 @@ const Drawer = ({ marginRight: 5, marginTop: 3, fontSize: fontSize.xl4, - fontFamily: "Bold", + fontFamily: "Medium", color: Colors.theme1.gray20 + "77", }} > diff --git a/src/components/Header.js b/src/components/Header.js index ab5bb41..a90a5af 100644 --- a/src/components/Header.js +++ b/src/components/Header.js @@ -29,7 +29,7 @@ function Header({ title, description, background }) { { fontSize: fontSize.xl, color: Colors.theme1.greenCF, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > diff --git a/src/components/Pressable.js b/src/components/Pressable.js index 86b1035..2b90307 100644 --- a/src/components/Pressable.js +++ b/src/components/Pressable.js @@ -44,7 +44,7 @@ function Pressable1({ ? textFontSize : fontSize.base, color: color, - fontFamily: "Bold", + fontFamily: "Medium", textAlign: "center", }} > diff --git a/src/navigation.js b/src/navigation.js index 95ab8f3..72a4f5a 100644 --- a/src/navigation.js +++ b/src/navigation.js @@ -1,45 +1,45 @@ -import React, { useEffect } from "react"; +import React, {useEffect} from 'react'; // import { Restart } from "fiction-expo-restart"; -import { I18nManager, StatusBar, Dimensions, Linking, View } from "react-native"; -import Svg, { G, Path } from "react-native-svg"; -import { asyncAwesomeAlert } from "../src/utils/AsyncWrappers"; -import { NavigationContainer } from "@react-navigation/native"; -import { createNativeStackNavigator } from "@react-navigation/native-stack"; -import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; -import { connect } from "react-redux"; -import { user, publicApi } from "../src/redux/actions"; -import { useSafeAreaInsets } from "react-native-safe-area-context"; +import {I18nManager, StatusBar, Dimensions, Linking, View} from 'react-native'; +import Svg, {G, Path} from 'react-native-svg'; +import {asyncAwesomeAlert} from '../src/utils/AsyncWrappers'; +import {NavigationContainer} from '@react-navigation/native'; +import {createNativeStackNavigator} from '@react-navigation/native-stack'; +import {createBottomTabNavigator} from '@react-navigation/bottom-tabs'; +import {connect} from 'react-redux'; +import {user, publicApi} from '../src/redux/actions'; +import {useSafeAreaInsets} from 'react-native-safe-area-context'; //components // import OrderDetails from "../src/screens/OrderDetails"; // import OrdersFollowUp from "../src/screens/OrdersFollowUp"; -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"; +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"; // import AR from "../src/screens/AR"; // import QR from "../src/screens/QR"; // import QRContent from "../src/screens/QRContent"; // import Faq from "../src/screens/Faq"; // import Activation from "../src/screens/Activation"; -// import Videos from "../src/screens/Videos"; +import Videos from '../src/screens/Videos'; // import Video from "../src/screens/Video"; // import VideoDisplay from "../src/screens/VideoDisplay"; // import Contact from "../src/screens/Contact"; // import Tests from "../src/screens/Tests"; -// import ShoppingCart from "../src/screens/ShoppingCart"; +import ShoppingCart from '../src/screens/ShoppingCart'; // import DeliveryForm from "../src/screens/DeliveryForm"; // import Address from "../src/screens/Address"; -// import Profile from "../src/screens/Profile"; +import Profile from '../src/screens/Profile'; // import ProfileBookmark from "../src/screens/Profile/components/ProfileBookmark"; // import ProfileAddress from "../src/screens/Profile/components/ProfileAddress"; // import Blogs from "../src/screens/Blogs"; // import Blog from "../src/screens/Blog"; // import Sample from "../src/screens/Product/components/Sample"; // import Info from "../src/screens/Product/components/Info"; -import Rules from "../src/screens/Rules/index"; +import Rules from '../src/screens/Rules/index'; // import MyCourses from "../src/screens/Profile/components/MyCourses"; // import Ticket from "../src/screens/Contact/layouts/Ticket"; // import Tickets from "../src/screens/Contact/layouts/Tickets"; @@ -47,8 +47,8 @@ import Rules from "../src/screens/Rules/index"; // import MoreBlog from "../src/screens/Blogs/layouts/More"; //style -import Colors from "./constants/Colors"; -import fontSize from "./constants/fontSize"; +import Colors from './constants/Colors'; +import fontSize from './constants/fontSize'; const Tab = createBottomTabNavigator(); const BottomTabNavigator = ({ @@ -73,31 +73,30 @@ const BottomTabNavigator = ({ headerShown, headerStyle: { backgroundColor: - theme === "light" ? Colors.theme1.white : Colors.theme1.dark, + theme === 'light' ? Colors.theme1.white : Colors.theme1.dark, }, tabBarIconStyle: { - transform: [{ scaleX: -1 }], + transform: [{scaleX: -1}], }, - tabBarLabelPosition: "below-icon", + tabBarLabelPosition: 'below-icon', tabBarActiveTintColor: - theme === "light" ? Colors.theme1.green79 : Colors.theme1.greenCF, + theme === 'light' ? Colors.theme1.green79 : Colors.theme1.greenCF, tabBarInactiveTintColor: - theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, + theme === 'light' ? Colors.theme1.gray20 : Colors.theme1.white, tabBarStyle: { backgroundColor: - theme === "light" ? Colors.theme1.white : Colors.theme1.dark, - transform: [{ scaleX: -1 }], + theme === 'light' ? Colors.theme1.white : Colors.theme1.dark, + transform: [{scaleX: -1}], height: 65 + insets.bottom, borderWidth: 0, }, tabBarLabelStyle: { - transform: [{ scaleX: -1 }, { translateY: -5 }], + transform: [{scaleX: -1}, {translateY: -5}], fontSize: fontSize.xs, - fontFamily: "Bold", + fontFamily: 'Bold', }, tabBarShowLabel: true, - }} - > + }}> {bottomNavigation.home.isActive ? ( + tabBarIcon: ({focused, color}) => focused ? ( + height={33.579}> + transform: [{scale: 0.7}], + }}> } options={{ title: bottomNavigation.products.label, - tabBarIcon: ({ focused, color }) => + tabBarIcon: ({focused, color}) => focused ? ( + height={34.763}> + transform: [{scale: 0.7}], + }}> + strokeWidth={2}> + tabBarIcon: ({focused, color}) => focused ? ( + height={31.1}> + transform: [{scale: 0.7}], + }}> } options={{ - tabBarBadge: userProducts?.filter( - (product) => product?.condition < 2 - ).length - ? userProducts?.filter((product) => product?.condition < 2) - ?.length + tabBarBadge: userProducts?.filter(product => product?.condition < 2) + .length + ? userProducts?.filter(product => product?.condition < 2)?.length : null, tabBarBadgeStyle: { - color: "white", + color: 'white', backgroundColor: - theme === "light" + theme === 'light' ? Colors.theme1.greenCF : Colors.theme1.greenCF, fontSize: fontSize.sm, paddingTop: 2, color: - theme === "light" ? Colors.theme1.white : Colors.theme1.dark, + theme === 'light' ? Colors.theme1.white : Colors.theme1.dark, borderWidth: 1, borderColor: - theme === "light" ? Colors.theme1.greenCF : Colors.theme1.dark, - fontFamily: "Bold", + theme === 'light' ? Colors.theme1.greenCF : Colors.theme1.dark, + fontFamily: 'Bold', }, title: bottomNavigation.cart.label, - tabBarIcon: ({ focused, color }) => + tabBarIcon: ({focused, color}) => focused ? ( + style={{transform: [{scale: 1.2}]}}> + data-name="vuesax/linear/bag-2"> + transform: [{scale: 0.8}], + }}> + data-name="vuesax/linear/bag-2"> } options={{ title: bottomNavigation.profile.label, - tabBarIcon: ({ focused, color }) => + tabBarIcon: ({focused, color}) => focused ? ( + height={31.192}> + }> + transform: [{scale: 0.8}], + }}> + strokeWidth={2}> ), contentStyle: { - backgroundColor: "white", + backgroundColor: 'white', }, }} /> @@ -474,28 +456,28 @@ const BottomTabNavigator = ({ }; const HomeStack = createNativeStackNavigator(); -const HomeStackScreen = ({ theme, startUserGuide }) => { +const HomeStackScreen = ({theme, startUserGuide}) => { return ( + initialRouteName="Home"> } /> - {/* - - + + {/* + + @@ -506,21 +488,21 @@ const HomeStackScreen = ({ theme, startUserGuide }) => { }; const ProductsStack = createNativeStackNavigator(); -const ProductsStackScreen = ({ theme }) => { +const ProductsStackScreen = ({theme}) => { return ( + initialRouteName="Products"> } /> - {/* + + {/* */} @@ -528,20 +510,19 @@ const ProductsStackScreen = ({ theme }) => { }; const VODStack = createNativeStackNavigator(); -const VODStackScreen = ({ theme }) => { +const VODStackScreen = ({theme}) => { return ( - } /> + initialRouteName="VOD"> + } /> {/* */} @@ -549,20 +530,19 @@ const VODStackScreen = ({ theme }) => { }; const CARTStack = createNativeStackNavigator(); -const CARTStackScreen = ({ theme }) => { +const CARTStackScreen = ({theme}) => { return ( - } /> + initialRouteName="ShoppingCart"> + } /> {/* */} @@ -570,22 +550,23 @@ const CARTStackScreen = ({ theme }) => { }; const PROFILEStack = createNativeStackNavigator(); -const PROFILEStackScreen = ({ theme }) => { +const PROFILEStackScreen = ({theme}) => { return ( - } /> - {/* + }}> + } /> + {/* + + @@ -623,14 +604,14 @@ const Navigation = ({ } getStatus(); StatusBar.setBarStyle( - `${theme === "light" ? "dark" : "light"}-content`, - true + `${theme === 'light' ? 'dark' : 'light'}-content`, + true, ); }, []); - Dimensions.addEventListener("change", () => { - const dim = Dimensions.get("window"); - setOrientation(dim.height > dim.width ? "portrait" : "landscape"); + Dimensions.addEventListener('change', () => { + const dim = Dimensions.get('window'); + setOrientation(dim.height > dim.width ? 'portrait' : 'landscape'); }); return ( @@ -641,11 +622,10 @@ const Navigation = ({ headerShown: false, contentStyle: { backgroundColor: - theme === "light" ? Colors.theme1.white : Colors.theme1.dark, + theme === 'light' ? Colors.theme1.white : Colors.theme1.dark, }, unmountOnBlur: true, - }} - > + }}> @@ -680,7 +660,7 @@ const Navigation = ({ ); }; -const mapStateToProps = (state) => ({ +const mapStateToProps = state => ({ userProducts: state.userProduct.list, theme: state.publicApi.theme, ltr: state.publicApi.ltr, diff --git a/src/screens/AR/components/Book.js b/src/screens/AR/components/Book.js index 1d274a8..0a56ccf 100644 --- a/src/screens/AR/components/Book.js +++ b/src/screens/AR/components/Book.js @@ -37,7 +37,7 @@ const Book = ({ book, mobile, theme }) => { { > { ? Colors.theme1.gray20 : Colors.theme1.grayF9, textAlign: "right", - fontFamily: "Bold", + fontFamily: "Medium", lineHeight: 25, fontSize: fontSize.xl4, marginVertical: -15, @@ -211,7 +211,7 @@ export const Blog = ({ getInfo, blog, getList, blogs, route, theme }) => { ? Colors.theme1.gray20 : Colors.theme1.grayF9, textAlign: "right", - fontFamily: "Bold", + fontFamily: "Medium", lineHeight: 25, fontSize: fontSize.xl, marginVertical: -10, @@ -222,7 +222,7 @@ export const Blog = ({ getInfo, blog, getList, blogs, route, theme }) => { ? Colors.theme1.gray20 : Colors.theme1.grayF9, textAlign: "right", - fontFamily: "Bold", + fontFamily: "Medium", lineHeight: 25, fontSize: fontSize.lg, marginVertical: -10, @@ -243,7 +243,7 @@ export const Blog = ({ getInfo, blog, getList, blogs, route, theme }) => { ? Colors.theme1.gray20 : Colors.theme1.grayF9, textAlign: "right", - fontFamily: "Bold", + fontFamily: "Medium", lineHeight: 25, }, ul: { diff --git a/src/screens/Blogs/index.js b/src/screens/Blogs/index.js index 2c5de28..8645320 100644 --- a/src/screens/Blogs/index.js +++ b/src/screens/Blogs/index.js @@ -137,7 +137,7 @@ const HashtagBlog = ({ blog, theme }) => { { style={[ tw("px-2 py-0.5 mx-1"), { - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.sm, color: theme === "light" diff --git a/src/screens/Blogs/layouts/Header.js b/src/screens/Blogs/layouts/Header.js index 42034e3..59cae7b 100644 --- a/src/screens/Blogs/layouts/Header.js +++ b/src/screens/Blogs/layouts/Header.js @@ -30,7 +30,7 @@ export const Header = ({ title, theme }) => { theme === "light" ? Colors.theme1.black : Colors.theme1.white + "dd", - fontFamily: "Bold", + fontFamily: "Medium", alignItems: "center", }, ]} diff --git a/src/screens/Blogs/layouts/More.js b/src/screens/Blogs/layouts/More.js index 6e41432..92cadd2 100644 --- a/src/screens/Blogs/layouts/More.js +++ b/src/screens/Blogs/layouts/More.js @@ -90,7 +90,7 @@ const Blog = ({ blog, theme }) => { { { style={[ tw("text-gray-100"), { - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.tiny, textAlign: ios ? "right" : "auto", }, @@ -73,7 +73,7 @@ export const Single = ({ blog, theme }) => { style={[ tw("text-gray-100 mt-2"), { - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.sm, textAlign: ios ? "right" : "auto", }, @@ -114,7 +114,7 @@ export const Single = ({ blog, theme }) => { { style={[ tw("my-3"), { - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.lg, textAlign: ios ? "right" : "auto", color: @@ -75,7 +75,7 @@ const Target = ({ blogs, theme }) => { {/* { { style={[ tw("my-2"), { - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.sm, textAlign: ios ? "right" : "auto", color: diff --git a/src/screens/Contact/layouts/Box.js b/src/screens/Contact/layouts/Box.js index ee7aff4..e80d37a 100644 --- a/src/screens/Contact/layouts/Box.js +++ b/src/screens/Contact/layouts/Box.js @@ -41,7 +41,7 @@ const Box = ({ info, mobile }) => { { > { { > { { { fontSize: fontSize.tiny, color: theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -57,7 +57,7 @@ const PriceStatus = ({ name, value, type, theme }) => { ? Colors.theme1.green79 : Colors.theme1.white, fontSize: fontSize.xl, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -187,7 +187,7 @@ const DeliveryForm = ({ ? Colors.theme1.green79 : Colors.theme1.white, fontSize: fontSize.base, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -202,7 +202,7 @@ const DeliveryForm = ({ ? Colors.theme1.green79 : Colors.theme1.white, fontSize: fontSize.xl, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > diff --git a/src/screens/Faq/components/Instance.js b/src/screens/Faq/components/Instance.js index 0767ad3..12e1875 100644 --- a/src/screens/Faq/components/Instance.js +++ b/src/screens/Faq/components/Instance.js @@ -36,7 +36,7 @@ function Instance({ question, selectFaq, mobile, theme }) { ? Colors.theme1.green79 : Colors.theme1.grayF9, fontSize: mobile ? fontSize.tiny : fontSize.base, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > diff --git a/src/screens/Faq/index.js b/src/screens/Faq/index.js index 42e9cae..38c12f2 100644 --- a/src/screens/Faq/index.js +++ b/src/screens/Faq/index.js @@ -99,7 +99,7 @@ function Faq({ موردی یافت نشد. diff --git a/src/screens/Home/components/Blogs.js b/src/screens/Home/components/Blogs.js index 64c1f43..fe03a59 100644 --- a/src/screens/Home/components/Blogs.js +++ b/src/screens/Home/components/Blogs.js @@ -91,7 +91,7 @@ const Blog = ({ blog, mobile, theme }) => { { color: theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", fontSize: mobile ? fontSize.sm : fontSize.tiny, textAlign: ios ? "right" : "auto", }, diff --git a/src/screens/Home/components/Header.js b/src/screens/Home/components/Header.js index a4b99bc..13c11eb 100644 --- a/src/screens/Home/components/Header.js +++ b/src/screens/Home/components/Header.js @@ -39,7 +39,7 @@ const Header = ({ title, route, mobile, theme, state = null }) => { color: theme === "light" ? Colors.theme1.green79 : Colors.theme1.white, fontSize: fontSize.sm, - fontFamily: "Bold", + fontFamily: "Medium", }} > مشاهده همه diff --git a/src/screens/Home/components/MyBooks.js b/src/screens/Home/components/MyBooks.js index e2554e4..11dc20c 100644 --- a/src/screens/Home/components/MyBooks.js +++ b/src/screens/Home/components/MyBooks.js @@ -110,7 +110,7 @@ const Book = ({ book, grades, theme, mobile }) => { { color: theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.tiny, }, ]} diff --git a/src/screens/Home/components/Videos.js b/src/screens/Home/components/Videos.js index b435e9c..b51f036 100644 --- a/src/screens/Home/components/Videos.js +++ b/src/screens/Home/components/Videos.js @@ -81,7 +81,7 @@ const Video = ({ video, mobile, grades, theme }) => { { color: theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", fontSize: mobile ? fontSize.sm : fontSize.tiny, textAlign: ios ? "right" : "auto", }, diff --git a/src/screens/Login/index.js b/src/screens/Login/index.js index b4fbd92..62a5245 100644 --- a/src/screens/Login/index.js +++ b/src/screens/Login/index.js @@ -203,7 +203,7 @@ function Login(props) { > ورود شما در سامانه به منزله قبول و{" "} navigation.push("Rules")} > شرایط , قوانین استفاده diff --git a/src/screens/OrderDetails/components/Book.js b/src/screens/OrderDetails/components/Book.js index 950fc57..88a45ac 100644 --- a/src/screens/OrderDetails/components/Book.js +++ b/src/screens/OrderDetails/components/Book.js @@ -42,7 +42,7 @@ function Book({ book, mobile, grades, theme }) { theme === "light" ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -87,7 +87,7 @@ function Book({ book, mobile, grades, theme }) { backgroundColor: theme === "light" ? "#F1F1F1" : null, borderWidth: theme === "light" ? 0 : 1, borderColor: "#f1f1f1", - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -96,7 +96,7 @@ function Book({ book, mobile, grades, theme }) { diff --git a/src/screens/OrderDetails/index.js b/src/screens/OrderDetails/index.js index 1598d7e..9ab4ff2 100644 --- a/src/screens/OrderDetails/index.js +++ b/src/screens/OrderDetails/index.js @@ -104,7 +104,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, fontSize: mobile ? fontSize.sm : fontSize.tiny, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -137,7 +137,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -181,7 +181,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -215,7 +215,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -260,7 +260,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -299,7 +299,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -343,7 +343,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -376,7 +376,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -420,7 +420,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -455,7 +455,7 @@ function OrderDetails({ mobile, route, theme }) { ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > diff --git a/src/screens/OrdersFollowUp/components/Order.js b/src/screens/OrdersFollowUp/components/Order.js index 3297d8a..fdf6026 100644 --- a/src/screens/OrdersFollowUp/components/Order.js +++ b/src/screens/OrdersFollowUp/components/Order.js @@ -119,7 +119,7 @@ function Order({ order, mobile, theme }) { { textAlign: theme === "light" ? "center" : "right", fontSize: fontSize.sm, - fontFamily: "Bold", + fontFamily: "Medium", backgroundColor: theme === "light" ? "#F0FFF1" : null, color: theme === "light" ? Colors.theme1.green79 : "#F0FFF1", paddingHorizontal: theme === "light" ? 8 : 0, @@ -140,7 +140,7 @@ function Order({ order, mobile, theme }) { theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > diff --git a/src/screens/Otp/index.js b/src/screens/Otp/index.js index 34427dc..1552dbd 100644 --- a/src/screens/Otp/index.js +++ b/src/screens/Otp/index.js @@ -258,7 +258,7 @@ function Otp(props) { tw("py-3 px-5 text-center rounded-md mx-1.5"), { fontSize: fontSize.xl5, - fontFamily: "Bold", + fontFamily: "Medium", color: props.theme === "light" ? Colors.theme1.green79 @@ -284,7 +284,7 @@ function Otp(props) { tw("py-3 px-5 text-center rounded-md mx-1.5"), { fontSize: fontSize.xl5, - fontFamily: "Bold", + fontFamily: "Medium", color: props.theme === "light" ? Colors.theme1.green79 @@ -310,7 +310,7 @@ function Otp(props) { tw("py-3 px-5 text-center rounded-md mx-1.5"), { fontSize: fontSize.xl5, - fontFamily: "Bold", + fontFamily: "Medium", color: props.theme === "light" ? Colors.theme1.green79 @@ -336,7 +336,7 @@ function Otp(props) { tw("py-3 px-5 text-center rounded-md mx-1.5"), { fontSize: fontSize.xl5, - fontFamily: "Bold", + fontFamily: "Medium", color: props.theme === "light" ? Colors.theme1.green79 diff --git a/src/screens/Product/components/Book.js b/src/screens/Product/components/Book.js index 9f2176f..6d20569 100644 --- a/src/screens/Product/components/Book.js +++ b/src/screens/Product/components/Book.js @@ -200,7 +200,7 @@ function Book({ ) : ( diff --git a/src/screens/Product/components/Comments.js b/src/screens/Product/components/Comments.js index 7ad4f43..5da7f04 100644 --- a/src/screens/Product/components/Comments.js +++ b/src/screens/Product/components/Comments.js @@ -79,7 +79,7 @@ const Comment = ({ comment, theme }) => { /> diff --git a/src/screens/Product/components/Info.js b/src/screens/Product/components/Info.js index 424ee37..f464482 100644 --- a/src/screens/Product/components/Info.js +++ b/src/screens/Product/components/Info.js @@ -236,7 +236,7 @@ const ProductReviews = ({ list, mobile, theme }) => { theme === "light" ? Colors.theme1.green79 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > diff --git a/src/screens/Product/components/LinkBox.js b/src/screens/Product/components/LinkBox.js index e375f5b..899bbb4 100644 --- a/src/screens/Product/components/LinkBox.js +++ b/src/screens/Product/components/LinkBox.js @@ -1,7 +1,6 @@ import React, { useRef } from "react"; import { Text, TouchableOpacity, Appearance } from "react-native"; import { connect } from "react-redux"; -import { Entypo } from "@expo/vector-icons"; //style import tw from "tailwind-rn"; @@ -40,11 +39,11 @@ function Description({ title, onPress, mobile, theme }) { > {title} - + /> */} ); } diff --git a/src/screens/Product/components/Rates.js b/src/screens/Product/components/Rates.js index 28dd18d..632100d 100644 --- a/src/screens/Product/components/Rates.js +++ b/src/screens/Product/components/Rates.js @@ -56,7 +56,7 @@ function Rates({ productId, addVote, isBuyed = null, theme, rateDetail }) { { fontSize: fontSize.xl6, color: theme === "light" ? "#05335F" : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > diff --git a/src/screens/Product/index.js b/src/screens/Product/index.js index 54cb193..c9d8423 100644 --- a/src/screens/Product/index.js +++ b/src/screens/Product/index.js @@ -1,51 +1,46 @@ -import React, { useEffect } from "react"; +import React, {useEffect} from 'react'; import { View, StyleSheet, Dimensions, ScrollView, - SafeAreaView, StatusBar, - KeyboardAvoidingView, -} from "react-native"; -import Book from "./components/Book"; -import { book, config } from "../../redux/actions"; -import { connect } from "react-redux"; -import Navbar from "../../components/Navbar"; +} from 'react-native'; +import {SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context'; +import Book from './components/Book'; +import {book, config} from '../../redux/actions'; +import {connect} from 'react-redux'; +import Navbar from '../../components/Navbar'; -const { height, width } = Dimensions.get("window"); +const {height, width} = Dimensions.get('window'); + +function Product({route, book, getBook, grades, getAvailableForSell}) { + const insets = useSafeAreaInsets(); -function Product({ route, book, getBook, grades, getAvailableForSell }) { useEffect(() => { getAvailableForSell(); - getBook({ id: route.params.id, vod: true }); + getBook({id: route.params.id, vod: true}); }, []); return ( + style={{flex: 1, paddingTop: insets.top, paddingBottom: insets.bottom}}> + scrollEnabled={book ? true : false}> @@ -57,20 +52,20 @@ const styles = StyleSheet.create({ paddingBottom: 100, }, container: { - flexDirection: "column", + flexDirection: 'column', paddingVertical: 5, paddingHorizontal: 16, }, }); -const mapStateToProps = (state) => ({ +const mapStateToProps = state => ({ book: state.book.info, grades: state.publicApi.grades, }); const mapDispatchToProps = { getBook: book.info, - getAvailableForSell: config.getAvailableForSell + getAvailableForSell: config.getAvailableForSell, }; export default connect(mapStateToProps, mapDispatchToProps)(Product); diff --git a/src/screens/Products/components/Main.js b/src/screens/Products/components/Main.js index 3f5767c..da0d6ce 100644 --- a/src/screens/Products/components/Main.js +++ b/src/screens/Products/components/Main.js @@ -99,7 +99,7 @@ const Main = ({ books, filterOptions, grades, mobile, theme, orientation }) => { // style={[ // tw("mb-1"), // { - // fontFamily: "Bold", + // fontFamily: "Medium", // fontSize: mobile ? fontSize.lg : fontSize.base, // color: // theme === "light" @@ -129,7 +129,7 @@ const Main = ({ books, filterOptions, grades, mobile, theme, orientation }) => { // tw("w-full flex flex-row text-left"), // { // fontSize: mobile ? fontSize.xl : fontSize.lg, - // fontFamily: "Bold", + // fontFamily: "Medium", // color: // theme === "light" // ? Colors.theme1.gray20 @@ -196,7 +196,7 @@ const Main = ({ books, filterOptions, grades, mobile, theme, orientation }) => { style={{ fontSize: mobile ? fontSize.base : fontSize.tiny, marginTop: 5, - fontFamily: "Bold", + fontFamily: "Medium", width: "100%", textAlign: ios ? "right" : "auto", color: diff --git a/src/screens/Profile/components/ProfileAddress/index.js b/src/screens/Profile/components/ProfileAddress/index.js index 51d00ee..4f0d797 100644 --- a/src/screens/Profile/components/ProfileAddress/index.js +++ b/src/screens/Profile/components/ProfileAddress/index.js @@ -80,7 +80,7 @@ const ProfileAddress = ({ + diff --git a/src/screens/Profile/components/ProfileBookmark/index.js b/src/screens/Profile/components/ProfileBookmark/index.js index 2581934..7dc940b 100644 --- a/src/screens/Profile/components/ProfileBookmark/index.js +++ b/src/screens/Profile/components/ProfileBookmark/index.js @@ -151,7 +151,7 @@ const Bookmark = ({ bookmark, deleteItem, mobile, grades, theme, loading }) => { { theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }} > {(user?.firstName || " ") + " " + (user?.lastName || " ")} @@ -129,7 +129,7 @@ const User = ({ user, mobile, theme, upload }) => { { marginRight: 5, marginTop: 3, fontSize: fontSize.xl2, - fontFamily: "Bold", + fontFamily: "Medium", color: theme === "light" ? Colors.theme1.gray20 diff --git a/src/screens/Profile/index.js b/src/screens/Profile/index.js index 3eecd5b..05f2336 100644 --- a/src/screens/Profile/index.js +++ b/src/screens/Profile/index.js @@ -1,59 +1,54 @@ -import React, { useState, useEffect } from "react"; +import React, {useState, useEffect} from 'react'; import { View, Text, ScrollView, - Dimensions, StyleSheet, Pressable, - SafeAreaView, - StatusBar, LayoutAnimation, ActivityIndicator, -} from "react-native"; -import { connect } from "react-redux"; -import { useNavigation } from "@react-navigation/native"; -import { asyncAwesomeAlert } from "../../utils/AsyncWrappers"; -import { user } from "../../redux/actions"; -import Svg, { G, Path } from "react-native-svg"; +} from 'react-native'; +import {SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context'; +import {connect} from 'react-redux'; +import {useNavigation} from '@react-navigation/native'; +import {asyncAwesomeAlert} from '../../utils/AsyncWrappers'; +import {user} from '../../redux/actions'; +import Svg, {G, Path} from 'react-native-svg'; //components -import Navbar from "../../components/Navbar"; -import Drawer from "../../components/Drawer"; -import User from "./components/User"; -import Trophy from "./components/Trophy"; -import List from "./components/List"; +import Navbar from '../../components/Navbar'; +import Drawer from '../../components/Drawer'; +import User from './components/User'; +import Trophy from './components/Trophy'; +import List from './components/List'; //style -import fontSize from "../../constants/fontSize"; -import Colors from "../../constants/Colors"; -import tw from "tailwind-rn"; +import fontSize from '../../constants/fontSize'; +import Colors from '../../constants/Colors'; +import tw from 'tailwind-rn'; -function Profile({ mobile, theme, logout, loading }) { +function Profile({mobile, theme, logout, loading}) { + const insets = useSafeAreaInsets(); const navigation = useNavigation(); - const [position, setPosition] = useState("100%"); + const [position, setPosition] = useState('100%'); useEffect(() => {}, []); const setBoxPosition = () => { LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); - setPosition(position === "100%" ? "0%" : "100%"); + setPosition(position === '100%' ? '0%' : '100%'); }; return ( + style={{flex: 1, paddingTop: insets.top, paddingBottom: insets.bottom}}> + style={styles.container}> {/* */} - asyncAwesomeAlert("", "آیا قصد خروج از حساب کاربری فعلی رو داری؟", { + asyncAwesomeAlert('', 'آیا قصد خروج از حساب کاربری فعلی رو داری؟', { showCancelButton: true, - confirmText: "آره", - cancelText: "خیر", + confirmText: 'آره', + cancelText: 'خیر', onConfirm: () => { navigation.reset({ index: 0, - routes: [{ name: "Login" }], + routes: [{name: 'Login'}], }); logout(); }, }) - } - > + }> + style={[tw(`flex items-center w-full pb-3 mb-3 flex-row-reverse`)]}> {loading ? ( + style={{transform: [{scale: 0.8}]}}> + strokeWidth={2}> + }}> خروج از حساب کاربری @@ -133,7 +122,7 @@ function Profile({ mobile, theme, logout, loading }) { ); } -const mapStateToProps = (state) => ({ +const mapStateToProps = state => ({ mobile: state.publicApi.mobile, theme: state.publicApi.theme, loading: state.user.loading, @@ -148,10 +137,10 @@ export default connect(mapStateToProps, mapDispatchToProps)(Profile); const styles = StyleSheet.create({ contentContainerStyle: { paddingBottom: 100, - position: "relative", + position: 'relative', }, container: { - flexDirection: "column", + flexDirection: 'column', paddingVertical: 5, paddingHorizontal: 16, }, diff --git a/src/screens/QRContent/Content/Links.js b/src/screens/QRContent/Content/Links.js index 1a78ac6..ab0c231 100644 --- a/src/screens/QRContent/Content/Links.js +++ b/src/screens/QRContent/Content/Links.js @@ -22,7 +22,7 @@ export default function Links({ links }) { { style={[ tw("text-center my-3 p-2 rounded-sm"), { - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.sm, color: Colors.theme1.redC0, backgroundColor: theme === 'light' ? Colors.theme1.redFF : null, @@ -184,7 +184,7 @@ const Rule = ({ rule, theme }) => { style={[ tw("mb-1 p-2 rounded-sm"), { - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.sm, color: theme === "light" ? Colors.theme1.green79 : Colors.theme1.greenCF, diff --git a/src/screens/ShoppingCart/components/Code.js b/src/screens/ShoppingCart/components/Code.js index 391b1ca..7d245ec 100644 --- a/src/screens/ShoppingCart/components/Code.js +++ b/src/screens/ShoppingCart/components/Code.js @@ -81,7 +81,7 @@ function Code({ codeId, setCodeId, theme, loading, mobile }) { ثبت کد diff --git a/src/screens/ShoppingCart/components/Product.js b/src/screens/ShoppingCart/components/Product.js index ef0a135..197e3fb 100644 --- a/src/screens/ShoppingCart/components/Product.js +++ b/src/screens/ShoppingCart/components/Product.js @@ -86,7 +86,7 @@ function Product({ color: theme === "light" ? Colors.theme1.green79 : Colors.theme1.white, marginBottom: 5, - fontFamily: "Bold", + fontFamily: "Medium", }} > {product?.product?.book?.name || " "} @@ -225,7 +225,7 @@ function Product({ { fontSize: fontSize.xl6, color: Colors.theme1.greenBA, - fontFamily: "Bold", + fontFamily: "Medium", }, ]} > @@ -258,7 +258,7 @@ function Product({ style={{ fontSize: mobile ? fontSize.xl : fontSize.xl4, color: Colors.theme1.greenCF, - fontFamily: "Bold", + fontFamily: "Medium", }} > - diff --git a/src/screens/ShoppingCart/index.js b/src/screens/ShoppingCart/index.js index dc35914..4dcb97b 100644 --- a/src/screens/ShoppingCart/index.js +++ b/src/screens/ShoppingCart/index.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect, useCallback } from "react"; +import React, {useState, useEffect, useCallback} from 'react'; import { View, Text, @@ -6,82 +6,79 @@ import { Dimensions, StyleSheet, Pressable, - SafeAreaView, StatusBar, LayoutAnimation, KeyboardAvoidingView, Appearance, -} from "react-native"; -import { connect } from "react-redux"; -import { userProduct, userFactor } from "../../redux/actions"; +} from 'react-native'; +import {SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context'; +import {connect} from 'react-redux'; +import {userProduct, userFactor} from '../../redux/actions'; // import { Ionicons } from "@expo/vector-icons"; -import { useNavigation } from "@react-navigation/native"; -import { asyncAwesomeAlert } from "../../utils/AsyncWrappers"; -import separate from "../../utils/separate"; +import {useNavigation} from '@react-navigation/native'; +import {asyncAwesomeAlert} from '../../utils/AsyncWrappers'; +import separate from '../../utils/separate'; //components -import Product from "./components/Product"; -import Code from "./components/Code"; -import CustomPressable from "../../components/Pressable"; -import Navbar from "../../components/Navbar"; -import Drawer from "../../components/Drawer"; -import Empty from "../../components/Empty"; +import Product from './components/Product'; +import Code from './components/Code'; +import CustomPressable from '../../components/Pressable'; +import Navbar from '../../components/Navbar'; +import Drawer from '../../components/Drawer'; +import Empty from '../../components/Empty'; //style -import fontSize from "../../constants/fontSize"; -import Colors from "../../constants/Colors"; -import tw from "tailwind-rn"; +import fontSize from '../../constants/fontSize'; +import Colors from '../../constants/Colors'; +import tw from 'tailwind-rn'; -const { height } = Dimensions.get("window"); +const {height} = Dimensions.get('window'); -const PriceStatus = ({ name, value, type, theme }) => { +const PriceStatus = ({name, value, type, theme}) => { return ( - + + ]}> {name} - + + ]}> {value} + ]}> تومان @@ -99,77 +96,69 @@ function ShoppingCart({ payFactor, theme, }) { + const insets = useSafeAreaInsets(); const navigation = useNavigation(); - const [position, setPosition] = useState("100%"); + const [position, setPosition] = useState('100%'); const isEmpty = React.useMemo(() => { - return list?.filter((product) => product?.condition < 2)?.length === 0; + return list?.filter(product => product?.condition < 2)?.length === 0; }, [list]); const hasPhysical = React.useMemo(() => { - return ( - list?.filter( - (product) => product?.condition < 2 && product?.productType === 2 - )?.length - ); + return list?.filter( + product => product?.condition < 2 && product?.productType === 2, + )?.length; }, [list]); useEffect(() => { - getFactorInfo({ userId }); + getFactorInfo({userId}); }, [list]); useEffect(() => { getList(); - getFactorInfo({ userId }); + getFactorInfo({userId}); }, []); const setBoxPosition = useCallback(() => { LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); - setPosition(position === "100%" ? "0%" : "100%"); + setPosition(position === '100%' ? '0%' : '100%'); }, [userId]); return ( - + style={{flex: 1, paddingTop: insets.top, paddingBottom: insets.bottom}}> + - {list?.filter((product) => product?.condition < 2)?.length ? ( + {list?.filter(product => product?.condition < 2)?.length ? ( + style={styles.container}> {list ?.sort((a, b) => a?.id - b?.id) ?.map((product, index) => product?.condition < 2 ? ( - ) : null + ) : null, )} + theme === 'light' ? '' : 'border-opacity-20' + }`, + )}> + 'flex flex-row-reverse justify-between items-center w-full py-3', + )}> + ]}> جمع کل سبد خرید - + - {isEmpty ? 0 : separate(factorInfo?.payPrice - factorInfo?.transportPrice)} + ]}> + {isEmpty + ? 0 + : separate( + factorInfo?.payPrice - factorInfo?.transportPrice, + )} + ]}> تومان - + + ]}> + ]}> هزینه ارسال کالا پس از تعیین محل آدرس مشخص می‌شود {/* isEmpty - ? asyncAwesomeAlert("خطا", "سبد خرید شما خالی است.", { + ? asyncAwesomeAlert('خطا', 'سبد خرید شما خالی است.', { showCancelButton: false, }) : hasPhysical - ? navigation.navigate("DeliveryForm") - : payFactor({ userId }) + ? navigation.navigate('DeliveryForm') + : payFactor({userId}) } /> ) : ( navigation.navigate("Products")} + text={'سبد خرید شما خالی است'} + buttonText={'فروشگاه'} + buttonAction={() => navigation.navigate('Products')} /> )} @@ -310,7 +297,7 @@ function ShoppingCart({ ); } -const mapStateToProps = (state) => ({ +const mapStateToProps = state => ({ list: state.userProduct.list, payPrice: state.userProduct.sum, factorInfo: state.userFactor.info, @@ -332,10 +319,10 @@ export default connect(mapStateToProps, mapDispatchToProps)(ShoppingCart); const styles = StyleSheet.create({ contentContainerStyle: { paddingBottom: 120, - position: "relative", + position: 'relative', }, container: { - flexDirection: "column", + flexDirection: 'column', paddingVertical: 5, paddingHorizontal: 16, }, diff --git a/src/screens/Video/components/Season.js b/src/screens/Video/components/Season.js index 4f8f4d9..5d89deb 100644 --- a/src/screens/Video/components/Season.js +++ b/src/screens/Video/components/Season.js @@ -56,7 +56,7 @@ const Season = ({ {"دوره ویدئویی" + " " + video?.name} @@ -88,7 +88,7 @@ function MostViewedVideo({ videos, grades, mobile, theme }) { theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", fontSize: mobile ? fontSize.sm : fontSize.tiny, marginRight: 3, }, @@ -103,7 +103,7 @@ function MostViewedVideo({ videos, grades, mobile, theme }) { theme === "light" ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", fontSize: fontSize.xl, }, ]} diff --git a/src/screens/Videos/components/NewestVideo.js b/src/screens/Videos/components/NewestVideo.js index d02132a..6f07600 100644 --- a/src/screens/Videos/components/NewestVideo.js +++ b/src/screens/Videos/components/NewestVideo.js @@ -51,7 +51,7 @@ const NewestVideo = ({ videos, grades, mobile, theme }) => { fontSize: mobile ? fontSize.base : fontSize.base, marginTop: 5, color: theme === 'light' ? Colors.theme1.gray20 : Colors.theme1.white, - fontFamily: "Bold", + fontFamily: "Medium", }} > {video.name} diff --git a/src/screens/Videos/index.js b/src/screens/Videos/index.js index debef0a..52ceb64 100644 --- a/src/screens/Videos/index.js +++ b/src/screens/Videos/index.js @@ -1,55 +1,51 @@ -import React, { useState, useEffect } from "react"; +import React, {useState, useEffect} from 'react'; import { View, StyleSheet, ScrollView, - SafeAreaView, StatusBar, Platform, LayoutAnimation, -} from "react-native"; -import { connect } from "react-redux"; -import { book } from "../../redux/actions"; +} from 'react-native'; +import {SafeAreaView, useSafeAreaInsets} from 'react-native-safe-area-context'; +import {connect} from 'react-redux'; +import {book} from '../../redux/actions'; //components -import Navbar from "../../components/Navbar"; -import Drawer from "../../components/Drawer"; -import Search from "../../components/Search"; -import Divider from "../../components/Divider"; -import MostViewedVideo from "./components/MostViewedVideo"; -import NewestVideo from "./components/NewestVideo"; +import Navbar from '../../components/Navbar'; +import Drawer from '../../components/Drawer'; +import Search from '../../components/Search'; +import Divider from '../../components/Divider'; +import MostViewedVideo from './components/MostViewedVideo'; +import NewestVideo from './components/NewestVideo'; //assets -import tw from "tailwind-rn"; +import tw from 'tailwind-rn'; -function Videos({ grades, videos, getVideos, mobile }) { - const [search, setSearch] = useState(""); - const [position, setPosition] = useState("100%"); +function Videos({grades, videos, getVideos, mobile}) { + const insets = useSafeAreaInsets(); + const [position, setPosition] = useState('100%'); useEffect(() => { - getVideos({ vod: true }); + getVideos({vod: true}); }, []); const setBoxPosition = () => { LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut); - setPosition(position === "100%" ? "0%" : "100%"); + setPosition(position === '100%' ? '0%' : '100%'); }; return ( + style={{flex: 1, paddingTop: insets.top, paddingBottom: insets.bottom}}> - {!mobile ? : null} + style={[styles.container]}> + {!mobile ? : null} {/* - + a.updatedAt - b.updatedAt) @@ -88,15 +83,15 @@ function Videos({ grades, videos, getVideos, mobile }) { const styles = StyleSheet.create({ contentContainerStyle: { paddingBottom: 100, - alignItems: "flex-end", + alignItems: 'flex-end', }, container: { - flexDirection: "column", + flexDirection: 'column', paddingVertical: 0, }, }); -const mapStateToProps = (state) => ({ +const mapStateToProps = state => ({ grades: state.publicApi.grades, videos: state.book.list, grades: state.publicApi.grades, diff --git a/yarn.lock b/yarn.lock index 8dda2ed..4d9ab3e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2707,6 +2707,14 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" @@ -2716,11 +2724,23 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" +domelementtype@1, domelementtype@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + domelementtype@^2.0.1, domelementtype@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" + domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" @@ -2728,6 +2748,14 @@ domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" @@ -2769,6 +2797,11 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" +entities@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" @@ -3076,6 +3109,11 @@ event-target-shim@^5.0.0, event-target-shim@^5.0.1: resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== +eventemitter2@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-1.0.5.tgz#f983610517b1737c0b9dc643beca93893c04df18" + integrity sha512-EUFhWUYzqqBZlzBMI+dPU8rnKXfQZEUnitnccQuEIAnvWFHCpt3+4fts2+4dpxLtlsiseVXCMFg37KjYChSxpg== + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -3602,6 +3640,19 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +htmlparser2-without-node-native@^3.9.2: + version "3.9.2" + resolved "https://registry.yarnpkg.com/htmlparser2-without-node-native/-/htmlparser2-without-node-native-3.9.2.tgz#b3ed050d877d0ff3465969e339877b7f9f6631f6" + integrity sha512-+FplQXqmY5fRx6vCIp2P5urWaoBCpTNJMXnKP/6mNCcyb+AZWWJzA8D03peXfozlxDL+vpgLK5dJblqEgu8j6A== + dependencies: + domelementtype "^1.3.0" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + eventemitter2 "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.2" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -3675,7 +3726,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5822,6 +5873,21 @@ react-native-gradle-plugin@^0.0.6: resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.0.6.tgz#b61a9234ad2f61430937911003cddd7e15c72b45" integrity sha512-eIlgtsmDp1jLC24dRn43hB3kEcZVqx6DUQbR0N1ABXGnMEafm9I3V3dUUeD1vh+Dy5WqijSoEwLNUPLgu5zDMg== +react-native-htmlview@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/react-native-htmlview/-/react-native-htmlview-0.16.0.tgz#4a70d7c02ab3ab18e1cb708c0dcf0d99bc6c1cdc" + integrity sha512-yUrzXje+kKKLkWkccKNBeg3CbvrodA7f4+1d/XRrrg0SDFfIdj7NnjRdH+WXqGze6R501bfRZOPaZx/M5HTz3A== + dependencies: + entities "^1.1.1" + htmlparser2-without-node-native "^3.9.2" + +react-native-ratings@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/react-native-ratings/-/react-native-ratings-8.1.0.tgz#3fa9ad29128dc3a88e59518ba151e61c59dd0647" + integrity sha512-+QOJ4G3NjVkI1D+tk4EGx1dCvVfbD2nQdkrj9cXrcAoEiwmbep4z4bZbCKmWMpQ5h2dqbxABU8/eBnbDmvAc3g== + dependencies: + lodash "^4.17.15" + react-native-safe-area-context@^4.2.5: version "4.2.5" resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.2.5.tgz#23006dc1a398bb825d7d795c27f1c46119efe8a5" @@ -5956,16 +6022,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@~2.3.6: +readable-stream@^2.0.2, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -5978,6 +6035,15 @@ readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^3.4.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readline@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c"