import { useEffect, useState } from "react"; import dayjs from "@calcom/dayjs"; import { TimezoneSelect } from "@calcom/web/modules/timezone/components/TimezoneSelect"; import type { ITimezone } from "@calcom/features/timezone/components/TimezoneSelectComponent"; import LicenseRequired from "~/ee/common/components/LicenseRequired"; import { WEBAPP_URL } from "@calcom/lib/constants"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { CURRENT_TIMEZONE } from "@calcom/lib/timezoneConstants"; import type { RouterOutputs } from "@calcom/trpc/react"; import { trpc } from "@calcom/trpc/react"; import { Avatar } from "@calcom/ui/components/avatar"; import { Select, DatePicker } from "@calcom/ui/components/form"; import { Label } from "@calcom/ui/components/form"; import TeamAvailabilityTimes from "./TeamAvailabilityTimes"; interface Props { team?: RouterOutputs["viewer"]["teams"]["get"]; member?: RouterOutputs["viewer"]["teams"]["listMembers"]["members"][number]; } export default function TeamAvailabilityModal(props: Props) { const utils = trpc.useUtils(); const [selectedDate, setSelectedDate] = useState(dayjs()); const [selectedTimeZone, setSelectedTimeZone] = useState( localStorage.getItem("timeOption.preferredTimeZone") || CURRENT_TIMEZONE ); const { t } = useLocale(); const [frequency, setFrequency] = useState<15 | 30 | 60>(30); useEffect(() => { utils.viewer.teams.getMemberAvailability.invalidate(); }, [utils, selectedTimeZone, selectedDate]); return ( <>
{props.member?.name}
{t("availability")}
{ setSelectedDate(dayjs(newDate)); }} /> setSelectedTimeZone(timezone.value)} classNamePrefix="react-select" />