"use client"; import { addHeroBannerMediaToSaved } from "@/features/home/actions/Hero/addHeroBannerMediaToSaved"; import { removeHeroBannerMediaFromSaved } from "@/features/home/actions/Hero/removeHeroBannerMediaFromSaved"; import { useAuth } from "@/shared/contexts/AuthContext"; import { BackendResponse } from "@/shared/helpers/backendFetch"; import { Button } from "@/shared/libs/shadcn/ui/button"; import { Icon } from "@iconify/react"; import React from "react"; const AddToList = ({ mediaId, isInCollection, }: { mediaId: string; isInCollection: boolean; }) => { const { session } = useAuth(); const [isSaved, setIsSaved] = React.useState(isInCollection); const handleAddToList = async () => { setIsSaved(!isSaved); const result = (await addHeroBannerMediaToSaved(mediaId).catch( (_) => void _, )) as BackendResponse; if (!result || !result.success) { setIsSaved((prev) => !prev); } }; const handleRemoveFromList = async () => { setIsSaved(!isSaved); const result = (await removeHeroBannerMediaFromSaved(mediaId).catch( (_) => void _, )) as BackendResponse; if (!result || !result.success) { setIsSaved((prev) => !prev); } }; return (
{session?.user && (isSaved ? ( ) : ( ))}
); }; export default AddToList;