From 67258c8114aad10ff8f13bad02b6aff55b22a5e0 Mon Sep 17 00:00:00 2001 From: fakz9 Date: Fri, 13 Oct 2023 05:40:03 +0300 Subject: [PATCH] minor govno --- src/App.tsx | 2 +- src/assets/icons/marketplaces/ozon.png | Bin 0 -> 1695 bytes src/assets/icons/marketplaces/wildberries.png | Bin 0 -> 2407 bytes .../icons/marketplaces/yandex_market.png | Bin 0 -> 2699 bytes src/components/BasicButton/BasicButton.tsx | 4 +- src/components/DText/DText.tsx | 6 +- src/components/DTitle/DTitle.tsx | 21 +++ src/components/Hyperlink/Hyperlink.tsx | 27 ++++ src/components/OrderCard/OrderCard.tsx | 98 ++++++++++++++ src/features/auth/authSlice.ts | 10 -- src/redux/store.ts | 4 +- src/screens/HomeScreen/HomeScreen.tsx | 1 - src/screens/MainScreen/MainScreen.tsx | 6 +- src/screens/OrderScreen/OrderScreen.tsx | 120 ++++++++++++++++++ src/screens/OrdersScreen/OrdersScreen.tsx | 48 +++++++ src/screens/ProfileScreen/ProfileScreen.tsx | 1 - src/types/order.ts | 4 + 17 files changed, 329 insertions(+), 23 deletions(-) create mode 100644 src/assets/icons/marketplaces/ozon.png create mode 100644 src/assets/icons/marketplaces/wildberries.png create mode 100644 src/assets/icons/marketplaces/yandex_market.png create mode 100644 src/components/DTitle/DTitle.tsx create mode 100644 src/components/Hyperlink/Hyperlink.tsx create mode 100644 src/components/OrderCard/OrderCard.tsx create mode 100644 src/screens/OrderScreen/OrderScreen.tsx create mode 100644 src/screens/OrdersScreen/OrdersScreen.tsx create mode 100644 src/types/order.ts diff --git a/src/App.tsx b/src/App.tsx index 195debd..9fb10b9 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -9,7 +9,7 @@ import CommonPage from "./screens/CommonPage/CommonPage"; export default function App() { let [fontsLoading] = useFonts({ - 'SF Pro Text': require('./assets/fonts/SF-Pro.ttf') + 'SF Pro Text': require('./assets/fonts/SF-Pro-Text-Regular.otf') }) if (!fontsLoading) return Loading... diff --git a/src/assets/icons/marketplaces/ozon.png b/src/assets/icons/marketplaces/ozon.png new file mode 100644 index 0000000000000000000000000000000000000000..8110321635845f896671174ce2373e894ead1368 GIT binary patch literal 1695 zcmV;Q24MM#P)_D;E;hAw!cPH)^b=1Zf#-@1iY3LMln8Xh=4JWVfL` zpdOR7EM7xAz`)gkgytv2?N4|MEyaZ z7w(7vAK=hZafTQ)zm0g<*PFzAn=wj)tQ(n5j%p)>r;h;gKLysm421YO+OC;^OIJjF zOyvJS*p2Q9>Iyu?IE)De9+e46j(zr>13GyEv&R5`tO3590}KhV^*ec4lrjBfZzoC; zR6uwyAZaA4|-d z7?XO&n<R=K))?=%Rzbu59395fIE6@$G~lhKFYdV1F(Nc`>PmiJwee1yt4o1Gq}= zJn49O*bjS`9@de-5E6`!U@Q#;q8X3=K7z|j8%3WDGl5y7l^>ic02Xcr4qw3Sb#H(> z)$}{gY+Mv->VWPug$k5@E>>mnR$wJVrq?5Yo@1pv2ZRPHJa7j*I|P`_xIc^!o25O@FG9B*z%GaJ=_-Fw?h- znaNt{!F8xL3;Pyka}u+;ikaQ_b>JU`+i)h|@#V@*HtYkIe8u#xa2#zglVH(QAaR8F zUUVIZO@^^lf?odtihO!t!83G9HL&IYoWe@DoE=ISFJV1x5%=CVB)!A2b5H7|fjg2n zMSk;-z>IV|BPaF~UlcqYp?tr=r8r83xKbkIV>pvwU~dkfjBu69IF>&+f7SZc=-rK^ zQ(5*vOVE7wgCxDfhx}WVkr032z!Ft#uHjhXVI;@vvZUAl6;sunWXF5aSQ-+#8=RuA@fBwJo3_Iv{;8d}*n zweOy614dsxjr3FLPHno!>B--UYz=e9+YTX_=S3+?Ok%99Pffiz2OOsT;I9l3InFJD zTj#o)a0QZ#`*G9L3-cmha3p+yiMp4ocbc1195s1rv@jUysNFfD{zM3n#Xeco;T)1X zW29Froewm~bOWx!+`L_Ug{j4Y$megjHPK-ivJOt*De7oGS_Kcug6fPZbad;(pe3vb zpN1t73D&yyq#Y?Usb}%z6r0j|vNA#{uDh73K=OsJ@kYU3Yh4%3knros%;$N*SSs}R zUJ+0&9}3i~LhCo>%?i&HMCa4Dqn{v`z`%Krj;u_S1ySdJ_g!@#L zL2bB{a7bk_)P_vB9xj5Xxdtl3EE9HFrg&OZd1GJ)$s`lbg^Lhesdfx&&S|L@AHxOc z$PF{Fx&-RNyiUtM>-Jdxw7X9P@RX*;mSKlf4fbRRmEb>&B%R0+53!UV1I(?w8G@_I p;bKq>B>Cufh~*>=zDeMzK~#7Fy;(_c z6xSL4UT?FHc8w4q5StK&u$Z+1rh>P`MWt{m7av^ZgPnsbxi~&1hg1&9A*r~E1m{4x zawCT%m5N<)VkiPO2?%2g8xpgL0WC9Q|9yA(}eAGj)U;o|xz5o5& zd&5Auc(ksFFKpf*zfp?{brmmwa^l`q;v$x zk=Po21v$F8`v>-VzSWtoT z;wJkAi2@3LzgIOS7Lp+!>m>pDgl?elK9{N1h;(o@Sd#)HmO=XZI3_(BwtRgX76PQ{ zaBxbw@D><4CIo1CwSK~8UW5Og=fJ!)Y?z2|JOwkAuXsS*)rH{c0pLL!Ih^HJRT<;O4$_drmoKh=Q#>3H!DgZ$El zst2T=1$Z_ zxbXY0N_}a6H%+@N!U7WHBbAeo4y?xFxF{c7WBr}@d;|kATLB&iV>740oX*0WvRigM ziHBzf@!-9|l1$T{%9X51Sid_9GoG{hVqYt@_R>9ZM_2KKDzqz)>`8_)y`(%4Q>N zZG-pwd+p#$|FtPp%^h8bwte=qLnjB2ok*Z=!rFz0Wdbj6LHg~p#Ik791oe|q7{<*hTa*##Kqec z@=myBI%6zhk+HtxlOguElXG?32|^>yT^g~TR0oQ7OeP>5?E!1?luRf-IEu)uRxVQ= z3Cv8ZFelUGc+_U7C2gPa(&V4|*|XU2+5!5Gd+p(>VLrS3`*-1eeYbTflUWFxTdlr& zZNf@0R{z`sDBs><%N$t`*6J-~y_tVR(VKL4octedA@kNp6=SjfR&@XNB{Xf1p!a)E zqmayC^iMado~>C+Xde%k`tl3wY1!?#sDD0Q8ZUf!uPpQIT8Kp(EX-%2-<*QrRFX4s zn8j;H3l7iY_AhvbvmfetWv6TMaMv(Fy6so{QhQC+f$}&Hf5vDM!kQ4oO|9^D z+MCVUfl>JNMUlX%8kdbiAZsA-FiCXX3quq?zAM?s!vS1ZE z>WB9oEJ&N@qQzN>WD-8BJ9Qyy?fq)Q{odNA)_wdMcPq68iMz=uT_jCho;c+m`#kht_7a&Y=iBQru8xDxgIFT`${s?mxo=|S(~s$ za11`jwf@<7mCW4WID#|@Rt!U#;W=c76VMiywT>_)AM3GNE$H{>G5YRR*LxB#Ov0vn z(X9V#jIvq`Ld0)nK=u5Ciu+S75=L7YLSMxYB(3pPiJi4;=)Am0Jv1qv(o1!RbG5mh z@}q=DDJ$}1fAcBUPo^-|Az?NoRfw{mZ~URQJ0B8v(dmrqMp35?i^MDvre^Q|atfoD z$w&n3i84`u;I$Wv%NP{)g5*S-M;x^@B_7u4br4?o7AxjvIzgMuRmI=AporNf5%YeL z%jr^*8TiCEkLy&ku2;R-o)4gl&JaovO>1|+-;)T7h=(Pl{ERl0<;ii+*3*TG4`sXp z_|9Hfux0w5Ig`V3(M;zgycI}kS&vY*VZKSc;YnMKZvvZjDkUw&n8?wjR)^csO$QqF z!l3!g(BwMiG&~9L!yARNtgF-UeOG+ZDUBp7|IBc@nTi@B{3K5i>fSXg4G_*z@&Bm3 z@iR3y)J2%PK}hnT5zI78CFgt+sEcri5_CN_ss}nfHXMZ` zhu>Z2!ECs3O-JP%&V*x+&vYD3lGi%#S}Azch?1tSnA13%4kK*TM?Onh{iiR1FM0Gb zmq^VXT7bTA1WyXl%nU}PG;TGev58`SKgIlZLq>~UNh3uec0w%RKlIzieflNJt~PAY zVlj$e?z#C`x*1{0VzE}N7|}G5&BU!f|M(CsF>e-#k%xBH+&=T9MxB~#C}i9vOyk<( zaXzDCnPzM)_^re4F8blH(OAl}Pm1h3MsZN{Lzin^rBdHnB?*GufL|GI}7+W=?A(S;SLd8hVQ@^*Tv^;JnCy~^apORh3>KZfOuqN}PzPEd! z>!Fmv)-v8B& Z{{mA^YHf_Pg=+u+002ovPDHLkV1m`LnT!Ac literal 0 HcmV?d00001 diff --git a/src/assets/icons/marketplaces/yandex_market.png b/src/assets/icons/marketplaces/yandex_market.png new file mode 100644 index 0000000000000000000000000000000000000000..b562ddc892144b34530853fbbca06dfb7a8a924a GIT binary patch literal 2699 zcmbVO3se(V8VqTPHIUk|oIuNhE=;R53!p z1#PW@wsoy`)fHqn*sUOSeGt@B+#)Ni*j9Ywvs%`*=%S?)z^vV)ZO`VMo4IrEcfbGp zANM~~otBd5S4>xvUuAay9m|`DJye%J2V1XNTsm>nTSq^yKi zsuq^%==8Fb46>|<6jR{57+|gm=Lj^kfdEVzwN{UtqQNmc67`F4Xq zjx-IBFgh9#2@r@x5Fvn~A^}B_k#aIT48RZ!g^?&2jf7Akjz;0aNMPaza`tqT0$&op zV8R;r77Z#51{Q~5qtPfZ3I&X=5JtsfF^pg^hCv(x(wAxtgbC8>`A-<)X+5b^u?7{R z1?-H3oLO#&205+cPH0#MtyVt~C@y5MiC|$=fY_ZH15%^|$1c~Y$Ba`XOsi=Ptu^R5 zEb73rO2)wGmCSRf9os)Kzy((-b=Y{O7LCSXLT^YY;oO)A$TQLUj8c|{m(Y4AsI`w5gQ8j3IwzX+yCT*2rx1n00y zLln|5t1ScpM;LJlqh@rRVNRX!>GdRuBu&RCRBCQRza%jZNJ@~1P_ak^VFGkau2hOA zY4rv|OVUa4(I6Kbfl5W;5m6C@7~ya)7(=-6y${(IkXL$i)yvhm(+;7Rxy{3MJ*3LWE%sHK{rkcO?n+)2wz? z6vwC_h)7JNkVBCKi9iU+@eq;nNC-m_ks^vj2ng0x?XXppp515JSw%c^I@<5yXpIB!(a9O=(g$+&erqc9i=9X-F0i`_3)A^be? zdZOg#rT@BAj%#vAe_qx8Khh_{LMjPuAVB+k4S?QsDp1*Vx`ued`IFYlilz zqYra0j!sT%Icgo(r%&BJ=*Q!|7?Tt~KO?8(;O4iLb+Ult=g*utHz?`|sSNE2ua~Wz zY7JJ;q_pkIy~^Ag-%WAV4a#@=kL7vtL$ZE|4csb zHwcX=)5F%~?|fHU<;{3@U&suE-QO(qK3d+f-{v|z<2U?AE3!^Pr;+x=Y@Y+P zPANWj)F^~%d$4XW9bIz#Nygp7-b14c=Vf zGqt9SzsZ$8Y^7IgUy-Q&Ut3h*J-EsH;+BfG2c<>Z*F-2DvMZ@OX{pJl5K$)U7IRo1 z(EHVCD2{yh<@+MwAgAh&1nn~x$mzI_1z4Dl_f=yp~m?LB?^uqortNpw;WX|dE@Yeh*-xu2w z);?IhxmjjfYqHTxt)%7gs!ZhLd0F!^gInWTT1IL+Qzw<5TzR?CJk<4I`e;z1Ew@SQ zUYsto4tY%V&-#94Q(*JzyE%XTy63uyz!v#Hy%^7UEM#4l1`eP)>SiOba#ElVl&?6(i1zQH*?XYo22z>aXKqVQCF?k zRTa&h`V4Gk3mf0~Xh`>(TgBPy+xGpis^jm?x~-=+<}2SP{F`WYcA0HXJ+k7@`NOYDPdI%c@nd?N^;W}6!L$E?>_3%Yg;*$G26hf! zTj`=EeF`qFUM&CGntl-{AnEQaang-vHJ|r6ZK?fYW=32oeRp@v>;2V#;t#FZ(MMVf znu2Eh=fIGxa!1^Os>Y>7C6@zl7s7Q_A6V)IZdaZA!DG2_Oqffa?oP}iS=m=oUrlR! zs3fFja%X)S|6uX04Rxve9{KF@mUPL6z6Jletzq5dV*~RRhGs^2Ie&V^{<)ZxkP_b< Hx2)nvN#6Sg literal 0 HcmV?d00001 diff --git a/src/components/BasicButton/BasicButton.tsx b/src/components/BasicButton/BasicButton.tsx index 2db9390..7ae4475 100644 --- a/src/components/BasicButton/BasicButton.tsx +++ b/src/components/BasicButton/BasicButton.tsx @@ -30,13 +30,11 @@ const styles = StyleSheet.create({ backgroundColor: '#2478F8', borderRadius: responsiveWidth(1), padding: responsiveWidth(2), - flex: 1, - }, text: { color: "white", fontSize: RFPercentage(2), - textAlignVertical:"center", + textAlignVertical: "center", } }); diff --git a/src/components/DText/DText.tsx b/src/components/DText/DText.tsx index acda3a6..0351943 100644 --- a/src/components/DText/DText.tsx +++ b/src/components/DText/DText.tsx @@ -1,9 +1,10 @@ import React, {FC, ReactElement} from "react"; import {StyleProp, StyleSheet, Text, TextStyle, View, ViewStyle} from 'react-native'; import {RFPercentage} from "react-native-responsive-fontsize"; +import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; type Props = { - children: string; + children: any; style?: StyleProp; } const DText: FC = ({children, style}) => { @@ -13,7 +14,8 @@ const DText: FC = ({children, style}) => { } const styles = StyleSheet.create({ text: { - fontFamily: 'SF Pro Text', + // fontFamily: 'SF Pro Text', + fontSize: responsiveWidth(3), } }) export default DText; \ No newline at end of file diff --git a/src/components/DTitle/DTitle.tsx b/src/components/DTitle/DTitle.tsx new file mode 100644 index 0000000..e45bdf8 --- /dev/null +++ b/src/components/DTitle/DTitle.tsx @@ -0,0 +1,21 @@ +import React, {FC, ReactElement} from "react"; +import {StyleProp, StyleSheet, Text, TextStyle, View, ViewStyle} from 'react-native'; +import {RFPercentage} from "react-native-responsive-fontsize"; +import DText from "../DText/DText"; +import {responsiveWidth} from "react-native-responsive-dimensions"; + +type Props = { + children: string; + style?: StyleProp; +} +const DTitle: FC = ({children, style}) => { + return ({children}) +} +const styles = StyleSheet.create({ + text: { + fontSize: responsiveWidth(4.5), + fontWeight: "600", + fontStyle: "normal" + } +}) +export default DTitle; \ No newline at end of file diff --git a/src/components/Hyperlink/Hyperlink.tsx b/src/components/Hyperlink/Hyperlink.tsx new file mode 100644 index 0000000..02823b4 --- /dev/null +++ b/src/components/Hyperlink/Hyperlink.tsx @@ -0,0 +1,27 @@ +import React, {ReactNode} from 'react'; +import {TouchableOpacity, Linking} from 'react-native'; + +type HyperlinkProps = { + url: string; + children: ReactNode; +}; + +const Hyperlink: React.FC = ({url, children}) => { + const handlePress = () => { + Linking.canOpenURL(url).then(supported => { + if (supported) { + Linking.openURL(url); + } else { + console.log("Don't know how to open URI: " + url); + } + }); + }; + + return ( + + {children} + + ); +}; + +export default Hyperlink; diff --git a/src/components/OrderCard/OrderCard.tsx b/src/components/OrderCard/OrderCard.tsx new file mode 100644 index 0000000..199c28c --- /dev/null +++ b/src/components/OrderCard/OrderCard.tsx @@ -0,0 +1,98 @@ +import {FC, useState} from "react"; +import {GestureResponderEvent, Image, StyleSheet, TouchableOpacity, View} from "react-native"; +import {RFPercentage} from "react-native-responsive-fontsize"; +import DText from "../DText/DText"; +import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; +import DTitle from "../DTitle/DTitle"; + +type Props = { + onPress?: (event: GestureResponderEvent) => void + +} +const OrderCard: FC = ({onPress}) => { + + const [order, setOrder] = useState({ + article: 183658, + imageUrl: "https://421421.selcdn.ru/denco/996956/thumbzoom/h0b41036e5dc84a88b3dd344a46ab33edt.jpg-640x640.jpg", + orderNumber: "93757290-0104-7", + productName: "Фигурки животных «Собачки» 258, 5-7 см., статичные / 12 шт.", + supplierName: "simaland", + marketplaceName: "Wildberries РЕНТА", + sellerName: "DENCO", + assembled: false + }); + + return ( + { + console.log("pressed11") + }}> + + + + + + + + {order.orderNumber} + + + + Количество: 5 + Поставщик: {order.supplierName} + Селлер: {order.sellerName} + Цвет: ГОЛУБОЙ + + + Ожидает сборки + + + + + + + + ) +} +const styles = StyleSheet.create({ + container: { + backgroundColor: "white", + display: "flex", + borderRadius: RFPercentage(5), + height: responsiveHeight(20), + flexDirection: "row", + padding: RFPercentage(2), + + + }, + imageWrapper: { + width: responsiveWidth(30), + }, + image: { + width: "100%", + height: "100%", + + }, + description: { + backgroundColor:"red", + flex: 1, + display: "flex", + flexDirection: "column", + paddingLeft: responsiveWidth(3), + gap: 0, + }, + title: { + marginBottom: responsiveHeight(1), + flexDirection: "row", + alignItems: "center" + }, + titleImage: { + width: responsiveWidth(4), + height: responsiveHeight(4), + resizeMode: "center", + marginLeft: responsiveHeight(1) + }, + statusContainer: { + alignSelf: "flex-end", + } +}); +export default OrderCard; \ No newline at end of file diff --git a/src/features/auth/authSlice.ts b/src/features/auth/authSlice.ts index f542679..2d3ad50 100644 --- a/src/features/auth/authSlice.ts +++ b/src/features/auth/authSlice.ts @@ -22,16 +22,6 @@ const initialState: AuthState = { isAuthenticated: false }; -export const pokemonApi = createApi({ - reducerPath: 'pokemonApi', - baseQuery: fetchBaseQuery({baseUrl: 'https://pokeapi.co/api/v2/'}), - endpoints: (builder) => ({ - getPokemonByName: builder.query({ - query: (name) => `pokemon/${name}`, - }), - }), -}) -export const {useGetPokemonByNameQuery} = pokemonApi; export const loginUser = createAsyncThunk( 'auth/login', diff --git a/src/redux/store.ts b/src/redux/store.ts index a253502..36cbc23 100644 --- a/src/redux/store.ts +++ b/src/redux/store.ts @@ -1,14 +1,12 @@ import {configureStore} from '@reduxjs/toolkit'; -import authReducer, {pokemonApi} from 'features/auth/authSlice'; +import authReducer from 'features/auth/authSlice'; import {useDispatch} from "react-redux"; export const store = configureStore({ reducer: { auth: authReducer, - [pokemonApi.reducerPath]: pokemonApi.reducer }, - middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(pokemonApi.middleware) }); export type RootState = ReturnType; diff --git a/src/screens/HomeScreen/HomeScreen.tsx b/src/screens/HomeScreen/HomeScreen.tsx index 8ee48ef..9423351 100644 --- a/src/screens/HomeScreen/HomeScreen.tsx +++ b/src/screens/HomeScreen/HomeScreen.tsx @@ -1,6 +1,5 @@ import {Button, Modal, SafeAreaView, Text, View} from "react-native"; import {useAppDispatch} from "../../redux/store"; -import {logoutUser, useGetPokemonByNameQuery} from "../../features/auth/authSlice"; import * as process from "process"; import React, {useState} from "react"; import BasicButton from "../../components/BasicButton/BasicButton"; diff --git a/src/screens/MainScreen/MainScreen.tsx b/src/screens/MainScreen/MainScreen.tsx index 5960bca..6a836f7 100644 --- a/src/screens/MainScreen/MainScreen.tsx +++ b/src/screens/MainScreen/MainScreen.tsx @@ -11,6 +11,8 @@ import profileScreen from "../ProfileScreen/ProfileScreen"; import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; import {RFPercentage} from "react-native-responsive-fontsize"; import LoginScreen from "../LoginScreen/LoginScreen"; +import OrderScreen from "../OrderScreen/OrderScreen"; +import OrdersScreen from "../OrdersScreen/OrdersScreen"; interface CustomTabProps { @@ -43,12 +45,12 @@ function MainScreen() { const tabScreens = [ { name: "Home", - component: HomeScreen, + component: OrderScreen, icon: require('assets/icons/home.png') }, { name: "Box", - component: BoxScreen, + component: OrdersScreen, icon: require('assets/icons/box.png') }, { diff --git a/src/screens/OrderScreen/OrderScreen.tsx b/src/screens/OrderScreen/OrderScreen.tsx new file mode 100644 index 0000000..5e8762f --- /dev/null +++ b/src/screens/OrderScreen/OrderScreen.tsx @@ -0,0 +1,120 @@ +import {View, Text, Image, StyleSheet, Button} from "react-native"; +import {responsiveHeight, responsiveWidth} from "react-native-responsive-dimensions"; +import DText from "../../components/DText/DText"; +import {RFPercentage} from "react-native-responsive-fontsize"; +import DTitle from "../../components/DTitle/DTitle"; +import BasicButton from "../../components/BasicButton/BasicButton"; +import Hyperlink from "../../components/Hyperlink/Hyperlink"; +import React, {useState} from "react"; + +type ArticleTextProps = { + article: number +} + + +function OrderScreen() { + + const [order, setOrder] = useState({ + article: 183658, + imageUrl: "https://421421.selcdn.ru/denco/996956/thumbzoom/h0b41036e5dc84a88b3dd344a46ab33edt.jpg-640x640.jpg", + orderNumber: "93757290-0104-7", + productName: "Фигурки животных «Собачки» 258, 5-7 см., статичные / 12 шт.", + supplierName: "simaland", + marketplaceName: "Wildberries РЕНТА", + sellerName: "DENCO", + assembled: false + }); + + return ( + + + + + + + + {order.orderNumber} + + Артикул: {order.article} + + Товар: {order.productName} + Поставщик: {order.supplierName} + Селлер: {order.sellerName} + Маркетплейс: {order.marketplaceName} + + + + + + {!order.assembled && + { + setOrder({...order, assembled: true}) + console.log(order); + }}/> + } + + {order.assembled && + + } + {/**/} + + + + ) +} + +const styles = StyleSheet.create({ + container: { + padding: 30, + width: "100%", + height: "100%", + overflow: "hidden", + display: "flex", + flex: 1, + }, + dataContainer: { + backgroundColor: "black", + display: "flex", + flexDirection: "row", + }, + buttonsContainer: { + backgroundColor: "blue", + flex: 1, + display: "flex", + justifyContent: "center", + paddingHorizontal: responsiveWidth(10) + }, + buttonsWrapper: { + backgroundColor: "red", + rowGap: responsiveHeight(3) + }, + imageWrapper: { + width: responsiveWidth(40), + // height: responsiveHeight(40), + backgroundColor: "red", + padding: RFPercentage(1) + }, + image: { + flex: 1, + borderRadius: RFPercentage(3) + }, + contentContainer: { + padding: RFPercentage(1), + backgroundColor: "pink", + flex: 1 + + }, + contentWrapper: { + display: "flex", + flexDirection: "column", + gap: 0, + }, + contentTitle: { + alignSelf: "center" + }, + articleText: { + color: 'blue', + textDecorationLine: 'underline' + } +}) +export default OrderScreen; \ No newline at end of file diff --git a/src/screens/OrdersScreen/OrdersScreen.tsx b/src/screens/OrdersScreen/OrdersScreen.tsx new file mode 100644 index 0000000..dcfa85c --- /dev/null +++ b/src/screens/OrdersScreen/OrdersScreen.tsx @@ -0,0 +1,48 @@ +import {ScrollView, StyleSheet, View} from "react-native"; +import SearchBar from "../../components/SearchBar/SearchBar"; +import OrderCard from "../../components/OrderCard/OrderCard"; +import {RFPercentage} from "react-native-responsive-fontsize"; +import {responsiveHeight} from "react-native-responsive-dimensions"; + +function OrdersScreen() { + return ( + + { + }}/> + + + + + + + + + + + + + + + ) +} + +const styles = StyleSheet.create({ + container: { + width: "100%", + height: "100%", + display: "flex", + }, + content: { + flex: 1, + paddingHorizontal: RFPercentage(3), + paddingTop: RFPercentage(3) + }, + scrollContainer: { + rowGap: responsiveHeight(2) + + } +}); + +export default OrdersScreen; \ No newline at end of file diff --git a/src/screens/ProfileScreen/ProfileScreen.tsx b/src/screens/ProfileScreen/ProfileScreen.tsx index 63efa74..5893727 100644 --- a/src/screens/ProfileScreen/ProfileScreen.tsx +++ b/src/screens/ProfileScreen/ProfileScreen.tsx @@ -1,6 +1,5 @@ import {Button, Text, View} from "react-native"; import {useAppDispatch} from "../../redux/store"; -import {logoutUser, useGetPokemonByNameQuery} from "../../features/auth/authSlice"; import * as process from "process"; function ProfileScreen() { diff --git a/src/types/order.ts b/src/types/order.ts new file mode 100644 index 0000000..b46baeb --- /dev/null +++ b/src/types/order.ts @@ -0,0 +1,4 @@ +export type Order = { + id: number; + imageUrl: string; +} \ No newline at end of file