2024-11-06 08:44:56 +00:00
|
|
|
"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", "<br>").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;
|
2024-11-15 10:53:04 +00:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
}
|