chore: add console logs
This commit is contained in:
@@ -19,34 +19,45 @@ import { setCookieWithDomain } from '../sdk/cookieHelpers';
|
||||
import { SDK_SET_BUBBLE_VISIBILITY } from 'shared/constants/sharedFrameEvents';
|
||||
|
||||
const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
console.log('runSDK called with:', { baseUrl, websiteToken });
|
||||
|
||||
if (window.$chatwoot) {
|
||||
console.log('Chatwoot already initialized.');
|
||||
return;
|
||||
}
|
||||
|
||||
if (window.Turbo) {
|
||||
// if this is a Rails Turbo app
|
||||
document.addEventListener('turbo:before-render', event =>
|
||||
restoreWidgetInDOM(event.detail.newBody)
|
||||
);
|
||||
console.log('Turbo detected.');
|
||||
document.addEventListener('turbo:before-render', event => {
|
||||
console.log('Turbo before render triggered.');
|
||||
restoreWidgetInDOM(event.detail.newBody);
|
||||
});
|
||||
}
|
||||
|
||||
if (window.Turbolinks) {
|
||||
console.log('Turbolinks detected.');
|
||||
document.addEventListener('turbolinks:before-render', event => {
|
||||
console.log('Turbolinks before render triggered.');
|
||||
restoreWidgetInDOM(event.data.newBody);
|
||||
});
|
||||
}
|
||||
|
||||
// if this is an astro app
|
||||
document.addEventListener('astro:before-swap', event =>
|
||||
restoreWidgetInDOM(event.newDocument.body)
|
||||
);
|
||||
console.log('Checking for Astro app...');
|
||||
document.addEventListener('astro:before-swap', event => {
|
||||
console.log('Astro before swap triggered.');
|
||||
restoreWidgetInDOM(event.newDocument.body);
|
||||
});
|
||||
|
||||
const chatwootSettings = window.chatwootSettings || {};
|
||||
console.log('Chatwoot settings:', chatwootSettings);
|
||||
|
||||
let locale = chatwootSettings.locale;
|
||||
let baseDomain = chatwootSettings.baseDomain;
|
||||
console.log('Initial locale and baseDomain:', { locale, baseDomain });
|
||||
|
||||
if (chatwootSettings.useBrowserLanguage) {
|
||||
locale = window.navigator.language.replace('-', '_');
|
||||
console.log('Using browser language:', locale);
|
||||
}
|
||||
|
||||
window.$chatwoot = {
|
||||
@@ -68,10 +79,12 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
darkMode: getDarkMode(chatwootSettings.darkMode),
|
||||
|
||||
toggle(state) {
|
||||
console.log('Toggling bubble state:', state);
|
||||
IFrameHelper.events.toggleBubble(state);
|
||||
},
|
||||
|
||||
toggleBubbleVisibility(visibility) {
|
||||
console.log('Toggling bubble visibility:', visibility);
|
||||
let widgetElm = document.querySelector('.woot--bubble-holder');
|
||||
let widgetHolder = document.querySelector('.woot-widget-holder');
|
||||
if (visibility === 'hide') {
|
||||
@@ -89,6 +102,7 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
},
|
||||
|
||||
popoutChatWindow() {
|
||||
console.log('Popout chat window triggered.');
|
||||
IFrameHelper.events.popoutChatWindow({
|
||||
baseUrl: window.$chatwoot.baseUrl,
|
||||
websiteToken: window.$chatwoot.websiteToken,
|
||||
@@ -97,11 +111,14 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
},
|
||||
|
||||
setUser(identifier, user) {
|
||||
console.log('Setting user:', { identifier, user });
|
||||
if (typeof identifier !== 'string' && typeof identifier !== 'number') {
|
||||
console.error('Invalid identifier type:', identifier);
|
||||
throw new Error('Identifier should be a string or a number');
|
||||
}
|
||||
|
||||
if (!hasUserKeys(user)) {
|
||||
console.error('User object is missing required keys:', user);
|
||||
throw new Error(
|
||||
'User object should have one of the keys [avatar_url, email, name]'
|
||||
);
|
||||
@@ -110,7 +127,13 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
const userCookieName = getUserCookieName();
|
||||
const existingCookieValue = Cookies.get(userCookieName);
|
||||
const hashToBeStored = computeHashForUserData({ identifier, user });
|
||||
console.log('User cookie name and hash:', {
|
||||
userCookieName,
|
||||
hashToBeStored,
|
||||
});
|
||||
|
||||
if (hashToBeStored === existingCookieValue) {
|
||||
console.log('User hash matches existing cookie. No update needed.');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -124,15 +147,19 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
},
|
||||
|
||||
setCustomAttributes(customAttributes = {}) {
|
||||
console.log('Setting custom attributes:', customAttributes);
|
||||
if (!customAttributes || !Object.keys(customAttributes).length) {
|
||||
throw new Error('Custom attributes should have atleast one key');
|
||||
console.error('Invalid custom attributes:', customAttributes);
|
||||
throw new Error('Custom attributes should have at least one key');
|
||||
} else {
|
||||
IFrameHelper.sendMessage('set-custom-attributes', { customAttributes });
|
||||
}
|
||||
},
|
||||
|
||||
deleteCustomAttribute(customAttribute = '') {
|
||||
console.log('Deleting custom attribute:', customAttribute);
|
||||
if (!customAttribute) {
|
||||
console.error('Custom attribute is missing.');
|
||||
throw new Error('Custom attribute is required');
|
||||
} else {
|
||||
IFrameHelper.sendMessage('delete-custom-attribute', {
|
||||
@@ -142,8 +169,13 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
},
|
||||
|
||||
setConversationCustomAttributes(customAttributes = {}) {
|
||||
console.log('Setting conversation custom attributes:', customAttributes);
|
||||
if (!customAttributes || !Object.keys(customAttributes).length) {
|
||||
throw new Error('Custom attributes should have atleast one key');
|
||||
console.error(
|
||||
'Invalid conversation custom attributes:',
|
||||
customAttributes
|
||||
);
|
||||
throw new Error('Custom attributes should have at least one key');
|
||||
} else {
|
||||
IFrameHelper.sendMessage('set-conversation-custom-attributes', {
|
||||
customAttributes,
|
||||
@@ -152,7 +184,9 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
},
|
||||
|
||||
deleteConversationCustomAttribute(customAttribute = '') {
|
||||
console.log('Deleting conversation custom attribute:', customAttribute);
|
||||
if (!customAttribute) {
|
||||
console.error('Conversation custom attribute is missing.');
|
||||
throw new Error('Custom attribute is required');
|
||||
} else {
|
||||
IFrameHelper.sendMessage('delete-conversation-custom-attribute', {
|
||||
@@ -162,24 +196,29 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
},
|
||||
|
||||
setLabel(label = '') {
|
||||
console.log('Setting label:', label);
|
||||
IFrameHelper.sendMessage('set-label', { label });
|
||||
},
|
||||
|
||||
removeLabel(label = '') {
|
||||
console.log('Removing label:', label);
|
||||
IFrameHelper.sendMessage('remove-label', { label });
|
||||
},
|
||||
|
||||
setLocale(localeToBeUsed = 'en') {
|
||||
console.log('Setting locale:', localeToBeUsed);
|
||||
IFrameHelper.sendMessage('set-locale', { locale: localeToBeUsed });
|
||||
},
|
||||
|
||||
setColorScheme(darkMode = 'light') {
|
||||
console.log('Setting color scheme to:', darkMode);
|
||||
IFrameHelper.sendMessage('set-color-scheme', {
|
||||
darkMode: getDarkMode(darkMode),
|
||||
});
|
||||
},
|
||||
|
||||
reset() {
|
||||
console.log('Resetting Chatwoot.');
|
||||
if (window.$chatwoot.isOpen) {
|
||||
IFrameHelper.events.toggleBubble();
|
||||
}
|
||||
@@ -188,6 +227,7 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
Cookies.remove(getUserCookieName());
|
||||
|
||||
const iframe = IFrameHelper.getAppFrame();
|
||||
console.log('Reloading iframe with new URL.');
|
||||
iframe.src = IFrameHelper.getUrl({
|
||||
baseUrl: window.$chatwoot.baseUrl,
|
||||
websiteToken: window.$chatwoot.websiteToken,
|
||||
@@ -197,6 +237,7 @@ const runSDK = ({ baseUrl, websiteToken }) => {
|
||||
},
|
||||
};
|
||||
|
||||
console.log('Creating iframe for Chatwoot...');
|
||||
IFrameHelper.createFrame({
|
||||
baseUrl,
|
||||
websiteToken,
|
||||
|
||||
Reference in New Issue
Block a user