"use client"; import { Trans } from "next-i18next"; import { useState } from "react"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; import { Badge, ConfirmationDialogContent, Dialog, DropdownActions, showToast, Table } from "@calcom/ui"; import { subdomainSuffix } from "../../../../organizations/lib/orgDomains"; 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("org_publish_error"), "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 (