"use client"; import { useState } from "react"; import { Dialog } from "@calcom/features/components/controlled-dialog"; import { subdomainSuffix } from "@calcom/features/ee/organizations/lib/orgDomains"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; import { Badge } from "@calcom/ui/components/badge"; import { ConfirmationDialogContent } from "@calcom/ui/components/dialog"; import { DropdownActions, Table } from "@calcom/ui/components/table"; import { showToast } from "@calcom/ui/components/toast"; const { Body, Cell, ColumnTitle, Header, Row } = Table; export function AdminOrgTable() { const { t } = useLocale(); const utils = trpc.useUtils(); const [data] = trpc.viewer.organizations.adminGetAll.useSuspenseQuery(); const updateMutation = trpc.viewer.organizations.adminUpdate.useMutation({ onSuccess: async (_data, variables) => { showToast(t("org_has_been_processed"), "success"); await invalidateQueries(utils, { orgId: variables.id, }); }, onError: (err) => { showToast(err.message, "error"); }, }); const deleteMutation = trpc.viewer.organizations.adminDelete.useMutation({ onSuccess: async (res, variables) => { showToast(res.message, "success"); await invalidateQueries(utils, variables); }, onError: (err) => { console.error(err.message); showToast(t("org_error_processing"), "error"); }, }); const publishOrg = async (org: (typeof data)[number]) => { if (!org.metadata?.requestedSlug) { showToast(t("could_not_find_slug_to_publish_org"), "error"); console.error("metadata.requestedSlug isn't set", org.metadata?.requestedSlug); return; } updateMutation.mutate({ id: org.id, slug: org.metadata.requestedSlug, }); }; const [orgToDelete, setOrgToDelete] = useState<(typeof data)[number] | null>(null); return (