ruạṛ
import{u as B,bJ as O,x as D,d as z,j as u,c as a,C as M,bv as o,H as Y,cs as x,bf as F,h as P,ay as j,d5 as w,cO as W,cp as J,fp as U,cN as $,cB as G,bo as K,bk as Q,cC as A,cD as I,ct as v,L as H,I as L,i as q,cu as T,dw as X,A as Z,bY as E,p,bA as S,aq as ee,D as ae,fq as te}from"./bundle.9abe88c8.js";import{P as ne}from"./ProjectSelector-720c414a.js";import{i as ie,j as R}from"./hooks-2f667abc.js";import{C as le}from"./ClientActionButtons-a4f20d96.js";import{P as se}from"./PaymentTypeSelector-511a774a.js";import{u as re}from"./useResolveCurrencySeparator-a8afdb2f.js";function xe(h){var C,g,V,k,c,b;const[l]=B(),[t]=O(),{recurringExpense:e,handleChange:i,taxInputType:_,pageType:d,errors:s}=h,r=D(),f=z(),y=X(),m=()=>!!(r.enabled_expense_tax_rates===0&&(e!=null&&e.tax_name1||e!=null&&e.tax_name2||e!=null&&e.tax_name3));return u("div",{className:"flex flex-col space-y-4",children:[e&&a(M,{children:a(o,{leftSide:l("expense_total"),withoutWrappingLeftSide:!0,children:f(y(e),(C=e.client)==null?void 0:C.country_id,e.currency_id||((g=e.client)==null?void 0:g.settings.currency_id))})}),u(M,{title:l("details"),isLoading:!e,children:[e&&d==="edit"&&u(Y,{children:[a(o,{leftSide:l("status"),children:a(ie,{recurringExpense:e})}),a(o,{leftSide:l("number"),children:a(x,{id:"number",value:e.number,onValueChange:n=>i("number",n),errorMessage:s==null?void 0:s.errors.number})})]}),e&&a(o,{leftSide:u("div",{className:"flex items-center space-x-2",children:[a("span",{children:l("vendor")}),e.vendor_id&&a(F,{to:P("/vendors/:id",{id:e.vendor_id}),target:"_blank",children:a(j,{element:w,size:18})})]}),children:a(W,{value:e.vendor_id,onChange:n=>i("vendor_id",n.id),onClearButtonClick:()=>i("vendor_id",""),errorMessage:s==null?void 0:s.errors.vendor_id})}),e&&a(o,{leftSide:l("client"),children:u("div",{className:"flex flex-col space-y-2",children:[a(J,{value:e.client_id,clearButton:!!e.client_id,onClearButtonClick:()=>i("client_id",""),onChange:n=>i("client_id",n.id),errorMessage:s==null?void 0:s.errors.client_id,disableWithSpinner:t.get("action")==="create"}),e.client_id&&a(le,{clientId:e.client_id})]})}),e&&a(o,{leftSide:u("div",{className:"flex items-center space-x-2",children:[a("span",{children:l("project")}),e.project_id&&a(F,{to:P("/projects/:id",{id:e.project_id}),target:"_blank",children:a(j,{element:w,size:18})})]}),children:a(ne,{value:e.project_id,clearButton:!!e.project_id,onClearButtonClick:()=>i("project_id",""),onChange:n=>i("project_id",n.id),errorMessage:s==null?void 0:s.errors.project_id})}),e&&a(o,{leftSide:l("category"),children:a(U,{value:e.category_id,onClearButtonClick:()=>i("category_id",""),onChange:n=>i("category_id",n.id),errorMessage:s==null?void 0:s.errors.category_id})}),e&&a(o,{leftSide:l("user"),children:a($,{value:e.assigned_user_id,clearButton:!!e.assigned_user_id,onClearButtonClick:()=>i("assigned_user_id",""),onChange:n=>i("assigned_user_id",n.id),errorMessage:s==null?void 0:s.errors.assigned_user_id})}),m()&&u("div",{className:"flex items-center space-x-3 px-6",children:[a("div",{children:a(j,{element:G,size:20,color:"orange"})}),a("div",{className:"text-sm font-medium",children:K(l("hidden_taxes_warning"),":link",()=>a(Q,{to:"/settings/tax_settings",children:l("settings")}))})]}),e&&(r==null?void 0:r.enabled_expense_tax_rates)>0&&_==="by_rate"&&a(o,{leftSide:l("tax"),children:a(A,{defaultValue:I(e,"tax_name1"),onClearButtonClick:()=>{i("tax_name1",""),i("tax_rate1",0)},onChange:n=>{n.resource&&i("tax_rate1",n.resource.rate),n.resource&&i("tax_name1",n.resource.name)},onTaxCreated:n=>{i("tax_rate1",n.rate),i("tax_name1",n.name)}})}),e&&(r==null?void 0:r.enabled_expense_tax_rates)>0&&_==="by_amount"&&a(o,{leftSide:l("tax"),children:u("div",{className:"flex flex-col xl:flex-row xl:items-center space-y-4 xl:space-y-0 xl:space-x-4",children:[a(x,{label:l("tax_name"),value:e.tax_name1,onValueChange:n=>i("tax_name1",n),errorMessage:s==null?void 0:s.errors.tax_name1,cypressRef:"taxNameByAmount1"}),a(v,{label:l("tax_amount"),value:e.tax_amount1||"",onValueChange:n=>i("tax_amount1",parseFloat(n)),errorMessage:s==null?void 0:s.errors.tax_amount1,cypressRef:"taxRateByAmount1"})]})}),e&&(r==null?void 0:r.enabled_expense_tax_rates)>1&&_==="by_rate"&&a(o,{leftSide:l("tax"),children:a(A,{defaultValue:I(e,"tax_name2"),onClearButtonClick:()=>{i("tax_name2",""),i("tax_rate2",0)},onChange:n=>{n.resource&&i("tax_rate2",n.resource.rate),n.resource&&i("tax_name2",n.resource.name)},onTaxCreated:n=>{i("tax_rate2",n.rate),i("tax_name2",n.name)}})}),e&&(r==null?void 0:r.enabled_expense_tax_rates)>1&&_==="by_amount"&&a(o,{leftSide:l("tax"),children:u("div",{className:"flex flex-col xl:flex-row xl:items-center space-y-4 xl:space-y-0 xl:space-x-4",children:[a(x,{label:l("tax_name"),value:e.tax_name2,onValueChange:n=>i("tax_name2",n),errorMessage:s==null?void 0:s.errors.tax_name2,cypressRef:"taxNameByAmount2"}),a(v,{label:l("tax_amount"),value:e.tax_amount2||"",onValueChange:n=>i("tax_amount2",parseFloat(n)),errorMessage:s==null?void 0:s.errors.tax_amount2,cypressRef:"taxRateByAmount2"})]})}),e&&(r==null?void 0:r.enabled_expense_tax_rates)>2&&_==="by_rate"&&a(o,{leftSide:l("tax"),children:a(A,{defaultValue:I(e,"tax_name3"),onClearButtonClick:()=>{i("tax_name3",""),i("tax_rate3",0)},onChange:n=>{n.resource&&i("tax_rate3",n.resource.rate),n.resource&&i("tax_name3",n.resource.name)},onTaxCreated:n=>{i("tax_rate3",n.rate),i("tax_name3",n.name)}})}),e&&(r==null?void 0:r.enabled_expense_tax_rates)>2&&_==="by_amount"&&a(o,{leftSide:l("tax"),children:u("div",{className:"flex flex-col xl:flex-row xl:items-center space-y-4 xl:space-y-0 xl:space-x-4",children:[a(x,{label:l("tax_name"),value:e.tax_name3,onValueChange:n=>i("tax_name3",n),errorMessage:s==null?void 0:s.errors.tax_name3}),a(v,{label:l("tax_amount"),value:e.tax_amount3||"",onValueChange:n=>i("tax_amount3",parseFloat(n)),errorMessage:s==null?void 0:s.errors.tax_amount3})]})}),e&&a(o,{leftSide:l("amount"),children:a(v,{value:e.amount||"",onValueChange:n=>i("amount",parseFloat(n)||0),errorMessage:s==null?void 0:s.errors.amount})}),e&&a(o,{leftSide:l("currency"),children:a(H,{value:e.currency_id,onChange:n=>i("currency_id",n),errorMessage:s==null?void 0:s.errors.currency_id,dismissable:!0})}),e&&a(o,{leftSide:l("date"),children:a(x,{type:"date",onValueChange:n=>i("date",n),value:e.date,errorMessage:s==null?void 0:s.errors.date})}),a(o,{leftSide:l("frequency"),children:a(L,{value:e==null?void 0:e.frequency_id,onValueChange:n=>i("frequency_id",n),errorMessage:s==null?void 0:s.errors.frequency_id,children:Object.keys(R).map((n,N)=>a("option",{value:n,children:l(R[n])},N))})}),a(o,{leftSide:l("start_date"),children:a(x,{type:"date",onValueChange:n=>i("next_send_date",n),value:e!=null&&e.next_send_date?q(e==null?void 0:e.next_send_date).format("YYYY-MM-DD"):new Date().toISOString().split("T")[0],min:new Date().toISOString().split("T")[0],errorMessage:s==null?void 0:s.errors.next_send_date})}),a(o,{leftSide:l("remaining_cycles"),children:u(L,{value:e==null?void 0:e.remaining_cycles,onValueChange:n=>i("remaining_cycles",parseInt(n)),errorMessage:s==null?void 0:s.errors.remaining_cycles,children:[a("option",{value:"-1",children:l("endless")}),[...Array(37).keys()].map((n,N)=>a("option",{value:n,children:n},N))]})}),e&&((V=r==null?void 0:r.custom_fields)==null?void 0:V.expense1)&&a(T,{field:"recurringExpense1",defaultValue:e.custom_value1||"",value:r.custom_fields.expense1,onValueChange:n=>i("custom_value1",String(n))}),e&&((k=r==null?void 0:r.custom_fields)==null?void 0:k.expense2)&&a(T,{field:"recurringExpense2",defaultValue:e.custom_value2||"",value:r.custom_fields.expense2,onValueChange:n=>i("custom_value2",String(n))}),e&&((c=r==null?void 0:r.custom_fields)==null?void 0:c.expense3)&&a(T,{field:"recurringExpense3",defaultValue:e.custom_value3||"",value:r.custom_fields.expense3,onValueChange:n=>i("custom_value3",String(n))}),e&&((b=r==null?void 0:r.custom_fields)==null?void 0:b.expense4)&&a(T,{field:"recurringExpense4",defaultValue:e.custom_value4||"",value:r.custom_fields.expense4,onValueChange:n=>i("custom_value4",String(n))})]})]})}function he(h){const[l]=B(),{recurringExpense:t,handleChange:e,errors:i}=h;return u(M,{title:l("notes"),isLoading:!t,withContainer:!0,children:[t&&a(x,{element:"textarea",label:l("public_notes"),value:t.public_notes,onValueChange:_=>e("public_notes",_),errorMessage:i==null?void 0:i.errors.public_notes}),t&&a(x,{element:"textarea",label:l("private_notes"),value:t.private_notes,onValueChange:_=>e("private_notes",_),errorMessage:i==null?void 0:i.errors.private_notes})]})}function fe(h){const[l]=B(),{recurringExpense:t,handleChange:e,errors:i}=h,_=D(),d=Z(),s=E(),r=re(),[f,y]=p.useState({decimalSeparator:",",precision:2,thousandSeparator:"."}),[m,C]=p.useState(),g=()=>!!(t!=null&&t.payment_type_id)||!!(t!=null&&t.payment_date)||!!(t!=null&&t.transaction_reference),V=c=>{if(!c){e("payment_date",""),e("payment_type_id",""),e("transaction_reference","");return}e("payment_date",q().format("YYYY-MM-DD"))},k=c=>{t&&c?(e("foreign_amount",c),t.amount&&e("exchange_rate",c/t.amount)):e("foreign_amount",0)};return p.useEffect(()=>{t&&t.exchange_rate&&t.invoice_currency_id?e("foreign_amount",t.amount*t.exchange_rate):e("foreign_amount",0)},[t==null?void 0:t.amount]),p.useEffect(()=>{if(t)if(e("invoice_currency_id",t.invoice_currency_id),t.invoice_currency_id&&(t!=null&&t.currency_id)){const c=s(t.invoice_currency_id),b=s(t.currency_id);if(c&&b){const n=c.exchange_rate/b.exchange_rate;e("exchange_rate",n)}}else e("foreign_amount",0),e("exchange_rate",1);else e("foreign_amount",0),e("exchange_rate",1);if(t!=null&&t.invoice_currency_id){const c=r(t.invoice_currency_id);c&&y(c)}},[t==null?void 0:t.invoice_currency_id,t==null?void 0:t.currency_id]),p.useEffect(()=>{t&&t.exchange_rate?t.amount&&t.invoice_currency_id&&e("foreign_amount",t.amount*t.exchange_rate):(e("exchange_rate",1),e("foreign_amount",0))},[t==null?void 0:t.exchange_rate]),p.useEffect(()=>{t&&typeof m>"u"&&C(!!(_!=null&&_.convert_expense_currency)||!!(t!=null&&t.foreign_amount))},[t]),u(M,{title:l("additional_info"),isLoading:!t,children:[t&&a(o,{leftSide:l("should_be_invoiced"),leftSideHelp:l("mark_invoiceable_help"),children:a(S,{checked:t.should_be_invoiced,onChange:c=>e("should_be_invoiced",c),cypressRef:"shouldBeInvoicedToggle"})}),t&&a(o,{leftSide:l("mark_paid"),leftSideHelp:l("mark_paid_help"),children:a(S,{checked:g(),onChange:V,cypressRef:"markPaidToggle"})}),t&&g()&&a(o,{leftSide:l("payment_type"),children:a(se,{value:t.payment_type_id,onChange:c=>e("payment_type_id",c),errorMessage:i==null?void 0:i.errors.payment_type_id})}),t&&g()&&a(o,{leftSide:l("date"),children:a(x,{type:"date",value:t.payment_date,onValueChange:c=>e("payment_date",c),errorMessage:i==null?void 0:i.errors.payment_date})}),t&&g()&&a(o,{leftSide:l("transaction_reference"),children:a(x,{value:t.transaction_reference,onValueChange:c=>e("transaction_reference",c),errorMessage:i==null?void 0:i.errors.transaction_reference})}),t&&a(o,{leftSide:l("convert_currency"),leftSideHelp:l("convert_expense_currency_help"),children:a(S,{checked:m||!1,onChange:c=>C(c),cypressRef:"convertCurrencyToggle"})}),t&&m&&u(Y,{children:[a(o,{leftSide:l("currency"),children:a(H,{value:t.invoice_currency_id,onChange:c=>e("invoice_currency_id",c),dismissable:!0,errorMessage:i==null?void 0:i.errors.invoice_currency_id})}),a(o,{leftSide:l("exchange_rate"),children:a(v,{value:t.exchange_rate||"",onValueChange:c=>e("exchange_rate",parseFloat(c)),errorMessage:i==null?void 0:i.errors.exchange_rate,disablePrecision:!0})}),a(o,{leftSide:l("converted_amount"),children:a(v,{border:!0,precision:d!=null&&d.number_precision&&(d==null?void 0:d.number_precision)>0&&(d==null?void 0:d.number_precision)<=100?d.number_precision:(f==null?void 0:f.precision)||2,className:"auto",value:(t.foreign_amount||0).toString(),onValueChange:c=>k(parseFloat(c)),errorMessage:i==null?void 0:i.errors.foreign_amount,disablePrecision:!0})})]}),t&&a(o,{leftSide:l("add_documents_to_invoice"),leftSideHelp:l("add_documents_to_invoice_help"),children:a(S,{checked:t.invoice_documents,onChange:c=>e("invoice_documents",c),cypressRef:"addDocumentsToInvoiceToggle"})})]})}function ge(h){const[l]=B(),t=D(),{isAdmin:e,isOwner:i}=ee(),{recurringExpense:_,handleChange:d,taxInputType:s,setTaxInputType:r}=h,f=m=>{m==="by_amount"?(d("tax_rate1",0),d("tax_rate2",0),d("tax_rate3",0)):(d("tax_amount1",0),d("tax_amount2",0),d("tax_amount3",0)),d("tax_name1",""),d("tax_name2",""),d("tax_name3","")},y=m=>{r(m),f(m),d("calculate_tax_by_amount",m==="by_amount")};return u(M,{title:l("taxes"),isLoading:!_,children:[!(t!=null&&t.enabled_expense_tax_rates)&&a(o,{leftSide:l("expense_tax_help"),children:a(ae,{to:"/settings/tax_settings",renderSpan:!e&&!i,children:l("settings")})}),(t==null?void 0:t.enabled_expense_tax_rates)>0&&_&&a(o,{leftSide:l("enter_taxes"),children:a(te,{name:"enter_taxes",options:[{id:"by_rate",title:l("by_rate"),value:"by_rate"},{id:"by_amount",title:l("by_amount"),value:"by_amount"}],defaultSelected:s,onValueChange:m=>y(m)})}),(t==null?void 0:t.enabled_expense_tax_rates)>0&&_&&a(o,{leftSide:l("inclusive_taxes"),leftSideHelp:u("span",{className:"flex flex-col",children:[u("span",{children:[l("exclusive"),": 100 + 10% = 100 + 10"]}),u("span",{children:[l("inclusive"),": 100 + 10% = 90.91 + 9.09"]})]}),children:a(S,{checked:_.uses_inclusive_taxes,onChange:m=>d("uses_inclusive_taxes",m),cypressRef:"inclusiveTaxesToggle"})})]})}export{fe as A,xe as D,he as N,ge as T};
cải xoăn