import React from "react";
import {
getEventStart,
getEventEnd,
isAllDay,
} from "../../../helpers/displayEvent";
import { isHidden } from "../../../helpers/common";
import { EventEvent, HideType } from "../../../../types/types";
import GoogleIcon from "@mui/icons-material/Google";
import AppleIcon from "@mui/icons-material/Apple";
import EventIcon from "@mui/icons-material/Event";
import { IconButton } from "@mui/material";
import { visuallyHidden } from "@mui/utils";
import { Box } from "@mui/system";
import { google } from "calendar-link";
const buildGoogleLink = (event: EventEvent) => {
return google({
title: event.title,
description: event.description_text.replace(/[\r\n]/g, `
`),
location: event.location,
start: getEventStart(event),
end: getEventEnd(event),
allDay: isAllDay(event),
});
};
const buildGoogleStr = (event: EventEvent) => {
const href = buildGoogleLink(event);
return (
Add {event.title} to Google Calendar
);
};
const buildiCal = (event: EventEvent) => {
return (
Add {event.title} to iCal
);
};
const buildOutlookCal = (event: EventEvent) => {
return (
Add {event.title} to Outlook
);
};
interface AddCalProps {
event: EventEvent;
hideaddcal?: HideType;
}
const AddCal = (props: AddCalProps) => {
const { event, hideaddcal } = props;
if (isHidden(hideaddcal)) {
return <>>;
}
return (
add to calendar {buildGoogleStr(event)} {buildiCal(event)}
{buildOutlookCal(event)}
);
};
export default AddCal;
export { buildGoogleStr, buildiCal, buildOutlookCal, buildGoogleLink };