From d01f2063d0fdc99cf1a0d8205feb0c81d3e1d54e Mon Sep 17 00:00:00 2001 From: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com> Date: Mon, 22 May 2023 15:15:19 +0530 Subject: [PATCH] feat: Creates component to show articles search results [CW-1451] (#7126) * feat: Creates component to show articles search results * Adds story for the component --- .../dashboard/i18n/locale/en/helpCenter.json | 8 ++ .../components/ArticleSearchResultItem.vue | 130 ++++++++++++++++++ .../ArticleSearchResultItem.stories.js | 56 ++++++++ .../FluentIcon/dashboard-icons.json | 4 + 4 files changed, 198 insertions(+) create mode 100644 app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearchResultItem.vue create mode 100644 app/javascript/dashboard/routes/dashboard/helpcenter/components/stories/ArticleSearchResultItem.stories.js diff --git a/app/javascript/dashboard/i18n/locale/en/helpCenter.json b/app/javascript/dashboard/i18n/locale/en/helpCenter.json index 782945f34..55c406fa9 100644 --- a/app/javascript/dashboard/i18n/locale/en/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/en/helpCenter.json @@ -74,6 +74,14 @@ "DELETE": "Delete article" } }, + "ARTICLE_SEARCH_RESULT": { + "UNCATEGORIZED": "Uncategorized", + "INSERT_ARTICLE": "Insert", + "NO_RESULT": "No articles found", + "COPY_LINK": "Copy article link to clipboard", + "OPEN_LINK": "Open article in new tab", + "PREVIEW_LINK": "Preview article" + }, "PORTAL": { "HEADER": "Portals", "DEFAULT": "Default", diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearchResultItem.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearchResultItem.vue new file mode 100644 index 000000000..06a1ab241 --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/components/ArticleSearchResultItem.vue @@ -0,0 +1,130 @@ + + + + diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/components/stories/ArticleSearchResultItem.stories.js b/app/javascript/dashboard/routes/dashboard/helpcenter/components/stories/ArticleSearchResultItem.stories.js new file mode 100644 index 000000000..c0010c06a --- /dev/null +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/components/stories/ArticleSearchResultItem.stories.js @@ -0,0 +1,56 @@ +import ArticleSearchResultItem from '../ArticleSearchResultItem.vue'; + +export default { + title: 'Components/Help Center/ArticleSearchResultItem', + component: ArticleSearchResultItem, + argTypes: { + title: { + defaultValue: 'Setup your account', + control: { + type: 'text', + }, + }, + body: { + defaultValue: + 'You can integrate your Chatwoot account with multiple conversation channels like website live-chat, email, Facebook page, Twitter handle, WhatsApp, etc. You can view all of your conversations from different channels on one dashboard. This helps in reducing the time and friction involved with switching between multiple tools.', + control: { + type: 'text', + }, + }, + category: { + defaultValue: 'Getting started', + control: { + type: 'text', + }, + }, + locale: { + defaultValue: 'en-US', + control: { + type: 'text', + }, + }, + url: { + defaultValue: '/app/accounts/1/conversations/23842', + control: { + type: 'text', + }, + }, + }, +}; + +const Template = (args, { argTypes }) => ({ + props: Object.keys(argTypes), + components: { ArticleSearchResultItem }, + template: + '', +}); + +export const ArticleSearchResultItemStory = Template.bind({}); +ArticleSearchResultItemStory.args = { + title: 'Setup your account', + body: `You can integrate your Chatwoot account with multiple conversation channels like website live-chat, email, Facebook page, Twitter handle, WhatsApp, etc. You can view all of your conversations from different channels on one dashboard. This helps in reducing the time and friction involved with switching between multiple tools. + +You can manage your conversations and collaborate with your team on the go with Chatwoot mobile apps (available for Android and iOS). + +In this user guide, we’ve explained the features, capabilities, modes of operation, and step-by-step procedures for easily using the Chatwoot platform.`, +}; diff --git a/app/javascript/shared/components/FluentIcon/dashboard-icons.json b/app/javascript/shared/components/FluentIcon/dashboard-icons.json index f19a9e57c..992be124f 100644 --- a/app/javascript/shared/components/FluentIcon/dashboard-icons.json +++ b/app/javascript/shared/components/FluentIcon/dashboard-icons.json @@ -196,6 +196,10 @@ "M5 18C5 17.4477 5.44772 17 6 17H10C10.5523 17 11 17.4477 11 18V21C11 21.5523 10.5523 22 10 22H6C5.44772 22 5 21.5523 5 21V18Z", "M13 18C13 17.4477 13.4477 17 14 17H18C18.5523 17 19 17.4477 19 18V21C19 21.5523 18.5523 22 18 22H14C13.4477 22 13 21.5523 13 21V18Z" ], + "preview-link-outline": [ + "M4.524 6.25a.75.75 0 0 1 .75-.75H18.73a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-.75.75H5.274a.75.75 0 0 1-.75-.75v-3.5Zm1.5.75v2H17.98V7H6.024ZM14.23 11.979a.75.75 0 0 0-.75.75v4.5c0 .414.335.75.75.75h4.5a.75.75 0 0 0 .75-.75v-4.5a.75.75 0 0 0-.75-.75h-4.5Zm.75 4.5v-3h3v3h-3ZM4.524 13.25a.75.75 0 0 1 .75-.75h5.976a.75.75 0 0 1 0 1.5H5.274a.75.75 0 0 1-.75-.75ZM5.274 16a.75.75 0 0 0 0 1.5h5.976a.75.75 0 0 0 0-1.5H5.274Z", + "M2 5.75A2.75 2.75 0 0 1 4.75 3h14.5A2.75 2.75 0 0 1 22 5.75v12.5A2.75 2.75 0 0 1 19.25 21H4.75A2.75 2.75 0 0 1 2 18.25V5.75ZM4.75 4.5c-.69 0-1.25.56-1.25 1.25v12.5c0 .69.56 1.25 1.25 1.25h14.5c.69 0 1.25-.56 1.25-1.25V5.75c0-.69-.56-1.25-1.25-1.25H4.75Z" + ], "priority-urgent-outline": [ "M2.33325 2.91667C2.33325 2.27233 2.85559 1.75 3.49992 1.75C4.14425 1.75 4.66659 2.27233 4.66659 2.91667V8.16667C4.66659 8.811 4.14425 9.33333 3.49992 9.33333C2.85559 9.33333 2.33325 8.811 2.33325 8.16667V2.91667Z", "M2.33325 11.0833C2.33325 10.439 2.85559 9.91667 3.49992 9.91667C4.14425 9.91667 4.66659 10.439 4.66659 11.0833C4.66659 11.7277 4.14425 12.25 3.49992 12.25C2.85559 12.25 2.33325 11.7277 2.33325 11.0833Z",