"use client"; import HeaderManagement from "@/components/landing-page/header-management"; import SidebarManagement from "@/components/landing-page/sidebar-management"; import { close, error, loading, successCallback } from "@/config/swal"; import { getCookiesDecrypt } from "@/lib/utils"; import { checkWishlistStatus, deleteWishlist, getContentRewritePagination, getInfoProfile, saveWishlist, } from "@/service/landing/landing"; import { useRouter, useSearchParams } from "next/navigation"; import React, { useEffect, useState } from "react"; import Swal from "sweetalert2"; import withReactContent from "sweetalert2-react-content"; import { Card, CardContent } from "@/components/ui/card"; import { Link } from "@/i18n/routing"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { Icon } from "@iconify/react/dist/iconify.js"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { sendMediaUploadToEmail } from "@/service/media-tracking/media-tracking"; import ImageBlurry from "@/components/ui/image-blurry"; import Image from "next/image"; import { useTranslations } from "next-intl"; const page = () => { const [, setProfile] = useState(); const router = useRouter(); const searchParams = useSearchParams(); const MySwal = withReactContent(Swal); const page: any = searchParams?.get("page"); const title = searchParams?.get("title"); const category = searchParams?.get("category"); const pages = page ? page - 1 : 0; const userId = getCookiesDecrypt("uie"); const userRoleId = getCookiesDecrypt("urie"); const [, setGetTotalPage] = useState(); const [totalContent, setTotalContent] = useState(); const [contentImage, setContentImage] = useState([]); const [categoryFilter] = useState([]); const [formatFilter] = useState([]); const [sortBy] = useState(); const [refresh, setRefresh] = useState(false); const [, setCopySuccess] = useState(""); const [, setWishlistId] = useState(); const [emailShareList, setEmailShareList] = useState(); const [emailShareInput, setEmailShareInput] = useState(); const [emailMessageInput, setEmailMessageInput] = useState(); const id = searchParams?.get("id"); const t = useTranslations("LandingPage"); useEffect(() => { async function initState() { loading(); const response = await getInfoProfile(); console.log(response?.data?.data); setProfile(response?.data?.data); close(); } initState(); }, []); useEffect(() => { getData(); }, [page, category, title, refresh]); async function getData() { const filter = categoryFilter?.length > 0 ? categoryFilter?.sort().join(",") : category || ""; const name = title == undefined ? "" : title; const format = formatFilter == undefined ? "" : formatFilter?.join(","); const response = await getContentRewritePagination(pages); setGetTotalPage(response?.data?.data?.totalPages); setContentImage(response?.data?.data?.content); // console.log("response", response); setTotalContent(response?.data?.data?.totalElements); console.log("KONTEN", response?.data?.data?.content); } useEffect(() => { async function initState() { getData(); } initState(); }, [page, refresh]); function addDefaultSrc(ev: any) { ev.target.src = "/assets/img/image404.png"; } async function deleteProcess(id: any) { loading(); const resDelete = await deleteWishlist(id); if (resDelete?.error) { error(resDelete.message); return false; } setRefresh((prevRefresh) => !prevRefresh); close(); } const handleDelete = (id: any) => { MySwal.fire({ title: "Hapus Data", text: "", icon: "warning", showCancelButton: true, cancelButtonColor: "#3085d6", confirmButtonColor: "#d33", confirmButtonText: "Hapus", }).then((result) => { if (result.isConfirmed) { deleteProcess(id); } }); }; const copyToClip = async (url: any) => { await navigator.clipboard.writeText( `https://mediahub.polri.go.id/image/detail/${url}` ); setCopySuccess("Copied"); // toast.success("Link Berhasil Di Copy"); }; async function checkWishlist(uploadId: any) { if (userId) { const res = await checkWishlistStatus(uploadId); console.log(res?.data?.data); // const isAlreadyOnWishlist = res?.data?.data == "-1" ? false : true; // if (isAlreadyOnWishlist == true) { // warning("Konten sudah Ada", `#`); // } setWishlistId(res?.data?.data); // setIsSaved(isAlreadyOnWishlist); // console.log("isSave", isAlreadyOnWishlist); } } const handleSaveWishlist = async (uploadId: any) => { if (Number(userRoleId) < 1 || userRoleId == undefined) { router.push("/auth/login"); } else { console.log("data", uploadId); const data = { mediaUploadId: uploadId, }; loading(); checkWishlist(uploadId); const res = await saveWishlist(data); if (res?.error) { error(res.message); console.log("simpan data", res); return false; } successCallback("Konten Berhasil Disimpan"); } }; async function shareToEmail() { if (Number(userRoleId) < 1 || userRoleId == undefined) { router.push("/auth/login"); } else { const data = { mediaUploadId: id?.split("-")?.[0], email: emailShareList || [emailShareInput], message: emailMessageInput, url: window.location.href, }; loading(); const res = await sendMediaUploadToEmail(data); if (res?.error) { error(res.message); return false; } close(); successCallback("Konten Telah Dikirim"); } } const handleEmailList = (e: any) => { const arrayEmail: any = []; for (let i = 0; i < emailShareList?.length; i += 1) { arrayEmail.push(emailShareList[i]); } if (e.which == 13) { if (e.target.value) { arrayEmail.push(e.target.value); setEmailShareList(arrayEmail); setEmailShareInput(""); } e.preventDefault(); } return false; }; return ( <>

{t("gallery")} {t("content")} Rewrite

{contentImage?.length > 0 ? (
{contentImage?.map((image: any) => (

{image?.title}

handleSaveWishlist( image?.mediaUpload?.id ) } className="cursor-pointer flex flex-row gap-2 hover:text-red-800" >

{t("save")}

Content Rewrite

{t("shareTo")}

{t("destinationEmail")}

setEmailShareInput( event.target.value ) } onKeyPress={handleEmailList} type="email" placeholder={t("pressEnter")} />

))}
) : (

empty

)}
); }; export default page;