@dev.smartpricing/message-composer-layer 4.3.2-fix.1 → 4.4.1-next.0

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.
Files changed (35) hide show
  1. package/README.md +184 -48
  2. package/app/api/client.ts +12 -0
  3. package/app/api/compilation.ts +13 -3
  4. package/app/api/dynamicValues.ts +5 -2
  5. package/app/api/messageGroups.ts +23 -12
  6. package/app/components/Common/AppContextErrors.vue +30 -0
  7. package/app/components/Common/HtmlPreviewIframe.vue +17 -3
  8. package/app/components/Common/MessageGroupSelect.vue +153 -26
  9. package/app/components/Common/MessagePreviewSlideover.vue +3 -0
  10. package/app/components/Composer/MessageLibrary.vue +17 -7
  11. package/app/components/MessageSendFlow/EmailPreview.vue +78 -0
  12. package/app/components/MessageSendFlow/LanguageSelect.vue +39 -0
  13. package/app/components/MessageSendFlow/MessageSendFlow.vue +252 -0
  14. package/app/components/MessageSendFlow/ParametersForm.vue +51 -0
  15. package/app/components/TemplateList/BaseTable.vue +156 -108
  16. package/app/components/Whatsapp/Preview.vue +12 -4
  17. package/app/components/Whatsapp/PreviewPanel.vue +7 -1
  18. package/app/composables/composerContext.ts +4 -2
  19. package/app/composables/useMessageGroupList.ts +186 -0
  20. package/app/composables/useMessageSendFlow.ts +246 -0
  21. package/app/composables/usePagedMessageGroups.ts +66 -0
  22. package/app/composables/useTemplateOperations.ts +13 -3
  23. package/app/layouts/default.vue +1 -0
  24. package/app/queries/compilation.ts +1 -1
  25. package/app/queries/dynamicValues.ts +8 -2
  26. package/app/queries/messageGroups.ts +29 -16
  27. package/app/stores/appContext.ts +12 -6
  28. package/app/types/tracking.ts +17 -0
  29. package/app/utils/testIds.const.ts +29 -0
  30. package/i18n/locales/de.ts +56 -2
  31. package/i18n/locales/en.ts +53 -2
  32. package/i18n/locales/es.ts +54 -2
  33. package/i18n/locales/fr.ts +53 -2
  34. package/i18n/locales/it.ts +55 -2
  35. package/package.json +2 -2
@@ -1,5 +1,10 @@
1
+ import type { MessageGroupProduct } from '@dev.smartpricing/message-composer-utils/types'
2
+
1
3
  export type MessagesKind = 'email' | 'whatsapp'
2
4
 
5
+ /** The step an operator was on when leaving the Message Send Flow. */
6
+ export type MessageSendFlowStep = 'message' | 'parameters'
7
+
3
8
  export interface MessageActionProperties {
4
9
  message_name: string
5
10
  languages: string[]
@@ -83,6 +88,8 @@ export interface TrackingEventMap {
83
88
  search_term: string
84
89
  category: string
85
90
  status: string
91
+ /** The Product filter; `all` when not narrowed. */
92
+ product: MessageGroupProduct | 'all'
86
93
  messages_kind: MessagesKind
87
94
  }
88
95
  change_tab: { messages_kind: MessagesKind }
@@ -160,4 +167,14 @@ export interface TrackingEventMap {
160
167
  to_recipients: number
161
168
  language: string
162
169
  }
170
+
171
+ // === Message Send Flow (spec #67) ===
172
+ 'send_flow.confirm': {
173
+ message_name: string
174
+ message_category: string
175
+ language: string
176
+ parameters_count: number
177
+ }
178
+ 'send_flow.cancel': { step: MessageSendFlowStep }
179
+ 'send_flow.error': { code: string }
163
180
  }
