UserScreen.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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", { index: 2 });
  87. }}
  88. />
  89. <MenuGroup title={userTitle2} style={styles.menuGroup}>
  90. <MenuItem
  91. title={userTitle21}
  92. accessoryRight={ForwardIcon}
  93. onPress={() => {
  94. navigation.navigate("FullReduction");
  95. }}
  96. />
  97. <MenuItem
  98. title={userTitle22}
  99. accessoryRight={ForwardIcon}
  100. />
  101. <MenuItem
  102. title={userTitle23}
  103. accessoryRight={ForwardIcon}
  104. />
  105. <MenuItem
  106. title={userTitle24}
  107. accessoryRight={ForwardIcon}
  108. />
  109. </MenuGroup>
  110. <MenuGroup title={userTitle3} style={styles.menuGroup}>
  111. <MenuItem
  112. title={userTitle31}
  113. accessoryRight={ForwardIcon}
  114. onPress={() => {
  115. navigation.navigate("EditGoods");
  116. }}
  117. />
  118. <MenuItem
  119. title={userTitle32}
  120. accessoryRight={ForwardIcon}
  121. />
  122. <MenuItem
  123. title={userTitle33}
  124. accessoryRight={ForwardIcon}
  125. />
  126. <MenuItem
  127. title={userTitle34}
  128. accessoryRight={ForwardIcon}
  129. onPress={() => {
  130. navigation.navigate("AddClassification");
  131. }}
  132. />
  133. </MenuGroup>
  134. <MenuGroup title={userTitle4} style={styles.menuGroup}>
  135. <MenuItem
  136. title={userTitle41}
  137. accessoryRight={ForwardIcon}
  138. />
  139. <MenuItem
  140. title={userTitle42}
  141. accessoryRight={ForwardIcon}
  142. />
  143. </MenuGroup>
  144. <MenuItem
  145. title={userTitle5}
  146. accessoryRight={ForwardIcon}
  147. style={styles.menuItem}
  148. onPress={() => {
  149. navigation.navigate("Home", { index: 1 });
  150. }}
  151. />
  152. <MenuGroup title={userTitle6} style={styles.menuGroup}>
  153. <MenuItem
  154. title={userTitle61}
  155. accessoryRight={ForwardIcon}
  156. />
  157. <MenuItem
  158. title={userTitle62}
  159. accessoryRight={ForwardIcon}
  160. />
  161. </MenuGroup>
  162. {/* <MenuGroup title='Akveo React Native'>
  163. <MenuItem title='UI Kitten' />
  164. <MenuItem title='Kitten Tricks' />
  165. </MenuGroup> */}
  166. </Menu>
  167. </Layout>
  168. </ScrollPage>
  169. </>
  170. );
  171. }
  172. const StarIcon = (props) => <Icon {...props} name='star' />;
  173. const ForwardIcon = (props) => (
  174. <Icon
  175. {...props}
  176. name='arrow-ios-forward'
  177. fill='#B4B4B4'
  178. style={{ width: 15, height: 15, fontWeight: 500 }}
  179. />
  180. );
  181. const styles = StyleSheet.create({
  182. container: {
  183. flexDirection: "row",
  184. justifyContent: "space-between",
  185. },
  186. menu: {
  187. flex: 1,
  188. backgroundColor: "#EEEEEE",
  189. paddingVertical: 3,
  190. },
  191. menuItem: { marginVertical: 3 },
  192. menuGroup: {
  193. marginTop: 3,
  194. },
  195. });