parent
2318ade15d
commit
0c0bd6e35f
3 changed files with 216 additions and 5 deletions
@ -0,0 +1,206 @@ |
||||
import { |
||||
View, |
||||
Text, |
||||
ScrollView, |
||||
Platform, |
||||
StyleSheet, |
||||
SafeAreaView, |
||||
StatusBar, |
||||
Dimensions, |
||||
Pressable, |
||||
} from "react-native"; |
||||
import { connect } from "react-redux"; |
||||
import React from "react"; |
||||
|
||||
//components
|
||||
import Navbar from "../../components/Navbar"; |
||||
|
||||
//style
|
||||
import fontSize from "../../constants/fontSize"; |
||||
import tw from "tailwind-rn"; |
||||
import Colors from "../../constants/Colors"; |
||||
|
||||
//variables
|
||||
const ios = Platform.OS === "ios"; |
||||
const { width } = Dimensions.get("window"); |
||||
|
||||
const Rules = ({ route, mobile, theme }) => { |
||||
const [active, setActive] = React.useState(0); |
||||
const styles = React.useMemo(() => { |
||||
return StyleSheet.create({ |
||||
contentContainerStyle: { |
||||
paddingBottom: 100, |
||||
}, |
||||
container: { |
||||
backgroundColor: "white", |
||||
flexDirection: "column", |
||||
paddingVertical: 5, |
||||
paddingHorizontal: 16, |
||||
}, |
||||
}); |
||||
}, [route]); |
||||
|
||||
const items = React.useMemo(() => { |
||||
return [ |
||||
{ |
||||
title: "آیا استفاده از سامانه دانوین هزینه دارد؟", |
||||
description: |
||||
"لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد ", |
||||
}, |
||||
{ |
||||
title: "چگونه می توان در سامانه عضو شد؟", |
||||
description: |
||||
"لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد ", |
||||
}, |
||||
{ |
||||
title: "چگونه می توان در سامانه عضو شد؟", |
||||
description: |
||||
"لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد ", |
||||
}, |
||||
{ |
||||
title: "چگونه می توان در سامانه عضو شد؟", |
||||
description: |
||||
"لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد ", |
||||
}, |
||||
]; |
||||
}, [route]); |
||||
|
||||
return ( |
||||
<SafeAreaView |
||||
style={{ |
||||
paddingTop: Platform.OS === "android" ? StatusBar.currentHeight : 0, |
||||
position: "relative", |
||||
}} |
||||
> |
||||
<Navbar |
||||
headerOptions={{ |
||||
logo: false, |
||||
menu: false, |
||||
hamburgerMenu: false, |
||||
title: "شرایط، قوانین استفاده و راهنما", |
||||
bookmark: false, |
||||
qr: false, |
||||
back: true, |
||||
}} |
||||
/> |
||||
<ScrollView |
||||
contentContainerStyle={styles.contentContainerStyle} |
||||
style={styles.container} |
||||
> |
||||
<Switch theme={theme} active={active} setActive={setActive} /> |
||||
<Text |
||||
numberOfLines={1} |
||||
adjustsFontSizeToFit |
||||
style={[ |
||||
tw("text-center my-3 p-2 rounded-sm"), |
||||
{ |
||||
fontFamily: "bold", |
||||
fontSize: fontSize.sm, |
||||
color: Colors.theme1[theme].redC0, |
||||
backgroundColor: Colors.theme1[theme].redFF, |
||||
}, |
||||
]} |
||||
> |
||||
شما در حال مشاهده شرایط و قوانین استفاده از سامانه هستید |
||||
</Text> |
||||
{items.map((rule, index) => ( |
||||
<Rule rule={rule} key={index} theme={theme} /> |
||||
))} |
||||
</ScrollView> |
||||
</SafeAreaView> |
||||
); |
||||
}; |
||||
|
||||
const Switch = ({ theme, active, setActive }) => { |
||||
return ( |
||||
<View |
||||
style={[ |
||||
tw("w-full flex flex-row"), |
||||
{ borderWidth: 1, borderColor: Colors.theme1[theme].green79 }, |
||||
]} |
||||
> |
||||
<Pressable |
||||
style={[ |
||||
tw("flex-1 py-3 flex flex-row justify-center"), |
||||
{ |
||||
backgroundColor: active |
||||
? Colors.theme1[theme].blueFF1 |
||||
: "transparent", |
||||
}, |
||||
]} |
||||
onPress={() => setActive(1)} |
||||
> |
||||
<Text |
||||
style={{ |
||||
fontFamily: "regular", |
||||
fontSize: fontSize.tiny, |
||||
color: Colors.theme1[theme].green79, |
||||
}} |
||||
> |
||||
راهنمای استفاده |
||||
</Text> |
||||
</Pressable> |
||||
<View style={[tw("w-px h-full")]}></View> |
||||
<Pressable |
||||
style={[ |
||||
tw("flex-1 py-3 flex flex-row justify-center"), |
||||
{ |
||||
backgroundColor: !active |
||||
? Colors.theme1[theme].green79 + '11' |
||||
: "transparent", |
||||
}, |
||||
]} |
||||
onPress={() => setActive(0)} |
||||
> |
||||
<Text |
||||
style={{ |
||||
fontFamily: "regular", |
||||
fontSize: fontSize.tiny, |
||||
color: Colors.theme1[theme].green79, |
||||
}} |
||||
> |
||||
شرایط و قوانین |
||||
</Text> |
||||
</Pressable> |
||||
</View> |
||||
); |
||||
}; |
||||
|
||||
const Rule = ({ rule, theme }) => { |
||||
return ( |
||||
<View style={tw("flex mb-3")}> |
||||
<Text |
||||
style={[ |
||||
tw("mb-1 p-2 rounded-sm"), |
||||
{ |
||||
fontFamily: "bold", |
||||
fontSize: fontSize.sm, |
||||
color: Colors.theme1[theme].green79, |
||||
backgroundColor: Colors.theme1[theme].green79 + '11', |
||||
}, |
||||
]} |
||||
> |
||||
{rule.title} |
||||
</Text> |
||||
<Text |
||||
style={[ |
||||
tw("p-2 rounded-sm leading-6"), |
||||
{ |
||||
fontFamily: "regular", |
||||
fontSize: fontSize.sm, |
||||
color: Colors.theme1[theme].gray20, |
||||
}, |
||||
]} |
||||
> |
||||
{rule.description} |
||||
</Text> |
||||
</View> |
||||
); |
||||
}; |
||||
|
||||
const mapStateToProps = (state) => ({ |
||||
mobile: state.publicApi.mobile, |
||||
theme: state.publicApi.theme, |
||||
}); |
||||
|
||||
export default connect(mapStateToProps)(Rules); |
Loading…
Reference in new issue