PageSourceSearch

https://online-academy.esakimedical.co.jp/_nuxt/jDXUv2Ec.js

js esakimedical.co.jp collected 2026-10-07 02:16:51 UTC 4,875 bytes, 1 lines download raw bytes

1import{_ as v}from"./CYr54o8O.js";import{W as l,q as n,Z as e,X as f,Y as w,ac as i,a8 as y,a4 as b,a5 as h,_ as p,a7 as k,j as d}from"./Dgj_Qgju.js";import{u as _}from"./DYlrgN5J.js";import{l as M}from"./CnGqzpe9.js";import{_ as N}from"./DlAUqK2U.js";import"./CWSgHu2s.js";import"./Bwk3HUG7.js";const B={class:"auth-container py-8 lg:py-12 px-4 mx-auto max-w-screen-md"},C={class:"bg-white rounded-2xl border border-gray-100 shadow-xl p-6 md:p-10 transition-all duration-300 hover:shadow-2xl"},V={class:"mb-4"},j={class:"space-y-2"},q={class:"relative"},L=["disabled"],R={key:0,class:"error-message mt-2 text-center"},S={key:1,class:"text-center py-6 space-y-6"},T={class:"text-sm text-gray-600 max-w-md mx-auto leading-relaxed space-y-2"},U={class:"text-gray-900"},z={__name:"password-reset",setup(D){const m=M().public.siteName;_({title:`パスワード再設定申請 | ${m}`,description:"パスワードをお忘れの方、または旧システムから移行される方向けの再設定申請ページです。"});const o=d(""),r=d(""),a=d(!1),u=d(!1),x=async()=>{a.value=!0,r.value="";try{const s=window.location.origin;await $fetch("/api/public/send-password-reset-email",{method:"POST",body:{email:o.value,appUrl:s}}),u.value=!0}catch(s){console.error("Password reset request failed:",s),r.value=s.data?.error||"メールの送信に失敗しました。メールアドレスが正しく登録されているかご確認ください。"}finally{a.value=!1}};return(s,t)=>{const c=v;return l(),n("div",B,[e("div",C,[e("div",V,[f(c,{to:"/login",class:"inline-flex items-center text-sm text-gray-600 hover:text-gray-900 group"},{default:w(()=>[...t[1]||(t[1]=[e("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-5 w-5 mr-2 transition-transform duration-200 group-hover:-translate-x-1",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1),i(" ログイン画面に戻る ",-1)])]),_:1})]),t[9]||(t[9]=e("h1",{class:"mb-4 text-2xl md:text-3xl font-black text-center text-gray-900 bg-gradient-to-r from-gray-900 to-gray-700 bg-clip-text text-transparent"}," パスワードの再設定 ",-1)),t[10]||(t[10]=e("p",{class:"text-center text-sm text-gray-500 mb-8 leading-relaxed"},[i(" ご登録いただいているメールアドレスを入力してください。"),e("br"),i(" パスワード再設定用リンクを記載したメールをお送りします。 ")],-1)),u.value?(l(),n("div",S,[t[6]||(t[6]=e("div",{class:"inline-flex p-4 bg-green-50 text-green-600 rounded-full"},[e("svg",{class:"w-12 h-12",fill:"none",stroke:"currentColor","stroke-width":"1.5",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})])],-1)),t[7]||(t[7]=e("h2",{class:"text-2xl font-black text-gray-900"},"メールを送信しました",-1)),e("div",T,[e("p",null,[e("strong",U,p(o.value),1),t[4]||(t[4]=i(" 宛てに、パスワード再設定用のメールを送信しました。",-1))]),t[5]||(t[5]=e("p",null,"メール内のリンクをクリックして、30分以内に新しいパスワードの設定を完了させてください。",-1))]),t[8]||(t[8]=e("div",{class:"pt-4 border-t border-gray-100 text-xs text-gray-400 space-y-1"},[e("p",null,"※メールが届かない場合は、迷惑メールフォルダやゴミ箱をご確認ください。"),e("p",null,"※メールアドレスに間違いがある場合は、再度やり直してください。")],-1))])):(l(),n("form",{key:0,onSubmit:y(x,["prevent"]),class:"space-y-6"},[e("div",j,[t[3]||(t[3]=e("label",{for:"email",class:"block text-sm font-bold text-gray-800"},"メールアドレス",-1)),e("div",q,[t[2]||(t[2]=e("div",{class:"absolute inset-y-0 left-0 flex items-center pl-3.5 pointer-events-none"},[e("svg",{class:"w-5 h-5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})])],-1)),b(e("input",{type:"email",id:"email","onUpdate:modelValue":t[0]||(t[0]=g=>o.value=g),required:"",placeholder:"[email protected]",class:"rich-input pl-11"},null,512),[[h,o.value]])])]),e("button",{type:"submit",disabled:a.value,class:"button py-3.5 px-6 font-bold text-center rounded-xl w-full flex items-center justify-center shadow-lg shadow-orange-500/10 hover:shadow-orange-500/20 transform active:scale-[0.98] transition-all duration-150"}
1,p(a.value?"送信中...":"再設定メールを送信する"),9,L),r.value?(l(),n("p",R,p(r.value),1)):k("",!0)],32))])])}}},Y=N(z,[["__scopeId","data-v-c9e655bf"]]);export{Y 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.