import { MembershipRole } from "@prisma/client"; import { useRouter } from "next/router"; import { Controller, useForm } from "react-hook-form"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { trpc } from "@calcom/trpc/react"; import { Button, Form, getSettingsLayout as getLayout, Meta, showToast, Switch } from "@calcom/ui"; interface TeamAppearanceValues { hideBranding: boolean; } const ProfileView = () => { const { t } = useLocale(); const router = useRouter(); const utils = trpc.useContext(); const mutation = trpc.viewer.teams.update.useMutation({ onError: (err) => { showToast(err.message, "error"); }, async onSuccess() { await utils.viewer.teams.get.invalidate(); showToast(t("your_team_updated_successfully"), "success"); }, }); const form = useForm(); const { data: team, isLoading } = trpc.viewer.teams.get.useQuery( { teamId: Number(router.query.id) }, { onError: () => { router.push("/settings"); }, onSuccess: (team) => { if (team) { form.setValue("hideBranding", team.hideBranding); } }, } ); const isAdmin = team && (team.membership.role === MembershipRole.OWNER || team.membership.role === MembershipRole.ADMIN); return ( <> {!isLoading && ( <> {isAdmin ? (
{ if (team) { const hideBranding = form.getValues("hideBranding"); if (team.hideBranding !== hideBranding) { mutation.mutate({ id: team.id, hideBranding }); } } }}>

{t("team_disable_cal_branding_description")}

( { form.setValue("hideBranding", isChecked); }} /> )} />
) : (
{t("only_owner_change")}
)} )} ); }; ProfileView.getLayout = getLayout; export default ProfileView;