39 lines
954 B
TypeScript
39 lines
954 B
TypeScript
import dayjs from "@calcom/dayjs";
|
||
import type { TimeFormat } from "@calcom/lib/timeFormat";
|
||
|
||
interface EventFromToTime {
|
||
date: string;
|
||
duration: number | null;
|
||
timeFormat: TimeFormat;
|
||
timeZone: string;
|
||
language: string;
|
||
}
|
||
|
||
export const formatEventFromToTime = ({
|
||
date,
|
||
duration,
|
||
timeFormat,
|
||
timeZone,
|
||
language,
|
||
}: EventFromToTime) => {
|
||
const start = dayjs(date).tz(timeZone);
|
||
const end = duration ? start.add(duration, "minute") : null;
|
||
const formattedDate = `${start.format("dddd")}, ${start
|
||
.toDate()
|
||
.toLocaleDateString(language, { dateStyle: "long" })}`;
|
||
const formattedTime = `${start.format(timeFormat)} ${end ? `– ${end.format(timeFormat)}` : ``}`;
|
||
|
||
return { date: formattedDate, time: formattedTime };
|
||
};
|
||
|
||
export const FromToTime = (props: EventFromToTime) => {
|
||
const formatted = formatEventFromToTime(props);
|
||
return (
|
||
<>
|
||
{formatted.date}
|
||
<br />
|
||
{formatted.time}
|
||
</>
|
||
);
|
||
};
|