import { Feather } from '@expo/vector-icons' import React, { useMemo } from 'react' import { ActivityIndicator, StyleSheet, Text, View } from 'react-native' import { QueryStatus } from 'react-query' import { ButtonRow } from '@components/Button' import { StyleConstants } from '@utils/styles/constants' import { useTheme } from '@utils/styles/ThemeManager' export interface Props { status: QueryStatus refetch: () => void } const TimelineEmpty: React.FC = ({ status, refetch }) => { const { theme } = useTheme() const children = useMemo(() => { switch (status) { case 'loading': return case 'error': return ( <> 加载错误 refetch()} /> ) case 'success': return ( <> 空无一物 ) } }, [status]) return } const styles = StyleSheet.create({ base: { flex: 1, minHeight: '100%', justifyContent: 'center', alignItems: 'center' }, error: { fontSize: StyleConstants.Font.Size.M, marginTop: StyleConstants.Spacing.S, marginBottom: StyleConstants.Spacing.L } }) export default TimelineEmpty