From 2e9551a0f38d816b4ae89c92661e4dd67df2389d Mon Sep 17 00:00:00 2001 From: Rodribm10 Date: Wed, 15 Apr 2026 11:15:00 -0300 Subject: [PATCH] feat(lifecycle): rules tab with templates, wizard and variable autocomplete MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implements Task 15: Rules.vue (template grid + rules table), RuleWizardDialog.vue (4-step wizard: Quando/Pra quem/O quê/Revisão) and MessageEditor.vue (textarea with {{ variable }} autocomplete). Adds WIZARD.CANCEL, OFFSET_UNIT_LABEL, STEP_LABELS and REVIEW i18n keys in en and pt_BR. Co-Authored-By: Claude Sonnet 4.6 --- .../dashboard/i18n/locale/en/captain.json | 15 + .../dashboard/i18n/locale/pt_BR/captain.json | 15 + .../dashboard/captain/lifecycle/Rules.vue | 152 +++++++- .../lifecycle/components/MessageEditor.vue | 77 ++++ .../lifecycle/components/RuleWizardDialog.vue | 344 ++++++++++++++++++ 5 files changed, 598 insertions(+), 5 deletions(-) create mode 100644 app/javascript/dashboard/routes/dashboard/captain/lifecycle/components/MessageEditor.vue create mode 100644 app/javascript/dashboard/routes/dashboard/captain/lifecycle/components/RuleWizardDialog.vue diff --git a/app/javascript/dashboard/i18n/locale/en/captain.json b/app/javascript/dashboard/i18n/locale/en/captain.json index 386938856..239c30515 100644 --- a/app/javascript/dashboard/i18n/locale/en/captain.json +++ b/app/javascript/dashboard/i18n/locale/en/captain.json @@ -600,6 +600,21 @@ "NEXT": "Next", "BACK": "Back", "SAVE": "Save", + "CANCEL": "Cancel", + "OFFSET_UNIT_LABEL": "min", + "STEP_LABELS": { + "WHEN": "1. When?", + "WHO": "2. Who?", + "WHAT": "3. What?", + "REVIEW_TAB": "4. Review" + }, + "REVIEW": { + "NAME": "Name:", + "EVENT": "Event:", + "OFFSET": "Offset (min):", + "UNITS": "Units:", + "MESSAGE": "Message:" + }, "FIELDS": { "NAME": "Rule name", "DESCRIPTION": "Description", diff --git a/app/javascript/dashboard/i18n/locale/pt_BR/captain.json b/app/javascript/dashboard/i18n/locale/pt_BR/captain.json index 4821985dc..d162ba132 100644 --- a/app/javascript/dashboard/i18n/locale/pt_BR/captain.json +++ b/app/javascript/dashboard/i18n/locale/pt_BR/captain.json @@ -602,6 +602,21 @@ "NEXT": "Próximo", "BACK": "Voltar", "SAVE": "Salvar", + "CANCEL": "Cancelar", + "OFFSET_UNIT_LABEL": "min", + "STEP_LABELS": { + "WHEN": "1. Quando?", + "WHO": "2. Pra quem?", + "WHAT": "3. O quê?", + "REVIEW_TAB": "4. Revisão" + }, + "REVIEW": { + "NAME": "Nome:", + "EVENT": "Evento:", + "OFFSET": "Offset (min):", + "UNITS": "Unidades:", + "MESSAGE": "Mensagem:" + }, "FIELDS": { "NAME": "Nome da regra", "DESCRIPTION": "Descrição", diff --git a/app/javascript/dashboard/routes/dashboard/captain/lifecycle/Rules.vue b/app/javascript/dashboard/routes/dashboard/captain/lifecycle/Rules.vue index 0a553c347..5d85d27bb 100644 --- a/app/javascript/dashboard/routes/dashboard/captain/lifecycle/Rules.vue +++ b/app/javascript/dashboard/routes/dashboard/captain/lifecycle/Rules.vue @@ -1,14 +1,156 @@ diff --git a/app/javascript/dashboard/routes/dashboard/captain/lifecycle/components/MessageEditor.vue b/app/javascript/dashboard/routes/dashboard/captain/lifecycle/components/MessageEditor.vue new file mode 100644 index 000000000..9bdf8c801 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/captain/lifecycle/components/MessageEditor.vue @@ -0,0 +1,77 @@ + + +