diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index cb73164a4d..2b63d516c1 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -1341,5 +1341,7 @@ "yearly": "Yearly", "checkout": "Checkout", "your_team_disbanded_successfully": "Your team has been disbanded successfully", - "error_creating_team": "Error creating team" + "error_creating_team": "Error creating team", + "you": "You", + "send_email": "Send email" } diff --git a/packages/features/ee/teams/components/MemberInvitationModal.tsx b/packages/features/ee/teams/components/MemberInvitationModal.tsx index 12af4bdde8..dded326159 100644 --- a/packages/features/ee/teams/components/MemberInvitationModal.tsx +++ b/packages/features/ee/teams/components/MemberInvitationModal.tsx @@ -14,7 +14,6 @@ import { NewTeamFormValues, PendingMember } from "../lib/types"; type MemberInvitationModalProps = { isOpen: boolean; - currentMember?: MembershipRole; onExit: () => void; onSubmit: (values: NewMemberForm) => void; }; @@ -31,55 +30,17 @@ export interface NewMemberForm { } export default function MemberInvitationModal(props: MemberInvitationModalProps) { - const [errorMessage, setErrorMessage] = useState(""); - const { t, i18n } = useLocale(); - const utils = trpc.useContext(); + const { t } = useLocale(); - const _options: MembershipRoleOption[] = [ - { value: "MEMBER", label: t("member") }, - { value: "ADMIN", label: t("admin") }, - { value: "OWNER", label: t("owner") }, - ]; - - const newMemberFormMethods = useForm(); - - const options = useMemo(() => { - _options.forEach((option, i) => { - _options[i].label = t(option.value.toLowerCase()); - }); - return _options; + const options: MembershipRoleOption[] = useMemo(() => { + return [ + { value: "MEMBER", label: t("member") }, + { value: "ADMIN", label: t("admin") }, + { value: "OWNER", label: t("owner") }, + ]; }, [t]); - const inviteMemberMutation = trpc.useMutation("viewer.teams.inviteMember", { - async onSuccess() { - await utils.invalidateQueries(["viewer.teams.get"]); - props.onExit(); - }, - async onError(err) { - setErrorMessage(err.message); - }, - }); - - function inviteMember(e: SyntheticEvent) { - e.preventDefault(); - if (!props.team) return; - - const target = e.target as typeof e.target & { - elements: { - role: { value: MembershipRole }; - inviteUser: { value: string }; - sendInviteEmail: { checked: boolean }; - }; - }; - - inviteMemberMutation.mutate({ - teamId: props.team.id, - language: i18n.language, - role: target.elements["role"].value, - usernameOrEmail: target.elements["inviteUser"].value, - sendEmailInvitation: target.elements["sendInviteEmail"].checked, - }); - } + const newMemberFormMethods = useForm(); return ( @@ -93,11 +54,12 @@ export default function MemberInvitationModal(props: MemberInvitationModalProps) your subscription once this member accepts your invite. }> -
+ props.onSubmit(values)}>
( (