HomeHeader.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import * as React from 'react';
  2. import { StatusBar } from 'expo-status-bar';
  3. import { Appbar, Menu } from 'react-native-paper';
  4. import { useBoolean } from '@umijs/hooks';
  5. import { Icon, Text, Button, Div } from 'react-native-magnus';
  6. import useModel from 'flooks';
  7. import words from '../flooks/Words';
  8. import user from '../flooks/User';
  9. export default function Header() {
  10. const { state, setTrue, setFalse } = useBoolean(false);
  11. const {
  12. setlocal,
  13. TlocationWord,
  14. TchangeToth,
  15. TchangeToChinese,
  16. local,
  17. } = useModel(words);
  18. const { logout } = useModel(user, []);
  19. const [location, setLocation] = React.useState();
  20. console.log(location);
  21. function locationEvent() {
  22. getLocation().then((res) => {
  23. // console.log(res);
  24. setLocation(res);
  25. });
  26. }
  27. return (
  28. <>
  29. <StatusBar backgroundColor="transparent" style="dark" translucent />
  30. <Appbar.Header
  31. statusBarHeight={0}
  32. theme={{ colors: { primary: '#fff' } }}
  33. style={{
  34. elevation: 0,
  35. shadowOffset: {
  36. width: 0,
  37. height: 0,
  38. },
  39. shadowOpacity: 0,
  40. zIndex: 2,
  41. }}
  42. >
  43. <Button onPress={locationEvent} block bg="hiden" p={0} flex={1}>
  44. <Div flex={1} row>
  45. <Icon
  46. name="navigation"
  47. color="brand500"
  48. fontFamily="Feather"
  49. ml={15}
  50. />
  51. <Text
  52. numberOfLines={2}
  53. ellipsizeMode="tail"
  54. fontSize="xl"
  55. ml={5}
  56. fontWeight="bold"
  57. flex={1}
  58. >
  59. {location ? location.addressName : ''}
  60. </Text>
  61. </Div>
  62. </Button>
  63. <Menu
  64. visible={state}
  65. onDismiss={setFalse}
  66. anchor={<Appbar.Action icon="dots-vertical" onPress={setTrue} />}
  67. >
  68. <Menu.Item onPress={logout} title="退出登录" />
  69. <Menu.Item
  70. onPress={() => {
  71. setlocal();
  72. }}
  73. title={local ? TchangeToChinese : TchangeToth}
  74. />
  75. <Menu.Item onPress={() => {}} title="版本06.28.1" />
  76. </Menu>
  77. </Appbar.Header>
  78. </>
  79. );
  80. }