1import{f as R,e as P,m as C,g as $}from"./vendor-primevue-Ccwe8ICX.js";import{h as J,a as O}from"./index-ChU8jYFA.js";import{d as _,r as o,c as F,J as i,b as u,K as t,n as m,g as n}from"./vendor-vue-BKoTHMGq.js";import"./vendor-DweBnwaO.js";import"./vendor-charts-DDDWuFtC.js";import"./vendor-utils-Dz6h6rJQ.js";class L{constructor(){this.basePath="/email-test"}async sendTestEmail(v){return(await J.post(`${this.basePath}/send`,v)).data}}const M=new L,j={class:"card"},K={class:"space-y-6"},W={key:0,class:"border-t pt-4"},q={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},z={key:0},G={key:1},H={key:2},Q={key:3},X={key:4},Y={key:5},Z={key:6},h={key:7},ee={key:8},le={key:9},ae={key:10,class:"md:col-span-2"},te={class:"flex justify-end"},me=_({__name:"EmailTestView",setup(B){const{showToast:v}=O(),r=o("email-verification"),p=o(""),b=o(!1),f=o("Test User"),k=o("test-token-123"),V=o("reset-token-456"),T=o("127.0.0.1"),g=o("John Doe"),c=o("Test Team"),y=o("invitation-token-789"),w=o(-500),N=o(1e4),U=o(1500),A=o("Monthly subscription fee"),x=[{label:"Email Verification",value:"email-verification"},{label:"Password Reset",value:"password-reset"},{label:"Password Changed",value:"password-changed"},{label:"Team Invitation",value:"team-invitation"},{label:"Low Balance",value:"low-balance"},{label:"Balance Top-Up",value:"balance-top-up"},{label:"Balance Deduction",value:"balance-deduction"},{label:"Notifications Digest",value:"notifications-digest"},{label:"Welcome (Onboarding)",value:"welcome"}],d=F(()=>{switch(r.value){case"email-verification":return["userName","verificationToken"];case"password-reset":return["userName","resetToken"];case"password-changed":return["userName","ipAddress"];case"team-invitation":return["inviterName","teamName","invitationToken"];case"low-balance":return["teamName","currentBalance"];case"balance-top-up":return["teamName","topUpAmount"];case"balance-deduction":return["teamName","deductionAmount","deductionReason"];case"welcome":return["userName"];default:return[]}});async function D(){var E,e;if(!p.value){v({type:"warn",title:"Validation",message:"Please enter recipient email"});return}b.value=!0;try{const a={user_name:f.value};switch(r.value){case"email-verification":a.verification_token=k.value;break;case"password-reset":a.reset_token=V.value;break;case"password-changed":a.ip_address=T.value;break;case"team-invitation":a.inviter_name=g.value,a.team_name=c.value,a.invitation_token=y.value;break;case"low-balance":a.team_name=c.value,a.current_balance=w.value;break;case"balance-top-up":a.team_name=c.value,a.amount=N.value;break;case"balance-deduction":a.team_name=c.value,a.amount=U.value,a.reason=A.value;break;case"welcome":break;case"notifications-digest":a.notifications=[{title:"Test Notification 1",message:"This is a test notification",service:"Test Service",date:new Date().toISOString()},{title:"Test Notification 2",message:"Another test notification",service:"Test Service",date:new Date().toISOString()}];break}const s={template:r.value,email:p.value,variables:a};await M.sendTestEmail(s),v({type:"success",title:"Email Sent",message:`Test email sent to ${p.value}`})}catch(a){const s=((e=(E=a==null?void 0:a.response)==null?void 0:E.data)==null?void 0:e.message)||"Failed to send email";v({type:"error",title:"Error",message:s})}finally{b.value=!1}}return(E,e)=>{const a=R,s=P,S=C,I=$;return u(),i("div",j,[e[27]||(e[27]=t("h2",{class:"text-2xl font-semibold mb-6"},"Test Email Sending",-1)),t("div",K,[t("div",null,[e[13]||(e[13]=t("label",{class:"block font-medium mb-2"},"Email Template",-1)),n(a,{modelValue:r.value,"onUpdate:modelValue":e[0]||(e[0]=l=>r.value=l),options:x,optionLabel:"label",optionValue:"value",placeholder:"Select template",fluid:""},null,8,["modelValue"])]),t("div",null,[e[14]||(e[14]=t("label",{class:"block font-medium mb-2"},"Recipient Email",-1)),n(s,{modelValue:p.value,"onUpdate:modelValue":e[1]||(e[1]=l=>p.value=l),type:"email",placeholder:"[email protected]",fluid:""},null,8,["modelValue"])]),d.value.length>0?(u(),i("div",W,[e[26]||(e[26]=t("h3",{class:"text-lg font-medium mb-4"},"Template Variables",-1)),t("div",q,[d.value.includes("userName")?(u(),i("div",z,[e[15]||(e[15]=t("label",{class:"block font-medium mb-2"},"User Name",-1)),n(s,{modelValue:f.value,"onUpdate:modelValue":e[2]||(e[2]=l=>f.value=l),placeholder:"Test User",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("verificationToken")?(u(),i("div",G,[e[16]||(e[16]=t("label",{class:"block font-medium mb-2"},"Verification Token",-1)),n(s,{modelValue:k.value,"onUpdate:modelValue":e[3]||(e[3]=l=>k.value=l),placeholder:"test-token-123",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("resetToken")?(u(),i("div",H,[e[17]||(e[17]=t("label",{class:"block font-medium mb-2"},"Reset Token",-1)),n(s,{modelValue:V.value,"onUpdate:modelValue":e[4]||(e[4]=l=>V.value=l),placeholder:"reset-token-456",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("ipAddress")?(u(),i("div",Q,[e[18]||(e[18]=t("label",{class:"block font-medium mb-2"},"IP Address (optional)",-1)),n(s,{modelValue:T.value,"onUpdate:modelValue":e[5]||(e[5]=l=>T.value=l),placeholder:"127.0.0.1",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("inviterName")?(u(),i("div",X,[e[19]||(e[19]=t("label",{class:"block font-medium mb-2"},"Inviter Name",-1)),n(s,{modelValue:g.value,"onUpdate:modelValue":e[6]||(e[6]=l=>g.value=l),placeholder:"John Doe",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("teamName")?(u(),i("div",Y,[e[20]||(e[20]=t("label",{class:"block font-medium mb-2"},"Team Name",-1)),n(s,{modelValue:c.value,"onUpdate:modelValue":e[7]||
1(e[7]=l=>c.value=l),placeholder:"Test Team",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("invitationToken")?(u(),i("div",Z,[e[21]||(e[21]=t("label",{class:"block font-medium mb-2"},"Invitation Token",-1)),n(s,{modelValue:y.value,"onUpdate:modelValue":e[8]||(e[8]=l=>y.value=l),placeholder:"invitation-token-789",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("currentBalance")?(u(),i("div",h,[e[22]||(e[22]=t("label",{class:"block font-medium mb-2"},"Current Balance (cents)",-1)),n(S,{modelValue:w.value,"onUpdate:modelValue":e[9]||(e[9]=l=>w.value=l),placeholder:"-500",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("topUpAmount")?(u(),i("div",ee,[e[23]||(e[23]=t("label",{class:"block font-medium mb-2"},"Top-Up Amount (cents)",-1)),n(S,{modelValue:N.value,"onUpdate:modelValue":e[10]||(e[10]=l=>N.value=l),placeholder:"10000",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("deductionAmount")?(u(),i("div",le,[e[24]||(e[24]=t("label",{class:"block font-medium mb-2"},"Deduction Amount (cents)",-1)),n(S,{modelValue:U.value,"onUpdate:modelValue":e[11]||(e[11]=l=>U.value=l),placeholder:"1500",fluid:""},null,8,["modelValue"])])):m("",!0),d.value.includes("deductionReason")?(u(),i("div",ae,[e[25]||(e[25]=t("label",{class:"block font-medium mb-2"},"Deduction Reason",-1)),n(s,{modelValue:A.value,"onUpdate:modelValue":e[12]||(e[12]=l=>A.value=l),placeholder:"Monthly subscription fee",fluid:""},null,8,["modelValue"])])):m("",!0)])])):m("",!0),t("div",te,[n(I,{label:"Send Test Email",icon:"pi pi-send",loading:b.value,onClick:D,severity:"success"},null,8,["loading"])])])])}}});export{me 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.