UserScreen.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. import * as WebBrowser from "expo-web-browser";
  2. import * as React from "react";
  3. import {
  4. Image,
  5. Platform,
  6. StyleSheet,
  7. TouchableOpacity,
  8. View,
  9. ImageBackground,
  10. } from "react-native";
  11. import scrollPage from "../decorator/scrollPage";
  12. import { useModel } from "flooks";
  13. import Badge from "../components/Badge";
  14. import {
  15. Layout,
  16. Tab,
  17. TabView,
  18. Text,
  19. useTheme,
  20. Button,
  21. Card,
  22. Icon,
  23. Menu,
  24. MenuItem,
  25. OverflowMenu,
  26. TopNavigation,
  27. TopNavigationAction,
  28. Modal,
  29. MenuGroup,
  30. } from "@ui-kitten/components";
  31. import FormInput from "../components/FormInput";
  32. import { useFocusEffect, useNavigation } from "@react-navigation/native";
  33. import ScrollPage from "../components/ScrollPage";
  34. import * as RootNavigation from "../navigation/RootNavigation.js";
  35. import NavHeaderBar from "../components/NavHeaderBar";
  36. export default function UserScreen({ navigation }) {
  37. const theme = useTheme();
  38. const { changeBackground } = useModel("barModel");
  39. const {
  40. showName,
  41. logo,
  42. introduction,
  43. proclamation,
  44. updateMerchant,
  45. banner,
  46. } = useModel("userModel");
  47. const {
  48. tab3,
  49. userTitle1,
  50. userTitle2,
  51. userTitle3,
  52. userTitle4,
  53. userTitle5,
  54. userTitle6,
  55. userTitle31,
  56. userTitle32,
  57. userTitle33,
  58. userTitle34,
  59. userTitle41,
  60. userTitle42,
  61. userTitle61,
  62. userTitle62,
  63. userTitle21,
  64. userTitle22,
  65. userTitle23,
  66. userTitle24,
  67. } = useModel("wordsModel");
  68. const [bannerImg, changeBannerImg] = React.useState("");
  69. useFocusEffect(
  70. React.useCallback(() => {
  71. changeBackground(theme["color-primary-500"]);
  72. }, [])
  73. );
  74. const renderBackAction = () => <Text category='h6'>{homeBar}</Text>;
  75. return (
  76. <>
  77. <NavHeaderBar title={tab3} back={false} />
  78. <ScrollPage>
  79. <Layout style={styles.container} level='1'>
  80. <Menu style={styles.menu}>
  81. <MenuItem
  82. title={userTitle1}
  83. accessoryRight={ForwardIcon}
  84. style={styles.menuItem}
  85. onPress={() => {
  86. navigation.navigate("Home", {
  87. screen: "homeTab3",
  88. });
  89. }}
  90. />
  91. <MenuGroup title={userTitle2} style={styles.menuGroup}>
  92. <MenuItem
  93. title={userTitle21}
  94. accessoryRight={ForwardIcon}
  95. onPress={() => {
  96. navigation.navigate("FullReduction");
  97. }}
  98. />
  99. <MenuItem
  100. title={userTitle22}
  101. accessoryRight={ForwardIcon}
  102. />
  103. <MenuItem
  104. title={userTitle23}
  105. accessoryRight={ForwardIcon}
  106. />
  107. <MenuItem
  108. title={userTitle24}
  109. accessoryRight={ForwardIcon}
  110. />
  111. </MenuGroup>
  112. <MenuGroup title={userTitle3} style={styles.menuGroup2}>
  113. <MenuItem
  114. title={userTitle31}
  115. accessoryRight={ForwardIcon}
  116. onPress={() => {
  117. navigation.navigate("EditGoods");
  118. }}
  119. />
  120. <MenuItem
  121. title={userTitle32}
  122. accessoryRight={ForwardIcon}
  123. />
  124. <MenuItem
  125. title={userTitle33}
  126. accessoryRight={ForwardIcon}
  127. />
  128. <MenuItem
  129. title={userTitle34}
  130. accessoryRight={ForwardIcon}
  131. onPress={() => {
  132. navigation.navigate("AddClassification");
  133. }}
  134. />
  135. </MenuGroup>
  136. <MenuGroup title={userTitle4} style={styles.menuGroup2}>
  137. <MenuItem
  138. title={userTitle41}
  139. accessoryRight={ForwardIcon}
  140. />
  141. <MenuItem
  142. title={userTitle42}
  143. accessoryRight={ForwardIcon}
  144. />
  145. </MenuGroup>
  146. <MenuItem
  147. title={userTitle5}
  148. accessoryRight={ForwardIcon}
  149. style={styles.menuGroup2}
  150. onPress={() => {
  151. navigation.navigate("Home", {
  152. screen: "homeTab2",
  153. });
  154. }}
  155. />
  156. <MenuGroup title={userTitle6} style={styles.menuGroup2}>
  157. <MenuItem
  158. title={userTitle61}
  159. accessoryRight={ForwardIcon}
  160. />
  161. <MenuItem
  162. title={userTitle62}
  163. accessoryRight={ForwardIcon}
  164. />
  165. </MenuGroup>
  166. {/* <MenuGroup title='Akveo React Native'>
  167. <MenuItem title='UI Kitten' />
  168. <MenuItem title='Kitten Tricks' />
  169. </MenuGroup> */}
  170. </Menu>
  171. </Layout>
  172. </ScrollPage>
  173. </>
  174. );
  175. }
  176. const StarIcon = (props) => <Icon {...props} name='star' />;
  177. const ForwardIcon = (props) => (
  178. <Icon
  179. {...props}
  180. name='arrow-ios-forward'
  181. fill='#B4B4B4'
  182. style={{ width: 15, height: 15, fontWeight: 500 }}
  183. />
  184. );
  185. const styles = StyleSheet.create({
  186. container: {
  187. flexDirection: "row",
  188. justifyContent: "space-between",
  189. },
  190. menu: {
  191. flex: 1,
  192. backgroundColor: "#EEEEEE",
  193. paddingVertical: 3,
  194. },
  195. menuItem: { marginVertical: 3 },
  196. menuGroup: {
  197. marginTop: 3,
  198. },
  199. menuGroup2: {
  200. marginTop: 6,
  201. },
  202. });