diff --git a/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue b/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue
index b99f08a29..69f5eca56 100644
--- a/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue
+++ b/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalBaseSettings.vue
@@ -12,8 +12,7 @@ import { isValidSlug } from 'shared/helpers/Validators';
import Button from 'dashboard/components-next/button/Button.vue';
import Input from 'dashboard/components-next/input/Input.vue';
-import Avatar from 'dashboard/components-next/avatar/Avatar.vue';
-import ComboBox from 'dashboard/components-next/combobox/ComboBox.vue';
+import PortalAvatar from 'dashboard/components-next/HelpCenter/PortalAvatar.vue';
import ColorPicker from 'dashboard/components-next/colorpicker/ColorPicker.vue';
const props = defineProps({
@@ -42,31 +41,12 @@ const state = reactive({
slug: '',
widgetColor: '',
homePageLink: '',
- liveChatWidgetInboxId: '',
logoUrl: '',
avatarBlobId: '',
});
const originalState = reactive({ ...state });
-const liveChatWidgets = computed(() => {
- const inboxes = store.getters['inboxes/getInboxes'];
- const widgetOptions = inboxes
- .filter(inbox => inbox.channel_type === 'Channel::WebWidget')
- .map(inbox => ({
- value: inbox.id,
- label: inbox.name,
- }));
-
- return [
- {
- value: '',
- label: t('HELP_CENTER.PORTAL_SETTINGS.FORM.LIVE_CHAT_WIDGET.NONE_OPTION'),
- },
- ...widgetOptions,
- ];
-});
-
const rules = {
name: { required, minLength: minLength(2) },
slug: {
@@ -116,7 +96,6 @@ watch(
widgetColor: newVal.color,
homePageLink: newVal.homepage_link,
slug: newVal.slug,
- liveChatWidgetInboxId: newVal.inbox?.id || '',
});
if (newVal.logo) {
const {
@@ -148,7 +127,6 @@ const handleUpdatePortal = () => {
header_text: state.headerText,
homepage_link: state.homePageLink,
blob_id: state.avatarBlobId,
- inbox_id: state.liveChatWidgetInboxId,
};
emit('updatePortal', portal);
};
@@ -204,12 +182,11 @@ const handleAvatarDelete = () => {
-
@@ -303,26 +280,6 @@ const handleAvatarDelete = () => {
@blur="v$.slug.$touch()"
/>
diff --git a/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalConfigurationSettings.vue b/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalConfigurationSettings.vue
index 46d9492d4..cf8d6eb55 100644
--- a/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalConfigurationSettings.vue
+++ b/app/javascript/dashboard/components-next/HelpCenter/Pages/PortalSettingsPage/PortalConfigurationSettings.vue
@@ -1,5 +1,5 @@
-
+
{
>
-
-
-
-
-
-
-
-
-
-
- {{
- t(
- 'HELP_CENTER.PORTAL_SETTINGS.CONFIGURATION_FORM.DELETE_PORTAL.HEADER'
- )
- }}
-
-
- {{
- t(
- 'HELP_CENTER.PORTAL_SETTINGS.CONFIGURATION_FORM.DELETE_PORTAL.DESCRIPTION'
- )
- }}
-
-
-
-
diff --git a/app/javascript/dashboard/components-next/HelpCenter/PortalAvatar.vue b/app/javascript/dashboard/components-next/HelpCenter/PortalAvatar.vue
new file mode 100644
index 000000000..d07d4d282
--- /dev/null
+++ b/app/javascript/dashboard/components-next/HelpCenter/PortalAvatar.vue
@@ -0,0 +1,27 @@
+
+
+
+
+
diff --git a/app/javascript/dashboard/components-next/HelpCenter/PortalSwitcher/PortalSwitcher.vue b/app/javascript/dashboard/components-next/HelpCenter/PortalSwitcher/PortalSwitcher.vue
index b4d1fe263..a2499f0fa 100644
--- a/app/javascript/dashboard/components-next/HelpCenter/PortalSwitcher/PortalSwitcher.vue
+++ b/app/javascript/dashboard/components-next/HelpCenter/PortalSwitcher/PortalSwitcher.vue
@@ -6,7 +6,7 @@ import { useMapGetter, useStore } from 'dashboard/composables/store.js';
import { buildPortalURL } from 'dashboard/helper/portalHelper';
import Button from 'dashboard/components-next/button/Button.vue';
-import Avatar from 'dashboard/components-next/avatar/Avatar.vue';
+import PortalAvatar from 'dashboard/components-next/HelpCenter/PortalAvatar.vue';
const emit = defineEmits(['close', 'createPortal']);
@@ -151,13 +151,11 @@ const redirectToPortalHomePage = () => {
{{ portal.name || '' }}
-
diff --git a/app/javascript/dashboard/i18n/locale/en/helpCenter.json b/app/javascript/dashboard/i18n/locale/en/helpCenter.json
index 758bb1dca..d17e4e12c 100644
--- a/app/javascript/dashboard/i18n/locale/en/helpCenter.json
+++ b/app/javascript/dashboard/i18n/locale/en/helpCenter.json
@@ -404,6 +404,12 @@
"PLACEHOLDER": "Search for articles"
}
},
+ "BREADCRUMB": {
+ "ARTICLES": "Articles",
+ "CATEGORIES": "Categories",
+ "LOCALES": "Locales",
+ "SETTINGS": "Settings"
+ },
"CATEGORY": {
"ADD": {
"TITLE": "Create a category",
@@ -806,12 +812,6 @@
"LABEL": "Slug",
"PLACEHOLDER": "Portal slug"
},
- "LIVE_CHAT_WIDGET": {
- "LABEL": "Live chat widget",
- "PLACEHOLDER": "Select live chat widget",
- "HELP_TEXT": "Select a live chat widget that will appear on your help center",
- "NONE_OPTION": "No widget"
- },
"BRAND_COLOR": {
"LABEL": "Brand color"
},
@@ -888,6 +888,30 @@
},
"SAVE": "Save changes"
},
+ "INTEGRATIONS": {
+ "HEADER": "Integrations",
+ "DESCRIPTION": "Connect tools that extend what your help center can do.",
+ "LIVE_CHAT": {
+ "TITLE": "Live chat with Chatwoot",
+ "DESCRIPTION": "Show a live chat widget on your help center so visitors can reach you while they read.",
+ "PLACEHOLDER": "Select live chat widget",
+ "NONE_OPTION": "No widget"
+ },
+ "GTM": {
+ "TITLE": "Google Tag Manager",
+ "DESCRIPTION": "Add analytics and marketing tags, like Google Analytics, by connecting your Tag Manager container.",
+ "PLACEHOLDER": "GTM-XXXXXXX",
+ "HELP": "Find this in your Google Tag Manager workspace. Leave empty to disable.",
+ "INVALID": "Enter a valid container ID, for example GTM-XXXXXXX."
+ },
+ "SAVE": "Save changes"
+ },
+ "NAV": {
+ "GENERAL": "General",
+ "DOMAIN": "Domain",
+ "APPEARANCE": "Appearance",
+ "INTEGRATIONS": "Integrations"
+ },
"API": {
"CREATE_PORTAL": {
"SUCCESS_MESSAGE": "Portal created successfully",