From cb4d2d965d360ea74dc79f3202813e8863630847 Mon Sep 17 00:00:00 2001 From: Reza_ashrafi Date: Sat, 26 Feb 2022 15:49:49 +0330 Subject: [PATCH] reza added some change --- app.json | 1 + navigation/index.js | 310 ++++++++++++++---- package.json | 2 + src/assets/icons/ar-light.png | Bin 623 -> 0 bytes src/assets/icons/book-active.png | Bin 626 -> 0 bytes src/assets/icons/book-deactive.png | Bin 816 -> 0 bytes src/assets/icons/dropdown.png | Bin 275 -> 0 bytes src/assets/icons/hamburger-light.png | Bin 159 -> 0 bytes src/assets/icons/home-active.png | Bin 728 -> 0 bytes src/assets/icons/home-deactive.png | Bin 794 -> 0 bytes src/assets/icons/logo.png | Bin 1587 -> 0 bytes src/assets/icons/profile-active.png | Bin 592 -> 0 bytes src/assets/icons/profile-deactive.png | Bin 785 -> 0 bytes src/assets/icons/qr-light.png | Bin 1140 -> 0 bytes src/assets/icons/search.png | Bin 576 -> 0 bytes src/assets/icons/test-active.png | Bin 775 -> 0 bytes src/assets/icons/test-deactive.png | Bin 843 -> 0 bytes src/assets/icons/video-active.png | Bin 664 -> 0 bytes src/assets/icons/video-deactive.png | Bin 806 -> 0 bytes src/components/Blur.js | 16 + .../BottomSheetComponents/ProductQuestion.js | 28 +- .../BottomSheetComponents/ProductReview.js | 23 +- .../ProductSpecifications.js | 14 +- src/components/CustomTextInput.js | 52 ++- src/components/Drawer.js | 9 +- src/components/ImageSlider.js | 18 + src/components/Navbar.js | 211 +++++++++--- src/components/Pressable.js | 27 +- src/components/Progress.js | 9 +- src/components/Search.js | 30 +- src/components/Select.js | 69 ++-- src/constants/Colors.js | 99 +++++- src/redux/actions/book.js | 32 +- src/redux/actions/index.js | 3 +- src/redux/actions/userAddress.js | 34 ++ src/redux/reducers/book.js | 117 ++----- src/redux/reducers/index.js | 3 +- src/redux/reducers/public.js | 4 +- src/redux/reducers/userAddress.js | 32 ++ src/screens/Address/index.js | 12 + src/screens/DeliveryForm/Address/index.js | 12 + .../DeliveryForm/PaymentMethod/index.js | 12 + .../DeliveryForm/TransportDate/index.js | 12 + .../DeliveryForm/TransportMethod/index.js | 12 + src/screens/DeliveryForm/index.js | 104 ++++++ src/screens/Home/assets/message.png | Bin 417 -> 0 bytes src/screens/Home/components/Blogs.js | 189 ++++++----- src/screens/Home/components/Header.js | 11 +- src/screens/Home/components/MyBooks.js | 119 +++---- src/screens/Home/components/Scroll.js | 87 +++-- src/screens/Home/components/Videos.js | 99 +++--- src/screens/Home/index.js | 6 +- src/screens/Login/index.js | 29 +- src/screens/Otp/index.js | 69 ++-- src/screens/Product/components/Book.js | 167 ++++++---- src/screens/Product/components/LinkBox.js | 19 +- src/screens/Product/index.js | 16 +- src/screens/Products/components/Book.js | 56 ---- src/screens/Products/components/Header.js | 57 ++++ src/screens/Products/components/Main.js | 297 +++++++++++++++++ src/screens/Products/components/Video.js | 100 ------ src/screens/Products/index.js | 69 +--- src/screens/ShoppingCart/components/Code.js | 30 +- .../ShoppingCart/components/Product.js | 135 +++++--- src/screens/ShoppingCart/index.js | 161 ++++++--- src/utils/separate.js | 12 + yarn.lock | 84 +++++ 67 files changed, 2107 insertions(+), 1012 deletions(-) delete mode 100644 src/assets/icons/ar-light.png delete mode 100644 src/assets/icons/book-active.png delete mode 100644 src/assets/icons/book-deactive.png delete mode 100644 src/assets/icons/dropdown.png delete mode 100644 src/assets/icons/hamburger-light.png delete mode 100644 src/assets/icons/home-active.png delete mode 100644 src/assets/icons/home-deactive.png delete mode 100644 src/assets/icons/logo.png delete mode 100644 src/assets/icons/profile-active.png delete mode 100644 src/assets/icons/profile-deactive.png delete mode 100644 src/assets/icons/qr-light.png delete mode 100644 src/assets/icons/search.png delete mode 100644 src/assets/icons/test-active.png delete mode 100644 src/assets/icons/test-deactive.png delete mode 100644 src/assets/icons/video-active.png delete mode 100644 src/assets/icons/video-deactive.png create mode 100644 src/components/Blur.js create mode 100644 src/components/ImageSlider.js create mode 100644 src/redux/actions/userAddress.js create mode 100644 src/redux/reducers/userAddress.js create mode 100644 src/screens/Address/index.js create mode 100644 src/screens/DeliveryForm/Address/index.js create mode 100644 src/screens/DeliveryForm/PaymentMethod/index.js create mode 100644 src/screens/DeliveryForm/TransportDate/index.js create mode 100644 src/screens/DeliveryForm/TransportMethod/index.js create mode 100644 src/screens/DeliveryForm/index.js delete mode 100644 src/screens/Home/assets/message.png delete mode 100644 src/screens/Products/components/Book.js create mode 100644 src/screens/Products/components/Header.js create mode 100644 src/screens/Products/components/Main.js delete mode 100644 src/screens/Products/components/Video.js create mode 100644 src/utils/separate.js diff --git a/app.json b/app.json index a630017..5034ef9 100644 --- a/app.json +++ b/app.json @@ -4,6 +4,7 @@ "slug": "RnDanovinExpo", "version": "1.0.0", "orientation": "portrait", + "userInterfaceStyle": "automatic", "icon": "", "splash": { "image": "", diff --git a/navigation/index.js b/navigation/index.js index a9341b3..e752469 100644 --- a/navigation/index.js +++ b/navigation/index.js @@ -1,12 +1,15 @@ import React, { useEffect } from "react"; -import { Image } from "react-native"; +import Svg, { G, Path } from "react-native-svg"; +import {Appearance} from 'react-native'; import { NavigationContainer } from "@react-navigation/native"; import { createNativeStackNavigator } from "@react-navigation/native-stack"; import { createBottomTabNavigator } from "@react-navigation/bottom-tabs"; -import { Entypo, FontAwesome } from "@expo/vector-icons"; +import { connect } from "react-redux"; +import { user } from "../src/redux/actions"; + +//components import OrderDetails from "../src/screens/OrderDetails"; import OrdersFollowUp from "../src/screens/OrdersFollowUp"; -import { Dimensions } from "react-native"; import Splash from "../src/screens/Splash"; import Home from "../src/screens/Home"; import Products from "../src/screens/Products"; @@ -18,33 +21,23 @@ 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 { connect } from "react-redux"; -import Profile from "../src/screens/Profile"; import Videos from "../src/screens/Videos"; -import Exams from "../src/screens/Exams"; -import ShoppingCart from "../src/screens/ShoppingCart"; 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 { user } from "../src/redux/actions"; +import ShoppingCart from "../src/screens/ShoppingCart"; +import DeliveryForm from "../src/screens/DeliveryForm"; -//assets -import homeDeactiveIcon from "../src/assets/icons/home-deactive.png"; -import homeActiveIcon from "../src/assets/icons/home-active.png"; -import videoActiveIcon from "../src/assets/icons/video-active.png"; -import videoDeactiveIcon from "../src/assets/icons/video-deactive.png"; -import bookDeactiveIcon from "../src/assets/icons/book-deactive.png"; -import bookActiveIcon from "../src/assets/icons/book-active.png"; -import testDeactiveIcon from "../src/assets/icons/test-deactive.png"; -import testActiveIcon from "../src/assets/icons/test-active.png"; -import profileActiveIcon from "../src/assets/icons/profile-active.png"; -import profileDeactiveIcon from "../src/assets/icons/profile-deactive.png"; +//style +import fontSize from "../src/constants/fontSize"; +import Colors from "../src/constants/Colors"; -const width = Dimensions.get("window").width; const Tab = createBottomTabNavigator(); const BottomTabNavigator = () => { + const colorScheme = Appearance.getColorScheme(); + return ( { tabBarActiveTintColor: "#06BACE", tabBarInactiveTintColor: "grey", tabBarStyle: { - backgroundColor: "#CCE6FF", + backgroundColor: Colors.theme1[colorScheme].greenFF1, height: 70, }, tabBarLabelStyle: { - fontSize: width / 34, + fontSize: fontSize.xs, fontFamily: "regular", transform: [{ translateY: -7 }], }, @@ -68,39 +61,106 @@ const BottomTabNavigator = () => { > focused ? ( - + + + + + + ) : ( - + + + + + + ), }} /> focused ? ( - + + + + ) : ( - + + + + + ), }} /> @@ -113,15 +173,59 @@ const BottomTabNavigator = () => { title: "ویدئوها", tabBarIcon: ({ focused, color }) => focused ? ( - + + + + + + ) : ( - + + + + + + ), }} /> @@ -132,15 +236,45 @@ const BottomTabNavigator = () => { title: "کتاب‌ها", tabBarIcon: ({ focused, color }) => focused ? ( - + + + + ) : ( - + + + + + + ), }} /> @@ -151,15 +285,49 @@ const BottomTabNavigator = () => { title: "خانه", tabBarIcon: ({ focused, color }) => focused ? ( - + + + + ) : ( - + + + + ), }} /> @@ -204,6 +372,16 @@ const VODStackScreen = () => { ); }; +const CARTStack = createNativeStackNavigator(); +const CARTStackScreen = () => { + return ( + + + + + ); +} + const AuthStack = createNativeStackNavigator(); const AuthStackScreen = () => { return ( diff --git a/package.json b/package.json index 9a27c90..c2bf518 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "expo-app-loading": "~1.3.0", "expo-av": "^10.2.0", "expo-barcode-scanner": "~11.2.0", + "expo-blur": "~11.0.0", "expo-camera": "~12.1.0", "expo-device": "~4.1.0", "expo-font": "^10.0.4", @@ -42,6 +43,7 @@ "react-native-safe-area-context": "3.3.2", "react-native-screens": "~3.10.1", "react-native-select-dropdown": "^1.6.0", + "react-native-svg": "^12.1.1", "react-native-web": "0.17.1", "react-navigation-stack": "^2.10.4", "react-redux": "^7.2.6", diff --git a/src/assets/icons/ar-light.png b/src/assets/icons/ar-light.png deleted file mode 100644 index 1961afb609f6608a49cac3eaf16d98aca4e2a1b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623 zcmV-#0+9WQP)={)s7uU^FV`o&MFw3UtgOlGRUN{EsL=w8 zpYWl#Hw3cbQ-(=)ql|fh=z`;Cy%O*7`Wris5GY$vF7IsVD z=lu@nFvqZ$B40QI)kB?RpzXfmP$${w_qx(fhTP{cXBBWgMW?LGibY4xAL zUH0oelEN0Bd|VAKVUHij$L^>irYG$IW4#19LLaJl{v{b88+*$ zY&YQX(X~jSV0)zu&?f>sg(U5PqTFNs%d3>z|I?ZHH3ZyD+iiGlHVfYRUjF~5jq;G7 z!HwTi`IFL1I~&!c0%5k&hBtl$sOs~7)D zJ$tZt5$eHKFQU>`K@q%I@TA}e3Tjg`&ZaabwN2J4v_ckINOm%L_RVDT4nl(sY%m`1 zfZU#lU7@{9hhL*DJ~?SzNN~-6SwbbrM=5Pu&AKK0Houbz_?ut>NuMOd0Ot-BQv>J1 zrShCMAb%pA&f9>R6KRf-8yv{0 z;i_$g28h0nfKjvo5Y?pwbNqC`N!W1d9Fyq;$QG7%ohyq9ly*YoK;t6YP!* z!18$x&YoXog)!s)9B90=)c~40xq|(N7Z2#00x}AT81X9&@o2a2o{Yn~JhIJDKg@Tx zn?Sj@JPaP3*AK|4uI!0GdU16!eQHTgmwV7eV^jCC@Q0zM5jz+%>s#YNO?!%fDJv!IZ5jlEzxwv`P*Bl#2iTpJwB$2n~5D&;rx`tEe6Nhk$Gm@(-g8%>k M07*qoM6N<$g6U}w+yDRo diff --git a/src/assets/icons/book-deactive.png b/src/assets/icons/book-deactive.png deleted file mode 100644 index 3bfbc86a2938bd17126ca063c58cdff2a0cf7da5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 816 zcmV-01JC@4P)56fi)F0;_nNgyHet_x|qb*FV#i4c;;y+HRm) z^X_1eho3;19V^EkkUg>7t5#0DRn`31{GNRk z!=EJl3=_i59RThB`+;5pbgGrp^Kgv_=tJ|iqYvFm5wgx604xBo2CzIJ2ZpIJw3(|64a<1;MnMpdE)LcL zKx^Jw*t10}dAEFexH3@q!vG8rQUb&{D}=jDwuTV+hf5pv=539cF5Pl55@uFOYt^vqbip?F1Jzi9q5Na(7{g*%rO~&LyWyDesFHd`83ZbO5 znfWXNLOH;zp4}MGtVG`drImnS}n7j}D8mdX{Yy?Q(FiU3QIx=KCTC+9+G%svB zpsh^mUC7pYxuVD2ua=8PX|a!g{}>>@V?gf3w!*D^q18zMq#h5W`o+1O1OMK}gH3%S5NwLfqd z6fz7k%CNc8vbaDm2Y8_kKQ_` z-Y!t#8V;njY@fXpPoRwvv)X*?l7FNU^wz;N<>4B!G$^9`|JOgC9t$IE)`2KwlFmO$b6%~OXonU!3m!o z51&LdoKN66?76XF!odh$^bXpM#Pt^Scv&aqN;=R`B!FQ?CF2{(ArT`uaLc5)a!;W`?_$ WzDoYuRuB*L6@#a%pUXO@geCx%!fKEJ diff --git a/src/assets/icons/hamburger-light.png b/src/assets/icons/hamburger-light.png deleted file mode 100644 index a482a9eb204c306112129b75c1a542911e63f8db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E&!3HEx&&z8EQY^(zo*^7SP{WbZ0py2yx;Tb- zcqdOeaksu<;>3&d5*ZHMum8_1$$p2C`9YzGwxqkPffUnXMTMEW|1&WwFaGDyawNl% zh3o6ZrVJAnH|K`JEecW{N)k8EU39SkDKv-@U}Ol7&{>wWAEltSqy7D2%enoU3v1wTq#Y^C)B^1dS+%ThxRt=CR5IOm(3(%aTKyBrMA;1JTTL~V73l0VoaR;rNo3k(z+5Vh zI60~?{+3E9ZbZ9ZSMpI7MAXt}1O|7>U{?(g`KgFtP$6G8qoJF?m{rQ39RyL35}8p- z#f4e{isuv1a}H7*)UKuCF&l`K&~H&ep7$GKlfMPSvW~;a$jaszTR>z@kCSxwwh^M> zdfJGEPnQLeG(E)_Q|bT$mVmuxzw)#YYeSKlH+y7Z{aZaC{%vo(&11@-4TK8xC(3e0`zbYUb_5xCkZLYEAXmx-Z zc~=qy9?v(){D)419n}PII|mU*xvE?&+Zg2sW>Whk#-_HdK|+``4g}8@UolE|@sz+o zGIK%z=%o(k7R=e}$Tz)PJQS zA|CqhFxAMbpPKL8JV2R1EPH(L3TNjCXao?Kb0{<|vvL~->)JoK&9elEVQvA*YB#DE zSz%H^I6#R9wfVzRpn}mdb!S}w1q`!3!+Z$ZojDcEC~y+kqabJYs743^aljBii4|#^ zCn_C}J<^Zc`&@zhq7D+6N$}w~i6C8j*yEXfQh6u(b_cJGEHeuSRz(e(z#Iqv^;n%w z(ikfsB5wg_171*NzaHpw%dGa&R7h%HDsUi|NUN_?bqT~T%K12~2L!Li)j!!3B2vgD z1QK=L%6~{+B|h#F2yY!}Uca`R^eG@pR%f^lBQ^i9zgmdRt%tJ=&5_lQ$ZfohfdqnEmb%2 zBbyc?U2|<*u^Rqr+2O-WyUgd+I2uoZtZUdI$J%)R4~Xobc~9D{rzY?wzvKvLo7I>< zNlxxAKvs$_OKrV?#8rAx ziV0E|D)5}}3Yi)t=Lez$TTv@+Mc2BqAWdbS0lRP5hEZ~PESG(llXOAbxh>2p*s}ro Y3kJsjGN|Azf&c&j07*qoM6N<$g11Or761SM diff --git a/src/assets/icons/logo.png b/src/assets/icons/logo.png deleted file mode 100644 index af3b20887c460496110b182862f052c13a3845a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1587 zcmV-32F&@1P)-}(Q)bIx~4;D3B)TBj#hs3S)27+cl!q~YXA1FZf9l^_lpKgaWx@9_O6 zjejh#k}nYJn%MX+FI8WLe4tMPb@!7MD@r`xfkI$H#yGREFuxuW)6K}m^&_QWoIAc~((TO+$@e$z9(_u+py$q=n`KgZz%)#c zVVJF|8q2aQlMNd-OrA5xziisHsqaxrKe5?tTY6ipz4pe}=Uc=jjk2Tb&M^Ao;pY$j z$vG#rb#*(bVJ=~emg+j+?f2)N?TMkLX+hI8LkQgJ@p#tu27c2rFaPX6w$eKWyQw*1 zGmpM zc{E9yX%JhsM#MWB6)I-8h>V z&_(zQV{H%82a0xZCp%TQliUXhOr1xj*JU*jnanT^-G}>-2t0lI3|gk4F4`LYjg;oz zQz4ZR0+L9GV3)v=<^(w@3EC0XMG0`7%2`Lp)RTuiM@P%swrxuU9y@j{NGS_Nd0V*I zTb`>k;x#x<6h&|ka=}B%4((iw7sJ4#h``a`4XuYxo};8XijQ6c2$zfxC9?!ec{2n$#YCIQCesi5rqO zAO-X!2QV=mx`+!dYPUc)IKoT-&6Ed(JoTb1G&vmw_zz~!~s z$3V6>2s`hVLMv5z)Dg{6Xvm%lv@DYxyx#qRYu2p6UFIPnr7N6Scs*B@99}97g9)BI z2z69rx^aT4DIhDImfbkey+0Kdk{m+^UsY8fg~i3iK_W<@{ZxNu=n0j906BuUpZSIQTn zDJ0K2CJ2VXWGE~f@)q2VwL#gHGEmhhCmKKK*yDa0I7|S}`U4B|7v+Nh`!QWmcQ)PO z4DjN1COJDF-3qW979G3*n|44d=e%tk|{X^B{ zqcC11zO%YXiEcE(C2_BC%C=Y_WFlr5*)WK&rlybOf`Z@zfe4irkTcFv=~Z(KU#H9? zSpuQch-}389rLVs$i@Xl_=s~h1Q*5xNTSr#5m?hNhHqkWsd}UkfFTuEk74~b!WFDK z5RitMIt@ES#uzS)1$dM*+8b}5?j11VcX#)Z%tX{nqZrr%p1H`LpL1PBq<$l2Y{Cq#= zsza7Cw1`oRf8cZ`!`!)kq9_W~)cn8=oNYxI^#Nvgf@8WgP02iY^5o5gCm;|AJcAF} zFW8ulc7(WP3yxp+?|7|OyY+r!L(`EXho@i<9)n(wlvTk;do+MBoiXC#91q}s{9(X- l=>6eisr*`7Tl-gc-6?s6ebh-yHA( z8i2zN=sB1aVI})h(EBH{s z{S=Ad#x(YuTIY73T7iYpcO`Oa@yX-Gf9&`%2W-DKk~<&gr2u>#Nc+7NkPP~+|1p63 zbSJ9VyU+JHeRfu&C7J>RQ`1Opd{j^=z}e3Z>54bkB;#DI=7`wILg;Gxfe0Wyy&@pn znpveYbCmFJ@#h4n^wX0H(ybJA;X1)Ai!pI2;RN6TWXc1`ZfO8MC{;!$fKLM|yb7T@ zx)m6V=Lop*6$OCkGHX=ZMK+`>aL#}lFak_miRgX>JPAb^jY{W%5WTJ!d_Z(u)9|_y zb|&DW)Z)l{l1gG7Snh(DQxlL*it@sCMF^;8!l0)qLOKOL3xP{=7{W>^)()ZT=F|#E eQkGr+2Y3UYNWmeB=pLs40000zzQ(XlG#QdG?eROk(&_Q5UzWCGy>*e$aR24|8%;u{y8y1OIm6-25PjOqf$|tHwoB@^)L>WMy z3(Zm;J(K~DsV#cM)i=M0A%bUh!p@q6yf-t>FgK!fuhKT zVz$~q0q)bU24(}QNQB6K;Tp|G0M#5Rn4<9wazAoC+j?%zTvm`$Geqh2nV+!9OLn2>*|;Q zGCad~uDQOhcxm4NsLTcvfcAb9y-gW}6JA`o2^AM_&wsC|1Xv^>hKLR~fl%)SSlhF$ zH6FuNh(!t-4d$s~*_taotVX1ZQVs{48%&vk_{3IEL1PTyqkJ%iV2qEZ78o9iHY&zO z>j#oXYhq}{f-F!U*eDBFEe&ZC6O(>0HmM~2pr|eE7K$~JKBBhTXpN~+T1ncXP!^b- zx%YT>3+rwgV~jVM$?Tka|8vgoJQi=*GD?uKi0H^EMHB8O39+OWm-e>XgwQJDKOVHY!k7d|ufLYIb+QT<%>d!6XMIq3Ne2>Th0q~5Ax(H1)a1k2f081l)wX~#X5?-)f= zK_4!065;6kMY;aIiMUgJQ;u)=+{}Cv0oF5**DM3a5?=fqK(Ijo3nA1mGsPZ75XxC* z{4h1U@D=n_Pp4R>!M8@68SH~gzd1<<5wHzW4*-Y-t-NlwOG#Cw9Qww`^fW?~;^tbHX8Aj3x zy*06=$kHJjZPD$7_>+p*A6V@pC0rW!E9FhV+ciT*TkMe6ZP%I|L#6J5m_rkf(42Fp z@cVYLm&Nq+<<&5-US)YGTBGlQ5bJbz<&BGVw}C-e7jb-gUcdX1Yl9nr;XWKWrHyH{sCtLgF}wSt|{ETFr|NVX0FZU@J3xmJ?RV zJU=m{9CRb)d#@3c?T70~=|>k00t8NT8b3pzE3Ss1!5Q&->@f_-#*yGOAw0qP9bm@K zXFBzF9VSCYtmi`F-cH`>03TYH+)VzdLSJIVZl}wBPPE3h5z=Z-P7#5=Hzl@MgV_wZ zuycLJhgTBnm5?RhoN>HoSUAWYJjEifO9?AoqMb z`6EbobJPA>81Rp-4EfEm^A|g{TEg*ZP8*DEdYPzc)_L7 z2hxHXu!-4R9k5bO|EB?~WOC}TE|m(PzN-^EWBuR1fWH6>$OmgRc;OEK0000Ax-oCG>4a1=1_&_=`f-Uu%c z!RPPtlP4j9h!F2yJJt3g@HxP(x@jTcB@w+aU_<~B5+q!@!hk*^Rv9e%Qgr$r=x7#r z3UK?}M1Z&tK<$BoR$iN%XXa2L^ca{ZrK9*phgr~HK*wyvhu&`V-Cuf%rmG_ex&5`F zqJwN<3n-eEQoI*t{f=%F5#QZm8G3QIcIxg}KxWqig4)mnzo?r(_pIInMeFXK1srP! z&&=+y2s?LX>&(0G83sx z#b)9(?r;Qli$rI;ZrB98$U6MXQ2vY;0)*Vc)1oA>au(&NE215Kq;K1bMQVCgYd8 z4+Y2qf62N6pAgDv3Xv*7_E~~Zr1=-XZ1HbMG7%*4Jt1KL O0000 diff --git a/src/assets/icons/test-active.png b/src/assets/icons/test-active.png deleted file mode 100644 index 719dcdbe66e35619a40e8239ba59b0eded9686d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775 zcmV+i1Ni)jP)&#BW`x6q|B=HPhXLnr%`Ag)Aa9H26TgdxWDcOuqm4FTkl zC|TCDxpE}%P^Hrn#2rt?0P*VII#=yusHE<~(-02i&1;%KT#3{y0?zarqNc|%S%wLl zVGJO090-)@7erl`=vr|q7;E%n1c|5T5aC?EK_qYV=)|xZB$3MVv3UCpBKj4?a48Z< z)_nbm$fJzk?V$I)gz!2YaQnb0+*)3Rr(eGtqzUPg9tqAifjAd4A&qFMS0DnhcxWH^ zJ#IMs{59l$6^+uSJgG-S1#)HYPB=2WMalP!zx4XskM;K#Mz+BSJ0Ba`43oSs^5RWX zG^&fc1rgyB+kHxq`zxQ}!OEBV`?I^Y!W}*ivGcEThIfr3oUl(gVMBdAnj8Cf!^>|! zln~W`Yy?OrdG;T~9HoCZB65osRtr!lm5l{$Ba>BX(B(Zl;7s-%EPN{1135V40jZKI zTmD%zRL#*%Zt%JsT+lq#dLlJO>Pd5s&`muWyx4IakurU>O=XoYl`pQD)DSriAH&Q4 zMJj7cQ&rY>y+}I{^UqA8_n6_ujxmHeH|kI-5Lw_(r1@6ax7txEA=rhw4G@rcdY&8Q zllD=p6^bq#ZfqCLt>QGdig&GL?5!Yzd-~MGbfZd(<~g0@hm-bPsdp0)-(xMLM+4cm zAi%?vt4K-iUArErtl$NLP&?JwA~s!Lv&iq+M#8t=T-dN`6bR?_3dU5EpXJE8KJmdg zQpMjb3u%xi(6S{bWLphY?T@BgZ#`OX8Id0Ov6LAYkTvg>K`{k2HO;}#Su@w2^kz~hwcX=~ z@QesVbwSKM5k3NKW<6wq>Uh_8OgwJ7mHG+@CWk64yoL(wMTbfNI{ehCSB~O9?$kTB zX%;nifu|mee_@Iq4p9ZjH;6W}$dhRXBRC3uX}Oj5HlAalxf>QLG5HQa^rFFl7nOx` znDa~F|2KlnJxLJM;s-PZaX-N?wDy)r5CFN1j~&|~zyOKnHi85P6DN8RTybE!qIw0u zJ;es3YrAQ9ovvkpjUdl46NHZ#l!M-uV}*IvtAM0|{|{on(!cv6>P0i!8=84VU*}a{ z42<2 zN$b_zc>M>{q*l!uuaj*7m_oHH!6lH;b}v;fhBeBfE?&~&N;?s%9tCc@RXe%Z)@$e` zea`g&aWJEO$2Na#gB4WT_O z2G2;-1{Rdp#gR>DVW)^@tziZ}dtd4%T*3C~ck2EZ(G^~izAZ@&vgzi3JHIm^e*kX~ V@G)vceLnyI002ovPDHLkV1iN!e~|zH diff --git a/src/assets/icons/video-active.png b/src/assets/icons/video-active.png deleted file mode 100644 index 80fe4ad876fe741197d9e0dec906d801465f2224..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmV;J0%!e+P)O)D5#MFWybMz&eIvkv0~1BH@ch0o4MzEKKI;n z?>h&fW;85>38a%@BuoH8TkZd*?*xzoq6|6C+;Lx!sn)^DOFC@viZsJNBupLEZAUa) z@SPFp4f0}h3ULaM=9jLzg>m~C z2C)vY#JSP8x>Gkm^a0b{6Msug5tCeay1B0cP(#QavC?z*k`p-*FE}A33MNAp32`vl z(F#L1u0_6N-(P?DtUe93plS#akZqA+y7FoWB3L(qFbVmeY@%<6m&#_itb1frSfxcU z#}I385b&AG(B@<=@z70%k6ol0o4Oh;uB?Kn+UC1rj~}fXV;gfNAGqR9L=e*OI7De1 z!Ws>ULa{%{Rhl0!6+S_rDUFEfT&^p*_;8*xz_e(bcVK4`K_c!0{@rPjEnv3-kSj0Z y0z_qH+>5vlbh&V1ts^UelPmd1KIqEP)cWKw zfDD&ZyouAE9%r?qdI6{3>6sm;X>VZq{um%!1&EagNOZxTH*pa|Us%EmwGKyC5n%_e z@n6ak`}SSCEI?dNyUt~cBf5^=+zIBqpnBeTz|7ZrK48WpjdJ*{k{3YyoVYO|c3}GcM4+~}U8m`$*$|fW zjYbH~Fu$}CF$wS*+pz8^%^t})5d&w2NxAfjb{3g9IgDCits5h_t_IzzrcEg?0u#9fakYSX{Irka|A#Sd;-@>rPW@Hg zqya3Yu5Imn&qzDtY$UuDdz8#5O1Nl!lhae zNGn!$rqA4`ut=0X&UpCpp-%kOjqJ?|bZ zsAwfuMsK{px3;!(^fpJgw-83vC2OtJXr0CFIG2O?W%jlwCeL6Y=(S_00PbB@3;Z*G kRi>gxqM$&bzb|F{1?|5pL}c^haR2}S07*qoM6N<$f+_=Y)c^nh diff --git a/src/components/Blur.js b/src/components/Blur.js new file mode 100644 index 0000000..c5ce7bd --- /dev/null +++ b/src/components/Blur.js @@ -0,0 +1,16 @@ +import React from "react"; +import { BlurView } from "expo-blur"; +import { ActivityIndicator } from "react-native"; +import tw from 'tailwind-rn'; + +export default function Blur() { + return ( + + + + ); +} diff --git a/src/components/BottomSheetComponents/ProductQuestion.js b/src/components/BottomSheetComponents/ProductQuestion.js index 243e407..de775d9 100644 --- a/src/components/BottomSheetComponents/ProductQuestion.js +++ b/src/components/BottomSheetComponents/ProductQuestion.js @@ -1,21 +1,25 @@ -import { View, Text, ScrollView, Dimensions } from "react-native"; +import { View, Text, ScrollView, Dimensions, Appearance } from "react-native"; import Divider from "../Divider"; import React from "react"; + +//style import fontSize from "../../constants/fontSize"; import tw from "tailwind-rn"; +import Colors from "../../constants/Colors"; const { width } = Dimensions.get("window"); const ProductQuestion = ({ list }) => { + const colorScheme = Appearance.getColorScheme(); const Question = ({ question }) => { return ( سوال @@ -24,7 +28,7 @@ const ProductQuestion = ({ list }) => { style={{ fontFamily: "regular", color: "#323232", - fontSize: fontSize.base, + fontSize: fontSize.tiny, }} > {question.question} @@ -34,8 +38,8 @@ const ProductQuestion = ({ list }) => { @@ -44,8 +48,8 @@ const ProductQuestion = ({ list }) => { {question.question} @@ -66,16 +70,16 @@ const ProductQuestion = ({ list }) => { "flex flex-row-reverse justify-between items-center mt-3 rounded-md px-2 py-3 mb-4" ), { - backgroundColor: "#50A9FF33", + backgroundColor: Colors.theme1[colorScheme].greenFF1, }, ]} > diff --git a/src/components/BottomSheetComponents/ProductReview.js b/src/components/BottomSheetComponents/ProductReview.js index 48f7d25..3881d11 100644 --- a/src/components/BottomSheetComponents/ProductReview.js +++ b/src/components/BottomSheetComponents/ProductReview.js @@ -1,12 +1,16 @@ -import { View, Text, ScrollView, Dimensions } from "react-native"; +import { View, Text, ScrollView, Dimensions, Appearance } from "react-native"; import React from "react"; + +//style import fontSize from "../../constants/fontSize"; +import Colors from "../../constants/Colors"; import tw from "tailwind-rn"; const { width } = Dimensions.get("window"); const ProductReviews = ({ list }) => { + const colorScheme = Appearance.getColorScheme(); const Property = ({ question }) => { return ( @@ -17,16 +21,16 @@ const ProductReviews = ({ list }) => { "flex flex-row-reverse justify-between items-center mt-3 rounded-md px-2 py-3 mb-4" ), { - backgroundColor: "#ECFDFF", + backgroundColor: Colors.theme1[colorScheme].greenFF1 + '66', }, ]} > @@ -35,9 +39,10 @@ const ProductReviews = ({ list }) => { {question.text} @@ -70,15 +75,15 @@ const ProductReviews = ({ list }) => { "flex flex-row-reverse justify-between items-center mt-3 rounded-md px-2 py-3 mb-2" ), { - backgroundColor: "#50A9FF33", + backgroundColor: Colors.theme1[colorScheme].greenFF1 , }, ]} > { + const colorScheme = Appearance.getColorScheme(); const Property = ({ prop }) => { return ( @@ -21,7 +25,7 @@ const ProductSpecifications = ({ list }) => { tw("py-3 pr-2"), { fontFamily: "regular", - fontSize: fontSize.base, + fontSize: fontSize.tiny, color: "#07AFAF", }, ]} @@ -60,15 +64,15 @@ const ProductSpecifications = ({ list }) => { "flex flex-row-reverse justify-between items-center mt-3 rounded-md px-2 py-3 mb-4" ), { - backgroundColor: "#50A9FF33", + backgroundColor: Colors.theme1[colorScheme].greenFF1 , }, ]} > { + const colorScheme = useColorScheme(); const [isFocused, setIsFocused] = useState(false); const styles = StyleSheet.create({ labelStyle: { - fontFamily: 'regular', - top: !isFocused ? '50%' : 1, - fontSize: !isFocused ? width / 36 : width / 40, - transform: [{translateY: -width / 35}], - color: !isFocused ? '#555' : '#196EC0', + fontFamily: "regular", + top: !isFocused ? "50%" : 1, + fontSize: !isFocused ? fontSize.base : fontSize.sm, + transform: [{ translateY: -width / 35 }], + color: !isFocused ? "#555" : Colors.theme1[colorScheme].greenC8, }, inputStyle: { - fontSize: Dimensions.get('window').width / 27, - color: '#000', + fontSize: fontSize.lg, + color: Colors.theme1[colorScheme].black, borderWidth: 1, - borderColor: isFocused ? '#196EC0' : '#777', + borderColor: isFocused ? Colors.theme1[colorScheme].greenC8 : "#777", textAlign: textAlign, - fontFamily: 'light' + fontFamily: "light", + fontWeight : "900" }, }); return ( - + + style={[ + styles.labelStyle, + tw("px-1 z-10 bg-white absolute right-4 text-center"), + ]} + > {label} onChange(name, text = regex(text))} - placeholder={'09123456789'} + style={[styles.inputStyle, tw("rounded-md p-2")]} + onChangeText={(text) => onChange(name, (text = regex(text)))} + placeholder={"09123456789"} onFocus={() => setIsFocused(true)} autoFocus={autoFocus} underlineColorAndroid={"transparent"} diff --git a/src/components/Drawer.js b/src/components/Drawer.js index 4c8e888..3ce8afa 100644 --- a/src/components/Drawer.js +++ b/src/components/Drawer.js @@ -60,6 +60,13 @@ const Drawer = ({ position, setBoxPosition }) => { toast: "", message: "", }, + { + name: "سبد خرید", + route: "ShoppingCart", + icon: , + toast: "", + message: "", + }, { name: "سوالات متداول", route: "Faq", @@ -73,7 +80,7 @@ const Drawer = ({ position, setBoxPosition }) => { icon: , toast: "", message: "", - } + }, ]); const navigation = useNavigation(); const Route = ({ route }) => { diff --git a/src/components/ImageSlider.js b/src/components/ImageSlider.js new file mode 100644 index 0000000..40fa297 --- /dev/null +++ b/src/components/ImageSlider.js @@ -0,0 +1,18 @@ +import { View, Dimensions } from "react-native"; +import React from "react"; +import tw from "tailwind-rn"; + +const { width, height } = Dimensions.get("window"); + +const ImageSlider = ({}) => { + return ( + + ); +}; + +export default ImageSlider; diff --git a/src/components/Navbar.js b/src/components/Navbar.js index e7b0f9c..135af3d 100644 --- a/src/components/Navbar.js +++ b/src/components/Navbar.js @@ -1,62 +1,64 @@ -import React, { useCallback, useState } from "react"; -import { - Image, - StyleSheet, - View, - Pressable, - Dimensions, - Text, -} from "react-native"; +import React, { useCallback } from "react"; +import { StyleSheet, View, Pressable, Text, Appearance, TouchableOpacity } from "react-native"; import { useNavigation } from "@react-navigation/native"; import { Ionicons, Entypo } from "@expo/vector-icons"; -import tw from "tailwind-rn"; -import fontSize from '../constants/fontSize'; +import Svg, { + G, + Defs, + Pattern, + Image as Imagee, + Path, + Text as Textt, + TSpan, +} from "react-native-svg"; import { connect } from "react-redux"; -const { width, height } = Dimensions.get("window"); - -//colors +//style import Color from "../constants/Colors"; - -//assets -import hamburgerLightIcon from "../assets/icons/hamburger-light.png"; -import logoIcon from "../assets/icons/logo.png"; -import qrLightIcon from "../assets/icons/qr-light.png"; -import arLightIcon from "../assets/icons/ar-light.png"; +import tw from "tailwind-rn"; +import fontSize from "../constants/fontSize"; const Navbar = ({ notification, setBoxPosition, headerOptions }) => { const navigation = useNavigation(); - + const colorScheme = Appearance.getColorScheme(); const Button = useCallback(({ icon, route }) => { return ( - navigation.navigate(route)} > - - + {icon} + ); }, []); return ( {!headerOptions?.title && headerOptions?.back ? ( navigation.goBack()} /> ) : null} @@ -66,7 +68,7 @@ const Navbar = ({ notification, setBoxPosition, headerOptions }) => { fontFamily: "bold", fontSize: fontSize.xl, color: Color.theme1.light.blue5, - paddingRight: 16 + paddingRight: 16, }} > {headerOptions?.title} @@ -74,10 +76,25 @@ const Navbar = ({ notification, setBoxPosition, headerOptions }) => { ) : null} {headerOptions?.hamburgerMenu && ( setBoxPosition()}> - + + + + + + {notification && ( { onPress={() => navigation.navigate("Home")} style={tw("absolute right-1/2 top-1/2")} > - + + + + + + + + )} @@ -112,14 +143,92 @@ const Navbar = ({ notification, setBoxPosition, headerOptions }) => { name="arrow-back" style={tw("mr-2")} size={24} - color={"#196EC0"} + color={"#52796F"} onPress={() => navigation.goBack()} /> ) : null} {headerOptions?.qr && ( <> -