import { useGetStickies, useClusterStickies } from '../api/api';
import type { Sticky as StickyType } from '../types/types';
import Sticky from './sticky';
import Button from './button';
import '../styles/stickies.css';
const Stickies = () => {
const { data: stickies, isLoading, error } = useGetStickies();
const { mutate: cluster, data: clusters, isPending } = useClusterStickies();
if (isLoading) return
Loading...
;
if (error) return Error: {error.message}
;
const handleCluster = () => {
cluster();
};
const buildStickyMap = (): Map => {
const map = new Map();
stickies?.forEach((s) => map.set(s.id, s));
return map;
};
if (clusters) {
const stickyMap = buildStickyMap();
return (
{clusters.map((group) => (
{group.label}
{group.noteIds.map((id) => {
const sticky = stickyMap.get(id);
return sticky ? : null;
})}
))}
);
}
return (
{stickies?.map((sticky) => (
))}
);
};
export default Stickies;