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 @@
-
+
@@ -24,7 +24,7 @@
/>