diff --git a/app/(admin)/admin/master-category/page.tsx b/app/(admin)/admin/master-category/page.tsx index 1090f1e..fbc6f10 100644 --- a/app/(admin)/admin/master-category/page.tsx +++ b/app/(admin)/admin/master-category/page.tsx @@ -74,6 +74,7 @@ export default function MasterCategoryTable() { const [refresh, setRefresh] = useState(false); const [tag, setTag] = useState(""); const [selectedParent, setSelectedParent] = useState(); + const [selectedParentValidation, setSelectedParentValidation] = useState(""); const formOptions = { resolver: zodResolver(createArticleSchema), @@ -122,42 +123,46 @@ export default function MasterCategoryTable() { }; const onSubmit = async (values: z.infer) => { - console.log("values,", values); - loading(); - const formData = { - title: values.title, - statusId: 1, - parentId: selectedParent ? selectedParent.id : 0, - tags: values.tags.join(","), - description: values.description, - }; + if (selectedParent) { + loading(); + const formData = { + title: values.title, + statusId: 1, + parentId: selectedParent ? selectedParent.id : 0, + tags: values.tags.join(","), + description: values.description, + }; - const response = await createCategory(formData); + const response = await createCategory(formData); - if (response?.error) { - error(response.message); - return false; - } - const categoryId = response?.data?.data?.id; - const formFiles = new FormData(); - - formFiles.append("files", files[0]); - const resFile = await uploadCategoryThumbnail(categoryId, formFiles); - if (resFile?.error) { - error(resFile.message); - return false; - } - close(); - setRefresh(!refresh); - MySwal.fire({ - title: "Sukses", - icon: "success", - confirmButtonColor: "#3085d6", - confirmButtonText: "OK", - }).then((result) => { - if (result.isConfirmed) { + if (response?.error) { + error(response.message); + return false; } - }); + const categoryId = response?.data?.data?.id; + const formFiles = new FormData(); + + formFiles.append("files", files[0]); + const resFile = await uploadCategoryThumbnail(categoryId, formFiles); + if (resFile?.error) { + error(resFile.message); + return false; + } + close(); + setRefresh(!refresh); + MySwal.fire({ + title: "Sukses", + icon: "success", + confirmButtonColor: "#3085d6", + confirmButtonText: "OK", + }).then((result) => { + if (result.isConfirmed) { + } + }); + return false; + } + + setSelectedParentValidation("Parent harus diisi"); }; const handleRemoveFile = (file: File) => { @@ -275,6 +280,11 @@ export default function MasterCategoryTable() { name="sub-module" options={listCategory} /> + {selectedParentValidation !== "" && !selectedParent && ( +

+ {selectedParentValidation} +

+ )}

Tag Terkait

diff --git a/components/landing/NewsTicker.tsx b/components/landing/NewsTicker.tsx index 630396d..1b4c0d2 100644 --- a/components/landing/NewsTicker.tsx +++ b/components/landing/NewsTicker.tsx @@ -17,6 +17,7 @@ export default function NewsTicker() { search: "", limit: "10", sortBy: "created_at", + isPublish: true, sort: "desc", }; const response = await getListArticle(req); diff --git a/components/table/article-table.tsx b/components/table/article-table.tsx index 8838c6d..eb863b4 100644 --- a/components/table/article-table.tsx +++ b/components/table/article-table.tsx @@ -141,19 +141,21 @@ export default function ArticleTable() { const setupList = (data: any, type: string) => { const temp = []; - for (const element of data) { - temp.push({ - id: element.id, - label: element.title || element.fullname, - value: element.id, - }); - } - if (type === "users") { - setUsers(temp); - } + if (data) { + for (const element of data) { + temp.push({ + id: element.id, + label: element.title || element.fullname, + value: element.id, + }); + } + if (type === "users") { + setUsers(temp); + } - if (type === "category") { - setCategories(temp); + if (type === "category") { + setCategories(temp); + } } }; @@ -582,7 +584,7 @@ export default function ArticleTable() {
-
+

End Date