web-humas-fe/components/form/form-detail-article.tsx

50 lines
1.6 KiB
TypeScript
Raw Normal View History

"use client";
import { error } from "@/config/swal";
import { getSeoScore } from "@/service/generate-article";
2025-02-13 08:25:39 +00:00
import { Accordion, AccordionItem, CircularProgress } from "@heroui/react";
2024-04-24 04:14:06 +00:00
2025-01-17 10:23:54 +00:00
import { useEffect, useRef, useState } from "react";
2024-04-24 04:14:06 +00:00
2025-01-17 10:23:54 +00:00
import EditArticleForm from "./article/edit-article-form";
2024-04-24 04:14:06 +00:00
export default function FormDetailArticle() {
useEffect(() => {
fetchSeoScore();
}, []);
2024-04-24 04:14:06 +00:00
const [totalScoreSEO, setTotalScoreSEO] = useState();
const [errorSEO, setErrorSEO] = useState<any>([]);
const [warningSEO, setWarningSEO] = useState<any>([]);
const [optimizedSEO, setOptimizedSEO] = useState<any>([]);
2024-04-24 04:14:06 +00:00
const fetchSeoScore = async () => {
const res = await getSeoScore("1931");
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);
};
2024-04-24 04:14:06 +00:00
return (
<div className="mx-5 my-5 overflow-y-auto">
2025-01-17 10:23:54 +00:00
<EditArticleForm isDetail={true} />
</div>
);
2024-04-24 04:14:06 +00:00
}