diff --git a/app/javascript/dashboard/i18n/locale/en/helpCenter.json b/app/javascript/dashboard/i18n/locale/en/helpCenter.json index e7bb8c4ee..3188200a2 100644 --- a/app/javascript/dashboard/i18n/locale/en/helpCenter.json +++ b/app/javascript/dashboard/i18n/locale/en/helpCenter.json @@ -4,7 +4,18 @@ "FILTER": "Filter by", "SORT": "Sort by", "SETTINGS_BUTTON": "Settings", - "NEW_BUTTON": "New Article" + "NEW_BUTTON": "New Article", + "DROPDOWN_OPTIONS": { + "PUBLISHED": "Published", + "DRAFT": "Draft", + "ARCHIVED": "Archived" + }, + "TITLES": { + "ALL_ARTICLES": "All Articles", + "MINE": "My Articles", + "DRAFT": "Draft Articles", + "ARCHIVED": "Archived Articles" + } }, "EDIT_HEADER": { "PUBLISH_BUTTON": "Publish", @@ -27,11 +38,59 @@ "CANCEL_BUTTON_LABEL": "Cancel", "CHOOSE_LOCALE_BUTTON": "Choose Locale" } - } - }, - "TABLE": { - "COLUMNS": { - "BY": "by" + }, + "TABLE": { + "LOADING_MESSAGE": "Loading articles...", + "404": "No articles matches your search 🔍", + "NO_ARTICLES": "There are no available articles", + "HEADERS": { + "TITLE": "Title", + "CATEGORY": "Category", + "READ_COUNT": "Read count", + "STATUS": "Status", + "LAST_EDITED": "Last edited" + }, + "COLUMNS": { + "BY": "by" + } + }, + "EDIT_ARTICLE": { + "TITLE_PLACEHOLDER": "Article title goes here", + "CONTENT_PLACEHOLDER": "Write your article here" + }, + "SIDEBAR": { + "SEARCH": { + "PLACEHOLDER": "Search for articles" + } + }, + "CATEGORY": { + "ADD": { + "TITLE": "Create a category", + "SUB_TITLE": "The category will be used in the public facing portal to categorize articles.", + "PORTAL": "Portal", + "LOCALE": "Locale", + "NAME": { + "LABEL": "Name", + "PLACEHOLDER": "Category name", + "HELP_TEXT": "The category name will be used in the public facing portal to categorize articles.", + "ERROR": "Name is required" + }, + "SLUG": { + "LABEL": "Slug", + "PLACEHOLDER": "Category slug for urls", + "HELP_TEXT": "app.chatwoot.com/portal/my-portal/en-US/categories/my-slug", + "ERROR": "Slug is required" + }, + "DESCRIPTION": { + "LABEL": "Description", + "PLACEHOLDER": "Give a short description about the category.", + "ERROR": "Description is required" + }, + "BUTTONS": { + "CREATE": "Create category", + "CANCEL": "Cancel" + } + } } } } diff --git a/app/javascript/dashboard/components/helpCenter/Header/ArticleHeader.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/ArticleHeader.vue similarity index 100% rename from app/javascript/dashboard/components/helpCenter/Header/ArticleHeader.vue rename to app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/ArticleHeader.vue diff --git a/app/javascript/dashboard/components/helpCenter/Header/EditArticleHeader.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/EditArticleHeader.vue similarity index 100% rename from app/javascript/dashboard/components/helpCenter/Header/EditArticleHeader.vue rename to app/javascript/dashboard/routes/dashboard/helpcenter/components/Header/EditArticleHeader.vue diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/components/HelpCenterLayout.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/components/HelpCenterLayout.vue index 99ef53fcb..3bc51afbe 100644 --- a/app/javascript/dashboard/routes/dashboard/helpcenter/components/HelpCenterLayout.vue +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/components/HelpCenterLayout.vue @@ -12,6 +12,7 @@ sub-title="English" :accessible-menu-items="accessibleMenuItems" :additional-secondary-menu-items="additionalSecondaryMenuItems" + @open-popover="openPortalPopover" />
@@ -26,6 +27,11 @@ v-if="showNotificationPanel" @close="closeNotificationPanel" /> +
@@ -34,7 +40,8 @@ import { mapGetters } from 'vuex'; import { frontendURL } from '../../../../helper/URLHelper'; import Sidebar from 'dashboard/components/layout/Sidebar'; -import HelpCenterSidebar from 'dashboard/components/helpCenter/Sidebar/Sidebar'; +import PortalPopover from 'dashboard/routes/dashboard/helpcenter/components/PortalPopover'; +import HelpCenterSidebar from 'dashboard/routes/dashboard/helpcenter/components/Sidebar/Sidebar'; import CommandBar from 'dashboard/routes/dashboard/commands/commandbar.vue'; import WootKeyShortcutModal from 'dashboard/components/widgets/modal/WootKeyShortcutModal'; import NotificationPanel from 'dashboard/routes/dashboard/notifications/components/NotificationPanel.vue'; @@ -46,11 +53,13 @@ export default { CommandBar, WootKeyShortcutModal, NotificationPanel, + PortalPopover, }, data() { return { showShortcutModal: false, showNotificationPanel: false, + showPortalPopover: false, }; }, computed: { @@ -171,6 +180,136 @@ export default { }, ]; }, + portals() { + return [ + { + name: 'Chatwoot Help Center', + id: 1, + color: null, + custom_domain: 'doc', + articles_count: 123, + header_text: null, + homepage_link: null, + page_title: null, + slug: 'first_portal', + archived: false, + config: { + allowed_locales: [ + { + code: 'en', + name: 'English', + articles_count: 123, + }, + { + code: 'fr', + name: 'Français', + articles_count: 123, + }, + { + code: 'de', + name: 'Deutsch', + articles_count: 32, + }, + { + code: 'es', + name: 'Español', + articles_count: 12, + }, + { + code: 'it', + name: 'Italiano', + articles_count: 8, + }, + ], + }, + locales: [ + { + name: 'English', + code: 'en', + articles_count: 12, + }, + { + name: 'Español', + code: 'es', + articles_count: 42, + }, + { + name: 'French', + code: 'fr', + articles_count: 29, + }, + { + name: 'Italian', + code: 'it', + articles_count: 4, + }, + { + name: 'German', + code: 'de', + articles_count: 66, + }, + ], + }, + { + name: 'Chatwoot Docs', + id: 2, + color: null, + custom_domain: 'doc', + articles_count: 124, + header_text: null, + homepage_link: null, + page_title: null, + slug: 'second_portal', + archived: false, + config: { + allowed_locales: [ + { + code: 'en', + name: 'English', + articles_count: 123, + }, + { + code: 'fr', + name: 'Français', + articles_count: 123, + }, + { + code: 'de', + name: 'Deutsch', + articles_count: 32, + }, + { + code: 'es', + name: 'Español', + articles_count: 12, + }, + { + code: 'it', + name: 'Italiano', + articles_count: 8, + }, + ], + }, + locales: [ + { + name: 'English', + code: 'en', + articles_count: 12, + }, + { + name: 'Japanese', + code: 'jp', + articles_count: 4, + }, + { + name: 'Mandarin', + code: 'CH', + articles_count: 6, + }, + ], + }, + ]; + }, currentRoute() { return ' '; }, @@ -188,6 +327,12 @@ export default { closeNotificationPanel() { this.showNotificationPanel = false; }, + openPortalPopover() { + this.showPortalPopover = !this.showPortalPopover; + }, + closePortalPopover() { + this.showPortalPopover = false; + }, }, }; diff --git a/app/javascript/dashboard/routes/dashboard/helpcenter/components/PortalPopover.vue b/app/javascript/dashboard/routes/dashboard/helpcenter/components/PortalPopover.vue index c563fad95..c424eb5de 100644 --- a/app/javascript/dashboard/routes/dashboard/helpcenter/components/PortalPopover.vue +++ b/app/javascript/dashboard/routes/dashboard/helpcenter/components/PortalPopover.vue @@ -1,5 +1,5 @@