Menu.jsx 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import * as WebBrowser from 'expo-web-browser';
  2. import * as React from 'react';
  3. import { StyleSheet } from 'react-native';
  4. import { Flex, WingBlank } from '@ant-design/react-native';
  5. import { Card } from 'react-native-paper';
  6. import { Icon, Text, Button, Div } from 'react-native-magnus';
  7. import useModel from 'flooks';
  8. import HomeModel from './model';
  9. export default function RecommendStore() {
  10. const { categories, timeTag } = useModel(HomeModel);
  11. const CardCom = ({ info }) => (
  12. <Div flex={1}>
  13. <Card elevation={0} style={styles.card}>
  14. <Card.Cover
  15. style={styles.image2}
  16. resizeMode="cover"
  17. source={{ uri: info.icon }}
  18. />
  19. <Card.Content style={styles.main2}>
  20. <Text fontSize="xs" textAlign="center">
  21. {info.name}
  22. </Text>
  23. </Card.Content>
  24. </Card>
  25. </Div>
  26. );
  27. return (
  28. <Div row px={15}>
  29. {categories.concat([timeTag]).map((item, index) => {
  30. return <CardCom key={index} info={item} />;
  31. })}
  32. </Div>
  33. );
  34. }
  35. const styles = StyleSheet.create({
  36. image2: {
  37. width: 47,
  38. height: 47,
  39. alignSelf: 'center',
  40. marginHorizontal: 10,
  41. borderRadius: 3,
  42. },
  43. main2: {
  44. marginTop: 7,
  45. paddingHorizontal: 0,
  46. },
  47. card: {
  48. marginVertical: 5,
  49. borderWidth: 0,
  50. elevation: 0,
  51. shadowOffset: {
  52. width: 0,
  53. height: 0,
  54. },
  55. shadowOpacity: 0,
  56. shadowRadius: 0,
  57. },
  58. });