1import{_ as Ae}from"./CcFwM_ll.js";import{_ as $e}from"./Cbu3F1bl.js";import{_ as Ve}from"./DoSRlU2L.js";import{_ as Se}from"./BaZSKT8s.js";import{_ as xe}from"./CdI_QwwL.js";import{$ as Q}from"./CMhqVWQ_.js";import{b4 as Pe,bg as qe,b5 as Me,bh as Ne,bs as A,bm as Te,bE as U,bk as p,bf as Ce,b9 as r,ba as u,b8 as e,bb as t,bc as v,bn as g,bF as $,bH as De,bG as V,bA as F,bx as q,by as Ie,br as b,bd as d,bQ as Re,bp as Ee,bB as Ue,bN as L,bJ as Fe,bq as M,be as m}from"./Caf5E3-E.js";import{u as Le}from"./DekuR4OT.js";import{r as K,c as S,m as Be,a as He}from"./BYjOEYpB.js";import{S as X}from"./BWgusLpf.js";import{S as We}from"./DDxt_bss.js";import{E as N}from"./gYvgHSWb.js";import{S as ze}from"./CZjopfgs.js";import{I as je}from"./CosV0Q2A.js";import{u as Oe}from"./BXDLVMun.js";import{u as Ge}from"./DLj-XHz8.js";import{a as Ye}from"./C7XkchL9.js";import{u as Z}from"./QGYp5aMY.js";import{S as ee}from"./C4nfJp3e.js";import{P as Je}from"./CA7kJy7j.js";import"./DX59j_bl.js";import"./BoFUGL9X.js";import"./c4_qGd1X.js";import"./FWwYgxcA.js";import"./Bp7WUX0G.js";import"./BENQSUoE.js";import"./BjKCZ7u3.js";import"./B_4w_U1P.js";import"./D1cJjEGQ.js";import"./Bx5BCwBg.js";import"./B5mor0XL.js";import"./DbacS9zZ.js";import"./D2LtJn6J.js";import"./CinU4lSj.js";import"./De_Edliy.js";import"./BUnxcpry.js";import"./Dt9xu8ZR.js";import"./Df3NMXIX.js";import"./BsoGMVx0.js";import"./CmgKp7-e.js";import"./BHL-axLq.js";import"./DzmJ9Vw_.js";import"./BPbRD4Ng.js";import"./BMcmC559.js";(function(){try{var y=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};y.SENTRY_RELEASE={id:"2a5717eb9274c4bcff8b18723f5f84d11447f814"};var w=new y.Error().stack;w&&(y._sentryDebugIds=y._sentryDebugIds||{},y._sentryDebugIds[w]="4864338e-c0c1-4849-bed9-591be012d0c9",y._sentryDebugIdIdentifier="sentry-dbid-4864338e-c0c1-4849-bed9-591be012d0c9")}catch{}})();const Qe={key:0,class:"plan-preferences grid grid-cols-12 gap-5 p-5"},Ke={class:"col-span-12"},Xe={class:"mt-5 grid grid-cols-12 gap-0"},Ze={class:"col-span-12 sm:col-span-3"},et={class:"input-field__wrapper"},tt={key:0,class:"mt-2.5 grid grid-cols-12 gap-0"},at={class:"col-span-12 mt-2.5 sm:col-span-5"},st={class:"grid grid-cols-12 gap-0"},nt={class:"col-span-12 sm:col-span-8"},ot={class:"input-field__wrapper"},lt={key:0,class:"mt-2.5 input-field__message"},rt={key:1},it={class:"mt-2.5 grid grid-cols-12 gap-0"},ut={class:"col-span-12 mt-2.5 sm:col-span-5"},dt={class:"grid grid-cols-12 gap-0"},mt={class:"col-span-5 sm:col-span-3"},ct={class:"toggle-switch__wrapper"},pt={key:0},vt={class:"mt-2.5 grid grid-cols-12 gap-0"},ft={key:0,class:"col-span-12 mt-2.5 sm:col-span-5"},gt={class:""},yt={key:1,class:"col-span-12 mt-2.5 sm:col-span-5"},_t={class:""},bt={class:""},ht={class:""},wt={class:""},kt={class:"mt-2.5 grid grid-cols-12 gap-0"},At={class:"col-span-12 sm:col-span-5"},$t={class:"text-reader-secondary"},Vt={class:"col-span-12 mt-2.5 sm:col-span-5"},St={class:"grid grid-cols-12 gap-0"},xt={class:"col-span-12 sm:col-span-8"},Pt={class:"input-field__wrapper"},qt={key:0,class:"mt-2.5 input-field__message"},Mt={key:1,class:"mt-2.5 input-field__message"},Nt={class:"auto-deposit-text mt-5"},Tt={class:"mt-12.5 grid grid-cols-12 justify-end gap-0"},Ct={class:"col-span-12 sm:col-span-7"},Dt=["disabled"],It={class:"mt-2.5 grid grid-cols-12 gap-0"},Rt={key:0,class:"col-span-12 mt-2.5 sm:col-span-5"},Et={class:"grid grid-cols-12 gap-0"},Ut={class:"col-span-12 sm:col-span-8"},Ft=["disabled"],Ma=Pe({__name:"preferences",setup(y){const w=qe(),T=Me(),{user:B}=Oe(),{fetchPlans:te,plans:H,enableAutomationNudgeForSavings:ae}=Ge(),{userHasLinkedBank:se}=Ye(),{inputRef:ne,numberValue:W,numberString:oe,setValue:le}=Z({showCurrency:!0,adjustWidth:!1}),{inputRef:re,numberValue:z,numberString:ie,setValue:ue}=Z({showCurrency:!0,adjustWidth:!1}),j=m(),O=Ne("automationInfoModalRef"),c=m(!1),k=m(0),de=m(""),C=m(),G=m(""),_=m(""),i=m(""),h=m(!1),x=m(!1),Y=m(),f=m(""),D=m(""),I=A(()=>W.value||0),J=A(()=>z.value||0),l=Le(A(()=>({...c.value&&{savingsAmountValue:{required:K,minAmount:()=>l.value?.savingsAmountValue?.required?.$response?I.value>=k.value:!0}},savingsTargetValue:{minAmount:()=>l.value?.savingsTargetValue?.required?.$response?J.value>=k.value:!0},planName:{required:S.withMessage("Enter your plan name",K),minLength:S.withMessage("Plan name must be at least 3 characters",He(3)),maxLength:S.withMessage("Plan name cannot exceed 20 characters",Be(20)),isUnique:S.withMessage("You already have a plan with this name",S.withAsync(async n=>G.value===n?Promise.resolve(!0):n&&n.length>=3?new ee().validatePlanName(n):Promise.resolve(!0))),$autoDirty:!0}})),{savingsAmountValue:W,planName:_,savingsTargetValue:z}),s=A(()=>{if(!H.value)return null;const n=T.params.id;return H.value.find(a=>a.id==n)}),me=A(()=>s.value?i.value.length<0&&c.value?!0:h.value||l.value.$error:!1);function ce(n){x.value=n}async function pe(){try{const n=await new Je().getMinimumAmount("savings");k.value=n.data.minimum_amount/100}catch(n){throw new Error(n)}}async function ve(){const n=C.value;if(c.value&&f.value==="Not Set"){p.showToast({message:"Please kindly set your frequency",type:"error",time:4e3});return}if(await l.value.$validate()){h.value=!0;try{await new ee().updatePlan({plan_id:n.plan_id,plan_name:_.value,bysetpos:c.value?p.automationValue(i.value,f.value):void 0,status:c.value?"Active":"On Hold",frequency:i.value,periodic_amount:I.value*100,goal_amount:J.value*100}),await te(!1),h.value=!1,p.showToast({message:"Plan updated successfully",type:"success",time:4e3}),fe()}catch(R){const E=p.formatErrorMessage(R)||"Something went wrong, please try again";p.showToast({message:E,type:"error",time:4e3}),h.value=!1}}}function fe(){!se&&c.value?j.value.open():p.previousPageExist()?w.go(-1):w.push("/home")}function ge(n){n.frequency&&(i.value=n.frequency,D.value=n.frequency,f.value=n.day)}function ye(){ae.value&&c.value&&!p.getConfig("hasSeenAutomationUpdate","preferences",B.value?.id)&&(O.value?.open(),p.saveConfig("hasSeenAutomationUpdate","preferences","true",B.value?.id))}function _e(){P.value.open()}const P=m(null);async function be(){await U(),s.value&&(c.value=s.value.status.value===1,C.value={plan_id:s.value.id,plan_name:s.value.name,next_charge_date:s.value.next_charge_date,withdrawal_date:s.value.withdrawal_date,status:s.value.status.value,frequency:s.value.recurrence?s.value.recurrence.frequency_name:"daily",periodic_amount:s.value.amount,goal_amount:s.value.goal_amount,matured:!s.value.locked},de.value=s.value.next_charge_date,G.value=s.value.name,_.value=s.value.name,i.value=s.value.recurrence?s.value.recurrence.frequency_name:"daily",await U(),le(C.value?.periodic_amount/100),ue(Number(s.value.goal_amount)/100),f.value=s.value.recurrence?s.value.recurrence.bysetpos:"Not Set",D.value=s.value.recurrence?s.value.recurrence.frequency_name.toLowerCase():"daily",p.setPageTitle(s.value.name))}return Te(s,async n=>{n&&(await U(),await p.sleep(500),be())},{immediate:!0}),pe(),Ce({title:"My Cowrywise | Savings Preference"}),(n,a)=>{const R=Ae,E=$e,he=Ve,we=Se,ke=xe;return r(),u("div",null,[e(s)?(r(),u("div",Qe,[t("div",Ke,[t("button",{class:"button button--has-arrow text-dark arrow--back",onClick:a[0]||(a[0]=o=>n.$router.go(-1))},[v(e(We)),a[12]||(a[12]=g(" Back ",-1))]),a[30]||(a[30]=t("h5",{class:"text-reader-secondary-alt mb-5 mt-5"},"Personalize",-1)),a[31]||(a[31]=t("hr",null,null,-1)),t("div",Xe,[a[14]||(a[14]=t("div",{class:"col-span-12 sm:col-span-5"},[t("h6",null,"Plan Name"),t("span",{class:"text-reader-secondary"},"Customize your plan by giving it a new name")],-1)),t("div",Ze,[t("div",et,[$(t("input",{autocomplete:"off",type:"text",class:F([{"has-input":e(_)!==""}]),"onUpdate:modelValue":a[1]||(a[1]=o=>V(_)?_.value=o:null),onBlur:a[2]||(a[2]=(...o)=>e(l).planName.$touch&&e(l).planName.$touch(...o)),name:"plan name",placeholder:"New plan name"},null,34),[[De,e(_)]]),a[13]||(a[13]=t("span",{class:"input-field__helper"},"Plan Name",-1)),e(l).planName.$dirty?(r(!0),u(q,{key:0},Ie(e(l).planName.$errors,o=>(r(),u("span",{key:o.$uid,class:"mt-2.5 input-field__message"},[v(e(N)),g(" "+b(o.$message),1)]))),128)):d("",!0)])])]),e(s)&&e(s).locked?(r(),u("div",tt,[a[15]||(a[15]=t("div",{class:"col-span-12 sm:col-span-5"},[t("h6",null,"My Target"),t("span",{class:"text-reader-secondary"},"Modify the amount you want to save up")],-1)),t("div",at,[t("div",st,[t("div",nt,[t("div",ot,[t("input",{ref_key:"targetInput",ref:re,class:F([{error:e(l).$error,"has-input":e(ie)!==""}]),onBlur:a[3]||(a[3]=(...o)=>e(l).savingsTargetValue.$touch&&e(l).savingsTargetValue.$touch(...o)),autocomplete:"off",type:"text",name:"target amount",placeholder:"Target"},null,34),e(l).savingsTargetValue.$dirty?(r(),u(q,{key:0}
1,[e(l).savingsTargetValue.minAmount.$invalid?(r(),u("span",lt,[v(e(N)),g(" A minimum of ⦠"+b(("$formatters"in n?n.$formatters:e(Q)).formatAmountWithoutDecimal(e(k)*100))+" is required ",1)])):d("",!0)],64)):d("",!0)])])])])])):d("",!0),e(s)&&(e(s).locked||e(s).status.value===1)?(r(),u("div",rt,[a[25]||(a[25]=t("h5",{class:"text-reader-secondary-alt mb-5 mt-7.5"},"Automation",-1)),a[26]||(a[26]=t("hr",null,null,-1)),t("div",it,[a[17]||(a[17]=t("div",{class:"col-span-12 sm:col-span-5"},[t("h6",null,"Automation Status"),t("span",{class:"text-reader-secondary"},"Disable or enable automation of your savings")],-1)),t("div",ut,[t("div",dt,[t("div",mt,[t("label",ct,[$(t("input",{"onUpdate:modelValue":a[4]||(a[4]=o=>V(c)?c.value=o:null),type:"checkbox",name:"planStatus",onChange:ye},null,544),[[Re,e(c)]]),a[16]||(a[16]=t("i",null,null,-1))])])])])]),v(Fe,{name:"slow"},{default:Ee(()=>[e(s)&&e(s).locked&&e(c)?(r(),u("div",pt,[t("div",vt,[a[19]||(a[19]=t("div",{class:"col-span-12 sm:col-span-5"},[t("h6",null,"Frequency"),t("span",{class:"text-reader-secondary"},"Change how often you would like to save")],-1)),e(f)!==""?(r(),u("div",ft,[t("div",gt,[t("a",{onClick:Ue(_e,["prevent"]),href:"",class:"flex items-center"},[g(b(e(f)=="Not Set"?"Not Set":("$helpers"in n?n.$helpers:e(p)).planFrequency(e(i),e(f)))+" ",1),v(e(ze),{class:"ml-2.5"})])])])):(r(),u("div",yt,[t("div",_t,[t("div",bt,[$(t("input",{value:"daily",type:"radio","onUpdate:modelValue":a[5]||(a[5]=o=>V(i)?i.value=o:null),name:"frequency",id:"daily"},null,512),[[L,e(i)]]),a[18]||(a[18]=t("label",{class:"radio",for:"daily"},"Daily",-1))]),t("div",ht,[$(t("input",{value:"weekly",type:"radio","onUpdate:modelValue":a[6]||(a[6]=o=>V(i)?i.value=o:null),name:"frequency",id:"weekly"},null,512),[[L,e(i)]]),t("label",{onClick:a[7]||(a[7]=o=>e(P).open()),class:"radio",for:"weekly"},"Weekly")]),t("div",wt,[$(t("input",{value:"monthly",type:"radio","onUpdate:modelValue":a[8]||(a[8]=o=>V(i)?i.value=o:null),name:"frequency",id:"monthly"},null,512),[[L,e(i)]]),t("label",{onClick:a[9]||(a[9]=o=>e(P).open()),class:"radio",for:"monthly"},"Monthly")])])]))]),t("div",kt,[t("div",At,[a[20]||(a[20]=t("h6",null,"Periodic Amount",-1)),t("span",$t,"Modify the amount you want to pay "+b(e(i).toLowerCase()),1)]),t("div",Vt,[t("div",St,[t("div",xt,[t("div",Pt,[t("input",{autocomplete:"off",type:"text",ref_key:"amountInput",ref:ne,onBlur:a[10]||(a[10]=(...o)=>e(l).savingsAmountValue?.$touch&&e(l).savingsAmountValue?.$touch(...o)),class:F([{error:e(l).$error,"has-input":e(oe)!==""}]),name:"savings amount",placeholder:"Periodic amount"},null,34),e(l).savingsAmountValue&&e(l).savingsAmountValue.$dirty?(r(),u(q,{key:0},[e(l).savingsAmountValue.required.$invalid?(r(),u("span",qt,[v(e(N)),a[21]||(a[21]=g(" Enter your periodic amount ",-1))])):d("",!0),e(l).savingsAmountValue.minAmount?.$invalid?(r(),u("span",Mt,[v(e(N)),g(" A minimum of ⦠"+b(("$formatters"in n?n.$formatters:e(Q)).formatAmountWithoutDecimal(e(k)))+" is required ",1)])):d("",!0)],64)):d("",!0)])])])])]),a[23]||(a[23]=t("h5",{class:"text-reader-secondary-alt mb-5 mt-7.5"},"Payment",-1)),a[24]||(a[24]=t("hr",null,null,-1)),t("div",Nt,[v(e(je),{class:"mr-1.25 text-reader-secondary"}),a[22]||(a[22]=t("p",{class:"text-reader-secondary"},"Deposits are automatically made from your saved accounts.",-1))])])):d("",!0)]),_:1})])):d("",!0),t("div",Tt,[t("div",Ct,[t("button",{onClick:ve,disabled:e(me),class:"button--has-spinner"},[e(h)?(r(),M(e(X),{key:0})):d("",!0),g(" "+b(e(h)?"Saving changes":"Save Preferences"),1)],8,Dt)])]),e(s).preset?d("",!0):(r(),u(q,{key:2},[a[28]||(a[28]=t("h5",{class:"text-reader-secondary-alt mb-5 mt-7.5"},"Clean Things Up",-1)),a[29]||(a[29]=t("hr",null,null,-1)),t("div",It,[a[27]||(a[27]=t("div",{class:"col-span-12 sm:col-span-5"},[t("h6",null,"Delete Plan"),t("span",{class:"text-reader-secondary"},"Tidy up your account by deleting plans with a zero balance")],-1)),e(s)?(r(),u("div",Rt,[t("div",Et,[t("div",Ut,[t("button",{onClick:a[11]||(a[11]=o=>Number(e(s).book_balance)<1e4?e(Y).open():null),disabled:Number(e(s).book_balance)>1e4||e(x),class:"button--red button--has-spinner"},[e(x)?(r(),M(e(X),{key:0})):d("",!0),g(" "+b(e(x)?"Deleting Plan":"Delete Plan"),1)],8,Ft)])])])):d("",!0)])],64))]),e(s)&&Number(e(s).book_balance)<1e4?(r(),M(R,{key:0,ref_key:"deletePlanModal",ref:Y,onToggleLoading:ce,id:e(s).id},null,8,["id"])):d("",!0),v(E,{ref_key:"automationModal",ref:P,amount:e(I),tab:e(i),day:e(f),defaultFrequency:e(D),onChosenFrequency:ge},null,8,["amount","tab","day","defaultFrequency"]),v(he,{ref_key:"directDebitNudgeModalRef",ref:j,planStatus:e(s).status.value,updatedStatus:e(c),detailsUrl:`/savings/regular/${e(T).params.id}`},null,8,["planStatus","updatedStatus","detailsUrl"]),v(we,{ref_key:"automationInfoModalRef",ref:O,copies:{heading:"How automation works",
1subCopy:"On a date you choose, we'll help you save or invest your set amount or a smaller one if needed, to keep you on track.",btnCopy:"Okay"}},null,512)])):(r(),M(ke,{key:1}))])}}});export{Ma 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.