LoadingModel.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import * as React from "react";
  2. import { useModel } from "flooks";
  3. import {
  4. Image,
  5. Platform,
  6. StyleSheet,
  7. TouchableOpacity,
  8. View,
  9. ImageBackground,
  10. } from "react-native";
  11. import {
  12. Layout,
  13. Tab,
  14. TabView,
  15. Text,
  16. useTheme,
  17. Button,
  18. Card,
  19. } from "@ui-kitten/components";
  20. import { useFocusEffect } from "@react-navigation/native";
  21. export default function ModalScreen({ navigation }) {
  22. const theme = useTheme();
  23. const { getWords } = useModel("wordsModel", true);
  24. const { changeBackground } = useModel("barModel", true);
  25. const { checkLogin, isLogin, status, guideStep } = useModel("userModel");
  26. const [loading, changeLoading] = React.useState(true);
  27. useFocusEffect(
  28. React.useCallback(() => {
  29. changeBackground(theme["color-primary-500"]);
  30. getWords();
  31. checkLogin().then((_) => {
  32. changeLoading(false);
  33. });
  34. }, [])
  35. );
  36. React.useEffect(() => {
  37. if (!loading) {
  38. // navigation.replace("AddNewClass");
  39. if (isLogin) {
  40. if (status !== "PASS") {
  41. navigation.replace("Guide");
  42. } else {
  43. navigation.replace("Root");
  44. }
  45. } else {
  46. navigation.replace("Login");
  47. }
  48. }
  49. });
  50. // getWords();
  51. // await checkLogin();
  52. return <Layout style={{ flex: 1 }}></Layout>;
  53. }