_10_Setting.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import React from 'react';
  2. import i18n from "i18n-js";
  3. import C from 'rn-class'
  4. const items = {
  5. "Account Info" : {page : "AccountInfo" , Icon : {type:"material-community" , name :"account-settings"}} ,
  6. Notice : {page : "Notice" , Icon : {type:"antdesign" , name :"notification"}} ,
  7. FAQ : {page : "FAQ" , Icon : {type:"antdesign" , name :"questioncircle"}} ,
  8. "Change Language" : {page : "ChangeLanguage" , Icon : {type:"font-awesome" , name :"language"}} ,
  9. "Help & Support" :{page : "Support" , Icon : {type:"antdesign" , name :"customerservice"}} ,
  10. "Service Alarm" :{page : "ServiceAlarm" , Icon : {type:"material-community" , name :"alarm-multiple"}} ,
  11. About :{page : "About" , Icon : {type:"entypo" , name :"info"}} ,
  12. }
  13. export default (props)=>{
  14. return (
  15. <C.View cls="flx1 bgc-color-white">
  16. <C.EL.Header
  17. ccls="bgc-color-transparent"
  18. leftComponent={<C.Image source={require("../res/header_bubble.png")} cls="ml2 w10 h10" resizeMode="contain" />}
  19. centerComponent={<C.Text cls="f3 fw-b ">{i18n.t(`Setting.title`)}</C.Text>}
  20. rightComponent={
  21. <C.View cls="flx-row jc-sa w20 ">
  22. <C.EL.Icon name="ios-arrow-back" type="ionicon" onPress={()=>props.navigation.goBack()}/>
  23. {/* title="P" ccls="w10" btncls="br19.9"/> */}
  24. </C.View>
  25. }
  26. >
  27. </C.EL.Header>
  28. <C.View cls="w100% ai-c flx0.9">
  29. <C.ScrollView cccls="ai-c h100 w100" flx="flx1 bgc-test">
  30. {
  31. Object.keys(items).map((key , idx )=>{
  32. let o = items[key];
  33. return (
  34. <ItemView key={`item_${idx}`} {...props} data={o} itemKey={key} ></ItemView>
  35. )
  36. })
  37. }
  38. </C.ScrollView>
  39. </C.View>
  40. <C.View cls="ai-c flx0.1 jc-c" >
  41. <C.Text cls="fw-b">
  42. Version 1.11
  43. </C.Text>
  44. <C.Text>
  45. Logged in as DABUT@gmail.com
  46. </C.Text>
  47. </C.View>
  48. </C.View>
  49. )
  50. }
  51. const ItemView = ( props) =>{
  52. let {itemKey , data} = props;
  53. let onClick = (p)=>{
  54. // console.log(props.data.page);
  55. props.navigation.navigate(props.data.page);
  56. }
  57. console.log(itemKey);
  58. return (
  59. <C.EL.ListItem cls="w100"
  60. title={i18n.t(`Setting.${itemKey}`)}
  61. subtitle={itemKey}
  62. leftIcon={ <C.EL.Icon {... data.Icon} raised />}
  63. onPress={onClick }
  64. >
  65. {/* <C.EL.Icon />
  66. <C.Text>{itemKey}</C.Text> */}
  67. </C.EL.ListItem>
  68. )
  69. }