Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3532 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React from 'react';
import { Button } from '@mui/material';

import { List, Spinner } from '.';

export function InfinityList({
  items = [],
  renderItem = () => {},
  emptyMessage = 'No hay elementos para mostrar',
  keyExtractor = (item) => item.id,
  loading = false,
  hasMore = false,
  onEnd = () => {}
}) {
  /* const loaderRef = useRef(null);

  const [isIntercepting] = useNearScreen({
    externalRef: loaderRef,
    once: false,
    rootMargin: '20px'
  });

  useEffect(() => {
    if (isIntercepting) onEnd();
  }, [isIntercepting]); */

  return (
    <>
      <List
        items={items}
        emptyMessage={emptyMessage}
        keyExtractor={keyExtractor}
        renderItem={renderItem}
      />
      {loading && <Spinner />}
      {hasMore && (
        <Button color='primary' onClick={onEnd}>
          Cargar más
        </Button>
      )}
    </>
  );
}