import React, { useState, useEffect } from "react"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { widget } = service; const [stats, setStats] = useState({ totalLinks: null, collections: { total: null }, tags: { total: null }, }); const { data: collectionsStatsData, error: collectionsStatsError } = useWidgetAPI(widget, "collections"); const { data: tagsStatsData, error: tagsStatsError } = useWidgetAPI(widget, "tags"); useEffect(() => { if (collectionsStatsData?.response && tagsStatsData?.response) { setStats({ // eslint-disable-next-line no-underscore-dangle totalLinks: collectionsStatsData.response.reduce((sum, collection) => sum + (collection._count?.links || 0), 0), collections: { total: collectionsStatsData.response.length, }, tags: { total: tagsStatsData.response.length, }, }); } }, [collectionsStatsData, tagsStatsData]); if (collectionsStatsError || tagsStatsError) { return ; } if (!tagsStatsData || !collectionsStatsData) { return ( ); } return ( ); }