import { useLocale } from "@calcom/lib/hooks/useLocale"; import showToast from "@calcom/lib/notification"; import { inferQueryOutput, trpc } from "@calcom/trpc/react"; import EmptyScreen from "@calcom/ui/EmptyScreen"; import { Icon } from "@calcom/ui/Icon"; import { withQuery } from "@lib/QueryCell"; import { HttpError } from "@lib/core/http/error"; import Shell from "@components/Shell"; import { NewScheduleButton } from "@components/availability/NewScheduleButton"; import { ScheduleListItem } from "@components/availability/ScheduleListItem"; import SkeletonLoader from "@components/availability/SkeletonLoader"; export function AvailabilityList({ schedules }: inferQueryOutput<"viewer.availability.list">) { const { t } = useLocale(); const utils = trpc.useContext(); const deleteMutation = trpc.useMutation("viewer.availability.schedule.delete", { onSuccess: async () => { await utils.invalidateQueries(["viewer.availability.list"]); showToast(t("schedule_deleted_successfully"), "success"); }, onError: (err) => { if (err instanceof HttpError) { const message = `${err.statusCode}: ${err.message}`; showToast(message, "error"); } }, }); return ( <> {schedules.length === 0 ? ( ) : (
)} ); } const WithQuery = withQuery(["viewer.availability.list"]); export default function AvailabilityPage() { const { t } = useLocale(); return (
} customLoader={}> } customLoader={} />
); }