"use client"; import { error } from "@/config/swal"; import { getSeoScore } from "@/services/generate-article"; import { Accordion, AccordionItem, CircularProgress } from "@heroui/react"; import { useEffect, useRef, useState } from "react"; export default function GetSeoScore(props: { id: string }) { useEffect(() => { fetchSeoScore(); }, [props.id]); const [totalScoreSEO, setTotalScoreSEO] = useState(); const [errorSEO, setErrorSEO] = useState([]); const [warningSEO, setWarningSEO] = useState([]); const [optimizedSEO, setOptimizedSEO] = useState([]); const fetchSeoScore = async () => { const res = await getSeoScore(props?.id); if (res.error) { // error(res.message); return false; } setTotalScoreSEO(res.data.data?.seo_analysis?.score || 0); let errorList: any[] = [ ...res.data.data?.seo_analysis?.analysis?.keyword_optimization?.error, ...res.data.data?.seo_analysis?.analysis?.content_quality?.error, ]; setErrorSEO(errorList); let warningList: any[] = [ ...res.data.data?.seo_analysis?.analysis?.keyword_optimization?.warning, ...res.data.data?.seo_analysis?.analysis?.content_quality?.warning, ]; setWarningSEO(warningList); let optimizedList: any[] = [ ...res.data.data?.seo_analysis?.analysis?.keyword_optimization?.optimized, ...res.data.data?.seo_analysis?.analysis?.content_quality?.optimized, ]; setOptimizedSEO(optimizedList); }; return (

SEO Score

{totalScoreSEO ? (
{/* */}
{/* */} Error : {errorSEO.length || 0}
{/*

!

*/} Warning : {warningSEO.length || 0}
{/* */} Optimize : {optimizedSEO.length || 0}
) : ( "Belum ada Data" )} {totalScoreSEO && ( } title={`${errorSEO?.length || 0} Errors`} >
{errorSEO?.map((item: any) => (

{item}

))}
// ! //

// } title={`${warningSEO?.length || 0} Warnings`} >
{warningSEO?.map((item: any) => (

{item}

))}
} title={`${optimizedSEO?.length || 0} Optimized`} >
{optimizedSEO?.map((item: any) => (

{item}

))}
)}
); }