diff --git a/app/(admin)/admin/magazine/create/page.tsx b/app/(admin)/admin/magazine/create/page.tsx index 89d98a2..a5f5009 100644 --- a/app/(admin)/admin/magazine/create/page.tsx +++ b/app/(admin)/admin/magazine/create/page.tsx @@ -1,11 +1,13 @@ -import CreateMagazineForm from '@/components/form/magazine/magazine-form' -import MagazineTable from '@/components/table/magazine/magazine-table' -import React from 'react' +import NewCreateMagazineForm from "@/components/form/magazine/create-magazine-form"; +import CreateMagazineForm from "@/components/form/magazine/magazine-form"; +import React from "react"; const AdminMagazineCreate = () => { - return ( -
Kategori Terkait
+Tag Terkait
- {errors.category?.message} -
- )}Thumbnail
diff --git a/components/form/article/create-article-form.tsx b/components/form/article/create-article-form.tsx index 50cbcc7..a51a030 100644 --- a/components/form/article/create-article-form.tsx +++ b/components/form/article/create-article-form.tsx @@ -27,6 +27,7 @@ import { htmlToString } from "@/utils/global"; import { close, error, loading } from "@/config/swal"; import { useRouter } from "next/navigation"; import Link from "next/link"; +import { getCategoryById } from "@/service/master-categories"; // const CustomEditor = dynamic( // () => { @@ -161,10 +162,12 @@ export default function CreateArticleForm() { title: values.title, typeId: 1, slug: values.slug, - categoryId: values.category[0].id, + categoryIds: values.category.map((a) => a.id).join(","), + // categoryId: values.category[0].id, tags: values.tags.join(","), description: htmlToString(removeImgTags(values.description)), htmlDescription: removeImgTags(values.description), + aiArticleId: "", }; const response = await createArticle(formData); @@ -182,22 +185,24 @@ export default function CreateArticleForm() { const resFile = await uploadArticleFile(articleId, formFiles); } } - + console.log("thyu,", thumbnailImg[0]); if (thumbnailImg?.length > 0 || files?.length > 0) { - const formFiles = new FormData(); - - formFiles.append("file", thumbnailImg[0]); - const resFile = await uploadArticleThumbnail(articleId, formFiles); - } else { - const formFiles = new FormData(); - - if (selectedMainImage) { - formFiles.append("file", files[selectedMainImage]); + if (thumbnailImg?.length > 0) { + const formFiles = new FormData(); + formFiles.append("files", thumbnailImg[0]); const resFile = await uploadArticleThumbnail(articleId, formFiles); } else { - formFiles.append("file", files[0]); - const resFile = await uploadArticleThumbnail(articleId, formFiles); + const formFiles = new FormData(); + + if (selectedMainImage) { + formFiles.append("files", files[selectedMainImage]); + + const resFile = await uploadArticleThumbnail(articleId, formFiles); + } else { + formFiles.append("files", files[0]); + const resFile = await uploadArticleThumbnail(articleId, formFiles); + } } } @@ -299,6 +304,28 @@ export default function CreateArticleForm() { } }; + const selectedCategory = watch("category"); + + useEffect(() => { + getDetailCategory(); + }, [selectedCategory]); + + const getDetailCategory = async () => { + let temp = getValues("tags"); + for (const element of selectedCategory) { + const res = await getCategoryById(element?.id); + const tagList = res?.data?.data?.tags; + if (tagList) { + temp = [...temp, ...res?.data?.data?.tags]; + } + } + const uniqueArray = temp.filter( + (item, index) => temp.indexOf(item) === index + ); + + setValue("tags", uniqueArray as [string, ...string[]]); + }; + return (