diff --git a/packages/vue/src/locales/en/account.json b/packages/vue/src/locales/en/account.json
index 7dcc847c..8d1a23d9 100644
--- a/packages/vue/src/locales/en/account.json
+++ b/packages/vue/src/locales/en/account.json
@@ -23,6 +23,12 @@
"role": "Please select a role"
}
},
+ "messages": {
+ "created": "Invitation sent to {email}.",
+ "deleted": "Invitation deleted for {email}.",
+ "resend": "Invitation resent to {email}.",
+ "revoked": "Invitation revoked for {email}."
+ },
"modal": {
"title": "Invite an user"
},
diff --git a/packages/vue/src/locales/fr/account.json b/packages/vue/src/locales/fr/account.json
index 686e1690..55f6c343 100644
--- a/packages/vue/src/locales/fr/account.json
+++ b/packages/vue/src/locales/fr/account.json
@@ -23,6 +23,12 @@
"role": "Veuillez sélectionner un rôle"
}
},
+ "messages": {
+ "created": "Invitation envoyée à {email}.",
+ "deleted": "Invitation supprimée pour {email}.",
+ "resend": "Invitation renvoyée à {email}.",
+ "revoked": "Invitation révoquée pour {email}."
+ },
"modal": {
"title": "Inviter un utilisateur"
},
diff --git a/packages/vue/src/views/Invitations/Index.vue b/packages/vue/src/views/Invitations/Index.vue
index 881e83a0..2d1c9df0 100644
--- a/packages/vue/src/views/Invitations/Index.vue
+++ b/packages/vue/src/views/Invitations/Index.vue
@@ -22,17 +22,16 @@
v-if="showInvitationModal"
:show="showInvitationModal"
@close="showInvitationModal = false"
- @created="handleInvitationCreated"
+ @invitation:created="handleInvitationCreated"
/>
diff --git a/packages/vue/src/views/Invitations/_components/Form.vue b/packages/vue/src/views/Invitations/_components/Form.vue
index f178fa6d..0a93a279 100644
--- a/packages/vue/src/views/Invitations/_components/Form.vue
+++ b/packages/vue/src/views/Invitations/_components/Form.vue
@@ -52,13 +52,12 @@ import {
import type { AccountInvitationCreateInput } from "../../../types/accountInvitation";
import type { SaasConfig } from "../../../types/config";
-import type { SaasEventHandlers, EventMessage } from "../../../types/plugin";
defineProps({
loading: Boolean,
});
-defineEmits(["cancel"]);
+const emit = defineEmits(["cancel", "invitation:created"]);
const config = useConfig();
const invitationStore = useInvitationStore();
@@ -82,25 +81,10 @@ const roles = computed(() => {
return saasConfig?.saasAccountRoles || SAAS_ACCOUNT_ROLES_DEFAULT;
});
-const eventHandlers = inject(
- Symbol.for("saas.eventHandlers"),
- { notification: undefined }
-);
-
async function onSubmit() {
try {
await addInvitation(accountId, formData.value, config.apiBaseUrl).then(
- (response) => {
- const message: EventMessage = {
- type: "success",
- message: t("account.invitations.messages.created"),
- details: {
- invitation: response,
- },
- };
-
- eventHandlers?.notification?.(message);
- }
+ (response) => emit("invitation:created", response)
);
} catch (error) {
console.error("Form submission error:", error);
diff --git a/packages/vue/src/views/Invitations/_components/InvitationModal.vue b/packages/vue/src/views/Invitations/_components/InvitationModal.vue
index bc2e8827..1aabb6d3 100644
--- a/packages/vue/src/views/Invitations/_components/InvitationModal.vue
+++ b/packages/vue/src/views/Invitations/_components/InvitationModal.vue
@@ -4,7 +4,11 @@
:title="t('account.invitations.modal.title')"
@on:close="$emit('close')"
>
-
+
@@ -15,15 +19,21 @@ import { Modal } from "@dzangolab/vue3-ui";
import InvitationForm from "./Form.vue";
import { useTranslations } from "../../../index";
+import type { AccountInvitation } from "../../../types/accountInvitation";
+
defineProps({
show: Boolean,
loading: Boolean,
});
-defineEmits(["close"]);
+const emit = defineEmits(["close", "invitation:created"]);
const messages = useTranslations();
const { t } = useI18n({ messages, locale: "en" });
+
+function onInvitationCreated(invitation: AccountInvitation) {
+ emit("invitation:created", invitation);
+}