diff --git a/public/.env.example.js b/public/.env.example.js
index 743ac79..6dfa2d2 100644
--- a/public/.env.example.js
+++ b/public/.env.example.js
@@ -6,3 +6,4 @@ var SSO_RESPONSE_TYPE = "code";
var SSO_CODE_CHALLENGE_METHOD = "S256";
var SSO_POST_LOGOUT_REDIRECT = "http://example.com?logout=1";
var CALENDAR_BASE_URL = "https://calendar.example.com";
+var MAIL_SPA_URL = "https://mail.example.com"
diff --git a/src/features/Events/EventDisplayPreview.tsx b/src/features/Events/EventDisplayPreview.tsx
index a70fb77..7350380 100644
--- a/src/features/Events/EventDisplayPreview.tsx
+++ b/src/features/Events/EventDisplayPreview.tsx
@@ -20,6 +20,7 @@ import {
PopoverPosition,
} from "@mui/material";
import EditIcon from "@mui/icons-material/Edit";
+import EmailIcon from "@mui/icons-material/Email";
import DeleteIcon from "@mui/icons-material/Delete";
import VisibilityIcon from "@mui/icons-material/Visibility";
import CloseIcon from "@mui/icons-material/Close";
@@ -61,6 +62,7 @@ export default function EventPreviewModal({
const user = useAppSelector((state) => state.user);
const [showAllAttendees, setShowAllAttendees] = useState(false);
const [openFullDisplay, setOpenFullDisplay] = useState(false);
+ const mailSpaUrl = (window as any).MAIL_SPA_URL ?? null;
useEffect(() => {
if (!event || !calendar) {
@@ -120,6 +122,20 @@ export default function EventPreviewModal({
gap: 1,
}}
>
+ {mailSpaUrl && attendees.length > 1 && (
+
+ window.open(
+ `${mailSpaUrl}/mailto/?uri=mailto:${event.attendee
+ .map((a) => a.cal_address)
+ .join(",")}?subject=${event.title}`
+ )
+ }
+ >
+
+
+ )}
{user.userData.email !== event.organizer?.cal_address && (