SystemEmail.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import * as WebBrowser from "expo-web-browser";
  2. import * as React from "react";
  3. import {
  4. StyleSheet,
  5. } from "react-native";
  6. import { useModel } from "flooks";
  7. import {
  8. useTheme,
  9. } from "@ui-kitten/components";
  10. import { useFocusEffect } from "@react-navigation/native";
  11. import ListComponent from '../../components/ListComponent';
  12. import NavHeaderBar from "../../components/NavHeaderBar";
  13. import Email from "../../components/Email";
  14. const styles = StyleSheet.create({
  15. top: {
  16. alignItems: "center",
  17. paddingVertical: 10,
  18. marginBottom: 10,
  19. },
  20. list: {
  21. flex: 1,
  22. backgroundColor: "#fff",
  23. paddingHorizontal: 15,
  24. // paddingTop: 20,
  25. marginTop: 20,
  26. },
  27. separatorStyle: {
  28. marginHorizontal: 13,
  29. },
  30. });
  31. export default function SystemEmailScreen({ navigation }) {
  32. const theme = useTheme();
  33. const { changeBackground } = useModel("barModel");
  34. const { RCSJTH } = useModel("wordsModel");
  35. const { getMyList } = useModel("emailModel");
  36. useFocusEffect(
  37. React.useCallback(() => {
  38. changeBackground(theme["color-primary-500"]);
  39. }, [])
  40. );
  41. const emailItem = ({ item, index }) => (
  42. <Email
  43. key={index}
  44. info={item}
  45. pressEvent={() => {
  46. navigation.navigate("EmailDetail", {
  47. id: index,
  48. });
  49. }}
  50. />
  51. );
  52. return (
  53. <>
  54. <NavHeaderBar title={RCSJTH} />
  55. <ListComponent
  56. getInfo={getMyList}
  57. renderItem={emailItem}
  58. style={styles.list}
  59. separatorStyle={styles.separatorStyle}
  60. showEmpty
  61. />
  62. </>
  63. );
  64. }