import { DomainDirectoryMemberships, NetworkSharePublications } from "@metis/assets/client"; import { BrowserLink } from "@metis/core/client"; import { catalogApi, catalogKeys, companyApplicationEligible } from "@metis/resources/client"; import type { ResourceDTO } from "@metis/resources/common"; import { DetailPanel } from "@repo/rdx-ui/components/detail-panel"; import { KeyRoundIcon } from "@repo/rdx-ui/lib/icons"; import { useQuery } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; import type { CompanyDTO } from "../../../../common"; import { MailboxRelations } from "../../../mailboxes"; import { ApplicationResourceUsage } from "./application-resource-usage"; export function CompanyResourceRelatedContent({ company, resource, }: { company: CompanyDTO; resource: ResourceDTO; }) { const { t } = useTranslation("companies"); const directory = resource.directory; const catalog = useQuery({ queryKey: catalogKeys.scope(company.id), queryFn: () => catalogApi.get(company.id), }); if (companyApplicationEligible(resource, catalog.data?.items ?? [])) { return ; } if (resource.networkShare?.capability === "network:smb-share") { return (
} title={t("smb.access")}>
{(["need", "grant", "permission", "account", "group"] as const).map((kind) => ( {t(`smb.${kind}`)} ))}

{t("smb.documentary")}

); } if (directory?.capability === "directory:domain") { return (
} title={t("windowsDomain.accountsAndGroups")}>
{t("windowsDomain.accounts")} {t("windowsDomain.groups")}
); } return resource.values.integration?.kind === "mailbox" ? ( ) : null; }