PageSourceSearch

https://daily-tohoku.news/_nuxt/KQten2w1.js

js daily-tohoku.news collected 2026-09-24 18:15:26 UTC 8,016 bytes, 1 lines download raw bytes

1import{u as M,U as I,w as L,e as p,i4 as H,f as F,N as J,h as C,v as X,D as K,c as S,o as _,E as w,a as i,s as E,M as k,t as $,q as t,a9 as W,X as U,i5 as Y,hV as Q,n as b,K as q,_ as Z,aJ as ee,aL as te,r as A,i6 as ae,aO as se,y as ne,R as B,a0 as oe,i7 as re,a3 as le,a7 as ie,a4 as ce,aS as ue}from"./aq7JMwut.js";import{_ as de}from"./CIFv1-1X.js";import{u as G}from"./CBVj2qyC.js";import{u as V}from"./CBvzuVj8.js";import{_ as pe}from"./BdFpZEfc.js";import{u as me}from"./Bevt95dY.js";import{z as N}from"./CX8q48sp.js";import{u as _e}from"./Czsbdz9V.js";import{u as fe}from"./CoKAEUJW.js";import"./Db_9y_nO.js";import"./DLhZlt1l.js";const ye=async({date:h})=>{const s=V(),o=_e(),{isFreePlan:c}=fe(),{handleAsyncDataError:r}=F({treatAsUnrecoverable:[J]}),{data:l,error:f}=await M(`onetime-${h.value}`,async()=>{const e=await s.getStripePlans(),{mainPlanId:a}=e.data.currentSubscription;if(I(a))throw new Error("契約中のプランが見つかりません");const m=e.data.plans.find(v=>v.id===a);if(I(m))throw new Error("契約中のプランが見つかりません");const x=!c({plan:m});let P=!1;try{const v=await o.getUserPurchasedNewsDates(),T=h.value;P=v.data.purchases.some(n=>n.targetDate===T)}catch{}return{...e,data:{...e.data,_isPaidPlanUser:x,_oneTimeDateAlreadyPurchased:P}}},{server:!0,lazy:!1});L(f,e=>{e&&r(f)},{immediate:!0});const u=p(()=>l.value?.data?._isPaidPlanUser??!1),y=p(()=>l.value?.data?._oneTimeDateAlreadyPurchased??!1);return{plans:p(()=>u.value?[]:(l.value?.data?.plans||[]).filter(a=>a.type===H).sort((a,m)=>a.groupOrder-m.groupOrder)),isPaidPlanUser:u,isOneTimeDateAlreadyPurchased:y}},he={class:"flex w-full flex-col px-5 pb-15"},xe={class:"mx-auto mt-4 flex w-full max-w-[600px] flex-col"},Pe={class:"mt-6 flex w-full flex-col"},ge={class:"mt-6 list-outside list-disc space-y-[15px] px-10 py-3 text-justify leading-[130%]"},z=C({__name:"Content",props:{date:{}},setup(h){const s=h,{getOneTimePurchaseButtonLabel:o}=G(),{formatDate:c}=X(),r=p(()=>o(s.date)),l=p(()=>c(s.date,K.DATE_TEXT_JP));return(f,u)=>{const y=de;return _(),S("div",he,[w(y,null,{default:E(()=>[k($(t(r)),1)]),_:1}),i("div",xe,[u[0]||(u[0]=i("p",{class:"text-center leading-[200%]"},"240円(税込)",-1)),i("div",Pe,[W(f.$slots,"default",{title:t(r)})]),i("ul",ge,[i("li",null,$(t(l))+"発行の新聞紙面をビューアで閲覧できます",1),i("li",null,$(t(l))+"発行の紙面をpdfファイルでダウンロードできます",1),i("li",null,$(t(l))+"にサイトに公開されたすべてのコンテンツを閲覧できます",1)]),u[1]||(u[1]=i("p",{class:"mt-4.5 text-[15px] leading-[150%]"}," ※利用期間は購入してから10年です。お手元にダウンロードしていただいたpdfファイルに利用期限はありません。 ",-1))])])}}}),ve={class:"flex-center"},we={class:"mt-4 text-[15px] leading-[150%]"},be=C({__name:"Explanation",props:{date:{}},async setup(h){let s,o;const c=h,r=`/onetime?date=${c.date}`,l=p(()=>`/login?redirect=${encodeURIComponent(r)}`),{data:f}=([s,o]=U(async()=>M(`onetime-free-plan-${c.date}`,async()=>{try{return await V().getStripePlans()}catch{return null}},{server:!0,lazy:!1})),s=await s,o(),s),u=p(()=>(f.value?.data?.plans??[]).filter(a=>a.type===Y&&a.planType===Q&&a.selectable).sort((a,m)=>a.groupOrder-m.groupOrder)[0]?.id??null),y=p(()=>{const d=u.value,e=encodeURIComponent(r);return d!=null?`/register/email?planId=${d}&redirect=${e}`:`/plans?redirect=${e}`});return(d,e)=>{const a=q,m=Z,x=z;return _(),b(x,{date:d.date},{default:E(({title:P})=>[i("div",ve,[w(a,{buttonStyle:"buy",type:"link",to:t(l),icon:"i-v-services",label:P,class:"min-w-60 text-[17px] leading-none font-medium",iconClass:"w-4.5 h-5.5"},null,8,["to","label"])]),i("p",we,[e[1]||(e[1]=k(" ※未登録のお客様は購入前に「デーリーID」を登録してください。 ",-1)),w(m,{to:t(y),class:"text-primary font-medium hover:underline"},{default:E(()=>e[0]||(e[0]=[k(" 登録はこちら ",-1)])),_:1,__:[0]},8,["to"])])]),_:1},8,["date"])}}});N.object({planId:N.number()});const Se={key:0,class:"flex w-full flex-col space-y-4"},Ee={key:1,class:"flex w-full flex-col space-y-4"},Te={class:"flex-center"},De={class:"flex flex-col items-center py-6"},Ce={class:"mt-8 flex w-full flex-col gap-3 px-4"},Oe={key:2},$e={key:0,class:"text-center text-sm text-gray-500"},Ie={key:1,class:"text-center text-sm text-gray-500"},Ae=C({__name:"index",props:{plans:{},isPaidPlanUser:{type:Boolean,default:!1},alreadyPurchasedForDate:{type:Boolean,default:!1},date:{}},emits:["purchase","complete"],setup(h,{emit:s}){const o=h,c=s,r=ee(),{registerStripeSubscription:l}=me(),{handleError:f}=F(),{getOneTimePurchaseButtonLabel:u}=G(),y=p(()=>o.plans.map(n=>({value:n.id,label:`${n.name}(${n.priceDisplay})`}))),d=p(()=>y.value.length>0),e=te({planId:y.value[0]?.value??null});L(()=>
1y.value,n=>{n.length>0&&(e.planId=n[0].value)},{immediate:!0});const a=A(!1),m=p(()=>I(e.planId)||a.value),x=A(!1),P=()=>{x.value=!0},v=()=>{x.value=!1},T=async()=>{try{a.value=!0;const n=await l({planId:e.planId,purchaseDate:o.date}),{warnings:g,requiresPayment:D,clientSecret:O}=n.data;if(g.length>0?g.forEach(R=>{r.add({title:R.message,color:"warning"})}):r.add({title:se.STRIPE_SUBSCRIPTION_REGISTER_SUCCESS,color:"success"}),D){if(I(O))throw new Error("client_secretを取得できませんでした");c("purchase",{clientSecret:O})}else c("complete")}catch(n){v(),f(n)}finally{a.value=!1}};return(n,g)=>{const D=q,O=ae,R=z;return _(),b(R,{date:n.date},{default:E(()=>[n.alreadyPurchasedForDate?(_(),S("div",Se,g[1]||(g[1]=[i("p",{class:"text-center text-[15px] leading-[180%] text-gray-800"}," この日付の新聞は既に購入済みです。マイページの購入履歴からご確認いただけます。 ",-1)]))):t(d)?(_(),S("div",Ee,[i("div",Te,[w(D,{buttonStyle:"buy",type:"button",disabled:t(m),icon:"i-v-services",label:t(u)(o.date),class:"min-w-60 text-[17px] leading-none font-medium",iconClass:"w-4.5 h-5.5",onClick:P},null,8,["disabled","label"]),w(O,{title:"購入の確認",open:t(x),ui:{content:"max-w-[380px] md:max-w-[420px]"},"onUpdate:open":g[0]||(g[0]=j=>x.value=j)},{content:E(()=>[i("div",De,[g[2]||(g[2]=i("p",{class:"text-center text-[15px] leading-[180%] text-gray-800"},"購入しますか?",-1)),i("div",Ce,[w(D,{buttonStyle:"buy",label:"購入する",disabled:t(a),onClick:T},null,8,["disabled"]),w(D,{buttonStyle:"primary",label:"キャンセル",disabled:t(a),onClick:v},null,8,["disabled"])])])]),_:1},8,["open"])])])):(_(),S("div",Oe,[n.isPaidPlanUser?(_(),S("p",$e," すべての記事が閲覧できるプランにご加入中です ")):(_(),S("p",Ie,"購入可能なプランがありません"))]))]),_:1},8,["date"])}}}),Re=C({__name:"AuthenticatedFlow",props:{date:{}},async setup(h){let s,o;const c=h,r=ne(),l=p(()=>c.date),{plans:f,isPaidPlanUser:u,isOneTimeDateAlreadyPurchased:y}=([s,o]=U(()=>ye({date:l})),s=await s,o(),s),d=A(!1),e=A(null),a=({clientSecret:P})=>{e.value=P,d.value=!0},m=()=>{r.push({name:B.ONETIME_COMPLETE})},x=p(()=>e.value??"");return(P,v)=>{const T=pe,n=Ae;return t(d)&&t(e)?(_(),b(T,{key:0,clientSecret:t(x),returnRouteName:t(B).ONETIME_COMPLETE,onComplete:m},null,8,["clientSecret","returnRouteName"])):(_(),b(n,{key:1,plans:t(f),"is-paid-plan-user":t(u),"already-purchased-for-date":t(y),date:P.date,onPurchase:a,onComplete:m},null,8,["plans","is-paid-plan-user","already-purchased-for-date","date"]))}}}),je=C({__name:"index",async setup(h){let s,o;const c=oe(),r=p(()=>String(c.query.date??""));if(re(r.value))throw le({statusCode:400,statusMessage:"Bad Request",message:"日付が指定されていません"});const{isAuthenticated:l}=([s,o]=U(()=>ce()),s=await s,o(),s),{generateBreadcrumbPaths:f}=ue();return(u,y)=>{const d=be,e=Re,a=ie;return _(),b(a,{breadcrumbPaths:t(f)({route:t(c)}),showGeneralSideBar:!1},{default:E(()=>[t(l)?(_(),b(e,{key:1,date:t(r)},null,8,["date"])):(_(),b(d,{key:0,date:t(r)},null,8,["date"]))]),_:1},8,["breadcrumbPaths"])}}});export{je 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.