From a35c3e4c06dab6baa489b87cdf1cbfeb2a973cb2 Mon Sep 17 00:00:00 2001 From: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Date: Wed, 29 Oct 2025 17:06:32 +0530 Subject: [PATCH] feat: Template types components (#12714) # Pull Request Template ## Description Fixes https://linear.app/chatwoot/issue/CW-5806/create-the-story-book-components-for-template-typestext-media-list **Pending** Need to standardize the structure to match the template/campaigns. ## Type of change - [x] New feature (non-breaking change which adds functionality) ## How Has This Been Tested? ### Screenshots image image image image image image ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [ ] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules Co-authored-by: Muhsin Keloth --- .../message/bubbles/Template/CallToAction.vue | 29 ++++++++ .../message/bubbles/Template/Card.vue | 32 +++++++++ .../message/bubbles/Template/ListPicker.vue | 25 +++++++ .../message/bubbles/Template/Media.vue | 20 ++++++ .../message/bubbles/Template/QuickReply.vue | 68 +++++++++++++++++++ .../message/bubbles/Template/Text.vue | 14 ++++ .../stories/Template/CallToAction.story.vue | 21 ++++++ .../message/stories/Template/Card.story.vue | 23 +++++++ .../stories/Template/ListPicker.story.vue | 21 ++++++ .../message/stories/Template/Media.story.vue | 23 +++++++ .../stories/Template/QuickReply.story.vue | 21 ++++++ .../message/stories/Template/Text.story.vue | 20 ++++++ 12 files changed, 317 insertions(+) create mode 100644 app/javascript/dashboard/components-next/message/bubbles/Template/CallToAction.vue create mode 100644 app/javascript/dashboard/components-next/message/bubbles/Template/Card.vue create mode 100644 app/javascript/dashboard/components-next/message/bubbles/Template/ListPicker.vue create mode 100644 app/javascript/dashboard/components-next/message/bubbles/Template/Media.vue create mode 100644 app/javascript/dashboard/components-next/message/bubbles/Template/QuickReply.vue create mode 100644 app/javascript/dashboard/components-next/message/bubbles/Template/Text.vue create mode 100644 app/javascript/dashboard/components-next/message/stories/Template/CallToAction.story.vue create mode 100644 app/javascript/dashboard/components-next/message/stories/Template/Card.story.vue create mode 100644 app/javascript/dashboard/components-next/message/stories/Template/ListPicker.story.vue create mode 100644 app/javascript/dashboard/components-next/message/stories/Template/Media.story.vue create mode 100644 app/javascript/dashboard/components-next/message/stories/Template/QuickReply.story.vue create mode 100644 app/javascript/dashboard/components-next/message/stories/Template/Text.story.vue diff --git a/app/javascript/dashboard/components-next/message/bubbles/Template/CallToAction.vue b/app/javascript/dashboard/components-next/message/bubbles/Template/CallToAction.vue new file mode 100644 index 000000000..ae6f733c8 --- /dev/null +++ b/app/javascript/dashboard/components-next/message/bubbles/Template/CallToAction.vue @@ -0,0 +1,29 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/bubbles/Template/Card.vue b/app/javascript/dashboard/components-next/message/bubbles/Template/Card.vue new file mode 100644 index 000000000..9a4f9f19a --- /dev/null +++ b/app/javascript/dashboard/components-next/message/bubbles/Template/Card.vue @@ -0,0 +1,32 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/bubbles/Template/ListPicker.vue b/app/javascript/dashboard/components-next/message/bubbles/Template/ListPicker.vue new file mode 100644 index 000000000..7d9401b80 --- /dev/null +++ b/app/javascript/dashboard/components-next/message/bubbles/Template/ListPicker.vue @@ -0,0 +1,25 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/bubbles/Template/Media.vue b/app/javascript/dashboard/components-next/message/bubbles/Template/Media.vue new file mode 100644 index 000000000..24340ab90 --- /dev/null +++ b/app/javascript/dashboard/components-next/message/bubbles/Template/Media.vue @@ -0,0 +1,20 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/bubbles/Template/QuickReply.vue b/app/javascript/dashboard/components-next/message/bubbles/Template/QuickReply.vue new file mode 100644 index 000000000..19727578f --- /dev/null +++ b/app/javascript/dashboard/components-next/message/bubbles/Template/QuickReply.vue @@ -0,0 +1,68 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/bubbles/Template/Text.vue b/app/javascript/dashboard/components-next/message/bubbles/Template/Text.vue new file mode 100644 index 000000000..accefcd9e --- /dev/null +++ b/app/javascript/dashboard/components-next/message/bubbles/Template/Text.vue @@ -0,0 +1,14 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/stories/Template/CallToAction.story.vue b/app/javascript/dashboard/components-next/message/stories/Template/CallToAction.story.vue new file mode 100644 index 000000000..1c2b956a3 --- /dev/null +++ b/app/javascript/dashboard/components-next/message/stories/Template/CallToAction.story.vue @@ -0,0 +1,21 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/stories/Template/Card.story.vue b/app/javascript/dashboard/components-next/message/stories/Template/Card.story.vue new file mode 100644 index 000000000..caa594bab --- /dev/null +++ b/app/javascript/dashboard/components-next/message/stories/Template/Card.story.vue @@ -0,0 +1,23 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/stories/Template/ListPicker.story.vue b/app/javascript/dashboard/components-next/message/stories/Template/ListPicker.story.vue new file mode 100644 index 000000000..f1e9dd8b8 --- /dev/null +++ b/app/javascript/dashboard/components-next/message/stories/Template/ListPicker.story.vue @@ -0,0 +1,21 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/stories/Template/Media.story.vue b/app/javascript/dashboard/components-next/message/stories/Template/Media.story.vue new file mode 100644 index 000000000..67d7fc6b8 --- /dev/null +++ b/app/javascript/dashboard/components-next/message/stories/Template/Media.story.vue @@ -0,0 +1,23 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/stories/Template/QuickReply.story.vue b/app/javascript/dashboard/components-next/message/stories/Template/QuickReply.story.vue new file mode 100644 index 000000000..1d670e07c --- /dev/null +++ b/app/javascript/dashboard/components-next/message/stories/Template/QuickReply.story.vue @@ -0,0 +1,21 @@ + + + diff --git a/app/javascript/dashboard/components-next/message/stories/Template/Text.story.vue b/app/javascript/dashboard/components-next/message/stories/Template/Text.story.vue new file mode 100644 index 000000000..cbb6df569 --- /dev/null +++ b/app/javascript/dashboard/components-next/message/stories/Template/Text.story.vue @@ -0,0 +1,20 @@ + + +