"use client";
import { useState, useEffect } from "react";
import { checkAdminOrOwner } from "@calcom/features/auth/lib/checkAdminOrOwner";
import { useCompatSearchParams } from "@calcom/lib/hooks/useCompatSearchParams";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import { trpc } from "@calcom/trpc/react";
import useMeQuery from "@calcom/trpc/react/hooks/useMeQuery";
import type { ButtonProps } from "@calcom/ui/components/button";
import { Button } from "@calcom/ui/components/button";
import { CreateOrEditOutOfOfficeEntryModal } from "./CreateOrEditOutOfOfficeModal";
import { OutOfOfficeTab } from "./OutOfOfficeToggleGroup";
const CreateNewOutOfOfficeEntry = ({
size,
...rest
}: {
size?: ButtonProps["size"];
"data-testid"?: string;
}) => {
const { t } = useLocale();
const me = useMeQuery();
const { data: orgData } = trpc.viewer.organizations.listCurrent.useQuery();
const isOrgAdminOrOwner = orgData && checkAdminOrOwner(orgData.user.role);
const hasTeamOOOAdminAccess = isOrgAdminOrOwner || me?.data?.isTeamAdminOrOwner;
const params = useCompatSearchParams();
const openModalOnStart = !!params?.get("om");
useEffect(() => {
if (openModalOnStart) {
setOpenModal(true);
}
}, [openModalOnStart]);
const [openModal, setOpenModal] = useState(false);
const selectedTab = params?.get("type") ?? OutOfOfficeTab.MINE;
return (
<>
{openModal && (
{
setOpenModal(false);
}}
currentlyEditingOutOfOfficeEntry={null}
/>
)}
>
);
};
export default CreateNewOutOfOfficeEntry;