@dev.smartpricing/message-composer-layer 4.2.3 → 4.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/components/Email/SendTestEmailModal.vue +23 -0
- package/app/composables/composerContext.ts +1 -0
- package/app/utils/testIds.const.ts +2 -0
- package/i18n/locales/de.ts +2 -0
- package/i18n/locales/en.ts +2 -0
- package/i18n/locales/es.ts +2 -0
- package/i18n/locales/fr.ts +2 -0
- package/i18n/locales/it.ts +2 -0
- package/package.json +2 -2
|
@@ -91,8 +91,11 @@ const defaultSenderEmail = computed(
|
|
|
91
91
|
() => composerContext.organizationData?.value?.senderEmail ?? '',
|
|
92
92
|
)
|
|
93
93
|
|
|
94
|
+
const accommodationName = computed(() => composerContext.accommodationName?.value ?? '')
|
|
95
|
+
|
|
94
96
|
const state = ref<Schema>({
|
|
95
97
|
to: '',
|
|
98
|
+
sender_name: accommodationName.value,
|
|
96
99
|
from: '',
|
|
97
100
|
})
|
|
98
101
|
|
|
@@ -120,6 +123,7 @@ const schema = z.object({
|
|
|
120
123
|
},
|
|
121
124
|
{ message: t('editor.validation.error.emailInvalid') },
|
|
122
125
|
),
|
|
126
|
+
sender_name: z.string().optional(),
|
|
123
127
|
from: z.string().refine((value) => !value || isEmail(value), {
|
|
124
128
|
message: t('editor.validation.error.emailInvalid'),
|
|
125
129
|
}),
|
|
@@ -133,10 +137,12 @@ const resolvedBrandId = computed(
|
|
|
133
137
|
|
|
134
138
|
function onSubmit() {
|
|
135
139
|
if (!resolvedMessage.value) return
|
|
140
|
+
const sender_name = state.value.sender_name?.trim()
|
|
136
141
|
sendTest({
|
|
137
142
|
message: resolvedMessage.value,
|
|
138
143
|
to: state.value.to,
|
|
139
144
|
brand_id: resolvedBrandId.value,
|
|
145
|
+
...(sender_name ? { sender_name } : {}),
|
|
140
146
|
from: state.value.from || undefined,
|
|
141
147
|
})
|
|
142
148
|
}
|
|
@@ -144,6 +150,11 @@ function onSubmit() {
|
|
|
144
150
|
const open = defineModel<boolean>('open', { default: false })
|
|
145
151
|
const formRef = ref()
|
|
146
152
|
|
|
153
|
+
// Reset sender name to the accommodation default each time the modal opens
|
|
154
|
+
watch(open, (isOpen) => {
|
|
155
|
+
if (isOpen) state.value.sender_name = accommodationName.value
|
|
156
|
+
})
|
|
157
|
+
|
|
147
158
|
watch(status, (newStatus) => {
|
|
148
159
|
if (newStatus === 'success') {
|
|
149
160
|
const recipients = state.value.to
|
|
@@ -201,6 +212,18 @@ watch(status, (newStatus) => {
|
|
|
201
212
|
:placeholder="$t('pages.email.test_email_from_placeholder')"
|
|
202
213
|
/>
|
|
203
214
|
</UFormField>
|
|
215
|
+
<UFormField
|
|
216
|
+
name="sender_name"
|
|
217
|
+
:label="$t('pages.email.sender_name_label')"
|
|
218
|
+
class="mt-4"
|
|
219
|
+
:data-testid="sendTestEmailModalTestIds.senderNameFormField"
|
|
220
|
+
>
|
|
221
|
+
<UInput
|
|
222
|
+
v-model="state.sender_name"
|
|
223
|
+
:placeholder="$t('pages.email.sender_name_placeholder')"
|
|
224
|
+
:data-testid="sendTestEmailModalTestIds.senderNameInput"
|
|
225
|
+
/>
|
|
226
|
+
</UFormField>
|
|
204
227
|
</UForm>
|
|
205
228
|
</template>
|
|
206
229
|
|
|
@@ -330,6 +330,8 @@ export const sendTestEmailModalTestIds = {
|
|
|
330
330
|
triggerButton: 'send-test-email-modal-trigger-button',
|
|
331
331
|
toFormField: 'send-test-email-modal-to-form-field',
|
|
332
332
|
toInput: 'send-test-email-modal-to-input',
|
|
333
|
+
senderNameFormField: 'send-test-email-modal-sender-name-form-field',
|
|
334
|
+
senderNameInput: 'send-test-email-modal-sender-name-input',
|
|
333
335
|
cancelButton: 'send-test-email-modal-cancel-button',
|
|
334
336
|
sendButton: 'send-test-email-modal-send-button',
|
|
335
337
|
} as const
|
package/i18n/locales/de.ts
CHANGED
|
@@ -241,6 +241,8 @@ Diese Nachrichten müssen funktional sein, nicht werblich.
|
|
|
241
241
|
send_test_success: 'Test-E-Mail erfolgreich gesendet.',
|
|
242
242
|
test_email_to: 'An',
|
|
243
243
|
test_email_to_placeholder: 'Empfänger-E-Mail(s), getrennt durch ;',
|
|
244
|
+
sender_name_label: 'Absendername',
|
|
245
|
+
sender_name_placeholder: 'Absendername',
|
|
244
246
|
test_email_from: 'Von',
|
|
245
247
|
test_email_from_placeholder: 'Absender-E-Mail-Adresse',
|
|
246
248
|
create_message_group: {
|
package/i18n/locales/en.ts
CHANGED
|
@@ -238,6 +238,8 @@ These messages must be functional, not promotional.
|
|
|
238
238
|
send_test_success: 'Test email sent successfully.',
|
|
239
239
|
test_email_to: 'To',
|
|
240
240
|
test_email_to_placeholder: 'Recipient email(s), separated by ;',
|
|
241
|
+
sender_name_label: 'Sender name',
|
|
242
|
+
sender_name_placeholder: 'Sender name',
|
|
241
243
|
test_email_from: 'From',
|
|
242
244
|
test_email_from_placeholder: 'Sender email address',
|
|
243
245
|
create_message_group: {
|
package/i18n/locales/es.ts
CHANGED
|
@@ -238,6 +238,8 @@ Estos mensajes deben ser funcionales, no promocionales.
|
|
|
238
238
|
send_test_success: 'Correo de prueba enviado correctamente.',
|
|
239
239
|
test_email_to: 'Para',
|
|
240
240
|
test_email_to_placeholder: 'Correo(s) del destinatario, separados por ;',
|
|
241
|
+
sender_name_label: 'Nombre del remitente',
|
|
242
|
+
sender_name_placeholder: 'Nombre del remitente',
|
|
241
243
|
test_email_from: 'De',
|
|
242
244
|
test_email_from_placeholder: 'Dirección de email del remitente',
|
|
243
245
|
create_message_group: {
|
package/i18n/locales/fr.ts
CHANGED
|
@@ -238,6 +238,8 @@ Ces messages doivent être fonctionnels, et non promotionnels.
|
|
|
238
238
|
send_test_success: 'E-mail de test envoyé avec succès.',
|
|
239
239
|
test_email_to: 'À',
|
|
240
240
|
test_email_to_placeholder: 'E-mail(s) du/des destinataire(s), séparé(s) par ;',
|
|
241
|
+
sender_name_label: 'Nom de l\'expéditeur',
|
|
242
|
+
sender_name_placeholder: 'Nom de l\'expéditeur',
|
|
241
243
|
test_email_from: 'De',
|
|
242
244
|
test_email_from_placeholder: "Adresse e-mail de l'expéditeur",
|
|
243
245
|
create_message_group: {
|
package/i18n/locales/it.ts
CHANGED
|
@@ -238,6 +238,8 @@ Questi messaggi devono essere funzionali, non promozionali.
|
|
|
238
238
|
send_test_success: 'Email di test inviata con successo.',
|
|
239
239
|
test_email_to: 'A',
|
|
240
240
|
test_email_to_placeholder: 'Email destinatario/i, separate da ;',
|
|
241
|
+
sender_name_label: 'Nome mittente',
|
|
242
|
+
sender_name_placeholder: 'Nome mittente',
|
|
241
243
|
test_email_from: 'Da',
|
|
242
244
|
test_email_from_placeholder: 'Indirizzo email mittente',
|
|
243
245
|
create_message_group: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dev.smartpricing/message-composer-layer",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./nuxt.config.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"vue-router": "^5.0.7",
|
|
37
37
|
"vue3-emoji-picker": "^1.1.8",
|
|
38
38
|
"zod": "^4.4.3",
|
|
39
|
-
"@dev.smartpricing/message-composer-utils": "4.2.
|
|
39
|
+
"@dev.smartpricing/message-composer-utils": "4.2.4"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@nuxt/eslint": "^1.15.2",
|