wineater-bot 1.5.13 → 1.5.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/wineater-chatbot.mjs +48 -48
- package/dist/wineater-chatbot.umd.js +2 -2
- package/package.json +1 -1
- package/src/index.js +1 -1
- package/src/js/analytics.js +1 -1
|
@@ -280,31 +280,31 @@ const f = `
|
|
|
280
280
|
}`, p = document.createElement("style");
|
|
281
281
|
p.textContent = f;
|
|
282
282
|
document.head.appendChild(p);
|
|
283
|
-
function b(
|
|
284
|
-
let
|
|
283
|
+
function b(o, t, e) {
|
|
284
|
+
let n = "";
|
|
285
285
|
if (e) {
|
|
286
286
|
const i = /* @__PURE__ */ new Date();
|
|
287
|
-
i.setTime(i.getTime() + e * 24 * 60 * 60 * 1e3),
|
|
287
|
+
i.setTime(i.getTime() + e * 24 * 60 * 60 * 1e3), n = "; expires=" + i.toUTCString();
|
|
288
288
|
}
|
|
289
|
-
document.cookie =
|
|
289
|
+
document.cookie = o + "=" + (t || "") + n + "; path=/; secure; samesite=strict";
|
|
290
290
|
}
|
|
291
|
-
function r(
|
|
292
|
-
const e = `; ${document.cookie}`.split(`; ${
|
|
291
|
+
function r(o) {
|
|
292
|
+
const e = `; ${document.cookie}`.split(`; ${o}=`);
|
|
293
293
|
if (e.length === 2)
|
|
294
294
|
return e.pop().split(";").shift();
|
|
295
295
|
}
|
|
296
|
-
function d(
|
|
297
|
-
const e = "6f3d90d5b02720f58de3663e3ef675fe",
|
|
298
|
-
event:
|
|
296
|
+
function d(o, t) {
|
|
297
|
+
const e = "6f3d90d5b02720f58de3663e3ef675fe", n = "https://api.mixpanel.com/track", i = [{
|
|
298
|
+
event: o,
|
|
299
299
|
properties: {
|
|
300
300
|
token: e,
|
|
301
301
|
...t
|
|
302
302
|
}
|
|
303
303
|
}];
|
|
304
|
-
fetch(
|
|
304
|
+
fetch(n, {
|
|
305
305
|
method: "POST",
|
|
306
306
|
headers: {
|
|
307
|
-
"
|
|
307
|
+
"content-type": "application/json"
|
|
308
308
|
},
|
|
309
309
|
body: JSON.stringify(i)
|
|
310
310
|
}).then((s) => {
|
|
@@ -319,18 +319,18 @@ function h() {
|
|
|
319
319
|
function g() {
|
|
320
320
|
d("Chatbot Closed", { distinct_id: r("chatbotToken") });
|
|
321
321
|
}
|
|
322
|
-
function y(
|
|
323
|
-
d("Message Sent", { distinct_id: r("chatbotToken"), message_content:
|
|
322
|
+
function y(o) {
|
|
323
|
+
d("Message Sent", { distinct_id: r("chatbotToken"), message_content: o });
|
|
324
324
|
}
|
|
325
|
-
function w(
|
|
326
|
-
d("Message Sent", { distinct_id: r("chatbotToken"), products:
|
|
325
|
+
function w(o) {
|
|
326
|
+
d("Message Sent", { distinct_id: r("chatbotToken"), products: o });
|
|
327
327
|
}
|
|
328
|
-
function x(
|
|
329
|
-
d("Product Clicked", { distinct_id: r("chatbotToken"), product_id:
|
|
328
|
+
function x(o) {
|
|
329
|
+
d("Product Clicked", { distinct_id: r("chatbotToken"), product_id: o });
|
|
330
330
|
}
|
|
331
331
|
function u() {
|
|
332
|
-
const
|
|
333
|
-
|
|
332
|
+
const o = document.getElementById("chat-window"), t = document.getElementById("chat-icon");
|
|
333
|
+
o.classList.contains("visible") ? (g(), o.classList.remove("visible"), t.style.display = "flex") : (h(), o.classList.add("visible"), t.style.display = "none");
|
|
334
334
|
}
|
|
335
335
|
function v() {
|
|
336
336
|
g(), document.getElementById("chat-window").classList.remove("visible");
|
|
@@ -345,7 +345,7 @@ const E = ["climats", "telckel", "biobio", "weinpoint"], I = "OuhXJRleF6sROjsQZP
|
|
|
345
345
|
class m {
|
|
346
346
|
constructor(t) {
|
|
347
347
|
var e;
|
|
348
|
-
this.baseURL = "https://api.wineater.com/", this.store = E.find((
|
|
348
|
+
this.baseURL = "https://api.wineater.com/", this.store = E.find((n) => window.location.href.includes(n)), this.token = ((e = window == null ? void 0 : window.wineaterData) == null ? void 0 : e.CLIENT_TOKEN) || I;
|
|
349
349
|
}
|
|
350
350
|
async getStoreConfig(t) {
|
|
351
351
|
console.log(t);
|
|
@@ -375,10 +375,10 @@ class m {
|
|
|
375
375
|
Authorization: `Bearer ${this.token}`
|
|
376
376
|
},
|
|
377
377
|
body: JSON.stringify({ text: t, store: this.store ? this.store.toString().charAt(0).toUpperCase() + this.store.slice(1) : void 0 })
|
|
378
|
-
}),
|
|
378
|
+
}), n = await e.json();
|
|
379
379
|
if (!e.ok)
|
|
380
|
-
throw new Error(`API call failed with status ${e.status}: ${
|
|
381
|
-
return
|
|
380
|
+
throw new Error(`API call failed with status ${e.status}: ${n.message || "No additional error information"}`);
|
|
381
|
+
return n;
|
|
382
382
|
} catch (e) {
|
|
383
383
|
throw console.error("Fetching wine recommendations failed:", e.message), new Error(`Error in getWineRecommendations: ${e.message}`);
|
|
384
384
|
}
|
|
@@ -465,13 +465,13 @@ class T {
|
|
|
465
465
|
this.api = new m(), this.displayFirstMessage(a.translate("welcomeMessage"));
|
|
466
466
|
}
|
|
467
467
|
initialize() {
|
|
468
|
-
document.getElementById("send-button").addEventListener("click", () => this.handleUserInput()), document.getElementById("user-input").addEventListener("keypress", (
|
|
469
|
-
|
|
468
|
+
document.getElementById("send-button").addEventListener("click", () => this.handleUserInput()), document.getElementById("user-input").addEventListener("keypress", (n) => {
|
|
469
|
+
n.key === "Enter" && this.handleUserInput();
|
|
470
470
|
});
|
|
471
471
|
}
|
|
472
472
|
displayFirstMessage(t, e = "api") {
|
|
473
|
-
const
|
|
474
|
-
i.className = `message ${e}`, i.textContent = t,
|
|
473
|
+
const n = document.getElementById("message-container"), i = document.createElement("div");
|
|
474
|
+
i.className = `message ${e}`, i.textContent = t, n.appendChild(i), n.scrollTop = n.scrollHeight;
|
|
475
475
|
}
|
|
476
476
|
async handleUserInput() {
|
|
477
477
|
const t = document.getElementById("user-input"), e = t.value.trim();
|
|
@@ -479,8 +479,8 @@ class T {
|
|
|
479
479
|
this.displayMessage(e, "user"), t.value = "", this.showTypingIndicator();
|
|
480
480
|
try {
|
|
481
481
|
y(e);
|
|
482
|
-
const
|
|
483
|
-
this.hideTypingIndicator(),
|
|
482
|
+
const n = await this.api.getWineRecommendations(e);
|
|
483
|
+
this.hideTypingIndicator(), n && n.length ? this.displayResults(n) : this.displayMessage("No results found.", "api");
|
|
484
484
|
} catch {
|
|
485
485
|
this.hideTypingIndicator(), this.displayMessage(a.translate("somethingWentWrong"), "api");
|
|
486
486
|
}
|
|
@@ -493,26 +493,26 @@ class T {
|
|
|
493
493
|
document.getElementById("typing-indicator").classList.remove("visible");
|
|
494
494
|
}
|
|
495
495
|
displayMessage(t, e) {
|
|
496
|
-
const
|
|
497
|
-
i.textContent = t, i.className = "message " + e,
|
|
496
|
+
const n = document.getElementById("message-container"), i = document.createElement("div");
|
|
497
|
+
i.textContent = t, i.className = "message " + e, n.appendChild(i), n.scrollTop = n.scrollHeight;
|
|
498
498
|
}
|
|
499
499
|
sendAnalytics(t) {
|
|
500
500
|
x(t);
|
|
501
501
|
}
|
|
502
502
|
displayResults(t) {
|
|
503
503
|
const e = document.getElementById("message-container");
|
|
504
|
-
w(t.map((
|
|
504
|
+
w(t.map((n) => n.Title)), t.forEach((n) => {
|
|
505
505
|
const i = document.createElement("div");
|
|
506
506
|
i.className = "wine-item";
|
|
507
507
|
const s = document.createElement("img");
|
|
508
|
-
s.src =
|
|
508
|
+
s.src = n.Image, i.appendChild(s);
|
|
509
509
|
const c = document.createElement("div");
|
|
510
510
|
c.innerHTML = `
|
|
511
|
-
<strong>${
|
|
512
|
-
${a.translate("price")}: ${
|
|
513
|
-
${a.translate("region")}: ${
|
|
514
|
-
${a.translate("type")}: ${
|
|
515
|
-
<a href="${
|
|
511
|
+
<strong>${n.Title}</strong><br>
|
|
512
|
+
${a.translate("price")}: ${n.Price}<br>
|
|
513
|
+
${a.translate("region")}: ${n.Region}<br>
|
|
514
|
+
${a.translate("type")}: ${n.Type}<br>
|
|
515
|
+
<a href="${n.Url}" onclick="sendAnalytics(${n.Title})" target="_blank">${a.translate("moreInfo")}</a>
|
|
516
516
|
`, i.appendChild(c), e.appendChild(i);
|
|
517
517
|
}), e.scrollTop = e.scrollHeight;
|
|
518
518
|
}
|
|
@@ -522,7 +522,7 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
522
522
|
window.toggleChatWindow = u, window.closeChatWindow = v, window.openChatWindow = k;
|
|
523
523
|
});
|
|
524
524
|
function W() {
|
|
525
|
-
const
|
|
525
|
+
const o = `
|
|
526
526
|
<div id="chatbot-container">
|
|
527
527
|
<div id="chat-icon" onclick="toggleChatWindow()">
|
|
528
528
|
<img src="https://landing-static.s3.eu-central-1.amazonaws.com/images/chat-icon.svg" alt="Chat Icon"> <!-- Update the path to your logo image -->
|
|
@@ -549,30 +549,30 @@ function W() {
|
|
|
549
549
|
</div>
|
|
550
550
|
</div>
|
|
551
551
|
`;
|
|
552
|
-
document.body.insertAdjacentHTML("beforeend",
|
|
552
|
+
document.body.insertAdjacentHTML("beforeend", o);
|
|
553
553
|
}
|
|
554
554
|
function P() {
|
|
555
555
|
document.getElementById("close-btn").addEventListener("click", u);
|
|
556
556
|
}
|
|
557
557
|
function L() {
|
|
558
|
-
window.addEventListener("click", function(
|
|
558
|
+
window.addEventListener("click", function(o) {
|
|
559
559
|
const t = document.getElementById("chat-window"), e = document.getElementById("chat-icon");
|
|
560
|
-
!t.contains(
|
|
560
|
+
!t.contains(o.target) && !e.contains(o.target) && (t.classList.remove("visible"), e.style.display = "flex");
|
|
561
561
|
});
|
|
562
562
|
}
|
|
563
|
-
function S(
|
|
564
|
-
console.log(
|
|
563
|
+
function S(o) {
|
|
564
|
+
console.log(o);
|
|
565
565
|
const t = document.getElementById("chat-icon"), e = document.getElementById("chat-window");
|
|
566
|
-
t.className = "", e.className = "",
|
|
566
|
+
t.className = "", e.className = "", o === "right-center" ? (t.classList.add("chat-icon-right-center"), e.classList.add("right-center-aligned")) : t.classList.add("chat-icon-bottom-right");
|
|
567
567
|
}
|
|
568
568
|
var l;
|
|
569
569
|
if (typeof window < "u") {
|
|
570
|
-
const
|
|
570
|
+
const o = ((l = window.wineaterData) == null ? void 0 : l.POSITION) || "bottom-right";
|
|
571
571
|
window.addEventListener("DOMContentLoaded", async () => {
|
|
572
572
|
var s;
|
|
573
573
|
const e = ["climats", "telckel", "biobio", "weinpoint"].find((c) => window.location.href.includes(c)) || null;
|
|
574
|
-
let
|
|
575
|
-
e && (
|
|
574
|
+
let n;
|
|
575
|
+
e && (n = e.charAt(0).toUpperCase() + e.slice(1)), await a.fetchConfig(n || "Demo"), W(), P(), L(), S(o), b("chatbotToken", ((s = window.wineaterData) == null ? void 0 : s.CLIENT_TOKEN) || B, 365), new T().initialize();
|
|
576
576
|
});
|
|
577
577
|
}
|
|
578
578
|
export {
|
|
@@ -277,7 +277,7 @@
|
|
|
277
277
|
.typing-indicator.visible {
|
|
278
278
|
visibility: visible;
|
|
279
279
|
height: 50px;
|
|
280
|
-
}`,g=document.createElement("style");g.textContent=d,document.head.appendChild(g);function x(o,t,e){let n="";if(e){const i=new Date;i.setTime(i.getTime()+e*24*60*60*1e3),n="; expires="+i.toUTCString()}document.cookie=o+"="+(t||"")+n+"; path=/; secure; samesite=strict"}function c(o){const e=`; ${document.cookie}`.split(`; ${o}=`);if(e.length===2)return e.pop().split(";").shift()}function l(o,t){const e="6f3d90d5b02720f58de3663e3ef675fe",n="https://api.mixpanel.com/track",i=[{event:o,properties:{token:e,...t}}];fetch(n,{method:"POST",headers:{"
|
|
280
|
+
}`,g=document.createElement("style");g.textContent=d,document.head.appendChild(g);function x(o,t,e){let n="";if(e){const i=new Date;i.setTime(i.getTime()+e*24*60*60*1e3),n="; expires="+i.toUTCString()}document.cookie=o+"="+(t||"")+n+"; path=/; secure; samesite=strict"}function c(o){const e=`; ${document.cookie}`.split(`; ${o}=`);if(e.length===2)return e.pop().split(";").shift()}function l(o,t){const e="6f3d90d5b02720f58de3663e3ef675fe",n="https://api.mixpanel.com/track",i=[{event:o,properties:{token:e,...t}}];fetch(n,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(i)}).then(a=>{a.ok||console.error("Mixpanel tracking failed",a)}).catch(a=>{console.error("Mixpanel tracking error",a)})}function u(){l("Chatbot Opened",{distinct_id:c("chatbotToken")})}function m(){l("Chatbot Closed",{distinct_id:c("chatbotToken")})}function v(o){l("Message Sent",{distinct_id:c("chatbotToken"),message_content:o})}function k(o){l("Message Sent",{distinct_id:c("chatbotToken"),products:o})}function E(o){l("Product Clicked",{distinct_id:c("chatbotToken"),product_id:o})}function h(){const o=document.getElementById("chat-window"),t=document.getElementById("chat-icon");o.classList.contains("visible")?(m(),o.classList.remove("visible"),t.style.display="flex"):(u(),o.classList.add("visible"),t.style.display="none")}function f(){m(),document.getElementById("chat-window").classList.remove("visible")}function b(){u(),document.getElementById("chat-window").classList.add("visible")}document.addEventListener("DOMContentLoaded",()=>{setupCloseButton(),setupOutsideClick()});const C=["climats","telckel","biobio","weinpoint"],I="OuhXJRleF6sROjsQZPWx1yqjrL6APeJxmHswqyOBWbgIqtXcht3MDadvI9DtOOoL";class y{constructor(t){var e;this.baseURL="https://api.wineater.com/",this.store=C.find(n=>window.location.href.includes(n)),this.token=((e=window==null?void 0:window.wineaterData)==null?void 0:e.CLIENT_TOKEN)||I}async getStoreConfig(t){console.log(t);try{const e=await fetch(`${this.baseURL}stores/store`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.token}`},body:JSON.stringify({store:t})});if(!e.ok)throw new Error(`HTTP error! Status: ${e.status}`);return await e.json()}catch(e){throw console.error("Error fetching store configuration:",e),e}}async getWineRecommendations(t){console.log(window.location.href);try{const e=await fetch(`${this.baseURL}dish/recommendations`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.token}`},body:JSON.stringify({text:t,store:this.store?this.store.toString().charAt(0).toUpperCase()+this.store.slice(1):void 0})}),n=await e.json();if(!e.ok)throw new Error(`API call failed with status ${e.status}: ${n.message||"No additional error information"}`);return n}catch(e){throw console.error("Fetching wine recommendations failed:",e.message),new Error(`Error in getWineRecommendations: ${e.message}`)}}}class T{constructor(){this.api=new y,this.language="en",this.translations={fr:{welcomeMessage:"Sublimez votre expérience gastronomique. Il vous suffit de donner les détails de votre plat, et obtenez la recommandation de compagnon de vin idéale. Que voulez-vous manger?",noResultsFound:"Aucun résultat trouvé.",somethingWentWrong:"Désolé, quelque chose a mal tourné.",chatButton:"Accorder le vin au dîner",inputPlaceholder:"ex., Salade de thon",sendButton:"Accorder",price:"Prix",region:"Région",type:"Type",moreInfo:"Plus d'infos"},de:{welcomeMessage:"Sublimez votre expérience gastronomique. Il vous suffit de donner les détails de votre plat, et obtenez la recommandation de compagnon de vin idéale. Que voulez-vous manger?",noResultsFound:"Aucun résultat trouvé.",somethingWentWrong:"Désolé, quelque chose a mal tourné.",chatButton:"Accorder le vin au dîner",inputPlaceholder:"ex., Salade de thon",sendButton:"Accorder",price:"Prix",region:"Région",type:"Type",moreInfo:"Plus d'infos"},es:{welcomeMessage:"Mejore su experiencia gastronómica. Solo proporcione los detalles de su plato y obtenga la recomendación de vino ideal. ¿Qué le gustaría comer?",noResultsFound:"No se encontraron resultados.",somethingWentWrong:"Lo sentimos, algo salió mal.",chatButton:"Maridar vino con cena",inputPlaceholder:"ej., Ensalada de atún",sendButton:"Maridar",price:"Precio",region:"Región",type:"Tipo",moreInfo:"Más info"},en:{welcomeMessage:"Enhance your dining experience. Just provide your dish details and get the ideal wine pairing. What would you like to eat?",noResultsFound:"No results found.",somethingWentWrong:"Sorry, something went wrong.",chatButton:"Pair wine with dinner",inputPlaceholder:"e.g., Tuna Salad",sendButton:"Pair",price:"Price",region:"Region",type:"Type",moreInfo:"More info"},de:{welcomeMessage:"Verbessern Sie Ihr kulinarisches Erlebnis. Geben Sie einfach die Details Ihres Gerichts an und erhalten Sie die ideale Weinempfehlung. Was möchten Sie essen?",noResultsFound:"Keine Ergebnisse gefunden.",somethingWentWrong:"Entschuldigung, etwas ist schief gelaufen.",chatButton:"Wein zum Abendessen kombinieren",inputPlaceholder:"z.B., Thunfischsalat",sendButton:"Kombinieren",price:"Preis",region:"Region",type:"Typ",moreInfo:"Mehr Info"}}}async fetchConfig(t="Demo"){if(t){const e=await this.api.getStoreConfig(t);this.language=e.lang}}translate(t){return this.translations[this.language][t]||t}}const s=new T;class W{constructor(){this.api=new y,this.displayFirstMessage(s.translate("welcomeMessage"))}initialize(){document.getElementById("send-button").addEventListener("click",()=>this.handleUserInput()),document.getElementById("user-input").addEventListener("keypress",n=>{n.key==="Enter"&&this.handleUserInput()})}displayFirstMessage(t,e="api"){const n=document.getElementById("message-container"),i=document.createElement("div");i.className=`message ${e}`,i.textContent=t,n.appendChild(i),n.scrollTop=n.scrollHeight}async handleUserInput(){const t=document.getElementById("user-input"),e=t.value.trim();if(e){this.displayMessage(e,"user"),t.value="",this.showTypingIndicator();try{v(e);const n=await this.api.getWineRecommendations(e);this.hideTypingIndicator(),n&&n.length?this.displayResults(n):this.displayMessage("No results found.","api")}catch{this.hideTypingIndicator(),this.displayMessage(s.translate("somethingWentWrong"),"api")}}}showTypingIndicator(){document.getElementById("typing-indicator").classList.add("visible")}hideTypingIndicator(){document.getElementById("typing-indicator").classList.remove("visible")}displayMessage(t,e){const n=document.getElementById("message-container"),i=document.createElement("div");i.textContent=t,i.className="message "+e,n.appendChild(i),n.scrollTop=n.scrollHeight}sendAnalytics(t){E(t)}displayResults(t){const e=document.getElementById("message-container");k(t.map(n=>n.Title)),t.forEach(n=>{const i=document.createElement("div");i.className="wine-item";const a=document.createElement("img");a.src=n.Image,i.appendChild(a);const p=document.createElement("div");p.innerHTML=`
|
|
281
281
|
<strong>${n.Title}</strong><br>
|
|
282
282
|
${s.translate("price")}: ${n.Price}<br>
|
|
283
283
|
${s.translate("region")}: ${n.Region}<br>
|
|
@@ -309,4 +309,4 @@
|
|
|
309
309
|
</div>
|
|
310
310
|
</div>
|
|
311
311
|
</div>
|
|
312
|
-
`;document.body.insertAdjacentHTML("beforeend",o)}function L(){document.getElementById("close-btn").addEventListener("click",h)}function S(){window.addEventListener("click",function(o){const t=document.getElementById("chat-window"),e=document.getElementById("chat-icon");!t.contains(o.target)&&!e.contains(o.target)&&(t.classList.remove("visible"),e.style.display="flex")})}function O(o){console.log(o);const t=document.getElementById("chat-icon"),e=document.getElementById("chat-window");t.className="",e.className="",o==="right-center"?(t.classList.add("chat-icon-right-center"),e.classList.add("right-center-aligned")):t.classList.add("chat-icon-bottom-right")}if(typeof window<"u"){const o=((w=window.wineaterData)==null?void 0:w.POSITION)||"bottom-right";window.addEventListener("DOMContentLoaded",async()=>{var a;const e=["climats","telckel","biobio","weinpoint"].find(p=>window.location.href.includes(p))||null;let n;e&&(n=e.charAt(0).toUpperCase()+e.slice(1)),await s.fetchConfig(n||
|
|
312
|
+
`;document.body.insertAdjacentHTML("beforeend",o)}function L(){document.getElementById("close-btn").addEventListener("click",h)}function S(){window.addEventListener("click",function(o){const t=document.getElementById("chat-window"),e=document.getElementById("chat-icon");!t.contains(o.target)&&!e.contains(o.target)&&(t.classList.remove("visible"),e.style.display="flex")})}function O(o){console.log(o);const t=document.getElementById("chat-icon"),e=document.getElementById("chat-window");t.className="",e.className="",o==="right-center"?(t.classList.add("chat-icon-right-center"),e.classList.add("right-center-aligned")):t.classList.add("chat-icon-bottom-right")}if(typeof window<"u"){const o=((w=window.wineaterData)==null?void 0:w.POSITION)||"bottom-right";window.addEventListener("DOMContentLoaded",async()=>{var a;const e=["climats","telckel","biobio","weinpoint"].find(p=>window.location.href.includes(p))||null;let n;e&&(n=e.charAt(0).toUpperCase()+e.slice(1)),await s.fetchConfig(n||"Demo"),P(),L(),S(),O(o),x("chatbotToken",((a=window.wineaterData)==null?void 0:a.CLIENT_TOKEN)||B,365),new W().initialize()})}r.closeChatWindow=f,r.openChatWindow=b,r.toggleChatWindow=h,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -103,7 +103,7 @@ if (typeof window !== 'undefined') {
|
|
|
103
103
|
if (store) {
|
|
104
104
|
capitalizeStore = store.charAt(0).toUpperCase() + store.slice(1)
|
|
105
105
|
}
|
|
106
|
-
await translator.fetchConfig(capitalizeStore ||
|
|
106
|
+
await translator.fetchConfig(capitalizeStore || 'Demo');
|
|
107
107
|
createChatbotUI(); // Create the UI
|
|
108
108
|
setupCloseButton();
|
|
109
109
|
setupOutsideClick();
|
package/src/js/analytics.js
CHANGED