1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-24 20:36:40 +07:00
vault-frontend/src/containers/lab/LabGrid/index.tsx
2023-11-22 19:59:17 +06:00

38 lines
1 KiB
TypeScript

import { FC, memo } from 'react';
import { Columns } from '~/components/common/Columns';
import { Hoverable } from '~/components/common/Hoverable';
import { useLabContext } from '~/utils/context/LabContextProvider';
import { LabNoResults } from './components/LabNoResults';
import { LabNode } from './components/LabNode';
import styles from './styles.module.scss';
interface Props {}
const LabGrid: FC<Props> = memo(() => {
const { nodes, hasMore, loadMore, search, setSearch, isLoading } =
useLabContext();
if (search && !nodes.length) {
return <LabNoResults resetSearch={() => setSearch('')} />;
}
return (
<div className={styles.wrap}>
<Columns hasMore={hasMore && !isLoading} onScrollEnd={loadMore}>
{nodes.map((node) => (
<Hoverable key={node.node.id} effect="shine">
<LabNode
node={node.node}
lastSeen={node.last_seen}
commentCount={node.comment_count}
/>
</Hoverable>
))}
</Columns>
</div>
);
});
export { LabGrid };