@@ -513,11 +513,16 @@ export const templateListTableTestIds = {
513
513
  searchInput: 'template-list-table-search-input',
514
514
  categorySelect: 'template-list-table-category-select',
515
515
  statusSelect: 'template-list-table-status-select',
516
+ productSelect: 'template-list-table-product-select',
517
+ visibilitySelect: 'template-list-table-visibility-select',
518
+ pagination: 'template-list-table-pagination',
519
+ paginationSummary: 'template-list-table-pagination-summary',
516
520
  card: 'template-list-table-card',
517
521
  table: 'template-list-table-table',
518
522
  rowName: 'template-list-table-row-name',
519
523
  rowInternalBadge: 'template-list-table-row-internal-badge',
520
524
  rowCategoryBadge: 'template-list-table-row-category-badge',
525
+ rowProductBadge: 'template-list-table-row-product-badge',
521
526
  rowPreview: 'template-list-table-row-preview',
522
527
  rowActions: 'template-list-table-row-actions',
523
528
  rowEditAction: 'template-list-table-row-edit',
@@ -751,7 +756,31 @@ export const previewByIdTestIds = {
751
756
 
752
757
  export const messageGroupSelectTestIds = {
753
758
  root: 'message-group-select-root',
759
+ loadMore: 'message-group-select-load-more',
754
760
  } as const
755
761
 
756
762
  /** @deprecated Use `messageGroupSelectTestIds` instead */
757
763
  export const templateSelectTestIds = messageGroupSelectTestIds
764
+
765
+ export const messageSendFlowTestIds = {
766
+ root: 'message-send-flow-root',
767
+ stepper: 'message-send-flow-stepper',
768
+ alert: 'message-send-flow-alert',
769
+ picker: 'message-send-flow-picker',
770
+ languageGroup: 'message-send-flow-language-group',
771
+ parametersForm: 'message-send-flow-parameters-form',
772
+ /** One per visible key; the key is on `data-parameter`. */
773
+ parameterInput: 'message-send-flow-parameter-input',
774
+ noParameters: 'message-send-flow-no-parameters',
775
+ /** Right panel, present on every step, holding the channel preview. */
776
+ previewPanel: 'message-send-flow-preview-panel',
777
+ preview: 'message-send-flow-preview',
778
+ /** The compiled email of the Preview step (`render_type` email_v1). */
779
+ emailPreview: 'message-send-flow-email-preview',
780
+ /** The Cancel/Back/Next/Confirm bar, inline or teleported to `actionsTo`. */
781
+ actions: 'message-send-flow-actions',
782
+ back: 'message-send-flow-back',
783
+ next: 'message-send-flow-next',
784
+ cancel: 'message-send-flow-cancel',
785
+ confirm: 'message-send-flow-confirm',
786
+ } as const
@@ -18,6 +18,7 @@ export default {
18
18
  all: 'Alle',
19
19
  copy: 'Kopieren',
20
20
  copy_of: 'Kopie von {name}',
21
+ context_error_title: 'Konfigurationsfehler des Composers',
21
22
  desktop: 'Desktop',
22
23
  error: 'Fehler',
23
24
  errore: 'Fehler',
@@ -57,7 +58,10 @@ export default {
57
58
  messageGroupSelect: {
58
59
  inactive_tooltip:
59
60
  'Diese Nachrichtengruppe enthält nicht genehmigte oder fehlende Nachrichten',
61
+ not_sendable_tooltip: 'Diese Nachrichtengruppe enthält keine genehmigten Nachrichten',
60
62
  hide_inactive: 'Inaktive ausblenden',
63
+ hide_not_sendable: 'Nicht sendbare ausblenden',
64
+ load_more: 'Mehr laden',
61
65
  },
62
66
  view_less: 'Weniger anzeigen',
63
67
  view_more: 'Mehr anzeigen',
@@ -783,20 +787,28 @@ export default {
783
787
  },
784
788
  message_library: {
785
789
  add_message_group: 'Neue Nachricht',
790
+ all_products: 'Alle Produkte',
786
791
  category_placeholder: 'Kategorie auswählen',
787
792
  headers: {
788
793
  category: 'Kategorie',
789
794
  name: 'Name',
790
795
  preview: 'Vorschau',
796
+ product: 'Produkt',
791
797
  status: 'Status',
792
- tags: 'Tags',
793
798
  updated_at: 'Aktualisiert am',
794
799
  },
800
+ pagination_summary: '{from}–{to} von {total}',
801
+ product_placeholder: 'Produkt auswählen',
795
802
  render_type_placeholder: 'Render-Typ auswählen',
796
803
  search_placeholder: 'Suchen',
797
804
  status_placeholder: 'Status auswählen',
798
- tags_placeholder: 'Nach Tags filtern',
799
805
  title: 'Nachrichtenbibliothek',
806
+ visibility: {
807
+ all: 'Alle',
808
+ internal: 'Intern',
809
+ public: 'Öffentlich',
810
+ },
811
+ visibility_placeholder: 'Sichtbarkeit auswählen',
800
812
  },
801
813
  whatsapp: {
802
814
  create_message_group: {
@@ -829,6 +841,12 @@ export default {
829
841
  },
830
842
  },
831
843
  },
844
+ products: {
845
+ chat: 'Smartchat',
846
+ connect: 'Smartconnect',
847
+ pms: 'Smartpms',
848
+ pricing: 'Smartpricing',
849
+ },
832
850
  public: {
833
851
  select_message: {
834
852
  choose_language: 'Sprache auswählen...',
@@ -838,6 +856,42 @@ export default {
838
856
  send_message: 'Nachricht senden',
839
857
  },
840
858
  },
859
+ send_flow: {
860
+ actions: {
861
+ back: 'Zurück',
862
+ cancel: 'Abbrechen',
863
+ confirm: 'Bestätigen',
864
+ next: 'Weiter',
865
+ },
866
+ errors: {
867
+ COMPILE_FAILED:
868
+ 'Die Nachricht konnte nicht vorbereitet werden. Bitte versuchen Sie es erneut.',
869
+ MISSING_PARAMETERS: 'Füllen Sie alle Parameter aus, bevor Sie bestätigen.',
870
+ NOT_SENDABLE:
871
+ '„{name}“ hat keine genehmigte Nachricht und kann nicht gesendet werden. Wählen Sie eine andere Nachrichtengruppe.',
872
+ TEMPLATE_NOT_APPROVED:
873
+ 'Diese Nachricht wurde von Meta nicht genehmigt und kann nicht gesendet werden.',
874
+ TEMPLATE_NOT_SUBMITTED:
875
+ 'Diese Nachricht wurde nicht bei Meta eingereicht und kann nicht gesendet werden.',
876
+ },
877
+ language: {
878
+ approved: 'Genehmigt',
879
+ approved_count: 'Genehmigte Sprachen für {name}: {count}',
880
+ not_sendable: 'Nicht sendbar ({status})',
881
+ },
882
+ no_parameters: 'Diese Nachricht hat keine auszufüllenden Parameter.',
883
+ not_sendable_hint: 'Ausgegraute Nachrichtengruppen haben keine genehmigte Nachricht.',
884
+ questions: {
885
+ language: 'In welcher Sprache?',
886
+ message: 'Welche Nachricht möchten Sie senden?',
887
+ parameters: 'Parameter ausfüllen',
888
+ preview: 'Das erhält der Gast',
889
+ },
890
+ steps: {
891
+ message: { description: 'Sendbare Nachrichtengruppe auswählen', title: 'Nachricht' },
892
+ parameters: { description: 'Felder ausfüllen', title: 'Parameter' },
893
+ },
894
+ },
841
895
  status: {
842
896
  approved: 'Genehmigt',
843
897
  draft: 'Entwurf',
@@ -18,6 +18,7 @@ export default {
18
18
  all: 'All',
19
19
  copy: 'Copy',
20
20
  copy_of: 'Copy of {name}',
21
+ context_error_title: 'Composer configuration error',
21
22
  desktop: 'Desktop',
22
23
  error: 'Error',
23
24
  errore: 'Error',
@@ -55,7 +56,10 @@ export default {
55
56
  translation_failed: 'Translation failed',
56
57
  messageGroupSelect: {
57
58
  inactive_tooltip: 'This message group has unapproved or missing messages',
59
+ not_sendable_tooltip: 'This message group has no approved messages',
58
60
  hide_inactive: 'Hide inactive',
61
+ hide_not_sendable: 'Hide not sendable',
62
+ load_more: 'Load more',
59
63
  },
60
64
  view_less: 'View less',
61
65
  view_more: 'View more',
@@ -772,20 +776,28 @@ export default {
772
776
  },
773
777
  message_library: {
774
778
  add_message_group: 'New message',
779
+ all_products: 'All products',
775
780
  category_placeholder: 'Select category',
776
781
  headers: {
777
782
  category: 'Category',
778
783
  name: 'Name',
779
784
  preview: 'Preview',
785
+ product: 'Product',
780
786
  status: 'Status',
781
- tags: 'Tags',
782
787
  updated_at: 'Updated at',
783
788
  },
789
+ pagination_summary: '{from}–{to} of {total}',
790
+ product_placeholder: 'Select product',
784
791
  render_type_placeholder: 'Select render type',
785
792
  search_placeholder: 'Search',
786
793
  status_placeholder: 'Select status',
787
- tags_placeholder: 'Filter by tags',
788
794
  title: 'Messages',
795
+ visibility: {
796
+ all: 'All',
797
+ internal: 'Internal',
798
+ public: 'Public',
799
+ },
800
+ visibility_placeholder: 'Select visibility',
789
801
  },
790
802
  whatsapp: {
791
803
  create_message_group: {
@@ -818,6 +830,12 @@ export default {
818
830
  },
819
831
  },
820
832
  },
833
+ products: {
834
+ chat: 'Smartchat',
835
+ connect: 'Smartconnect',
836
+ pms: 'Smartpms',
837
+ pricing: 'Smartpricing',
838
+ },
821
839
  public: {
822
840
  select_message: {
823
841
  choose_language: 'Choose a language...',
@@ -827,6 +845,39 @@ export default {
827
845
  send_message: 'Send message',
828
846
  },
829
847
  },
848
+ send_flow: {
849
+ actions: {
850
+ back: 'Back',
851
+ cancel: 'Cancel',
852
+ confirm: 'Confirm',
853
+ next: 'Next',
854
+ },
855
+ errors: {
856
+ COMPILE_FAILED: 'The message could not be prepared. Please try again.',
857
+ MISSING_PARAMETERS: 'Fill in every parameter before confirming.',
858
+ NOT_SENDABLE:
859
+ '"{name}" has no approved message and cannot be sent. Pick another message group.',
860
+ TEMPLATE_NOT_APPROVED: 'This message has not been approved by Meta and cannot be sent.',
861
+ TEMPLATE_NOT_SUBMITTED: 'This message has not been submitted to Meta and cannot be sent.',
862
+ },
863
+ language: {
864
+ approved: 'Approved',
865
+ approved_count: 'Approved languages for {name}: {count}',
866
+ not_sendable: 'Not sendable ({status})',
867
+ },
868
+ no_parameters: 'This message has no parameters to fill in.',
869
+ not_sendable_hint: 'Greyed-out message groups have no approved message.',
870
+ questions: {
871
+ language: 'In which language?',
872
+ message: 'Which message do you want to send?',
873
+ parameters: 'Fill in the parameters',
874
+ preview: 'This is what the guest will receive',
875
+ },
876
+ steps: {
877
+ message: { description: 'Pick a sendable message group', title: 'Message' },
878
+ parameters: { description: 'Fill in the blanks', title: 'Parameters' },
879
+ },
880
+ },
830
881
  status: {
831
882
  approved: 'Approved',
832
883
  draft: 'Draft',
@@ -18,6 +18,7 @@ export default {
18
18
  all: 'Todos',
19
19
  copy: 'Copiar',
20
20
  copy_of: 'Copia de {name}',
21
+ context_error_title: 'Error de configuración del composer',
21
22
  desktop: 'Escritorio',
22
23
  error: 'Error',
23
24
  errore: 'Error',
@@ -56,7 +57,10 @@ export default {
56
57
  translation_failed: 'La traducción ha fallado',
57
58
  messageGroupSelect: {
58
59
  inactive_tooltip: 'Este grupo de mensajes tiene mensajes no aprobados o faltantes',
60
+ not_sendable_tooltip: 'Este grupo de mensajes no tiene mensajes aprobados',
59
61
  hide_inactive: 'Ocultar inactivos',
62
+ hide_not_sendable: 'Ocultar no enviables',
63
+ load_more: 'Cargar más',
60
64
  },
61
65
  view_less: 'Ver menos',
62
66
  view_more: 'Ver más',
@@ -781,20 +785,28 @@ export default {
781
785
  },
782
786
  message_library: {
783
787
  add_message_group: 'Nuevo mensaje',
788
+ all_products: 'Todos los productos',
784
789
  category_placeholder: 'Seleccionar categoría',
785
790
  headers: {
786
791
  category: 'Categoría',
787
792
  name: 'Nombre',
788
793
  preview: 'Vista previa',
794
+ product: 'Producto',
789
795
  status: 'Estado',
790
- tags: 'Etiquetas',
791
796
  updated_at: 'Actualizado el',
792
797
  },
798
+ pagination_summary: '{from}–{to} de {total}',
799
+ product_placeholder: 'Seleccionar producto',
793
800
  render_type_placeholder: 'Seleccionar tipo de renderizado',
794
801
  search_placeholder: 'Buscar',
795
802
  status_placeholder: 'Seleccionar estado',
796
- tags_placeholder: 'Filtrar por etiquetas',
797
803
  title: 'Libreria de mensajes',
804
+ visibility: {
805
+ all: 'Todas',
806
+ internal: 'Internas',
807
+ public: 'Públicas',
808
+ },
809
+ visibility_placeholder: 'Seleccionar visibilidad',
798
810
  },
799
811
  whatsapp: {
800
812
  create_message_group: {
@@ -827,6 +839,12 @@ export default {
827
839
  },
828
840
  },
829
841
  },
842
+ products: {
843
+ chat: 'Smartchat',
844
+ connect: 'Smartconnect',
845
+ pms: 'Smartpms',
846
+ pricing: 'Smartpricing',
847
+ },
830
848
  public: {
831
849
  select_message: {
832
850
  choose_language: 'Elige un idioma...',
@@ -836,6 +854,40 @@ export default {
836
854
  send_message: 'Enviar mensaje',
837
855
  },
838
856
  },
857
+ send_flow: {
858
+ actions: {
859
+ back: 'Atrás',
860
+ cancel: 'Cancelar',
861
+ confirm: 'Confirmar',
862
+ next: 'Siguiente',
863
+ },
864
+ errors: {
865
+ COMPILE_FAILED: 'No se ha podido preparar el mensaje. Inténtelo de nuevo.',
866
+ MISSING_PARAMETERS: 'Rellene todos los parámetros antes de confirmar.',
867
+ NOT_SENDABLE:
868
+ '"{name}" no tiene ningún mensaje aprobado y no se puede enviar. Elija otro grupo de mensajes.',
869
+ TEMPLATE_NOT_APPROVED: 'Meta no ha aprobado este mensaje y no se puede enviar.',
870
+ TEMPLATE_NOT_SUBMITTED:
871
+ 'Este mensaje no se ha enviado a Meta para su aprobación y no se puede enviar.',
872
+ },
873
+ language: {
874
+ approved: 'Aprobado',
875
+ approved_count: 'Idiomas aprobados para {name}: {count}',
876
+ not_sendable: 'No se puede enviar ({status})',
877
+ },
878
+ no_parameters: 'Este mensaje no tiene parámetros que rellenar.',
879
+ not_sendable_hint: 'Los grupos de mensajes en gris no tienen ningún mensaje aprobado.',
880
+ questions: {
881
+ language: '¿En qué idioma?',
882
+ message: '¿Qué mensaje quiere enviar?',
883
+ parameters: 'Rellenar los parámetros',
884
+ preview: 'Esto es lo que recibirá el huésped',
885
+ },
886
+ steps: {
887
+ message: { description: 'Elegir un grupo de mensajes que se pueda enviar', title: 'Mensaje' },
888
+ parameters: { description: 'Rellenar los campos', title: 'Parámetros' },
889
+ },
890
+ },
839
891
  status: {
840
892
  approved: 'Aprobado',
841
893
  draft: 'Borrador',
@@ -18,6 +18,7 @@ export default {
18
18
  all: 'Tous',
19
19
  copy: 'Copier',
20
20
  copy_of: 'Copie de {name}',
21
+ context_error_title: 'Erreur de configuration du composer',
21
22
  desktop: 'Bureau',
22
23
  error: 'Erreur',
23
24
  errore: 'Erreur',
@@ -56,7 +57,10 @@ export default {
56
57
  translation_failed: 'Échec de la traduction',
57
58
  messageGroupSelect: {
58
59
  inactive_tooltip: 'Ce groupe de messages contient des messages non approuvés ou manquants',
60
+ not_sendable_tooltip: 'Ce groupe de messages ne contient aucun message approuvé',
59
61
  hide_inactive: 'Masquer inactifs',
62
+ hide_not_sendable: 'Masquer non envoyables',
63
+ load_more: 'Charger plus',
60
64
  },
61
65
  view_less: 'Afficher moins',
62
66
  view_more: 'Afficher plus',
@@ -785,20 +789,28 @@ export default {
785
789
  },
786
790
  message_library: {
787
791
  add_message_group: 'Nouveau message',
792
+ all_products: 'Tous les produits',
788
793
  category_placeholder: 'Sélectionner une catégorie',
789
794
  headers: {
790
795
  category: 'Catégorie',
791
796
  name: 'Nom',
792
797
  preview: 'Aperçu',
798
+ product: 'Produit',
793
799
  status: 'Statut',
794
- tags: 'Tags',
795
800
  updated_at: 'Mis à jour le',
796
801
  },
802
+ pagination_summary: '{from}–{to} sur {total}',
803
+ product_placeholder: 'Sélectionner un produit',
797
804
  render_type_placeholder: 'Sélectionner le type de rendu',
798
805
  search_placeholder: 'Rechercher',
799
806
  status_placeholder: 'Sélectionner un statut',
800
- tags_placeholder: 'Filtrer par tags',
801
807
  title: 'Bibliothèque de messages',
808
+ visibility: {
809
+ all: 'Toutes',
810
+ internal: 'Internes',
811
+ public: 'Publiques',
812
+ },
813
+ visibility_placeholder: 'Sélectionner la visibilité',
802
814
  },
803
815
  whatsapp: {
804
816
  create_message_group: {
@@ -831,6 +843,12 @@ export default {
831
843
  },
832
844
  },
833
845
  },
846
+ products: {
847
+ chat: 'Smartchat',
848
+ connect: 'Smartconnect',
849
+ pms: 'Smartpms',
850
+ pricing: 'Smartpricing',
851
+ },
834
852
  public: {
835
853
  select_message: {
836
854
  choose_language: 'Choisir une langue...',
@@ -840,6 +858,39 @@ export default {
840
858
  send_message: 'Envoyer le message',
841
859
  },
842
860
  },
861
+ send_flow: {
862
+ actions: {
863
+ back: 'Retour',
864
+ cancel: 'Annuler',
865
+ confirm: 'Confirmer',
866
+ next: 'Suivant',
867
+ },
868
+ errors: {
869
+ COMPILE_FAILED: 'Le message n’a pas pu être préparé. Veuillez réessayer.',
870
+ MISSING_PARAMETERS: 'Renseignez tous les paramètres avant de confirmer.',
871
+ NOT_SENDABLE:
872
+ '« {name} » n’a aucun message approuvé et ne peut pas être envoyé. Choisissez un autre groupe de messages.',
873
+ TEMPLATE_NOT_APPROVED: 'Ce message n’a pas été approuvé par Meta et ne peut pas être envoyé.',
874
+ TEMPLATE_NOT_SUBMITTED: 'Ce message n’a pas été soumis à Meta et ne peut pas être envoyé.',
875
+ },
876
+ language: {
877
+ approved: 'Approuvé',
878
+ approved_count: 'Langues approuvées pour {name} : {count}',
879
+ not_sendable: 'Non envoyable ({status})',
880
+ },
881
+ no_parameters: 'Ce message n’a aucun paramètre à renseigner.',
882
+ not_sendable_hint: 'Les groupes de messages grisés n’ont aucun message approuvé.',
883
+ questions: {
884
+ language: 'Dans quelle langue ?',
885
+ message: 'Quel message voulez-vous envoyer ?',
886
+ parameters: 'Renseignez les paramètres',
887
+ preview: 'Voici ce que le client recevra',
888
+ },
889
+ steps: {
890
+ message: { description: 'Choisissez un groupe de messages envoyable', title: 'Message' },
891
+ parameters: { description: 'Remplissez les champs', title: 'Paramètres' },
892
+ },
893
+ },
843
894
  status: {
844
895
  approved: 'Approuvé',
845
896
  draft: 'Brouillon',
@@ -18,6 +18,7 @@ export default {
18
18
  all: 'Tutti',
19
19
  copy: 'Copia',
20
20
  copy_of: 'Copia di {name}',
21
+ context_error_title: 'Errore di configurazione del composer',
21
22
  desktop: 'Desktop',
22
23
  error: 'Errore',
23
24
  errore: 'Errore',
@@ -55,7 +56,10 @@ export default {
55
56
  translation_failed: 'Traduzione non riuscita',
56
57
  messageGroupSelect: {
57
58
  inactive_tooltip: 'Questo gruppo di messaggi contiene messaggi non approvati o mancanti',
59
+ not_sendable_tooltip: 'Questo gruppo di messaggi non contiene messaggi approvati',
58
60
  hide_inactive: 'Nascondi inattivi',
61
+ hide_not_sendable: 'Nascondi non inviabili',
62
+ load_more: 'Carica altri',
59
63
  },
60
64
  view_less: 'Mostra meno',
61
65
  view_more: 'Mostra di più',
@@ -778,20 +782,28 @@ export default {
778
782
  },
779
783
  message_library: {
780
784
  add_message_group: 'Nuovo messaggio',
785
+ all_products: 'Tutti i prodotti',
781
786
  category_placeholder: 'Seleziona categoria',
782
787
  headers: {
783
788
  category: 'Categoria',
784
789
  name: 'Nome',
785
790
  preview: 'Anteprima',
791
+ product: 'Prodotto',
786
792
  status: 'Stato',
787
- tags: 'Tag',
788
793
  updated_at: 'Aggiornato il',
789
794
  },
795
+ pagination_summary: '{from}–{to} di {total}',
796
+ product_placeholder: 'Seleziona prodotto',
790
797
  render_type_placeholder: 'Seleziona tipo di rendering',
791
798
  search_placeholder: 'Cerca',
792
799
  status_placeholder: 'Seleziona stato',
793
- tags_placeholder: 'Filtra per tag',
794
800
  title: 'Libreria messaggi',
801
+ visibility: {
802
+ all: 'Tutte',
803
+ internal: 'Interne',
804
+ public: 'Pubbliche',
805
+ },
806
+ visibility_placeholder: 'Seleziona visibilità',
795
807
  },
796
808
  whatsapp: {
797
809
  create_message_group: {
@@ -824,6 +836,12 @@ export default {
824
836
  },
825
837
  },
826
838
  },
839
+ products: {
840
+ chat: 'Smartchat',
841
+ connect: 'Smartconnect',
842
+ pms: 'Smartpms',
843
+ pricing: 'Smartpricing',
844
+ },
827
845
  public: {
828
846
  select_message: {
829
847
  choose_language: 'Scegli una lingua...',
@@ -833,6 +851,41 @@ export default {
833
851
  send_message: 'Invia messaggio',
834
852
  },
835
853
  },
854
+ send_flow: {
855
+ actions: {
856
+ back: 'Indietro',
857
+ cancel: 'Annulla',
858
+ confirm: 'Conferma',
859
+ next: 'Avanti',
860
+ },
861
+ errors: {
862
+ COMPILE_FAILED: 'Non è stato possibile preparare il messaggio. Riprova.',
863
+ MISSING_PARAMETERS: 'Compila tutti i parametri prima di confermare.',
864
+ NOT_SENDABLE:
865
+ '"{name}" non ha nessun messaggio approvato e non può essere inviato. Scegli un altro gruppo di messaggi.',
866
+ TEMPLATE_NOT_APPROVED:
867
+ 'Questo messaggio non è stato approvato da Meta e non può essere inviato.',
868
+ TEMPLATE_NOT_SUBMITTED:
869
+ 'Questo messaggio non è stato sottoposto a Meta e non può essere inviato.',
870
+ },
871
+ language: {
872
+ approved: 'Approvato',
873
+ approved_count: 'Lingue approvate per {name}: {count}',
874
+ not_sendable: 'Non inviabile ({status})',
875
+ },
876
+ no_parameters: 'Questo messaggio non ha parametri da compilare.',
877
+ not_sendable_hint: 'I gruppi di messaggi in grigio non hanno nessun messaggio approvato.',
878
+ questions: {
879
+ language: 'In quale lingua?',
880
+ message: 'Quale messaggio vuoi inviare?',
881
+ parameters: 'Compila i parametri',
882
+ preview: 'Ecco cosa riceverà l’ospite',
883
+ },
884
+ steps: {
885
+ message: { description: 'Scegli un gruppo di messaggi inviabile', title: 'Messaggio' },
886
+ parameters: { description: 'Compila i campi', title: 'Parametri' },
887
+ },
888
+ },
836
889
  status: {
837
890
  approved: 'Approvato',
838
891
  draft: 'Bozza',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dev.smartpricing/message-composer-layer",
3
- "version": "4.3.2-fix.1",
3
+ "version": "4.4.1-next.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./nuxt.config.ts",
@@ -35,7 +35,7 @@
35
35
  "vue-router": "^5.0.7",
36
36
  "vue3-emoji-picker": "^1.1.8",
37
37
  "zod": "^4.4.3",
38
- "@dev.smartpricing/message-composer-utils": "4.3.2-fix.1"
38
+ "@dev.smartpricing/message-composer-utils": "4.4.1-next.0"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@dev.smartpricing/platform-layer": "^0.0.23",