wineater-bot 4.0.0-beta.5 → 4.0.0-beta.6
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.
|
@@ -8741,7 +8741,7 @@ ${JSON.stringify(o, null, 2)}
|
|
|
8741
8741
|
}
|
|
8742
8742
|
function Zf(t) {
|
|
8743
8743
|
return {
|
|
8744
|
-
id: t.id,
|
|
8744
|
+
id: String(t.id),
|
|
8745
8745
|
lang: t.lang,
|
|
8746
8746
|
available_languages: t.available_languages ? t.available_languages : [t.lang],
|
|
8747
8747
|
open_ai_key: t.open_ai_key ?? null,
|
|
@@ -41,4 +41,4 @@ Output:
|
|
|
41
41
|
|
|
42
42
|
Now translate the following input:
|
|
43
43
|
${JSON.stringify(o,null,2)}
|
|
44
|
-
`,c=JSON.stringify({model:"gpt-3.5-turbo",messages:[{role:"system",content:"You are a professional translator."},{role:"user",content:a}],temperature:.2,max_tokens:1e3});try{const p=await(await fetch(i,{method:"POST",headers:r,body:c})).json(),m=(f=(h=(l=(u=p==null?void 0:p.choices)==null?void 0:u[0])==null?void 0:l.message)==null?void 0:h.content)==null?void 0:f.trim();if(!m)throw new Error("No response from OpenAI");const _=JSON.parse(m),C={};return _.forEach(T=>{T.key&&T.text!==void 0&&(C[T.key]=T.text)}),{...s,...C}}catch(d){return console.error("Error translating texts:",d),s}}function Bf(t){return{id:t.id,lang:t.lang,available_languages:t.available_languages?t.available_languages:[t.lang],open_ai_key:t.open_ai_key??null,currency:t.currency,title:t.title}}let ge=dt({storeConfig:null,currentLanguage:"en",isConfigLoaded:!1});const ke={getLanguageFromURL(){return new URLSearchParams(window.location.search).get("lang")},getAppLanguage(){return(ge==null?void 0:ge.currentLanguage)??"en"},getStoreLanguage(){var t;return((t=ge.storeConfig)==null?void 0:t.lang)??null},getApiKey(){var t;return((t=ge.storeConfig)==null?void 0:t.open_ai_key)??null},getStoreId(){var t;return((t=ge.storeConfig)==null?void 0:t.id)??null},setStoreLanguage(t){if(ge.storeConfig&&ge.storeConfig.available_languages.includes(t)){ge.currentLanguage=t;const e=new URLSearchParams(window.location.search);e.set("lang",t);const s=`${window.location.pathname}?${e.toString()}`;window.history.replaceState({},"",s)}else throw new Error(`Language ${t} is not available in store configuration.`)},getSupportedLanguages(){var t;return((t=ge.storeConfig)==null?void 0:t.available_languages)??["en"]},getCurrency(){var t;return((t=ge.storeConfig)==null?void 0:t.currency)??"USD"},async initializeStore(){try{const t=await nr.getStoreConfig();ge.storeConfig=Bf(t),ge.currentLanguage=ge.storeConfig.lang;const e=this.getLanguageFromURL();e&&ge.storeConfig.available_languages.includes(e)?this.setStoreLanguage(e):this.setStoreLanguage(ge.storeConfig.lang),ge.isConfigLoaded=!0}catch(t){console.error("Failed to initialize store:",t),ge.isConfigLoaded=!1}},isInitialized(){return ge.isConfigLoaded}};var Ff=X('<h1 class="wine-widget-big-title svelte-oiwvqb"> </h1>'),jf=X('<h1 class="wine-widget-big-title svelte-oiwvqb"> <span class="icon icon-meal svelte-oiwvqb"></span> <span class="icon-label svelte-oiwvqb"> </span>, <span class="icon icon-mood svelte-oiwvqb"></span> <span class="icon-label svelte-oiwvqb"> </span> <br/> <span class="icon icon-occasion svelte-oiwvqb"></span> <span class="icon-label svelte-oiwvqb"> </span> </h1>'),zf=X('<div id="wine-widget-header" class="svelte-oiwvqb"><!></div>');function Uf(t,e){var c;Lt(e,!0);let s=pe(()=>ke.getAppLanguage());const n=((c=window==null?void 0:window.wineaterData)==null?void 0:c.TITLE_TEXT)||null;var i=zf(),r=L(i);{var o=u=>{var l=Ff(),h=L(l);te(()=>Z(h,n)),W(u,l)},a=u=>{var l=jf(),h=L(l),f=Y(h,3),d=L(f),p=Y(f,4),m=L(p),_=Y(p,3),C=Y(_,3),T=L(C),y=Y(C);te((g,v,I,x,S,k)=>{Z(h,`${g??""} `),Z(d,v),Z(m,I),Z(_,` ${x??""} `),Z(T,S),Z(y,` ${k??""}`)},[()=>_e({key:"headerLine1",lang:w(s)}),()=>_e({key:"headerMeal",lang:w(s)}),()=>_e({key:"headerMood",lang:w(s)}),()=>_e({key:"headerOr",lang:w(s)}),()=>_e({key:"headerOccasion",lang:w(s)}),()=>_e({key:"headerLine2",lang:w(s)})]),W(u,l)};ie(r,u=>{n?u(o):u(a,!1)})}W(t,i),Bt()}function Wf(t,e,s){const i=t.target.value;$e(it.LANGUAGE_CHANGED,w(e),{from_language:w(s),to_language:i}),ke.setStoreLanguage(i)}var Hf=X("<option> </option>"),qf=X('<select id="language-dropdown" class="language-dropdown svelte-1sr6y3t"></select>'),Vf=X('<div id="powered-by-widget" class="svelte-1sr6y3t"><div class="powered-by-center svelte-1sr6y3t"><a href="https://wineater.com" target="_blank" class="svelte-1sr6y3t"><span> </span> <img alt="Wineater Logo" class="svelte-1sr6y3t"/> <span class="powered-by-sommelier svelte-1sr6y3t"> </span></a></div> <div class="powered-by-lang svelte-1sr6y3t"><!></div></div>');function Gf(t,e){Lt(e,!0);let s=lo(e,"countryCode",3,null),n=pe(()=>ke.getAppLanguage()),i=pe(()=>ke.getSupportedLanguages()),r=pe(()=>ke.getStoreId());var o=Vf(),a=L(o),c=L(a),u=L(c),l=L(u),h=Y(u,2),f=Y(h,2),d=L(f),p=Y(a,2),m=L(p);{var _=C=>{var T=qf();T.__change=[Wf,r,n],Us(T,21,()=>w(i),zs,(g,v)=>{var I=Hf(),x=L(I),S={};te(k=>{fc(I,w(v)===w(n)),Z(x,k),S!==(S=w(v))&&(I.value=(I.__value=w(v))??"")},[()=>w(v).toUpperCase()]),W(g,I)});var y;cc(T),te(()=>{y!==(y=w(n))&&(T.value=(T.__value=w(n))??"",io(T,w(n)))}),W(C,T)};ie(m,C=>{w(i).length>1&&C(_)})}te((C,T)=>{Z(l,C),hn(h,"src",s()==="ru"?"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/divino_logo.svg?x=5":"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/logo_medium_gray.svg"),Z(d,T)},[()=>_e({key:"poweredBy",lang:w(n)}),()=>_e({key:"ai_sommelier",lang:w(n)})]),W(t,o),Bt()}ci(["change"]);var Kf=X('<form id="wine-widget-search" class="svelte-1wah7ro"><span class="search-icon svelte-1wah7ro"></span> <input id="wine-search-input" type="text" class="svelte-1wah7ro"/> <button id="wine-search-button" type="submit" class="svelte-1wah7ro"> </button></form>');function Xf(t,e){Lt(e,!0);let s=lo(e,"searchQuery",15),n,i=oe(!1),r=oe(0),o=oe(0),a=oe(!0),c=oe(!1),u=pe(()=>ke.getAppLanguage()),l=0;function h(){return n}function f(){const v=++l,I=_e({key:"placeholderSuggestions",lang:w(u)});if(!n||!I.length)return;M(c,!0);const x=()=>{if(v!==l||!n||!w(c)||w(i)||s().length)return;const S=I[w(r)];if(w(a)){if(n.placeholder=S.substring(0,xr(o)),w(o)>S.length){M(a,!1),setTimeout(x,1600);return}setTimeout(x,90)}else{if(n.placeholder=S.substring(0,xr(o,-1)),w(o)<0){M(a,!0),M(r,(w(r)+1)%I.length),setTimeout(x,450);return}setTimeout(x,45)}};x()}function d(){M(c,!1)}function p(){M(i,!0),d(),n&&(n.placeholder="")}function m(){M(i,!1),M(o,0),M(a,!0),M(c,!1)}an(()=>{if(!n||s().length>0)return;l++,M(c,!1),M(r,0),M(o,0),M(a,!0);const v=_e({key:"placeholderSuggestions",lang:w(u)});v&&v.length?n.placeholder=v[0]:n.placeholder=_e({key:"searchPlaceholder",lang:w(u)})}),an(()=>{n&&e.initialized&&!w(i)&&!s().length&&!w(c)&&f(),s().length>0&&w(c)&&(M(c,!1),l++)}),hi(()=>{});var _={getSearchElement:h},C=Kf(),T=Y(L(C),2);mc(T,v=>n=v,()=>n);var y=Y(T,2),g=L(y);return te(v=>Z(g,v),[()=>_e({key:"searchButton",lang:w(u)})]),Bs("submit",C,function(...v){var I;(I=e.onSubmit)==null||I.apply(this,v)}),Bs("focus",T,p),Bs("blur",T,m),gc(T,s),W(t,C),Bt(_)}wl();var Jf=X('<div id="loading-indicator" class="svelte-li6gfl"><div id="typing-indicator" class="typing-indicator svelte-li6gfl"><span class="svelte-li6gfl"></span> <span class="svelte-li6gfl"></span> <span class="svelte-li6gfl"></span></div></div>');function Yf(t){var e=Jf();W(t,e)}var Qf=X('<p class="popup-short-desc svelte-17gehox"> </p>'),Zf=X('<div class="popup-reason svelte-17gehox"> </div>'),$f=X('<p class="popup-pairing svelte-17gehox"> </p>'),ed=X('<span class="popup-tag svelte-17gehox"> </span>'),td=X('<div class="popup-tags svelte-17gehox"></div>'),sd=X('<div class="mobile-fullscreen-wrapper svelte-17gehox"><div class="mobile-fullscreen-overlay svelte-17gehox"></div> <div class="mobile-fullscreen-popup svelte-17gehox"><div class="card-popup svelte-17gehox"><div class="card-popup-header svelte-17gehox"><h2 class="svelte-17gehox"> </h2> <button class="card-popup-close svelte-17gehox">×</button></div> <!> <!> <!></div></div></div>'),nd=X('<p class="popup-short-desc svelte-17gehox"> </p>'),id=X('<div class="popup-reason svelte-17gehox"> </div>'),rd=X('<p class="popup-pairing svelte-17gehox"> </p>'),od=X('<span class="popup-tag svelte-17gehox"> </span>'),ad=X('<div class="popup-tags svelte-17gehox"></div>'),ld=X('<div class="card-popup svelte-17gehox"><div class="card-popup-header svelte-17gehox"><h2 class="svelte-17gehox"> </h2> <button class="card-popup-close svelte-17gehox">×</button></div> <!> <!> <!></div>');function Aa(t,e){Lt(e,!0);const s=!!e.isMobile;var n=js(),i=ls(n);{var r=a=>{var c=sd(),u=L(c);u.__click=function(...x){var S;(S=e.onClose)==null||S.apply(this,x)};var l=Y(u,2),h=L(l),f=L(h),d=L(f),p=L(d),m=Y(d,2);m.__click=function(...x){var S;(S=e.onClose)==null||S.apply(this,x)};var _=Y(f,2);{var C=x=>{var S=Qf(),k=L(S);te(()=>Z(k,e.shortDescription)),W(x,S)};ie(_,x=>{e.shortDescription&&x(C)})}var T=Y(_,2);{var y=x=>{var S=Zf(),k=L(S);te(()=>Z(k,e.reason)),W(x,S)},g=x=>{var S=js(),k=ls(S);{var A=j=>{var F=$f(),G=L(F);te(()=>Z(G,e.pairing)),W(j,F)};ie(k,j=>{e.pairing&&j(A)},!0)}W(x,S)};ie(T,x=>{e.reason?x(y):x(g,!1)})}var v=Y(T,2);{var I=x=>{var S=td();Us(S,21,()=>e.tags,zs,(k,A)=>{var j=ed(),F=L(j);te(()=>Z(F,w(A))),W(k,j)}),W(x,S)};ie(v,x=>{e.tags&&e.tags.length&&x(I)})}te(()=>Z(p,e.title)),W(a,c)},o=a=>{var c=ld(),u=L(c),l=L(u),h=L(l),f=Y(l,2);f.__click=function(...g){var v;(v=e.onClose)==null||v.apply(this,g)};var d=Y(u,2);{var p=g=>{var v=nd(),I=L(v);te(()=>Z(I,e.shortDescription)),W(g,v)};ie(d,g=>{e.shortDescription&&g(p)})}var m=Y(d,2);{var _=g=>{var v=id(),I=L(v);te(()=>Z(I,e.reason)),W(g,v)},C=g=>{var v=js(),I=ls(v);{var x=S=>{var k=rd(),A=L(k);te(()=>Z(A,e.pairing)),W(S,k)};ie(I,S=>{e.pairing&&S(x)},!0)}W(g,v)};ie(m,g=>{e.reason?g(_):g(C,!1)})}var T=Y(m,2);{var y=g=>{var v=ad();Us(v,21,()=>e.tags,zs,(I,x)=>{var S=od(),k=L(S);te(()=>Z(k,w(x))),W(I,S)}),W(g,v)};ie(T,g=>{e.tags&&e.tags.length&&g(y)})}te(()=>Z(h,e.title)),W(a,c)};ie(i,a=>{s?a(r):a(o,!1)})}W(t,n),Bt()}ci(["click"]);var cd=(t,e)=>e.onTileClick(t,e.wine),ud=X('<img class="wine-image svelte-yk3emv"/>'),hd=X('<div class="wine-price svelte-yk3emv"> </div>'),fd=X('<div class="wine-params svelte-yk3emv"> </div>'),dd=X('<a class="buy-btn svelte-yk3emv" target="_blank"> </a>'),pd=(t,e)=>e.onBuyClick(e.wine,e.index),gd=X('<button class="buy-btn svelte-yk3emv" type="button"> </button>'),md=X('<div class="popup-reason svelte-yk3emv"> </div>'),vd=X('<span class="popup-tag svelte-yk3emv"> </span>'),bd=X('<div class="popup-tags svelte-yk3emv"></div>'),yd=X("<div><!> <!></div>"),wd=X('<div><div class="tile-top svelte-yk3emv"><!> <!> <h3 class="wine-title svelte-yk3emv"> </h3></div> <!> <div class="bottom-row svelte-yk3emv"><!></div> <!> <!></div> <!>',1);function Sd(t,e){Lt(e,!0);let s=pe(()=>ke.getAppLanguage());const n=(E,D)=>E[D]||E[D.charAt(0).toUpperCase()+D.slice(1)],i=(E,D)=>D.map(O=>n(E,O)).filter(Boolean).join(" • ");function r(E){var D;return Pf(E,((D=ke.getCurrency)==null?void 0:D.call(ke))||"USD",w(s))}function o(E){return e.selectedWineId===E}function a(E){return!!(E.reason||E.shortDescription||E.tags)}function c(E,D){let O=(E==null?void 0:E.tags)||D.tags;return O?(Array.isArray(O)&&(O=O.join(",")),typeof O!="string"?[]:O.split(",").map(N=>N.trim()).filter(Boolean)):[]}let u=oe(!1);hi(()=>{const E=()=>{M(u,window.innerWidth<=768)};return E(),window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}});var l=wd(),h=ls(l);h.__click=[cd,e];var f=L(h),d=L(f);{var p=E=>{var D=ud();te(()=>{hn(D,"src",e.wine.image),hn(D,"alt",e.wine.title)}),W(E,D)};ie(d,E=>{e.wine.image&&E(p)})}var m=Y(d,2);{var _=E=>{var D=hd(),O=L(D);te(N=>Z(O,N),[()=>r(e.wine.total)]),W(E,D)};ie(m,E=>{e.wine.total&&E(_)})}var C=Y(m,2),T=L(C),y=Y(f,2);{var g=E=>{var D=fd(),O=L(D);te(N=>Z(O,N),[()=>i(e.wine,["type","country","region","grape"])]),W(E,D)};ie(y,E=>{i(e.wine,["type","country","region","grape"])&&E(g)})}var v=Y(y,2),I=L(v);{var x=E=>{var D=dd(),O=L(D);te(N=>{hn(D,"href",e.wine.url),Z(O,N)},[()=>_e({key:"wineDetails.buy",lang:w(s)})]),W(E,D)},S=E=>{var D=gd();D.__click=[pd,e];var O=L(D);te(N=>Z(O,N),[()=>_e({key:"moreInfo",lang:w(s)})]),W(E,D)};ie(I,E=>{e.wine.url?E(x):E(S,!1)})}var k=Y(v,2);{var A=E=>{{let D=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.shortDescription)||e.wine.shortDescription}),O=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.reason)||e.wine.reason}),N=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.pairingRecommendation)||e.wine.pairingRecommendation}),V=pe(()=>c(e.translatedPopup,e.wine));Aa(E,{get title(){return e.wine.title},get shortDescription(){return w(D)},get reason(){return w(O)},get pairing(){return w(N)},get tags(){return w(V)},get onClose(){return e.onPopupClose},isMobile:!1})}};ie(k,E=>{o(e.wine.id)&&!w(u)&&E(A)})}var j=Y(k,2);{var F=E=>{var D=yd(),O=L(D);{var N=se=>{var fe=md(),me=L(fe);te(()=>{var R,P;return Z(me,((R=e.translatedPopup)==null?void 0:R.reason)||((P=e.translatedPopup)==null?void 0:P.shortDescription)||e.wine.reason||e.wine.shortDescription)}),W(se,fe)};ie(O,se=>{var fe,me;((fe=e.translatedPopup)!=null&&fe.reason||(me=e.translatedPopup)!=null&&me.shortDescription||e.wine.reason||e.wine.shortDescription)&&se(N)})}var V=Y(O,2);{var J=se=>{var fe=bd();Us(fe,21,()=>c(e.translatedPopup,e.wine),zs,(me,R)=>{var P=vd(),re=L(P);te(()=>Z(re,w(R))),W(me,P)}),W(se,fe)};ie(V,se=>{var fe,me;((fe=e.translatedPopup)!=null&&fe.tags||(me=e.translatedPopup)!=null&&me.Tags||e.wine.tags)&&se(J)})}te(()=>no(D,1,`wine-hover-popup ${e.hoveredWineId===e.wine.id?"slide-in visible":""}`,"svelte-yk3emv")),W(E,D)};ie(j,E=>{a(e.wine)&&E(F)})}var G=Y(h,2);{var z=E=>{{let D=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.shortDescription)||e.wine.shortDescription}),O=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.reason)||e.wine.reason}),N=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.pairingRecommendation)||e.wine.pairingRecommendation}),V=pe(()=>c(e.translatedPopup,e.wine));Aa(E,{get title(){return e.wine.title},get shortDescription(){return w(D)},get reason(){return w(O)},get pairing(){return w(N)},get tags(){return w(V)},get onClose(){return e.onPopupClose},isMobile:!0})}};ie(G,E=>{o(e.wine.id)&&w(u)&&E(z)})}te(()=>{no(h,1,`wine-recommendation-tile ${e.isAnimating?"ww-slide-up":""}`,"svelte-yk3emv"),Z(T,e.wine.title)}),Bs("mouseenter",h,()=>e.onTileEnter(e.wine)),Bs("mouseleave",h,()=>e.onTileLeave(e.wine)),W(t,l),Bt()}ci(["click"]);var _d=X('<div class="error-message svelte-1n46o8q"><p> </p></div>'),kd=X('<div id="wine-placeholder" class="svelte-1n46o8q"></div>'),Td=X('<div id="wine-widget-container" class="svelte-wineater-widget-container svelte-1n46o8q"><div class="wine-widget-wrapper svelte-1n46o8q"><!> <!> <!> <div id="wine-widget-right" class="svelte-1n46o8q"><!></div> <!></div></div>');function Ed(t,e){var se,fe,me;Lt(e,!0);function s(){var R;gi("chatbotToken",((R=window.wineaterData)==null?void 0:R.CLIENT_TOKEN)||n,365),uo()}const n="HeUw6IXuhvz6tRuXdPEGEbj3SGQ3Q2YtEc1Z8jd41Kg9LtyPb4Epu0to31SYIadG";new xf({projectKey:"PA8j9fAi49i6g2QnvpNs",__DISABLE_SECURE_MODE:!0}).start(),s();const r=((se=window==null?void 0:window.wineaterData)==null?void 0:se.WIDGET_TYPE)||"store",o=((fe=window==null?void 0:window.wineaterData)==null?void 0:fe.COUNTRY_CODE)||null;(me=window==null?void 0:window.wineaterData)!=null&&me.WIDGET_WRAPPER;let a=oe(!1),c=oe(!1),u=oe(dt([])),l=oe(null),h=oe(""),f=oe(null),d=oe(!1),p=oe(null),m=oe(dt([])),_=pe(()=>ke.getAppLanguage()),C=pe(()=>ke.getStoreLanguage()),T=pe(()=>ke.getApiKey()),y=pe(()=>ke.getStoreId()),g=pe(()=>ke.isInitialized());function v(){M(f,_e({key:"errorMessage",lang:w(_)}),!0)}const I=()=>M(f,null);async function x(R){if(w(_)===w(C)||r!=="bar")return R.map(()=>({}));const P=["shortDescription","reason","pairingRecommendation","tags"],re=R[0];if(!re)return R.map(()=>({}));const yt=P.filter(Je=>Je in re),wt=4,Zt=[];for(let Je=0;Je<R.length;Je+=wt){const xs=R.slice(Je,Je+wt).map(async Dt=>{const Wn=yt.map(He=>{const Rt=Dt[He]||Dt[He.toLowerCase()];return Rt?{key:He,text:Array.isArray(Rt)?Rt.join(", "):Rt}:null}).filter(Boolean);return Wn.length===0?{}:await Lf({sourceLang:w(C),targetLang:w(_),texts:Object.fromEntries(Wn.map(He=>[He.key,He.text])),apiKey:w(T)})}),$t=await Promise.all(xs);Zt.push(...$t)}return Zt}async function S(){M(c,!0);try{M(u,await nr.getInstantRecommendations(),!0)}catch{v()}finally{M(c,!1)}}function k(R=220){return!w(u)||w(u).length===0?Promise.resolve():(M(d,!0),new Promise(P=>{setTimeout(()=>{P()},R)}))}async function A(R){R.preventDefault();let P="";try{M(c,!0),I(),await k(220),M(u,[],!0),M(d,!1),P=w(h).trim()+";";try{$e(it.SEARCH_PERFORMED,w(y),{query:P})}catch(yt){console.error("Error tracking search event:",yt)}const re=await nr.getWineRecommendationsSearch(P);!re||re.length===0?(M(u,[],!0),M(m,[],!0),M(f,_e({key:"noResultsMessage",lang:w(_)}),!0),$e(it.NO_RESULTS_FOUND,w(y),{query:P})):(M(u,re,!0),$e(it.SEARCH_RESULTS_DISPLAYED,w(y),{results_count:re.length,results:re,query:P}))}catch(re){M(u,[],!0),$e(it.ERROR_OCCURRED,w(y),{error_message:re==null?void 0:re.message,query:P}),v()}finally{M(c,!1)}}an(async()=>{if(!w(u)||w(u).length===0){M(m,[],!0);return}try{const R=await x(w(u));w(u)&&w(u).length>0&&M(m,R,!0)}catch(R){console.error("translatePopupContent failed",R)}});function j(R,P){w(l)&&w(l)!==R.id&&M(l,null),M(l,R.id,!0),$e(it.WINE_DETAILS_VIEWED,w(y),{wine_id:R.id,wine_title:R.title,is_mobile:window.innerWidth<=768})}function F(){const R=w(u).find(P=>P.id===w(l));$e(it.WINE_DETAILS_CLOSED,w(y),{wine_id:w(l),wine_title:R.title}),M(l,null)}function G(R){return!!(R.reason||R.shortDescription||R.tags)}function z(R){r==="store"&&G(R)&&(M(p,R.id,!0),$e(it.WINE_CARD_HOVER,w(y),{wine_id:R.id,wine_title:R.title}))}function E(R){r==="store"&&w(p)===R.id&&M(p,null)}function D(R,P){R.target.closest(".buy-btn")||R.target.closest(".card-popup-close")||$e(it.WINE_CARD_CLICK,w(y),{wine_id:P.id,wine_title:P.title})}function O(R){const P=R.target;P.closest(".card-popup")||P.closest(".buy-btn")||M(l,null)}hi(async()=>{var P;if(await ke.initializeStore(),!w(g))return;const R=((P=window==null?void 0:window.wineaterData)==null?void 0:P.COLOR)||"#7B2BEB";return document.documentElement.style.setProperty("--wineater-color",R),await S(),$e(it.WIDGET_INITIALIZED,w(y)),M(a,!0),document.addEventListener("click",O),()=>{document.removeEventListener("click",O)}});var N=js(),V=ls(N);{var J=R=>{var P=Td(),re=L(P),yt=L(re);Uf(yt,{});var wt=Y(yt,2);Xf(wt,{onSubmit:A,get initialized(){return w(a)},get searchQuery(){return w(h)},set searchQuery(Pe){M(h,Pe,!0)}});var Zt=Y(wt,2);{var Je=Pe=>{Yf(Pe)};ie(Zt,Pe=>{w(c)&&Pe(Je)})}var Cs=Y(Zt,2),xs=L(Cs);{var $t=Pe=>{var He=_d(),Rt=L(He),rr=L(Rt);te(()=>Z(rr,w(f))),W(Pe,He)},Dt=Pe=>{var He=js(),Rt=ls(He);{var rr=or=>{var Ba=kd();Us(Ba,21,()=>w(u),zs,(Id,Cd,Fa)=>{Sd(Id,{get wine(){return w(Cd)},index:Fa,get hoveredWineId(){return w(p)},get selectedWineId(){return w(l)},get isAnimating(){return w(d)},get translatedPopup(){return w(m)[Fa]},onBuyClick:j,onPopupClose:F,onTileEnter:z,onTileLeave:E,onTileClick:D})}),W(or,Ba)};ie(Rt,or=>{w(u)&&w(u).length>0&&or(rr)},!0)}W(Pe,He)};ie(xs,Pe=>{w(f)?Pe($t):Pe(Dt,!1)})}var Wn=Y(Cs,2);Gf(Wn,{get countryCode(){return o}}),W(R,P)};ie(V,R=>{w(g)&&R(J)})}W(t,N),Bt()}return tc(Ed,{target:document.getElementById("wineater-widget-conteiner")})});
|
|
44
|
+
`,c=JSON.stringify({model:"gpt-3.5-turbo",messages:[{role:"system",content:"You are a professional translator."},{role:"user",content:a}],temperature:.2,max_tokens:1e3});try{const p=await(await fetch(i,{method:"POST",headers:r,body:c})).json(),m=(f=(h=(l=(u=p==null?void 0:p.choices)==null?void 0:u[0])==null?void 0:l.message)==null?void 0:h.content)==null?void 0:f.trim();if(!m)throw new Error("No response from OpenAI");const _=JSON.parse(m),C={};return _.forEach(T=>{T.key&&T.text!==void 0&&(C[T.key]=T.text)}),{...s,...C}}catch(d){return console.error("Error translating texts:",d),s}}function Bf(t){return{id:String(t.id),lang:t.lang,available_languages:t.available_languages?t.available_languages:[t.lang],open_ai_key:t.open_ai_key??null,currency:t.currency,title:t.title}}let ge=dt({storeConfig:null,currentLanguage:"en",isConfigLoaded:!1});const ke={getLanguageFromURL(){return new URLSearchParams(window.location.search).get("lang")},getAppLanguage(){return(ge==null?void 0:ge.currentLanguage)??"en"},getStoreLanguage(){var t;return((t=ge.storeConfig)==null?void 0:t.lang)??null},getApiKey(){var t;return((t=ge.storeConfig)==null?void 0:t.open_ai_key)??null},getStoreId(){var t;return((t=ge.storeConfig)==null?void 0:t.id)??null},setStoreLanguage(t){if(ge.storeConfig&&ge.storeConfig.available_languages.includes(t)){ge.currentLanguage=t;const e=new URLSearchParams(window.location.search);e.set("lang",t);const s=`${window.location.pathname}?${e.toString()}`;window.history.replaceState({},"",s)}else throw new Error(`Language ${t} is not available in store configuration.`)},getSupportedLanguages(){var t;return((t=ge.storeConfig)==null?void 0:t.available_languages)??["en"]},getCurrency(){var t;return((t=ge.storeConfig)==null?void 0:t.currency)??"USD"},async initializeStore(){try{const t=await nr.getStoreConfig();ge.storeConfig=Bf(t),ge.currentLanguage=ge.storeConfig.lang;const e=this.getLanguageFromURL();e&&ge.storeConfig.available_languages.includes(e)?this.setStoreLanguage(e):this.setStoreLanguage(ge.storeConfig.lang),ge.isConfigLoaded=!0}catch(t){console.error("Failed to initialize store:",t),ge.isConfigLoaded=!1}},isInitialized(){return ge.isConfigLoaded}};var Ff=X('<h1 class="wine-widget-big-title svelte-oiwvqb"> </h1>'),jf=X('<h1 class="wine-widget-big-title svelte-oiwvqb"> <span class="icon icon-meal svelte-oiwvqb"></span> <span class="icon-label svelte-oiwvqb"> </span>, <span class="icon icon-mood svelte-oiwvqb"></span> <span class="icon-label svelte-oiwvqb"> </span> <br/> <span class="icon icon-occasion svelte-oiwvqb"></span> <span class="icon-label svelte-oiwvqb"> </span> </h1>'),zf=X('<div id="wine-widget-header" class="svelte-oiwvqb"><!></div>');function Uf(t,e){var c;Lt(e,!0);let s=pe(()=>ke.getAppLanguage());const n=((c=window==null?void 0:window.wineaterData)==null?void 0:c.TITLE_TEXT)||null;var i=zf(),r=L(i);{var o=u=>{var l=Ff(),h=L(l);te(()=>Z(h,n)),W(u,l)},a=u=>{var l=jf(),h=L(l),f=Y(h,3),d=L(f),p=Y(f,4),m=L(p),_=Y(p,3),C=Y(_,3),T=L(C),y=Y(C);te((g,v,I,x,S,k)=>{Z(h,`${g??""} `),Z(d,v),Z(m,I),Z(_,` ${x??""} `),Z(T,S),Z(y,` ${k??""}`)},[()=>_e({key:"headerLine1",lang:w(s)}),()=>_e({key:"headerMeal",lang:w(s)}),()=>_e({key:"headerMood",lang:w(s)}),()=>_e({key:"headerOr",lang:w(s)}),()=>_e({key:"headerOccasion",lang:w(s)}),()=>_e({key:"headerLine2",lang:w(s)})]),W(u,l)};ie(r,u=>{n?u(o):u(a,!1)})}W(t,i),Bt()}function Wf(t,e,s){const i=t.target.value;$e(it.LANGUAGE_CHANGED,w(e),{from_language:w(s),to_language:i}),ke.setStoreLanguage(i)}var Hf=X("<option> </option>"),qf=X('<select id="language-dropdown" class="language-dropdown svelte-1sr6y3t"></select>'),Vf=X('<div id="powered-by-widget" class="svelte-1sr6y3t"><div class="powered-by-center svelte-1sr6y3t"><a href="https://wineater.com" target="_blank" class="svelte-1sr6y3t"><span> </span> <img alt="Wineater Logo" class="svelte-1sr6y3t"/> <span class="powered-by-sommelier svelte-1sr6y3t"> </span></a></div> <div class="powered-by-lang svelte-1sr6y3t"><!></div></div>');function Gf(t,e){Lt(e,!0);let s=lo(e,"countryCode",3,null),n=pe(()=>ke.getAppLanguage()),i=pe(()=>ke.getSupportedLanguages()),r=pe(()=>ke.getStoreId());var o=Vf(),a=L(o),c=L(a),u=L(c),l=L(u),h=Y(u,2),f=Y(h,2),d=L(f),p=Y(a,2),m=L(p);{var _=C=>{var T=qf();T.__change=[Wf,r,n],Us(T,21,()=>w(i),zs,(g,v)=>{var I=Hf(),x=L(I),S={};te(k=>{fc(I,w(v)===w(n)),Z(x,k),S!==(S=w(v))&&(I.value=(I.__value=w(v))??"")},[()=>w(v).toUpperCase()]),W(g,I)});var y;cc(T),te(()=>{y!==(y=w(n))&&(T.value=(T.__value=w(n))??"",io(T,w(n)))}),W(C,T)};ie(m,C=>{w(i).length>1&&C(_)})}te((C,T)=>{Z(l,C),hn(h,"src",s()==="ru"?"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/divino_logo.svg?x=5":"https://czvgkhagwvmknscoerfy.supabase.co/storage/v1/object/public/static-media/logo_medium_gray.svg"),Z(d,T)},[()=>_e({key:"poweredBy",lang:w(n)}),()=>_e({key:"ai_sommelier",lang:w(n)})]),W(t,o),Bt()}ci(["change"]);var Kf=X('<form id="wine-widget-search" class="svelte-1wah7ro"><span class="search-icon svelte-1wah7ro"></span> <input id="wine-search-input" type="text" class="svelte-1wah7ro"/> <button id="wine-search-button" type="submit" class="svelte-1wah7ro"> </button></form>');function Xf(t,e){Lt(e,!0);let s=lo(e,"searchQuery",15),n,i=oe(!1),r=oe(0),o=oe(0),a=oe(!0),c=oe(!1),u=pe(()=>ke.getAppLanguage()),l=0;function h(){return n}function f(){const v=++l,I=_e({key:"placeholderSuggestions",lang:w(u)});if(!n||!I.length)return;M(c,!0);const x=()=>{if(v!==l||!n||!w(c)||w(i)||s().length)return;const S=I[w(r)];if(w(a)){if(n.placeholder=S.substring(0,xr(o)),w(o)>S.length){M(a,!1),setTimeout(x,1600);return}setTimeout(x,90)}else{if(n.placeholder=S.substring(0,xr(o,-1)),w(o)<0){M(a,!0),M(r,(w(r)+1)%I.length),setTimeout(x,450);return}setTimeout(x,45)}};x()}function d(){M(c,!1)}function p(){M(i,!0),d(),n&&(n.placeholder="")}function m(){M(i,!1),M(o,0),M(a,!0),M(c,!1)}an(()=>{if(!n||s().length>0)return;l++,M(c,!1),M(r,0),M(o,0),M(a,!0);const v=_e({key:"placeholderSuggestions",lang:w(u)});v&&v.length?n.placeholder=v[0]:n.placeholder=_e({key:"searchPlaceholder",lang:w(u)})}),an(()=>{n&&e.initialized&&!w(i)&&!s().length&&!w(c)&&f(),s().length>0&&w(c)&&(M(c,!1),l++)}),hi(()=>{});var _={getSearchElement:h},C=Kf(),T=Y(L(C),2);mc(T,v=>n=v,()=>n);var y=Y(T,2),g=L(y);return te(v=>Z(g,v),[()=>_e({key:"searchButton",lang:w(u)})]),Bs("submit",C,function(...v){var I;(I=e.onSubmit)==null||I.apply(this,v)}),Bs("focus",T,p),Bs("blur",T,m),gc(T,s),W(t,C),Bt(_)}wl();var Jf=X('<div id="loading-indicator" class="svelte-li6gfl"><div id="typing-indicator" class="typing-indicator svelte-li6gfl"><span class="svelte-li6gfl"></span> <span class="svelte-li6gfl"></span> <span class="svelte-li6gfl"></span></div></div>');function Yf(t){var e=Jf();W(t,e)}var Qf=X('<p class="popup-short-desc svelte-17gehox"> </p>'),Zf=X('<div class="popup-reason svelte-17gehox"> </div>'),$f=X('<p class="popup-pairing svelte-17gehox"> </p>'),ed=X('<span class="popup-tag svelte-17gehox"> </span>'),td=X('<div class="popup-tags svelte-17gehox"></div>'),sd=X('<div class="mobile-fullscreen-wrapper svelte-17gehox"><div class="mobile-fullscreen-overlay svelte-17gehox"></div> <div class="mobile-fullscreen-popup svelte-17gehox"><div class="card-popup svelte-17gehox"><div class="card-popup-header svelte-17gehox"><h2 class="svelte-17gehox"> </h2> <button class="card-popup-close svelte-17gehox">×</button></div> <!> <!> <!></div></div></div>'),nd=X('<p class="popup-short-desc svelte-17gehox"> </p>'),id=X('<div class="popup-reason svelte-17gehox"> </div>'),rd=X('<p class="popup-pairing svelte-17gehox"> </p>'),od=X('<span class="popup-tag svelte-17gehox"> </span>'),ad=X('<div class="popup-tags svelte-17gehox"></div>'),ld=X('<div class="card-popup svelte-17gehox"><div class="card-popup-header svelte-17gehox"><h2 class="svelte-17gehox"> </h2> <button class="card-popup-close svelte-17gehox">×</button></div> <!> <!> <!></div>');function Aa(t,e){Lt(e,!0);const s=!!e.isMobile;var n=js(),i=ls(n);{var r=a=>{var c=sd(),u=L(c);u.__click=function(...x){var S;(S=e.onClose)==null||S.apply(this,x)};var l=Y(u,2),h=L(l),f=L(h),d=L(f),p=L(d),m=Y(d,2);m.__click=function(...x){var S;(S=e.onClose)==null||S.apply(this,x)};var _=Y(f,2);{var C=x=>{var S=Qf(),k=L(S);te(()=>Z(k,e.shortDescription)),W(x,S)};ie(_,x=>{e.shortDescription&&x(C)})}var T=Y(_,2);{var y=x=>{var S=Zf(),k=L(S);te(()=>Z(k,e.reason)),W(x,S)},g=x=>{var S=js(),k=ls(S);{var A=j=>{var F=$f(),G=L(F);te(()=>Z(G,e.pairing)),W(j,F)};ie(k,j=>{e.pairing&&j(A)},!0)}W(x,S)};ie(T,x=>{e.reason?x(y):x(g,!1)})}var v=Y(T,2);{var I=x=>{var S=td();Us(S,21,()=>e.tags,zs,(k,A)=>{var j=ed(),F=L(j);te(()=>Z(F,w(A))),W(k,j)}),W(x,S)};ie(v,x=>{e.tags&&e.tags.length&&x(I)})}te(()=>Z(p,e.title)),W(a,c)},o=a=>{var c=ld(),u=L(c),l=L(u),h=L(l),f=Y(l,2);f.__click=function(...g){var v;(v=e.onClose)==null||v.apply(this,g)};var d=Y(u,2);{var p=g=>{var v=nd(),I=L(v);te(()=>Z(I,e.shortDescription)),W(g,v)};ie(d,g=>{e.shortDescription&&g(p)})}var m=Y(d,2);{var _=g=>{var v=id(),I=L(v);te(()=>Z(I,e.reason)),W(g,v)},C=g=>{var v=js(),I=ls(v);{var x=S=>{var k=rd(),A=L(k);te(()=>Z(A,e.pairing)),W(S,k)};ie(I,S=>{e.pairing&&S(x)},!0)}W(g,v)};ie(m,g=>{e.reason?g(_):g(C,!1)})}var T=Y(m,2);{var y=g=>{var v=ad();Us(v,21,()=>e.tags,zs,(I,x)=>{var S=od(),k=L(S);te(()=>Z(k,w(x))),W(I,S)}),W(g,v)};ie(T,g=>{e.tags&&e.tags.length&&g(y)})}te(()=>Z(h,e.title)),W(a,c)};ie(i,a=>{s?a(r):a(o,!1)})}W(t,n),Bt()}ci(["click"]);var cd=(t,e)=>e.onTileClick(t,e.wine),ud=X('<img class="wine-image svelte-yk3emv"/>'),hd=X('<div class="wine-price svelte-yk3emv"> </div>'),fd=X('<div class="wine-params svelte-yk3emv"> </div>'),dd=X('<a class="buy-btn svelte-yk3emv" target="_blank"> </a>'),pd=(t,e)=>e.onBuyClick(e.wine,e.index),gd=X('<button class="buy-btn svelte-yk3emv" type="button"> </button>'),md=X('<div class="popup-reason svelte-yk3emv"> </div>'),vd=X('<span class="popup-tag svelte-yk3emv"> </span>'),bd=X('<div class="popup-tags svelte-yk3emv"></div>'),yd=X("<div><!> <!></div>"),wd=X('<div><div class="tile-top svelte-yk3emv"><!> <!> <h3 class="wine-title svelte-yk3emv"> </h3></div> <!> <div class="bottom-row svelte-yk3emv"><!></div> <!> <!></div> <!>',1);function Sd(t,e){Lt(e,!0);let s=pe(()=>ke.getAppLanguage());const n=(E,D)=>E[D]||E[D.charAt(0).toUpperCase()+D.slice(1)],i=(E,D)=>D.map(O=>n(E,O)).filter(Boolean).join(" • ");function r(E){var D;return Pf(E,((D=ke.getCurrency)==null?void 0:D.call(ke))||"USD",w(s))}function o(E){return e.selectedWineId===E}function a(E){return!!(E.reason||E.shortDescription||E.tags)}function c(E,D){let O=(E==null?void 0:E.tags)||D.tags;return O?(Array.isArray(O)&&(O=O.join(",")),typeof O!="string"?[]:O.split(",").map(N=>N.trim()).filter(Boolean)):[]}let u=oe(!1);hi(()=>{const E=()=>{M(u,window.innerWidth<=768)};return E(),window.addEventListener("resize",E),()=>{window.removeEventListener("resize",E)}});var l=wd(),h=ls(l);h.__click=[cd,e];var f=L(h),d=L(f);{var p=E=>{var D=ud();te(()=>{hn(D,"src",e.wine.image),hn(D,"alt",e.wine.title)}),W(E,D)};ie(d,E=>{e.wine.image&&E(p)})}var m=Y(d,2);{var _=E=>{var D=hd(),O=L(D);te(N=>Z(O,N),[()=>r(e.wine.total)]),W(E,D)};ie(m,E=>{e.wine.total&&E(_)})}var C=Y(m,2),T=L(C),y=Y(f,2);{var g=E=>{var D=fd(),O=L(D);te(N=>Z(O,N),[()=>i(e.wine,["type","country","region","grape"])]),W(E,D)};ie(y,E=>{i(e.wine,["type","country","region","grape"])&&E(g)})}var v=Y(y,2),I=L(v);{var x=E=>{var D=dd(),O=L(D);te(N=>{hn(D,"href",e.wine.url),Z(O,N)},[()=>_e({key:"wineDetails.buy",lang:w(s)})]),W(E,D)},S=E=>{var D=gd();D.__click=[pd,e];var O=L(D);te(N=>Z(O,N),[()=>_e({key:"moreInfo",lang:w(s)})]),W(E,D)};ie(I,E=>{e.wine.url?E(x):E(S,!1)})}var k=Y(v,2);{var A=E=>{{let D=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.shortDescription)||e.wine.shortDescription}),O=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.reason)||e.wine.reason}),N=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.pairingRecommendation)||e.wine.pairingRecommendation}),V=pe(()=>c(e.translatedPopup,e.wine));Aa(E,{get title(){return e.wine.title},get shortDescription(){return w(D)},get reason(){return w(O)},get pairing(){return w(N)},get tags(){return w(V)},get onClose(){return e.onPopupClose},isMobile:!1})}};ie(k,E=>{o(e.wine.id)&&!w(u)&&E(A)})}var j=Y(k,2);{var F=E=>{var D=yd(),O=L(D);{var N=se=>{var fe=md(),me=L(fe);te(()=>{var R,P;return Z(me,((R=e.translatedPopup)==null?void 0:R.reason)||((P=e.translatedPopup)==null?void 0:P.shortDescription)||e.wine.reason||e.wine.shortDescription)}),W(se,fe)};ie(O,se=>{var fe,me;((fe=e.translatedPopup)!=null&&fe.reason||(me=e.translatedPopup)!=null&&me.shortDescription||e.wine.reason||e.wine.shortDescription)&&se(N)})}var V=Y(O,2);{var J=se=>{var fe=bd();Us(fe,21,()=>c(e.translatedPopup,e.wine),zs,(me,R)=>{var P=vd(),re=L(P);te(()=>Z(re,w(R))),W(me,P)}),W(se,fe)};ie(V,se=>{var fe,me;((fe=e.translatedPopup)!=null&&fe.tags||(me=e.translatedPopup)!=null&&me.Tags||e.wine.tags)&&se(J)})}te(()=>no(D,1,`wine-hover-popup ${e.hoveredWineId===e.wine.id?"slide-in visible":""}`,"svelte-yk3emv")),W(E,D)};ie(j,E=>{a(e.wine)&&E(F)})}var G=Y(h,2);{var z=E=>{{let D=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.shortDescription)||e.wine.shortDescription}),O=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.reason)||e.wine.reason}),N=pe(()=>{var J;return((J=e.translatedPopup)==null?void 0:J.pairingRecommendation)||e.wine.pairingRecommendation}),V=pe(()=>c(e.translatedPopup,e.wine));Aa(E,{get title(){return e.wine.title},get shortDescription(){return w(D)},get reason(){return w(O)},get pairing(){return w(N)},get tags(){return w(V)},get onClose(){return e.onPopupClose},isMobile:!0})}};ie(G,E=>{o(e.wine.id)&&w(u)&&E(z)})}te(()=>{no(h,1,`wine-recommendation-tile ${e.isAnimating?"ww-slide-up":""}`,"svelte-yk3emv"),Z(T,e.wine.title)}),Bs("mouseenter",h,()=>e.onTileEnter(e.wine)),Bs("mouseleave",h,()=>e.onTileLeave(e.wine)),W(t,l),Bt()}ci(["click"]);var _d=X('<div class="error-message svelte-1n46o8q"><p> </p></div>'),kd=X('<div id="wine-placeholder" class="svelte-1n46o8q"></div>'),Td=X('<div id="wine-widget-container" class="svelte-wineater-widget-container svelte-1n46o8q"><div class="wine-widget-wrapper svelte-1n46o8q"><!> <!> <!> <div id="wine-widget-right" class="svelte-1n46o8q"><!></div> <!></div></div>');function Ed(t,e){var se,fe,me;Lt(e,!0);function s(){var R;gi("chatbotToken",((R=window.wineaterData)==null?void 0:R.CLIENT_TOKEN)||n,365),uo()}const n="HeUw6IXuhvz6tRuXdPEGEbj3SGQ3Q2YtEc1Z8jd41Kg9LtyPb4Epu0to31SYIadG";new xf({projectKey:"PA8j9fAi49i6g2QnvpNs",__DISABLE_SECURE_MODE:!0}).start(),s();const r=((se=window==null?void 0:window.wineaterData)==null?void 0:se.WIDGET_TYPE)||"store",o=((fe=window==null?void 0:window.wineaterData)==null?void 0:fe.COUNTRY_CODE)||null;(me=window==null?void 0:window.wineaterData)!=null&&me.WIDGET_WRAPPER;let a=oe(!1),c=oe(!1),u=oe(dt([])),l=oe(null),h=oe(""),f=oe(null),d=oe(!1),p=oe(null),m=oe(dt([])),_=pe(()=>ke.getAppLanguage()),C=pe(()=>ke.getStoreLanguage()),T=pe(()=>ke.getApiKey()),y=pe(()=>ke.getStoreId()),g=pe(()=>ke.isInitialized());function v(){M(f,_e({key:"errorMessage",lang:w(_)}),!0)}const I=()=>M(f,null);async function x(R){if(w(_)===w(C)||r!=="bar")return R.map(()=>({}));const P=["shortDescription","reason","pairingRecommendation","tags"],re=R[0];if(!re)return R.map(()=>({}));const yt=P.filter(Je=>Je in re),wt=4,Zt=[];for(let Je=0;Je<R.length;Je+=wt){const xs=R.slice(Je,Je+wt).map(async Dt=>{const Wn=yt.map(He=>{const Rt=Dt[He]||Dt[He.toLowerCase()];return Rt?{key:He,text:Array.isArray(Rt)?Rt.join(", "):Rt}:null}).filter(Boolean);return Wn.length===0?{}:await Lf({sourceLang:w(C),targetLang:w(_),texts:Object.fromEntries(Wn.map(He=>[He.key,He.text])),apiKey:w(T)})}),$t=await Promise.all(xs);Zt.push(...$t)}return Zt}async function S(){M(c,!0);try{M(u,await nr.getInstantRecommendations(),!0)}catch{v()}finally{M(c,!1)}}function k(R=220){return!w(u)||w(u).length===0?Promise.resolve():(M(d,!0),new Promise(P=>{setTimeout(()=>{P()},R)}))}async function A(R){R.preventDefault();let P="";try{M(c,!0),I(),await k(220),M(u,[],!0),M(d,!1),P=w(h).trim()+";";try{$e(it.SEARCH_PERFORMED,w(y),{query:P})}catch(yt){console.error("Error tracking search event:",yt)}const re=await nr.getWineRecommendationsSearch(P);!re||re.length===0?(M(u,[],!0),M(m,[],!0),M(f,_e({key:"noResultsMessage",lang:w(_)}),!0),$e(it.NO_RESULTS_FOUND,w(y),{query:P})):(M(u,re,!0),$e(it.SEARCH_RESULTS_DISPLAYED,w(y),{results_count:re.length,results:re,query:P}))}catch(re){M(u,[],!0),$e(it.ERROR_OCCURRED,w(y),{error_message:re==null?void 0:re.message,query:P}),v()}finally{M(c,!1)}}an(async()=>{if(!w(u)||w(u).length===0){M(m,[],!0);return}try{const R=await x(w(u));w(u)&&w(u).length>0&&M(m,R,!0)}catch(R){console.error("translatePopupContent failed",R)}});function j(R,P){w(l)&&w(l)!==R.id&&M(l,null),M(l,R.id,!0),$e(it.WINE_DETAILS_VIEWED,w(y),{wine_id:R.id,wine_title:R.title,is_mobile:window.innerWidth<=768})}function F(){const R=w(u).find(P=>P.id===w(l));$e(it.WINE_DETAILS_CLOSED,w(y),{wine_id:w(l),wine_title:R.title}),M(l,null)}function G(R){return!!(R.reason||R.shortDescription||R.tags)}function z(R){r==="store"&&G(R)&&(M(p,R.id,!0),$e(it.WINE_CARD_HOVER,w(y),{wine_id:R.id,wine_title:R.title}))}function E(R){r==="store"&&w(p)===R.id&&M(p,null)}function D(R,P){R.target.closest(".buy-btn")||R.target.closest(".card-popup-close")||$e(it.WINE_CARD_CLICK,w(y),{wine_id:P.id,wine_title:P.title})}function O(R){const P=R.target;P.closest(".card-popup")||P.closest(".buy-btn")||M(l,null)}hi(async()=>{var P;if(await ke.initializeStore(),!w(g))return;const R=((P=window==null?void 0:window.wineaterData)==null?void 0:P.COLOR)||"#7B2BEB";return document.documentElement.style.setProperty("--wineater-color",R),await S(),$e(it.WIDGET_INITIALIZED,w(y)),M(a,!0),document.addEventListener("click",O),()=>{document.removeEventListener("click",O)}});var N=js(),V=ls(N);{var J=R=>{var P=Td(),re=L(P),yt=L(re);Uf(yt,{});var wt=Y(yt,2);Xf(wt,{onSubmit:A,get initialized(){return w(a)},get searchQuery(){return w(h)},set searchQuery(Pe){M(h,Pe,!0)}});var Zt=Y(wt,2);{var Je=Pe=>{Yf(Pe)};ie(Zt,Pe=>{w(c)&&Pe(Je)})}var Cs=Y(Zt,2),xs=L(Cs);{var $t=Pe=>{var He=_d(),Rt=L(He),rr=L(Rt);te(()=>Z(rr,w(f))),W(Pe,He)},Dt=Pe=>{var He=js(),Rt=ls(He);{var rr=or=>{var Ba=kd();Us(Ba,21,()=>w(u),zs,(Id,Cd,Fa)=>{Sd(Id,{get wine(){return w(Cd)},index:Fa,get hoveredWineId(){return w(p)},get selectedWineId(){return w(l)},get isAnimating(){return w(d)},get translatedPopup(){return w(m)[Fa]},onBuyClick:j,onPopupClose:F,onTileEnter:z,onTileLeave:E,onTileClick:D})}),W(or,Ba)};ie(Rt,or=>{w(u)&&w(u).length>0&&or(rr)},!0)}W(Pe,He)};ie(xs,Pe=>{w(f)?Pe($t):Pe(Dt,!1)})}var Wn=Y(Cs,2);Gf(Wn,{get countryCode(){return o}}),W(R,P)};ie(V,R=>{w(g)&&R(J)})}W(t,N),Bt()}return tc(Ed,{target:document.getElementById("wineater-widget-conteiner")})});
|
package/package.json
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import type { StoreConfig } from "./types"
|
|
1
|
+
import type { StoreConfig } from "./types";
|
|
2
|
+
import type { LanguageCode, CurrencyCode } from "../i18n/i18n";
|
|
2
3
|
|
|
3
4
|
type RawStoreConfig = {
|
|
4
5
|
id: string;
|
|
5
6
|
type: string | null;
|
|
6
|
-
lang:
|
|
7
|
-
available_languages:
|
|
7
|
+
lang: LanguageCode;
|
|
8
|
+
available_languages: LanguageCode[] | null;
|
|
8
9
|
open_ai_key: string | null;
|
|
9
|
-
currency:
|
|
10
|
+
currency: CurrencyCode;
|
|
10
11
|
title: string;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
|
-
export function deserializeStoreConfig(data: RawStoreConfig):
|
|
14
|
+
export function deserializeStoreConfig(data: RawStoreConfig): StoreConfig {
|
|
14
15
|
return {
|
|
15
|
-
id: data.id,
|
|
16
|
+
id: String(data.id),
|
|
16
17
|
lang: data.lang,
|
|
17
18
|
available_languages: data.available_languages ? data.available_languages : [data.lang],
|
|
18
19
|
open_ai_key: data.open_ai_key ?? null,
|