You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
134 lines
3.8 KiB
134 lines
3.8 KiB
import React from "react"; |
|
import { View, Text, Dimensions, Image } from "react-native"; |
|
import { connect } from "react-redux"; |
|
//style |
|
import tw from "tailwind-rn"; |
|
import fontSize from "../../../constants/fontSize"; |
|
import Colors from "../../../constants/Colors"; |
|
|
|
const width = Dimensions.get("window").width; |
|
|
|
function Book({ book, mobile, grades, theme }) { |
|
return ( |
|
<View |
|
style={[ |
|
tw("w-full flex flex-row-reverse justify-between py-3"), |
|
{ |
|
borderBottomWidth: 1, |
|
borderColor: Colors.theme1.grayE3 + (theme === "light" ? "" : "55"), |
|
}, |
|
]} |
|
> |
|
<View style={tw("flex flex-row-reverse items-center flex-1")}> |
|
<Image |
|
resizeMode="contain" |
|
source={{ |
|
uri: `https://dnvn.ir/api/v1/file/${book?.product?.book.fileIds}`, |
|
}} |
|
style={[ |
|
tw("rounded-md"), |
|
{ |
|
width: mobile ? width / 5 : width / 8, |
|
height: (mobile ? width / 5 : width / 8) * (4 / 2.8), |
|
}, |
|
]} |
|
/> |
|
<View style={tw("flex items-end mr-2")}> |
|
<Text |
|
style={[ |
|
{ |
|
fontSize: mobile ? fontSize.base : fontSize.xl, |
|
color: |
|
theme === "light" |
|
? Colors.theme1.green79 |
|
: Colors.theme1.white, |
|
fontFamily: "Medium", |
|
}, |
|
]} |
|
> |
|
{book?.product?.book?.name || " "} |
|
</Text> |
|
<Text |
|
style={[ |
|
tw(" mt-2"), |
|
{ |
|
fontSize: mobile ? fontSize.sm : fontSize.base, |
|
color: |
|
theme === "light" |
|
? Colors.theme1.green79 + "aa" |
|
: Colors.theme1.white, |
|
fontFamily: "Regular", |
|
}, |
|
]} |
|
> |
|
{"پایه" + " " + grades[book?.product?.book?.gradeId]} |
|
</Text> |
|
{/* <Text |
|
style={[ |
|
tw(" mt-1"), |
|
{ |
|
fontSize: mobile ? fontSize.sm : fontSize.lg, |
|
color: Colors.theme1.greenBA, |
|
fontFamily: "Regular", |
|
}, |
|
]} |
|
> |
|
|
|
</Text> */} |
|
</View> |
|
</View> |
|
<View style={tw("flex flex-row-reverse items-center")}> |
|
<Text |
|
style={[ |
|
tw(" py-1 px-3 rounded-sm"), |
|
{ |
|
color: theme === "light" ? "#132F52" : Colors.theme1.white, |
|
fontSize: mobile ? fontSize.xl : fontSize.xl4, |
|
backgroundColor: theme === "light" ? "#F1F1F1" : null, |
|
borderWidth: theme === "light" ? 0 : 1, |
|
borderColor: "#f1f1f1", |
|
fontFamily: "Medium", |
|
}, |
|
]} |
|
> |
|
{book?.product?.count} |
|
</Text> |
|
<View style={tw("flex flex-row items-center")}> |
|
<Text |
|
style={{ |
|
fontFamily: "Medium", |
|
fontSize: mobile ? fontSize.sm : fontSize.lg, |
|
color: |
|
theme === "light" ? Colors.theme1.green79 : Colors.theme1.white, |
|
}} |
|
> |
|
تومان |
|
</Text> |
|
<Text |
|
style={[ |
|
tw(" mr-3"), |
|
{ |
|
color: |
|
theme === "light" |
|
? Colors.theme1.green79 |
|
: Colors.theme1.white, |
|
fontSize: mobile ? fontSize.xl : fontSize.xl, |
|
fontFamily: "Medium", |
|
}, |
|
]} |
|
> |
|
{book?.product?.price} |
|
</Text> |
|
</View> |
|
</View> |
|
</View> |
|
); |
|
} |
|
|
|
const mapStateToProps = (state) => ({ |
|
mobile: state.publicApi.mobile, |
|
grades: state.publicApi.grades, |
|
theme: state.publicApi.theme, |
|
}); |
|
|
|
export default connect(mapStateToProps)(Book);
|
|
|