PageSourceSearch

https://assets.yasno.live/packs/assets/index-f5FZFssT.js

js yasno.live collected 2026-09-24 09:32:27 UTC 18,147 bytes, 3 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-CQ-fYWbE.js","assets/index.vue_vue_type_script_setup_true_lang-dL06WLby.js","assets/index-CYgR_XZJ.js","assets/preload-helper-8Mkc4Aqh.js","assets/_commonjsHelpers-CQRjLznp.js","assets/merge-3N14s-WX.js","assets/index-B9mzbkHO.css","assets/urls-1OAJ9XaQ.js","assets/index-C_tdVMSt.js","assets/icon-CwQmYWQ6.js","assets/textbox.vue_vue_type_script_setup_true_lang-CVkomtMN-CKYN71oU.js","assets/s-select-panel-DavwCpwZ-BCafjHm3.js","assets/index-CZiRt0bG-DATZmQ2u.js","assets/s-modal-header.vue_vue_type_script_setup_true_lang-BwlWvBF0-BOVgS6kR.js","assets/pulsar-CTCg4Bdi.js","assets/keyboard-jNvkv8d-.js"])))=>i.map(i=>d[i]);
2import{u as e,O as a,_ as t}from"./index-f7VoC4WR.js";import{e as n}from"./local-storage-keys-BHWEHW62.js";import{P as s,C as r}from"./currency-chars-Dn9daurD.js";import{T as o}from"./therapy-types-BXMmXJDD.js";import{a5 as l,p as i,dm as u,g as p,q as c,dn as d,o as m,L as v,j as _,a as b,b as h,c as y,f,x as g,e as j,Y as k,a9 as w,a1 as C,l as x,V as S,by as T,_ as M,X as B,w as D,k as P,N as V,bB as F,a2 as U,a8 as E,D as I,d as L}from"./index-CYgR_XZJ.js";import{u as O}from"./use-catalog-count-DuszEHSI.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-BNJ2a1_N.js";import{_ as A}from"./index-DzECAXJp.js";import{u as q}from"./use-breakpoints-BmxJyMIm.js";import{u as H,a as z,_ as J}from"./w-promocode-preview.vue_vue_type_script_setup_true_lang-BJq89aCx.js";import{j as N}from"./icon-CwQmYWQ6.js";import"./textbox.vue_vue_type_script_setup_true_lang-CVkomtMN-CKYN71oU.js";import{C as W,b as Y,y as $}from"./index-C_tdVMSt.js";import{I as G,U as X}from"./s-select-panel-DavwCpwZ-BCafjHm3.js";import{B as Z}from"./accordion-item.vue_vue_type_script_setup_true_lang-BI1QOwtv-C9KkGBYW.js";import{_ as K}from"./preload-helper-8Mkc4Aqh.js";import{_ as Q}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./use-user-CEWDQNC-.js";import"./support-footer.vue_vue_type_script_setup_true_lang-B8dxwnH_.js";import"./inject-carrot-NM5ge5QN.js";import"./s-modal-header.vue_vue_type_script_setup_true_lang-BwlWvBF0-BOVgS6kR.js";import"./skeleton-Ds8hXpug.js";import"./_commonjsHelpers-CQRjLznp.js";import"./merge-3N14s-WX.js";import"./lodash-BBjsVLjX.js";import"./vee-validate-CCJkMTMN.js";import"./time-modes-CE6jvifS.js";import"./use-therapist-static-data-BiVecUgo.js";import"./keyBy-CgMNliaX.js";import"./_createAggregator-BcQ9yxog.js";import"./_baseEach-BlmeEIVI.js";import"./_baseForOwn-BlOS41ey.js";import"./_getTag-Kgjy6qYz.js";import"./_arrayPush-C64nT5WN.js";import"./_baseIteratee-DJBCquAA.js";import"./_baseIsEqual-BKrtPi5g.js";import"./_baseGet-ChY6kPsR.js";import"./isSymbol-JnDoLuL4.js";import"./toString-DgTvw96Z.js";import"./hasIn-7EHFqWbx.js";import"./public-BDet2DkX.js";import"./index-Hyg-F7su.js";import"./moment-CFxY2-66.js";import"./breakpoints-epXDi9bv.js";import"./index.vue_vue_type_script_setup_true_lang-DMkWx3gC.js";import"./promocode-9Q3EBmMq.js";import"./index-CZiRt0bG-DATZmQ2u.js";import"./index-ZmUBz6IG.js";import"./pulsar-CTCg4Bdi.js";import"./keyboard-jNvkv8d-.js";function ee(e){return!!e&&!("error"in e)}const ae=l(()=>{const{setOnboardingStep:a,setOnboardingError:t,getLastAvailableStep:n}=e(),{therapyType:r}=O(),{data:l,statusCode:b,isFinished:h,execute:y}=i(u,{initialData:{payment_methods:[]}}).json(),f=p(!1),g=_(()=>ee(l.value)?l.value.payment_methods:[]),j=_(()=>ee(l.value)?l.value.therapist:void 0),k=p(s.Yoomoney);c(l,()=>{if(f.value&&k.value)return;const e=ee(l.value)?l.value.payment_methods.find(e=>e.default):void 0;k.value=(null==e?void 0:e.key)||s.Yoomoney},{deep:!0});const w=_(()=>{var e;return(null==(e=g.value.find(e=>e.key===k.value))?void 0:e.checkout_url)??""}),C=_(()=>r.value===o.Children),x=p(!1),S=p(!1),T=_(()=>S.value&&!x.value),{execute:M}=i(d,{immediate:!1}).put().json(),B=async()=>{var e;ee(l.value)&&(null==(e=l.value.unconfirmed_promocode)?void 0:e.active)&&(await M(),await y())},D=c(h,async()=>{if(h.value){if(D(),422===b.value)return a(n()),void t({title:"Не удалось открыть страницу оплаты",message:"Выбранное время уже недоступно. Пожалуйста, выберите другого психолога или другое время."});await B(),f.value=!0}}),P=p(null);return m(()=>{var e;(null==(e=window.App)?void 0:e.cable)&&(P.value=window.App.cable.subscriptions.create({channel:"UserUpdatesChannel"},{received:async e=>{"email_confirmed"===e.data&&(await y(),await B())}}))}),v(()=>{var e;null==(e=P.value)||e.unsubscribe()}),{paymentMethod:k,checkoutData:l,paymentMethods:g,therapist:j,isInitiallyLoaded:f,refreshCheckout:y,checkoutUrl:w,isChildConsentRequired:C,childConsent:x,childConsentErrorShowed:S,isChildConsentErrorShown:T}});var te=(e=>(e.Rub="rub",e.Eur="eur",e))(te||{});const ne=["disabled"],se={class:"_t-paragraph-accent-short _mb-0.5"},re={class:"_t-body-regular-short"}
2,oe=b({name:"CheckoutFormHeader",__name:"header",setup(t){const{checkoutData:n,therapist:s}=ae(),{setOnboardingStep:r,selectedTherapistId:o}=e(),l=_(()=>ee(n.value)?n.value:void 0),i=_(()=>{var e;return null==(e=s.value)?void 0:e.userpic_url}),u=_(()=>{var e;return null==(e=s.value)?void 0:e.id}),p=_(()=>{var e;return null==(e=l.value)?void 0:e.scheduled_on}),c=_(()=>{const e=s.value;return e?`${e.first_name} ${e.last_name}`:void 0}),d=()=>{u.value&&(o.value=u.value,r(a.Therapist))};return(e,a)=>(h(),y("button",{type:"button",class:f(["_flex _items-center _gap-4 _text-left _w-full",{"_text-black-500":u.value}]),disabled:!u.value,onClick:d},[g(R,{src:i.value,fio:c.value,size:"48x48",class:"_w-12 _shrink-0"},null,8,["src","fio"]),j("div",null,[j("div",se,k(c.value),1),j("div",re,k(p.value),1)])],10,ne))}}),le={class:"_t-body-regular"},ie={class:"_flex _justify-between _mb-3"},ue={class:"_flex _items-center _gap-2"},pe=b({name:"CheckoutFormFields",__name:"fields",props:{discountPrice:{},currencyChar:{},price:{},paymentMethodData:{}},setup(e){const a=e,{paymentMethodData:t}=w(a),{paymentMethod:n,paymentMethods:s,refreshCheckout:r,checkoutData:l}=ae(),{isMobile:i}=q(),{therapyType:u}=O(),{getPromocode:p}=H(),d=e=>{n.value=e.key};return c(()=>{var e;return ee(l.value)?null==(e=l.value.unconfirmed_promocode)?void 0:e.active:void 0},async(e,a)=>{a&&!e&&await p()}),(a,n)=>(h(),y(C,null,[g(A,{"model-value":x(t),"open-options-in-modal":x(i),"payment-methods":x(s),"data-testid":"onboarding_checkout-form_payment-type-select","onUpdate:modelValue":d},null,8,["model-value","open-options-in-modal","payment-methods"]),j("div",le,[j("div",ie,[x(u)===x(o).Couple?(h(),y(C,{key:0},[S(" Парная сессия, 1,5 часа ")],64)):(h(),y(C,{key:1},[S(" Сессия, 50 мин ")],64)),j("div",ue,k(x(T)(e.price,e.currencyChar)),1)]),g(z),g(J,{onSuccess:x(r)},null,8,["onSuccess"])])],64))}}),ce={class:"_flex _justify-between _items-center _t-paragraph-accent-short"},de={class:"_flex _gap-2"},me={key:1,class:"hover:_bg-grey-200 _rounded-md _p-1 _flex _transition-all"},ve={key:0,class:"_t-small-regular _mb-0 _mt-5 _text-grey-800"},_e=b({name:"CheckoutFormPrice",__name:"price",props:{currencyChar:{},isTopUpBalance:{type:Boolean,default:!1},price:{},discountPrice:{},paymentMethodData:{}},setup(e){const a=e,{discountPrice:t,price:n,paymentMethodData:r}=w(a),{paymentMethod:o}=ae(),l=_(()=>t.value>=0&&t.value!==n.value),i=_(()=>{var e;return null==(e=r.value)?void 0:e.price_hint});return(a,r)=>{const u=M("ysn-tooltip");return h(),y(C,null,[j("div",ce,[r[0]||(r[0]=j("span",null," Итого ",-1)),j("div",de,[j("div",{class:f({"_text-grey-600 _line-through":l.value})},k(x(T)(x(n),e.currencyChar)),3),l.value?(h(),y(C,{key:0},[S(k(x(T)(x(t),e.currencyChar)),1)],64)):B("",!0),i.value?D((h(),y("span",me,[g(x(N),{icon:"info.svg",size:"_w-5"})])),[[u,{content:i.value,placement:"right",offset:[0,8],theme:"ysn",allowHTML:!0,arrow:!0}]]):B("",!0)])]),x(o)===x(s).CloudPayments?(h(),y("p",ve," Сумма будет сконвертирована в доллары по курсу платёжного агента на момент списания оплаты ")):B("",!0)],64)}}}),be={class:"_whitespace-nowrap"},he=b({name:"CheckoutFormPayBtn",__name:"pay-btn",props:{isTopUpBalance:{type:Boolean,default:!1},discountPrice:{}},setup(e){const a=e,{isTopUpBalance:t,discountPrice:n}=w(a),{checkoutUrl:s,isChildConsentRequired:r,childConsent:o,childConsentErrorShowed:l}=ae(),u=p(!1),c=p(null),d=_(()=>0===n.value?"Записаться на сессию":t.value?"Пополнить баланс и записаться":"Добавить карту и записаться"),m=async()=>{var e;if(!r.value||o.value){u.value=!0,c.value=null;try{if(0===n.value)return void(await(async e=>{var a;const t=(null==(a=document.querySelector('meta[name="csrf-token"]'))?void 0:a.content)??"",n=await fetch(e,{method:"POST",headers:{"X-CSRF-Token":t}});window.location.href=n.url})("/signup/skip_card"));if(t.value){const{data:a,error:t}=await i(F).post({amount:n.value,back_to:"root"}).json();return t.value||!(null==(e=a.value)?void 0:e.url)?void(c.value="Произошла ошибка при пополнении баланса, попробуйте позже"):void(window.location.href=a.value.url)}window.location.href=s.value}catch{c.value="Произошла неизвестная ошибка, попробуйте позже"}finally{u.value=!1}}else l.value=!0};return(e,a)=>
2(h(),y("div",null,[c.value?(h(),P(x(W),{key:0,type:"error",class:"_mb-4","close-icon":!1},{text:V(()=>[S(k(c.value),1)]),_:1})):B("",!0),g(x(G),{loading:u.value,class:"_w-full",type:"base",weight:"primary","data-testid":"onboarding_checkout-form_submit-button",onClick:m},{default:V(()=>[j("span",be,k(d.value),1)]),_:1},8,["loading"])]))}}),ye=["innerHTML"],fe=b({name:"CheckoutFormAccordion",__name:"accordion",props:{isTopUpBalance:{type:Boolean}},setup(e){const a=e,{isTopUpBalance:t}=w(a),{paymentMethod:n}=ae(),r=p([]),o=_(()=>[{id:"reschedule",title:"Как перенести или отменить сессию?",content:"\n      Вы&nbsp;можете отменить или перенести сессию с&nbsp;психологом не&nbsp;позднее 12&nbsp;часов до&nbsp;её&nbsp;начала.<br><br>\n      Для переноса сессии воспользуйтесь личным кабинетом на&nbsp;сайте Ясно.<br><br>\n      Отменить сессию можно через службу поддержки в&nbsp;личном кабинете.\n    "},...t.value?[{id:"payment-foreign",title:"Как работает оплата с иностранной карты?",content:"\n      Вы&nbsp;можете пополнить баланс Ясно с&nbsp;иностранной карты. После пополнения средства за&nbsp;сессии будут списываться автоматически с&nbsp;баланса.<br><br>\n      Можно пополнить баланс на&nbsp;одну или сразу на&nbsp;несколько сессий&nbsp;&mdash; как вам удобнее.\n    "}]:[{id:"after-card",title:"Что произойдёт после добавления карты?",content:`\n      После&nbsp;того как&nbsp;вы&nbsp;нажмёте на&nbsp;кнопку, вы&nbsp;будете перенаправлены на&nbsp;защищённую страницу оплаты.\n      После&nbsp;добавления информации о&nbsp;карте и&nbsp;подтверждения кода с&nbsp;вашей карты будет списано и&nbsp;сразу&nbsp;же&nbsp;возвращено ${n.value===s.CloudPayments?4:2}&nbsp;рубля.\n      Это&nbsp;необходимо для&nbsp;проверки работоспособности вашей карты.\n    `}],{id:"charge-timing",title:"В какой момент будет списана стоимость сессии?",content:t.value?"\n      Стоимость сессии списывается с&nbsp;баланса за&nbsp;24&nbsp;часа до&nbsp;её&nbsp;начала.<br><br>\n      Если вы&nbsp;отмените или перенесёте сессию за&nbsp;12&nbsp;часов\n      до&nbsp;старта&nbsp;&mdash; сумма вернётся на&nbsp;баланс, и&nbsp;вы&nbsp;сможете\n      использовать её&nbsp;для следующих сессий.\n    ":"\n      Стоимость сессии будет заморожена на&nbsp;вашей карте за&nbsp;24&nbsp;часа\n      до&nbsp;начала и&nbsp;автоматически списана за&nbsp;12&nbsp;часов до&nbsp;сессии.<br><br>\n      Гарантируем возврат средств при&nbsp;отмене и&nbsp;переносе за&nbsp;12&nbsp;часов до&nbsp;начала сессии.\n    "},...t.value?[{id:"payment-change-refund",title:"Можно ли изменить способ оплаты или вернуть средства на карту?",content:"\n      Сейчас оплата иностранными картами возможна только через пополнение баланса.\n      Неиспользованные средства на&nbsp;балансе Ясно можно вернуть обратно на&nbsp;вашу карту.\n    "}]:[{id:"card-remove",title:"Можно ли удалить или изменить карту после добавления?",content:"Вы&nbsp;всегда сможете изменить способ оплаты или&nbsp;удалить добавленную карту в&nbsp;личном кабинете."}],{id:"currency-price",title:"Как рассчитывается стоимость сессии в валюте?",content:"\n      В&nbsp;итоговую сумму включены комиссии платёжных систем, налог (VAT) от&nbsp;16&nbsp;до&nbsp;27%,\n      а&nbsp;также возможные расходы на&nbsp;конвертацию. Это стандартная практика для международных онлайн-платежей.\n    "}]);return(e,a)=>(h(),y("div",null,[a[1]||(a[1]=j("h2",{class:"_t-article-accent-short _mb-4"}," Ответы на вопросы ",-1)),g(x(Y),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=e=>r.value=e)},{default:V(()=>[(h(!0),y(C,null,U(o.value,e=>(h(),P(x(Z),{key:e.id,name:e.id},{header:V(()=>
2[S(k(e.title),1)]),default:V(()=>[j("span",{innerHTML:e.content},null,8,ye)]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"])]))}}),ge={class:"_t-tiny-regular _tracking-normal _leading-3 _text-grey-800"},je="_t-tiny-regular !_tracking-normal !_underline hover:!_no-underline",ke=Q(b({name:"CheckoutChildConsent",__name:"child-consent",setup(e){const a=L(()=>K(()=>import("./index-CQ-fYWbE.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]))),{therapist:t,childConsent:n,isChildConsentErrorShown:s}=ae(),r=p(!1);return(e,o)=>(h(),y("div",{class:f(["_rounded-[10px] _bg-blue-100 _p-3",{"consent--error":x(s)}])},[g(x(X),{modelValue:x(n),"onUpdate:modelValue":o[1]||(o[1]=e=>I(n)?n.value=e:null)},{label:V(()=>[j("div",ge,[o[5]||(o[5]=S(" Я являюсь законным представителем несовершеннолетнего. Принимаю условия ",-1)),g(x($),{class:f(je),color:"grey",href:"/minor-consent.pdf",target:"_blank"},{default:V(()=>[...o[3]||(o[3]=[S(" согласия ",-1)])]),_:1}),o[6]||(o[6]=S(" и ",-1)),g(x($),{class:f(je),color:"grey",onClick:o[0]||(o[0]=E(e=>r.value=!0,["prevent"]))},{default:V(()=>[...o[4]||(o[4]=[S(" договора ",-1)])]),_:1}),o[7]||(o[7]=S(" и при необходимости предоставлю подтверждающие док
2ументы ",-1))])]),_:1},8,["modelValue"]),x(t)?(h(),P(x(a),{key:0,modelValue:r.value,"onUpdate:modelValue":o[2]||(o[2]=e=>r.value=e),"entity-id":x(t).id},null,8,["modelValue","entity-id"])):B("",!0)],2))}}),[["__scopeId","data-v-6b3ba85d"]]),we={class:"md:_max-w-[417px] _mx-auto _pt-6 sm:_pt-20"},Ce={class:"_rounded-2xl _bg-white-100 _px-4 _py-6 _mb-12 sm:_mb-14"},xe=b({name:"CheckoutForm",__name:"form",setup(e){const{paymentMethods:a,paymentMethod:t,isChildConsentRequired:n}=ae(),s=_(()=>a.value.find(({key:e})=>e===t.value)??{}),o=_(()=>{var e;return(null==(e=s.value)?void 0:e.currency)??te.Rub}),l=_(()=>r[o.value]),i=_(()=>{var e;return(null==(e=s.value)?void 0:e.price)??0}),u=_(()=>{var e;return(null==(e=s.value)?void 0:e.discount_price)??0}),p=_(()=>{var e,a;return null==(a=null==(e=s.value)?void 0:e.flags)?void 0:a.top_up_balance});return(e,a)=>(h(),y("div",we,[j("div",Ce,[g(oe,{class:"_mb-6"}),j("div",{class:f(["_space-y-6",x(n)?"_mb-5 sm:_mb-4":"_mb-6"])},[g(pe,{"discount-price":u.value,"currency-char":l.value,"payment-method-data":s.value,price:i.value},null,8,["discount-price","currency-char","payment-method-data","price"]),a[0]||(a[0]=j("hr",{class:"_border-grey-500"},null,-1)),g(_e,{"payment-method-data":s.value,"discount-price":u.value,"currency-char":l.value,"is-top-up-balance":p.value,price:i.value},null,8,["payment-method-data","discount-price","currency-char","is-top-up-balance","price"])],2),x(n)?(h(),P(ke,{key:0,class:"_mb-5 sm:_mb-4"})):B("",!0),g(he,{"discount-price":u.value,"is-top-up-balance":p.value},null,8,["discount-price","is-top-up-balance"])]),g(fe,{"is-top-up-balance":p.value},null,8,["is-top-up-balance"])]))}}),Se=9e5,Te=b({name:"StepCheckout",__name:"index",setup(e){const{isInitiallyLoaded:a}=ae(),s=p(null),r=e=>{s.value=setTimeout(()=>{localStorage.removeItem(n),window.location.reload()},e)};return m(()=>{const e=localStorage.getItem(n),a=e??Date.now().toString();e||localStorage.setItem(n,a);const t=Se-(Date.now()-Number(a));if(t<=0)return localStorage.setItem(n,Date.now().toString()),void r(Se);r(t)}),v(()=>{s.value&&clearTimeout(s.value)}),(e,n)=>x(a)?(h(),P(xe,{key:0})):(h(),P(t,{key:1}))}});export{Te as default};
3//# sourceMappingURL=index-f5FZFssT.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.