"use client"; import { useEffect } from "react"; export function convertDateFormat(dateString: string) { var date = new Date(dateString); var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear(); var hours = date.getHours(); var minutes = date.getMinutes(); var formattedTime = (hours < 10 ? "0" : "") + hours + ":" + (minutes < 10 ? "0" : "") + minutes; var formattedDate = (day < 10 ? "0" : "") + day + "-" + (month < 10 ? "0" : "") + month + "-" + year + ", " + formattedTime; return formattedDate; } export function convertDateFormatNoTime(dateString: string) { var date = new Date(dateString); var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear(); var formattedDate = (day < 10 ? "0" : "") + day + "-" + (month < 10 ? "0" : "") + month + "-" + year; return formattedDate; } export function formatTextToHtmlTag(text: string) { if (text) { const htmlText = text.replaceAll("\\n", "
").replaceAll(/"/g, ""); return { __html: htmlText }; } } const LoadScript = () => { useEffect(() => { const script = document.createElement("script"); script.src = "https://cdn.userway.org/widget.js"; script.setAttribute("data-account", "X36s1DpjqB"); script.async = true; document.head.appendChild(script); return () => { // Cleanup if needed document.head.removeChild(script); }; }, []); return null; // Tidak perlu merender apa-apa }; export default LoadScript; export function delay(ms: number) { return new Promise((resolve) => setTimeout(resolve, ms)); } export function textEllipsis( str: string, maxLength: number, { side = "end", ellipsis = "..." } = {} ) { if (str !== undefined && str?.length > maxLength) { switch (side) { case "start": return ellipsis + str.slice(-(maxLength - ellipsis.length)); case "end": default: return str.slice(0, maxLength - ellipsis.length) + ellipsis; } } return str; } export function htmlToString(str: string) { if (str == undefined || str == null) { return ""; } return ( str .replaceAll(/]*>.*<\/style>/gm, "") // Remove script tags and content .replaceAll(/]*>.*<\/script>/gm, "") // Replace  ,&ndash .replaceAll(" ", "") .replaceAll("–", "-") // Replace quotation mark .replaceAll("“", '"') .replaceAll("”", '"') // Remove all opening, closing and orphan HTML tags .replaceAll(/<[^>]+>/gm, "") // Remove leading spaces and repeated CR/LF .replaceAll(/([\n\r]+ +)+/gm, "") ); } export function formatMonthString(dateString: string) { const months = [ "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember", ]; const date = new Date(dateString); // Konversi string ke objek Date const day = date.getDate(); // Ambil tanggal const month = months[date.getMonth()]; // Ambil nama bulan const year = date.getFullYear(); // Ambil tahun return `${day} ${month} ${year}`; }