import { useSubscribe } from '@canaan/query/react';
import { EViewStatus } from '@canaan/paint/constants';
import { results } from './queries';
import { getView } from './model';
export function Results() {
const { data } = useSubscribe(results.data);
const { data: error } = useSubscribe(results.error);
const { data: isLoading } = useSubscribe(results.isLoading);
const view = getView(data, error, isLoading);
return (
<Switch type={view}>
<Case is={EViewStatus.loading}>
<LoadingView />
</Case>
<Case is={EViewStatus.error}>
<ErrorView />
</Case>
<Case is={EViewStatus.empty}>
<EmptyView />
</Case>
<Case is={EViewStatus.idle}>
<DataView />
</Case>
</Switch>
);
}