import { motion, AnimatePresence } from "framer-motion"; import { useEffect, useState } from "react"; import { BsmButton } from "renderer/components/shared/bsm-button.component"; import { Supporter } from "shared/models/supporters"; import { SupportersService } from "renderer/services/supporters.service"; import { SupportersBlock } from "./supporters-block.component"; import ManheraChanGif from "../../../../../assets/images/gifs/menhera-chan.gif"; import ManheraSadGif from "../../../../../assets/images/gifs/menhera-sad.gif"; import { useTranslation } from "renderer/hooks/use-translation.hook"; import { useService } from "renderer/hooks/use-service.hook"; interface Props { isVisible: boolean; setVisible: (b: boolean) => void; } export function SupportersView({ isVisible, setVisible }: Props) { const supportersService = useService(SupportersService); const t = useTranslation(); const [supporters, setSupporters] = useState([] as Supporter[]); const [sponsors, setSponsors] = useState([] as Supporter[]); useEffect(() => { if (isVisible) { supportersService.getSupporters().then(supporters => { setSponsors(supporters.filter(s => s.type === "sponsor")); setSupporters(supporters.filter(s => !s.type || s.type !== "sponsor")); }); } }, [isVisible]); return ( ( {isVisible && ( setVisible(false)} /> {(!!sponsors.length || !!supporters.length) && }
{!!sponsors.length && } {!!supporters.length && } {!sponsors.length && !supporters.length && ( <>

{t("pages.settings.patreon.view.no-supporters")}

)}
)} )
); }