PageSourceSearch

https://viddoc.ru/_nuxt/BZxnzZ9M.js

js viddoc.ru collected 2026-09-24 15:11:21 UTC 10,305 bytes, 1 lines download raw bytes

1import{_ as z}from"./Re-mR0Tl.js";import{e as U,ar as G,ai as Y,aa as W,aq as B,L as X,K as J,X as q,m as o,r as I,j as e,F as v,Y as f,a5 as l,I as L,a9 as Z,i as d,C as ee,Q as t,H as k,a2 as p,k as R,q as ae,E as se,c as ie}from"./5aDUKET-.js";import{_ as le}from"./DyqE5w-v.js";import"./CKTj8803.js";const te={class:"compare"},ne={class:"container"},oe={class:"compare__tabs paragraph-m",role:"tablist"},ce=["aria-selected","onClick"],re={class:"compare__scroll"},_e={class:"compare__row compare__row--head paragraph-m"},de={class:"compare__label"},pe={class:"container"},ue={class:"billing__tabs paragraph-m",role:"tablist"},ve=["aria-selected","onClick"],ge={class:"billing__panels"},me=["aria-hidden"],fe={class:"billing__panel-inner"},be={class:"billing__info"},he={class:"billing__panel-title heading-m"},ye={class:"billing__panel-text paragraph-l"},qe={class:"billing__card-row"},ke={class:"billing__tag paragraph-s"},xe={class:"billing__card-value heading-s"},$e={class:"billing__progress"},Me={key:1,class:"billing__card-text paragraph-l"},we={class:"pricing-faq"},Pe={class:"container"},Te={class:"pricing-faq__list"},Ae=["aria-expanded","onClick"],Ce={class:"pricing-faq__question paragraph-l"},Fe={class:"pricing-faq__answer"},De={class:"pricing-faq__answer-inner"},Ee={class:"paragraph-m"},H=22,Oe={__name:"pricing",async setup(Se){let $,D;const{data:M}=([$,D]=G(()=>Z("/api/plans",{default:()=>({plans:[],specialPlans:{}})},"$W-zOGme2RH")),$=await $,D(),$),r=d(()=>M.value?.plans??[]),x=d(()=>M.value?.specialPlans?.free||r.value.find(s=>s.isFree)),E=d(()=>M.value?.specialPlans?.guest),b=d(()=>M.value?.specialPlans?.payg),g=d(()=>x.value?.monthlyMinutes??x.value?.dailyMinutes??0),P=d(()=>Math.max(0,...r.value.filter(s=>s.isSubscription).map(s=>Number(s.yearlyDiscountPercent||0)))),T=d(()=>r.value.find(s=>s.badge)||r.value.find(s=>s.isSubscription));Y({title:"Тарифы на транскрибацию — VidDoc",ogTitle:"Тарифы на транскрибацию — VidDoc",description:d(()=>`Тарифы VidDoc: от 0 ₽. ${g.value} бесплатных минут транскрибации, AI-обработка и поминутная оплата.`),ogDescription:d(()=>`${g.value} бесплатных минут, подписки и оплата от ${b.value?.perMinute??0} ₽ за минуту.`),twitterTitle:"Тарифы на транскрибацию — VidDoc",twitterDescription:d(()=>`${g.value} бесплатных минут, подписки и оплата от ${b.value?.perMinute??0} ₽ за минуту.`)});const O=d(()=>[{q:"Что произойдёт, когда закончатся бесплатные минуты?",a:`Можно дождаться обновления лимита или продолжить с поминутной оплатой по ${b.value?.perMinute??0} ₽/мин.`},{q:"Как продлить тариф?",a:"Выберите подходящий тариф и оплатите новый период."},{q:"Как работает скидка при оплате за год?",a:`При годовой оплате скидка составляет до ${P.value}%. ${T.value?`Тариф «${T.value.name}» — ${T.value.yearlyTotal} ₽ за год.`:""}`.trim()},{q:"Нужно ли привязывать карту для бесплатного тарифа?",a:`Нет. Тариф «${x.value?.name||"Бесплатный"}» включает ${g.value} минут без оплаты.`},{q:"Сколько доступно без регистрации?",a:`Без аккаунта доступно ${E.value?.monthlyMinutes??0} минут транскрибации.`},{q:"Какие способы оплаты поддерживаются?",a:"Оплата проходит через ЮKassa — поддерживаются банковские карты, SberPay, ЮMoney и другие доступные способы."}]);W(()=>({bodyAttrs:{class:"page-pricing"},script:[{key:"faq-pricing",type:"application/ld+json",innerHTML:ee({"@context":"https://schema.org","@type":"FAQPage",mainEntity:O.value.map(s=>
1({"@type":"Question",name:s.q,acceptedAnswer:{"@type":"Answer",text:s.a}}))})}]}));const w=q(null),K=()=>se("/"),S=d(()=>[{id:"free",label:"Бесплатный старт",title:"Бесплатный старт",text:`${E.value?.monthlyMinutes??0} минут доступны без входа, после регистрации — ${g.value} минут по тарифу «${x.value?.name||"Бесплатный"}».`},{id:"subscription",label:"Подписка",title:"Подписка на выбранный период",text:`Разовая оплата на месяц или год через ЮKassa${P.value?` со скидкой до ${P.value}%`:""}. Тариф продлевается только после повторной оплаты.`,cardText:"Платёж обрабатывается на стороне ЮKassa. VidDoc не хранит данные банковской карты."},{id:"payg",label:"Поминутная оплата",title:b.value?.name||"По мере использования",text:`Если включённые минуты закончились, продолжайте работу по ${b.value?.perMinute??0} ₽ за минуту без смены тарифа.`,cardText:b.value?.quota||"Оплачиваются только использованные минуты."}]),m=q("free"),A=q(null),C=q(0),F=q(0);let h=null,V=!1;const j=()=>{h&&cancelAnimationFrame(h);const s=1200,i=_=>1-Math.pow(1-_,3);let u=null;C.value=0,F.value=0;const n=_=>{u===null&&(u=_);const a=Math.min((_-u)/s,1),c=i(a);C.value=H*c,F.value=Math.round(g.value*H/100*c),a<1&&(h=requestAnimationFrame(n))};h=requestAnimationFrame(n)};B(m,s=>{s==="free"&&V&&j()}),X(()=>{if(!A.value||typeof IntersectionObserver>"u")return;const s=new IntersectionObserver(i=>{i.forEach(u=>{u.isIntersecting&&(V=!0,m.value==="free"&&j(),s.disconnect())})},{threshold:.4});s.observe(A.value)}),J(()=>{h&&cancelAnimationFrame(h)});const N=d(()=>r.value.map(s=>({id:s.id,label:s.name}))),y=q(r.value.find(s=>s.badge)?.id||r.value[0]?.id||"");B(r,s=>{s.some(i=>i.id===y.value)||(y.value=s.find(i=>i.badge)?.id||s[0]?.id||"")});const Q=d(()=>{const s=[{label:"Лимит",values:Object.fromEntries(r.value.map(n=>[n.id,n.quota||"—"]))},{label:"В пакете",values:Object.fromEntries(r.value.map(n=>[n.id,n.planPerMinute||"—"]))},{label:"Доп. минуты",values:Object.fromEntries(r.value.map(n=>[n.id,`${n.perMinute} ₽/мин`]))}],i=[],u={};for(const n of r.value)for(const _ of n.features||[])!_.code||["payg","base_bundle"].includes(_.code)||(i.includes(_.code)||i.push(_.code),u[_.code]||=_.text);for(const n of i)s.push({label:u[n],values:Object.fromEntries(r.value.map(_=>[_.id,_.featureCodes?.includes(n)||!1]))});return s});return(s,i)=>{const u=z,n=ie,_=le;return t(),o("div",null,[I(u,{variant:"page"}),e("section",te,[e("div",ne,[i[1]||(i[1]=e("h2",{class:"compare__title heading-m"},"Что входит в каждый тариф",-1)),e("div",oe,[(t(!0),o(v,null,f(l(N),a=>(t(),o("button",{key:a.id,type:"button",role:"tab",class:k(["compare__tab",{"compare__tab--active":l(y)===a.id}]),"aria-selected":l(y)===a.id,onClick:c=>y.value=a.id},p(a.label),11,ce))),128))]),e("div",re,[e("div",{class:"compare__table",style:L({"--plan-count":l(r).length})},[e("div",_e,[i[0]||(i[0]=e("span",{class:"compare__label"},null,-1)),(t(!0),o(v,null,f(l(r),a=>(t(),o("span",{key:a.id,class:"compare__col"},p(a.name),1))),128))]),(t(!0),o(v,null,f(l(Q),a=>(t(),o("div",{key:a.label,class:"compare__row paragraph-m"},[e("span",de,p(a.label),1),(t(!0),o(v,null,f(l(r),c=>(t(),o("span",{key:c.id,class:k(["compare__col",{"compare__col--active":c.id===l(y),"compare__col--featured":!!c.badge}])},[a.values[c.id]===!0?(t(),R(n,{key:0,name:"check",class:"compare__check"})):a.values[c.id]===!1?(t(),R(n,{key:1,name:"x-1",class:"compare__x"})):(t(),o(v,{key:2},[ae(p(a.values[c.id]),1)],64))],2))),128))]))),128))],4)])])]),e("section",{ref_key:"billingRoot",ref:A,class:"billing"},[e("div",pe,[i[4]||(i[4]=e("div",{class:"billing__head"},[e("span",{class:"billing__eyebrow paragraph-l"},"Как это работает"),e("h2",{class:"billing__title heading-m"},"Прозрачная система оплаты")],-1)),e("div",ue,[(t(!0),o(v,null,f(l(S),a=>(t(),o("button",{key:a.id,type:"button",role:"tab",class:k(["billing__tab",{"billing__tab--active":l(m)===a.id}]),"aria-selected":l(m)===a.id,onClick:c=>m.value=a.id},p(a.label),11,ve))),128))]),e("div",ge,[(t(!0),o(v,null,f(l(S),a=>(t(),o("div",{key:a.id,class:k(["billing__panel",[`billing__panel--${a.id}`,{"is-active":l(m)===a.id}]]),"aria-hidden":l(m)!==a.id||null},[e("div",fe,[e("div",be,[e("h3",he,p(a.title),1),e("p",ye,p(a.text),1)]),e("div",{class:k(["billing__card",{"billing__card--placeholder":a.id!=="free"}])},[a.id==="free"?(t(),o(v,{key:0},[e("div",qe,[e("span",ke,p(l(x)?.name)+" план",1),i[2]||(i[2]=e("span",{class:"billing__card-hint paragraph-s"},"Можно улучшить",-1))]),e("p",xe,p(l(F))+" из "+p(l(g))+" мин",1),e("div",$e,[e("div",{class:"billing__progress-fill",style:L({width:l(C)+"
1%"})},null,4)]),i[3]||(i[3]=e("p",{class:"billing__card-note paragraph-s"},"Баланс обновляется ежемесячно",-1))],64)):(t(),o("p",Me,p(a.cardText),1))],2)])],10,me))),128))])])],512),e("section",we,[e("div",Pe,[i[6]||(i[6]=e("div",{class:"pricing-faq__header"},[e("span",{class:"pricing-faq__eyebrow paragraph-l"},"FAQ"),e("h2",{class:"heading-m"},"Частые вопросы о стоимости")],-1)),e("div",Te,[(t(!0),o(v,null,f(l(O),(a,c)=>(t(),o("div",{key:c,class:k(["pricing-faq__item",{"pricing-faq__item--open":l(w)===c}])},[e("button",{type:"button",class:"pricing-faq__row","aria-expanded":l(w)===c,onClick:Ve=>w.value=l(w)===c?null:c},[e("span",Ce,p(a.q),1),i[5]||(i[5]=e("span",{class:"pricing-faq__toggle","aria-hidden":"true"},[e("span",{class:"pricing-faq__bar pricing-faq__bar--h"}),e("span",{class:"pricing-faq__bar pricing-faq__bar--v"})],-1))],8,Ae),e("div",Fe,[e("div",De,[e("p",Ee,p(a.a),1)])])],2))),128))])])]),I(_,{onScrollToUpload:K})])}}},Re=U(Oe,[["__scopeId","data-v-c7986da0"]]);export{Re as default};

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.