import { ArrowRightIcon, ArrowLeftIcon } from "@heroicons/react/solid"; import { useContext, useRef } from "react"; import { useResults } from "components/search/hooks/useSearch"; import { ListItem } from "components/editor-icons/comps/list/list-item"; import { IconItem } from "types/editor"; import { Empty } from "components/empty"; import { login, useUser } from "utils/auth"; import { PremiumContext } from "components/premium/premium"; import { Premium } from "@/components/premium"; import classNames from "classnames"; import { toBase64 } from "@/components/upload"; import { FormattedMessage } from "react-intl"; export const ListIcons = ({ onSelect, onCustomText, onCustomUpload, }: { onSelect: (e: IconItem) => void; onCustomText: () => void; onCustomUpload: (s: string) => void; }) => { const { user } = useUser(); const { setOpen } = useContext(PremiumContext); const inputRef = useRef(null); const { results, page, maxPage, totalItems, setPage } = useResults(); const handleCustomUpload = (e: any) => { const file = e.target.files[0]; if (file) { toBase64(file).then((res: any) => { onCustomUpload(res); }); } }; return (

totalItems }} />

{results?.map((result: any, key: number) => ( { // if (icon?.isPremium && !user?.id) return setOpen(true); onSelect(icon); }} /> ))} {results?.length === 0 && ( { if (!user?.id) return login(); // send to api a request; console.log("display Modal and call API"); }} button="Ask for a new Icon" /> )}
{results?.length > 0 && (

page, maxPage: () => maxPage, }} />

)}
); };