|
1
|
|
-import{r as c,e as S,o as u,a as s,c as b,w as o,u as f,b as _,d,F as N,g as J,k as he,h as le,i as ge,j as ye,f as h,t as m,Z as T,S as ve,E as we,n as Se,R as Ce}from"./chunks/vue.esm-bundler.js?ver=1.6.3";import{T as ke,_ as $e,B as Ve}from"./chunks/Badge.js?ver=1.6.3";import{P as Ie,_ as Re}from"./chunks/Empty.js?ver=1.6.3";import{t}from"./chunks/Translator.js?ver=1.6.3";import{d as Te,S as Be,_ as de,b as Fe,c as Pe,a as Ee,A as De}from"./chunks/Activity.js?ver=1.6.3";import{_ as X}from"./chunks/_plugin-vue_export-helper.js?ver=1.6.3";import{a as Le,ae as Me,cr as xe,cn as Ae,p as ae,u as re,cs as Ne,ct as Oe,d as A,r as Ue,E as I,b as ze}from"./chunks/index.js?ver=1.6.3";import{_ as K}from"./chunks/DynamicIcon.js?ver=1.6.3";import{u as He,_ as Ye,b as ce,f as je,L as qe,e as We,g as Ge}from"./chunks/OrderCustomerInformation.js?ver=1.6.3";import{_ as Qe,p as Ze}from"./chunks/UserCan.js?ver=1.6.3";import{C as B,a as F,b as P}from"./chunks/CardBody.js?ver=1.6.3";import{S as ue}from"./chunks/Str.js?ver=1.6.3";import{n as j}from"./chunks/Notify.js?ver=1.6.3";import{_ as Je}from"./chunks/NotFound.js?ver=1.6.3";import{A as Z}from"./chunks/Arr.js?ver=1.6.3";import{g as Xe}from"./chunks/common.js?ver=1.6.3";import"./chunks/Model.js?ver=1.6.3";import"./chunks/Rest.js?ver=1.6.3";import"./chunks/vue-router.js?ver=1.6.3";import"./chunks/Url.js?ver=1.6.3";import"./chunks/dayjs.min.js?ver=1.6.3";import"./chunks/timezone.js?ver=1.6.3";import"./chunks/index3.js?ver=1.6.3";import"./chunks/IconButton.js?ver=1.6.3";import"./chunks/Utils.js?ver=1.6.3";import"./chunks/CurrencyFormatter.js?ver=1.6.3";import"./chunks/TransitionAccordion.js?ver=1.6.3";import"./chunks/BundleProducts.js?ver=1.6.3";import"./chunks/Animation.js?ver=1.6.3";import"./chunks/Asset.js?ver=1.6.3";import"./chunks/AddressComponent2.js?ver=1.6.3";import"./chunks/productService.js?ver=1.6.3";const Ke={class:"fct-subscriptions-route-wrap"},et=Object.assign({name:"SubscriptionsRoute"},{__name:"SubscriptionsRoute",setup(e){return(i,l)=>{const r=c("router-view");return u(),S("div",Ke,[s(r)])}}});class tt extends ke{getTabs(){return{all:t("All"),active:t("Active"),trialing:t("Trialing"),pending:t("Pending"),intended:t("Intended"),expired:t("Expired"),canceled:t("Canceled")}}getToggleableColumns(){return[{label:t("Order ID"),value:"order_id"},{label:t("Next Billing Date"),value:"next_billing_date"},{label:t("Collection Method"),value:"collection_method"},{label:t("Bills Count"),value:"bills_count"},{label:t("Customer"),value:"customer"},{label:t("Payment Method"),value:"payment_method"}]}getSearchHint(){return t("by id, order id, status, payment method, customer name, or product.")}getFetchUrl(){return"subscriptions"}parseResponse(i){return i.data}getTableName(){return"subscriptions"}with(){return["admin_subscription_list"]}}function st(e){return tt.init(e)}const it={class:"table-cell"},nt={class:"table-cell"},ot={class:"table-cell"},lt={class:"table-cell"},at={class:"table-cell"},rt={class:"table-cell"},dt={class:"table-cell"},ct={class:"table-cell"},ut={class:"table-cell"},mt={class:"table-cell"},pt={class:"table-cell"},_t={__name:"SubscriptionsLoader",props:{nextPageCount:{type:Number,default:0},subscriptionTable:{type:Object,default:()=>({})}},setup(e){const i=e,l=Array.from({length:i.nextPageCount},(r,n)=>n+1);return(r,n)=>{const a=c("el-table-column"),p=c("el-skeleton-item"),w=c("el-table"),C=c("el-skeleton");return u(),b(C,{animated:""},{template:o(()=>[s(w,{data:f(l),class:"w-full compact-table responsive"},{empty:o(()=>n[0]||(n[0]=[])),default:o(()=>[_("",!0),s(a,{label:r.$t("ID"),width:"100"},{default:o(()=>[d("div",it,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),s(a,{label:r.$t("Customer"),width:"150"},{default:o(()=>[d("div",nt,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),s(a,{label:r.$t("Product"),width:"360","show-overflow-tooltip":""},{default:o(()=>[d("div",ot,[s(p,{variant:"p",class:"w-3/5"})])]),_:1},8,["label"]),s(a,{label:r.$t("Status"),width:"120"},{default:o(()=>[d("div",lt,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),s(a,{label:r.$t("Billing"),width:"230"},{default:o(()=>[d("div",at,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),s(a,{label:r.$t("Created At"),width:"130"},{default:o(()=>[d("div",rt,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),e.subscriptionTable.data.columns.indexOf("next_billing_date")!==-1?(u(),b(a,{key:1,label:r.$t("Next Billing Date"),width:"160"},{default:o(()=>[d("div",dt,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("collection_method")!==-1?(u(),b(a,{key:2,label:r.$t("Collection Method"),width:"160"},{default:o(()=>[d("div",ct,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("bills_count")!==-1?(u(),b(a,{key:3,label:r.$t("Bills Count"),width:"100"},{default:o(()=>[d("div",ut,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("payment_method")!==-1?(u(),b(a,{key:4,label:r.$t("Payment Method"),width:"150"},{default:o(()=>[d("div",mt,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("order_id")!==-1?(u(),b(a,{key:5,label:r.$t("Order ID"),width:"100"},{default:o(()=>[d("div",pt,[s(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0)]),_:1},8,["data"])]),_:1})}}},bt={},ft={class:"px-4 py-3"},ht={class:"grid grid-cols-3 gap-5 mt-5"};function gt(e,i){const l=c("el-skeleton-item"),r=c("el-skeleton");return u(),b(r,{animated:""},{template:o(()=>[d("div",ft,[(u(),S(N,null,J(2,n=>d("div",{key:n,class:"flex items-center justify-between mb-3"},[s(l,{varient:"p",class:"w-1/2"}),s(l,{varient:"p",class:"w-[100px]"})])),64)),d("div",ht,[(u(),S(N,null,J(3,n=>d("div",{key:n},[s(l,{varient:"p",class:"w-1/2"}),s(l,{varient:"p",class:"w-[100px]"})])),64))])])]),_:1})}const yt=X(bt,[["render",gt]]),vt={class:"fct-all-subscriptions-page fct-layout-width"},wt={class:"fct-all-subscriptions-wrap"},St={key:1},Ct={__name:"AllSubscriptions",setup(e){const i=st({instance:he()}),l=le(!1),r=le(!1),n=(C=!0)=>{const y=i.buildQueryParams();return C||(delete y.active_view,delete y.filter_type,delete y.search,delete y.advanced_filters),y},a=He({entity:"subscriptions",buildParams:()=>n(),buildAllParams:()=>n(!1),filenamePrefix:"subscriptions-export"}),p=({scope:C,columns:y,modules:v,format:k})=>{const R=C==="current_page"?i.getTableData().map(V=>V.id).filter(Boolean):[];a.startExport({scope:C,ids:R,columns:y,modules:v,format:k})},w=()=>{l.value=window.innerWidth<768};return ge(()=>{w(),window.addEventListener("resize",w)}),ye(()=>{window.removeEventListener("resize",w)}),(C,y)=>{const v=c("el-icon"),k=c("el-button"),R=c("el-dropdown-item"),V=c("el-dropdown-menu"),L=c("el-dropdown");return u(),S("div",vt,[s(Ie,{title:C.$t("Subscriptions")},{action:o(()=>[s(Qe,{permission:"subscriptions/export"},{default:o(()=>[s(L,{trigger:"click","popper-class":"fct-dropdown",placement:"bottom-end"},{dropdown:o(()=>[s(V,null,{default:o(()=>[s(R,{onClick:y[0]||(y[0]=M=>r.value=!0)},{default:o(()=>[s(K,{name:"Download"}),h(" "+m(f(t)("Export Subscriptions")),1)]),_:1})]),_:1})]),default:o(()=>[s(k,null,{default:o(()=>[h(m(f(t)("More actions"))+" ",1),s(v,null,{default:o(()=>[s(f(Le))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"]),d("div",wt,[s($e,{table:f(i),classicTabStyle:!0,"has-mobile-slot":!0},{mobile:o(()=>[f(i).isLoading()?(u(),b(yt,{key:0})):_("",!0),f(i).isLoading()?_("",!0):(u(),b(Be,{key:1,subscriptions:f(i).getTableData(),columns:f(i).data.columns},null,8,["subscriptions","columns"]))]),default:o(()=>[f(i).isLoading()?(u(),b(_t,{key:0,subscriptionTable:f(i),"next-page-count":f(i).nextPageCount},null,8,["subscriptionTable","next-page-count"])):(u(),S("div",St,[s(Te,{subscriptions:f(i).getTableData(),columns:f(i).data.columns},null,8,["subscriptions","columns"])]))]),_:1},8,["table"])]),s(Ye,{modelValue:r.value,"onUpdate:modelValue":y[1]||(y[1]=M=>r.value=M),title:f(t)("Export Subscriptions"),"current-page-count":f(i).getTableData().length,"total-count":f(i).data.paginate.total,"item-label-singular":f(t)("subscription"),"item-label-plural":f(t)("subscriptions"),"has-active-filter":!!f(i).isFiltering(),"export-state":f(a),onExport:p},null,8,["modelValue","title","current-page-count","total-count","item-label-singular","item-label-plural","has-active-filter","export-state"])])}}},kt={class:"dialog-footer"},$t={name:"CancelSubscription",props:["subscription","orderId","modelValue"],data(){return{cancelReason:"customer_request",cancelling:!1,otherReason:""}},computed:{updatedModelValue:{get(){return this.modelValue},set(e){this.modelValue=e}},otherReasonError(){return this.cancelReason==="other"&&this.otherReason.trim()===""?t("Please enter a reason"):""}},methods:{cancelSubscription(){if(this.cancelling=!0,this.cancelReason==="other"){if(this.otherReason.trim()===""){this.$notify.error(t("Please enter a reason")),this.cancelling=!1;return}this.cancelReason=this.otherReason}this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/cancel`,{cancel_reason:this.cancelReason}).then(e=>{this.cancelling=!0,this.$notify({type:"success",title:t("Success"),message:t("Subscription canceled successfully")}),this.$emit("reload")}).catch(e=>{var i;this.cancelling=!0,e.status_code=="422"?j.validationErrors(e):j.error((i=e.data)==null?void 0:i.message)}).finally(()=>{this.cancelling=!1,this.cancelSubscriptionModal=!1})}}},Vt=Object.assign($t,{setup(e){return(i,l)=>{const r=c("el-option"),n=c("el-select"),a=c("el-form-item"),p=c("el-input"),w=c("el-form"),C=c("el-button"),y=c("el-dialog");return u(),b(y,{"model-value":i.updatedModelValue,loading:i.cancelling,title:f(t)("Cancel Subscription"),width:"500"},{footer:o(()=>[d("div",kt,[s(C,{onClick:l[2]||(l[2]=v=>i.$emit("close"))},{default:o(()=>[h(m(f(t)("Cancel")),1)]),_:1}),s(C,{loading:i.cancelling,type:"warning",onClick:i.cancelSubscription},{default:o(()=>[h(m(f(t)("Cancel Subscription")),1)]),_:1},8,["loading","onClick"])])]),default:o(()=>[s(w,{"label-position":"top"},{default:o(()=>[d("div",null,m(f(t)("Are you sure to cancel the subscription?")),1),l[3]||(l[3]=d("br",null,null,-1)),s(a,{label:f(t)("Cancellation reason"),required:""},{default:o(()=>[s(n,{modelValue:i.cancelReason,"onUpdate:modelValue":l[0]||(l[0]=v=>i.cancelReason=v)},{default:o(()=>[s(r,{label:f(t)("Refunded"),value:"refunded"},null,8,["label"]),s(r,{label:f(t)("Customer request"),value:"customer_request"},null,8,["label"]),s(r,{label:f(t)("Completed (EOT)"),value:"completed"},null,8,["label"]),s(r,{label:f(t)("Fraudulent"),value:"fraudulent"},null,8,["label"]),s(r,{label:f(t)("Other"),value:"other"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),i.cancelReason==="other"?(u(),b(a,{key:0,label:f(t)("Other Reason"),required:"",error:i.otherReasonError},{default:o(()=>[s(p,{modelValue:i.otherReason,"onUpdate:modelValue":l[1]||(l[1]=v=>i.otherReason=v)},null,8,["modelValue"])]),_:1},8,["label","error"])):_("",!0)]),_:1,__:[3]})]),_:1},8,["model-value","loading","title"])}}}),It={name:"SubscriptionDetails",components:{CancelSubscription:Vt,ConvertedTime:de,CopyToClipboard:ce,CardContainer:P,CardBody:F,CardHeader:B,DynamicIcon:K,Refresh:Ue,Delete:A,VideoPause:Oe,VideoPlay:Ne,Edit:re,Promotion:ae,Document:Ae,CreditCard:xe,CircleClose:Me},props:["subscription","orderId","reminderPermissions"],emits:["reload","fetchOrder"],data(){return{loadingState:{fetch:!1,pause:!1,resume:!1,cancel:!1,edit:!1,save:!1,sendReminder:!1,createRenewal:!1,skipRenewal:!1,chargeNow:!1,verifyVendorIds:!1,saveVendorIds:!1},cancelSubscriptionModal:!1,editSubscriptionModal:!1,editForm:{recurring_total:0,bill_times:0,billing_interval:"monthly",status:"active",next_billing_date:""},vendorIdsModal:!1,vendorIdsForm:{vendor_subscription_id:"",vendor_customer_id:""},vendorIdsVerification:null}},computed:{Str(){return ue},billTimesMin(){return 0},isStoreBilled(){var e;return["manual","system"].includes((e=this.subscription)==null?void 0:e.collection_method)},hasPendingRenewal(){var e,i;return this.isStoreBilled&&!!((i=(e=this.subscription)==null?void 0:e.permissions)!=null&&i.hasPendingRenewal)},isSystemSubscription(){var e;return((e=this.subscription)==null?void 0:e.collection_method)==="system"},skipBadgeTooltip(){var l;const e=(l=this.subscription)==null?void 0:l.last_skipped_period;if(!e)return t("An admin skipped the next billing period.");const i=e.actor_name||t("an admin");return e.reason?t("Skipped by %1$s. Billing resumes on the date shown. Reason: %2$s",i,e.reason):t("Skipped by %1$s. Billing resumes on the date shown.",i)},createRenewalLabel(){return this.isSystemSubscription?t("Charge Next Renewal Now"):t("Create Renewal Now")},createRenewalIcon(){return this.isSystemSubscription?"CreditCard":"Document"},billingTypeBadge(){var i;const e=(i=this.subscription)==null?void 0:i.collection_method;return e==="manual"?{label:t("Manual"),type:"warning",description:t("Customer must pay each renewal manually — no auto-charge.")}:e==="system"?{label:t("System"),type:"success",class:"fct-billing-badge--system",description:t("Auto-charged by the store on schedule, using the saved payment method.")}:{label:t("Automatic"),type:"success",description:t("Billed and managed entirely by the payment gateway.")}},chargeStateAlert(){var n;const e=(n=this.subscription)==null?void 0:n.system_charge_state;if(!e)return null;if(e.status==="processing")return{type:"info",title:t("Automatic charge processing"),description:t("The renewal charge was submitted and is awaiting confirmation from the payment provider.")};if(!e.last_error)return null;const i=e.attempts,l=e.max_attempts||e.attempts;let r;return e.next_retry_at?r=t("Attempt %1$s of %2$s failed: %3$s — next automatic retry: %4$s (GMT).",i,l,e.last_error,e.next_retry_at):e.exhausted==="yes"?r=t("Attempt %1$s of %2$s failed: %3$s — no further automatic retries, the customer must pay manually.",i,l,e.last_error):r=t("Attempt %1$s of %2$s failed: %3$s",i,l,e.last_error),{type:"warning",title:t("Automatic charge failed"),description:r}},vendorIdsChanged(){return this.vendorIdsForm.vendor_subscription_id!==(this.subscription.vendor_subscription_id||"")||this.vendorIdsForm.vendor_customer_id!==(this.subscription.vendor_customer_id||"")},permissions(){var r;const e=((r=this.subscription)==null?void 0:r.permissions)||{},i=Ze.resolve({permission:"subscriptions/manage"}),l=this.reminderPermissions||{};return{canFetch:i&&!!e.canFetch,canEdit:i&&!!e.canEdit,canEditVendorIds:i&&!!e.canEditVendorIds,canVerifyVendorIds:i&&!!e.canVerifyVendorIds,canPause:i&&!!e.canPause,canResume:i&&!!e.canResume,canAdminReactivate:i&&!!e.canAdminReactivate,canCancel:i&&!!e.canCancel,canCreateRenewal:i&&!!e.canCreateRenewal,canSkipRenewal:i&&!!e.canSkipRenewal,canChargeNow:i&&!!e.canChargeNow,canSendReminder:!!(l.canSendRenewal||l.canSendTrialEnd)}},reminderLabel(){return(this.reminderPermissions||{}).canSendTrialEnd?t("Send Trial End Reminder"):t("Send Renewal Reminder")},reminderEvent(){return(this.reminderPermissions||{}).canSendTrialEnd?"subscription_trial_end_reminder":"subscription_renewal_reminder"},paymentMethod(){var e;return((e=this.subscription)==null?void 0:e.current_payment_method)||""},showNextBillingDate(){var i;const e=(((i=this.subscription)==null?void 0:i.status)||"").toLowerCase();return e==="active"||e==="trialing"}},watch:{vendorIdsForm:{deep:!0,handler(){this.vendorIdsVerification=null}}},methods:{handleSubscriptionAction(e){e==="fetch_subscription"?this.confirmFetch():e==="edit_subscription"?this.confirmEdit():e==="edit_vendor_ids"?this.confirmEditVendorIds():e==="pause_subscription"?this.confirmPause():e==="resume_subscription"?this.confirmResume():e==="reactivate_subscription"?this.confirmReactivate():e==="cancel_subscription"?this.confirmCancel():e==="send_reminder"?this.confirmSendReminder():e==="create_renewal"?this.confirmCreateRenewal():e==="skip_renewal"?this.confirmSkipRenewal():e==="charge_now"&&this.confirmChargeNow()},confirmFetch(){var e;!this.subscription.vendor_subscription_id&&((e=this.order)==null?void 0:e.payment_method)!=="offline_payment"||I.confirm(t("Fetch from remote and update the subscription?"),t("Warning"),{type:"warning",icon:T(A),cancelButtonText:t("Back"),confirmButtonText:t("Fetch subscription!"),beforeClose:async(i,l,r)=>{var n,a;if(i==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.fetch=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/fetch`,{data:{vendor_charge_id:this.subscription.vendor_subscription_id}}),this.$notify({type:"success",title:t("Success"),message:t("Subscription fetched successfully")}),this.$emit("reload")}catch(p){this.$notify({type:"error",title:t("Error"),message:t(((a=(n=p.response)==null?void 0:n.data)==null?void 0:a.message)||"Failed to fetch subscription")})}finally{l.confirmButtonLoading=!1,this.loadingState.fetch=!1,r()}else r()}})},async confirmPause(){var e,i;if(this.isStoreBilled){this.loadingState.pause=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/pause`,{data:{reason:"Paused by admin"}}),this.$notify({type:"success",title:t("Success"),message:t("Subscription paused successfully")}),this.$emit("reload")}catch(l){this.$notify({type:"error",title:t("Error"),message:t(((i=(e=l.response)==null?void 0:e.data)==null?void 0:i.message)||"Failed to pause subscription")})}finally{this.loadingState.pause=!1}return}this.subscription.vendor_subscription_id&&I.prompt(t("Pause the active subscription?"),t("Warning"),{type:"warning",icon:T(A),inputPlaceholder:t("Enter reason for pausing"),inputPattern:/.+/,inputErrorMessage:t("Reason is required"),cancelButtonText:t("Back"),confirmButtonText:t("Pause Subscription!"),beforeClose:async(l,r,n)=>{var a,p;if(l==="confirm")try{r.confirmButtonLoading=!0,this.loadingState.pause=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/pause`,{data:{vendor_subscription_id:this.subscription.vendor_subscription_id,reason:r.inputValue}}),this.$notify({type:"success",title:t("Success"),message:t("Subscription paused successfully")}),this.$emit("reload")}catch(w){this.$notify({type:"error",title:t("Error"),message:t(((p=(a=w.response)==null?void 0:a.data)==null?void 0:p.message)||"Failed to pause subscription")})}finally{r.confirmButtonLoading=!1,this.loadingState.pause=!1,n()}else n()}})},async confirmResume(){var e,i;if(this.isStoreBilled){this.loadingState.resume=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/resume`,{data:{reason:"Resumed by admin"}}),this.$notify({type:"success",title:t("Success"),message:t("Subscription resumed successfully")}),this.$emit("reload")}catch(l){this.$notify({type:"error",title:t("Error"),message:t(((i=(e=l.response)==null?void 0:e.data)==null?void 0:i.message)||"Failed to resume subscription")})}finally{this.loadingState.resume=!1}return}this.subscription.vendor_subscription_id&&I.prompt(t("Resume the paused subscription?"),t("Warning"),{type:"warning",icon:T(A),inputPlaceholder:t("Enter reason for resuming"),inputPattern:/.+/,inputErrorMessage:t("Reason is required"),cancelButtonText:t("Back"),confirmButtonText:t("Resume Subscription!"),beforeClose:async(l,r,n)=>{var a,p;if(l==="confirm")try{r.confirmButtonLoading=!0,this.loadingState.resume=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/resume`,{data:{vendor_subscription_id:this.subscription.vendor_subscription_id,reason:r.inputValue}}),this.$notify({type:"success",title:t("Success"),message:t("Subscription resumed successfully")}),this.$emit("reload")}catch(w){this.$notify({type:"error",title:t("Error"),message:t(((p=(a=w.response)==null?void 0:a.data)==null?void 0:p.message)||"Failed to resume subscription")})}finally{r.confirmButtonLoading=!1,this.loadingState.resume=!1,n()}else n()}})},confirmEdit(){this.editForm={recurring_total:this.subscription.recurring_total/100,bill_times:this.subscription.bill_times,billing_interval:this.subscription.billing_interval||"monthly",status:this.subscription.status,next_billing_date:this.subscription.next_billing_date},this.editSubscriptionModal=!0},async confirmSaveSubscription(){var l,r,n;try{await I.confirm(t("Are you sure you want to update this subscription? This will affect all future renewals."),t("Confirm Update"),{type:"warning",icon:T(A),cancelButtonText:t("Cancel"),confirmButtonText:t("Yes, Update")})}catch{return}const e=((l=this.subscription)==null?void 0:l.bill_count)||0,i=this.editForm.bill_times;if(i>0&&i<e){this.$notify({type:"error",title:t("Validation Error"),message:t("Bill times cannot be less than the number of payments already made (%1$s).",e)});return}this.loadingState.save=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/update`,{data:this.editForm}),this.$notify({type:"success",title:t("Success"),message:t("Subscription updated successfully")}),this.editSubscriptionModal=!1,this.$emit("reload")}catch(a){this.$notify({type:"error",title:t("Error"),message:t(((n=(r=a.response)==null?void 0:r.data)==null?void 0:n.message)||"Failed to update subscription")})}finally{this.loadingState.save=!1}},confirmEditVendorIds(){this.vendorIdsForm={vendor_subscription_id:this.subscription.vendor_subscription_id||"",vendor_customer_id:this.subscription.vendor_customer_id||""},this.vendorIdsVerification=null,this.vendorIdsModal=!0},invalidVendorId(e){return!!e&&!/^[a-zA-Z0-9_.-]+$/.test(e)},async verifyVendorIds(){var e;if(!this.loadingState.verifyVendorIds){this.vendorIdsVerification=null,this.loadingState.verifyVendorIds=!0;try{const i=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/verify-vendor-ids`,{data:this.vendorIdsForm}),l=(i==null?void 0:i.verification)||{},r=[l.status,l.amount?`${l.amount} ${l.currency||""}`.trim():"",l.customer_id?`${t("customer")}: ${l.customer_id}`:""].filter(Boolean);this.vendorIdsVerification={ok:!0,summary:r.join(" · ")}}catch(i){this.vendorIdsVerification={ok:!1,message:((e=i==null?void 0:i.data)==null?void 0:e.message)||t("Could not verify this ID at the payment gateway.")}}finally{this.loadingState.verifyVendorIds=!1}}},async confirmSaveVendorIds(){var e;if(this.invalidVendorId(this.vendorIdsForm.vendor_subscription_id)||this.invalidVendorId(this.vendorIdsForm.vendor_customer_id)){this.$notify({type:"error",title:t("Validation Error"),message:t("Vendor IDs may only contain letters, numbers, dots, dashes and underscores.")});return}try{await I.confirm(t("Are you sure you want to change the vendor IDs? Future renewals and gateway webhooks will use the new IDs."),t("Confirm Update"),{type:"warning",icon:T(re),cancelButtonText:t("Cancel"),confirmButtonText:t("Yes, Update")})}catch{return}this.loadingState.saveVendorIds=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/vendor-ids`,{data:this.vendorIdsForm}),this.$notify({type:"success",title:t("Success"),message:t("Vendor IDs updated successfully")}),this.vendorIdsModal=!1,this.$emit("reload")}catch(i){this.$notify({type:"error",title:t("Error"),message:((e=i==null?void 0:i.data)==null?void 0:e.message)||t("Failed to update vendor IDs")})}finally{this.loadingState.saveVendorIds=!1}},confirmCancel(){this.cancelSubscriptionModal=!0},confirmSendReminder(){const e=this.reminderLabel;I.confirm(t("Are you sure you want to send this reminder email now?"),e,{type:"info",icon:T(ae),cancelButtonText:t("Cancel"),confirmButtonText:t("Send Now"),beforeClose:async(i,l,r)=>{var n;if(i==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.sendReminder=!0;const a=await this.$post("email-notification/send-manual-reminder",{event:this.reminderEvent,entity_id:this.subscription.id});this.$notify({type:"success",title:t("Success"),message:a.message||t("Reminder sent successfully")})}catch(a){this.$notify({type:"error",title:t("Error"),message:((n=a.data)==null?void 0:n.message)||t("Failed to send reminder")})}finally{l.confirmButtonLoading=!1,this.loadingState.sendReminder=!1,r()}else r()}})},async confirmCreateRenewal(){const e=this.isSystemSubscription;try{await I.confirm(e?t("Create the next renewal and charge it now? One attempt runs immediately; a decline falls back to automatic retries."):t("Create a renewal now for the upcoming billing period?"),e?t("Charge Next Renewal Now"):t("Create Renewal Now"),{type:e?"warning":"info",cancelButtonText:t("Cancel"),confirmButtonText:e?t("Create & Charge"):t("Create Renewal"),beforeClose:async(i,l,r)=>{var n,a;if(i==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.createRenewal=!0;const p=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/create-renewal`),w=p==null?void 0:p.status;this.$notify({type:w==="failed"?"warning":"success",title:w==="failed"?t("Charge Failed"):t("Success"),message:t((p==null?void 0:p.message)||(e?"Charge attempt completed":"Renewal created successfully"))}),this.$emit("reload")}catch(p){this.$notify({type:"error",title:t("Error"),message:t(((a=(n=p.response)==null?void 0:n.data)==null?void 0:a.message)||(e?"Failed to charge the renewal":"Failed to create renewal"))})}finally{l.confirmButtonLoading=!1,this.loadingState.createRenewal=!1,r()}else r()}})}catch{}},async confirmChargeNow(){var l,r;const e=((r=(l=this.subscription)==null?void 0:l.billingInfo)==null?void 0:r.details)||{},i=e.brand&&e.last_4?t("%1$s ****%2$s",e.brand,e.last_4):t("the saved payment method");try{await I.confirm(t("Charge the open renewal order to %1$s now? One attempt will run immediately.",i),t("Charge Now"),{type:"warning",cancelButtonText:t("Cancel"),confirmButtonText:t("Charge Now"),beforeClose:async(n,a,p)=>{var w,C;if(n==="confirm")try{a.confirmButtonLoading=!0,this.loadingState.chargeNow=!0;const y=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/charge-now`),v=y==null?void 0:y.status;this.$notify({type:v==="failed"?"warning":"success",title:v==="failed"?t("Charge Failed"):t("Success"),message:t((y==null?void 0:y.message)||"Charge attempt completed")}),this.$emit("reload")}catch(y){this.$notify({type:"error",title:t("Error"),message:t(((C=(w=y.response)==null?void 0:w.data)==null?void 0:C.message)||"Failed to run the charge attempt")})}finally{a.confirmButtonLoading=!1,this.loadingState.chargeNow=!1,p()}else p()}})}catch{}},async confirmSkipRenewal(){const e=(()=>{const i=this.subscription;if(!(i!=null&&i.next_billing_date))return"";const l={daily:1,weekly:7,monthly:30,quarterly:90,half_yearly:182,yearly:365}[i.billing_interval]||30,r=new Date(String(i.next_billing_date).replace(" ","T"));if(isNaN(r.getTime()))return"";r.setDate(r.getDate()+l);const n=new Date;for(;r<=n;)r.setDate(r.getDate()+l);return r.toLocaleDateString()})();try{await I.prompt(e?t("Skip the next billing period? The following renewal order will be created around %1$s.",e):t("Skip the next billing period? The next_billing_date will advance one interval into the future."),t("Skip Next Period"),{type:"warning",cancelButtonText:t("Cancel"),confirmButtonText:t("Skip Next Period"),inputType:"textarea",inputPlaceholder:t("Reason (optional) — shown in the timeline and audit trail"),inputValidator:()=>!0,beforeClose:async(i,l,r)=>{var n,a;if(i==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.skipRenewal=!0;const p=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/skip-renewal`,{reason:(l.inputValue||"").trim()});this.$notify({type:"success",title:t("Success"),message:p.message||t("Billing period skipped successfully")}),this.$emit("reload")}catch(p){this.$notify({type:"error",title:t("Error"),message:t(((a=(n=p.response)==null?void 0:n.data)==null?void 0:a.message)||"Failed to skip period")})}finally{l.confirmButtonLoading=!1,this.loadingState.skipRenewal=!1,r()}else r()}})}catch{}},confirmReactivate(){!this.subscription.vendor_subscription_id&&!this.isStoreBilled||I.confirm(t("Reactivate the canceled subscription?"),t("Warning"),{type:"warning",icon:T(A),cancelButtonText:t("Back"),confirmButtonText:t("Reactivate Subscription!"),beforeClose:async(e,i,l)=>{var r,n;if(e==="confirm")try{i.confirmButtonLoading=!0,this.loadingState.reactivate=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/reactivate`,{data:{vendor_subscription_id:this.subscription.vendor_subscription_id}}),this.$notify({type:"success",title:t("Success"),message:t("Subscription reactivated successfully")}),this.$emit("reload")}catch(a){this.$notify({type:"error",title:t("Error"),message:t(((n=(r=a.response)==null?void 0:r.data)==null?void 0:n.message)||"Failed to reactivate subscription")})}finally{i.confirmButtonLoading=!1,this.loadingState.reactivate=!1,l()}else l()}})}}},Rt={class:"fct-card-header-title is-small inline-flex items-center gap-2"},Tt={class:"more-btn"},Bt={class:"text-red-600"},Ft={class:"fct-single-subscription-pricing-table"},Pt={class:"fct-single-subscription-details"},Et={class:"fct-single-subscription-details-label"},Dt=["innerHTML"],Lt={class:"fct-single-subscription-details-label"},Mt={class:"fct-single-subscription-details-value"},xt={key:0},At={key:1,class:"flex items-center gap-2.5"},Nt={class:"fct-single-subscription-details-label"},Ot={class:"fct-single-subscription-details-value"},Ut={key:0},zt={class:"fct-single-subscription-details-label"},Ht={class:"fct-single-subscription-details-value"},Yt={class:"fct-single-subscription-details-label"},jt={class:"fct-single-subscription-details-value"},qt={class:"fct-single-subscription-details-label"},Wt={class:"fct-single-subscription-details-value"},Gt={key:1},Qt={class:"fct-single-subscription-details-label"},Zt={class:"fct-single-subscription-details-value"},Jt={key:1,class:"fct-vendor-ids"},Xt={key:0},Kt={class:"fct-vendor-ids__label"},es={class:"fct-vendor-ids__value"},ts=["href"],ss={key:1,class:"fct-vendor-ids__text"},is={key:1},ns={class:"fct-vendor-ids__label"},os={class:"fct-vendor-ids__value"},ls={class:"fct-vendor-ids__text"},as={class:"text-xs text-gray-500 mt-1"},rs={key:0},ds={class:"dialog-footer"},cs={class:"fct-vendor-ids-edit__row"},us={class:"text-xs mt-1"},ms={class:"dialog-footer"};function ps(e,i,l,r,n,a){const p=c("el-tag"),w=c("el-tooltip"),C=c("DynamicIcon"),y=c("Refresh"),v=c("el-icon"),k=c("el-dropdown-item"),R=c("Edit"),V=c("VideoPause"),L=c("VideoPlay"),M=c("Delete"),x=c("Promotion"),q=c("CircleClose"),W=c("CreditCard"),z=c("el-dropdown-menu"),G=c("el-dropdown"),Q=c("CardHeader"),E=c("el-alert"),O=c("ConvertedTime"),H=c("CopyToClipboard"),me=c("CardBody"),pe=c("CancelSubscription"),ee=c("el-input-number"),D=c("el-form-item"),$=c("el-option"),te=c("el-select"),_e=c("el-date-picker"),se=c("el-form"),U=c("el-button"),ie=c("el-dialog"),ne=c("el-input"),be=c("CardContainer"),fe=ve("loading");return u(),b(be,null,{default:o(()=>[s(Q,{border_bottom:"",title_size:"small"},{title:o(()=>[d("h2",Rt,[h(m(e.$t("Subscription Details"))+" ",1),s(w,{content:a.billingTypeBadge.description,placement:"top-start",effect:"dark"},{default:o(()=>[s(p,{type:a.billingTypeBadge.type,class:Se(a.billingTypeBadge.class),size:"small",effect:"light",round:""},{default:o(()=>[h(m(a.billingTypeBadge.label),1)]),_:1},8,["type","class"])]),_:1},8,["content"])])]),default:o(()=>[a.permissions.canFetch||a.permissions.canEdit||a.permissions.canEditVendorIds||a.permissions.canPause||a.permissions.canResume||a.permissions.canAdminReactivate||a.permissions.canCancel||a.permissions.canSendReminder||a.permissions.canCreateRenewal||a.permissions.canSkipRenewal||a.permissions.canChargeNow?(u(),b(G,{key:0,trigger:"click",class:"fct-more-option-wrap","popper-class":"fct-dropdown",onCommand:i[0]||(i[0]=g=>a.handleSubscriptionAction(g))},{dropdown:o(()=>[s(z,null,{default:o(()=>[a.permissions.canFetch?(u(),b(k,{key:0,command:"fetch_subscription"},{default:o(()=>[s(v,null,{default:o(()=>[s(y)]),_:1}),h(" "+m(e.$t("Sync from gateway -"))+" "+m(a.paymentMethod),1)]),_:1})):_("",!0),a.permissions.canEdit?(u(),b(k,{key:1,command:"edit_subscription"},{default:o(()=>[s(v,null,{default:o(()=>[s(R)]),_:1}),h(" "+m(e.$t("Edit Subscription")),1)]),_:1})):_("",!0),a.permissions.canEditVendorIds?(u(),b(k,{key:2,command:"edit_vendor_ids"},{default:o(()=>[s(v,null,{default:o(()=>[s(R)]),_:1}),h(" "+m(e.$t("Edit Vendor IDs")),1)]),_:1})):_("",!0),a.permissions.canPause?(u(),b(k,{key:3,command:"pause_subscription",disabled:n.loadingState.pause},{default:o(()=>[s(v,null,{default:o(()=>[s(V)]),_:1}),h(" "+m(e.$t("Pause Subscription")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canResume?(u(),b(k,{key:4,command:"resume_subscription",disabled:n.loadingState.resume},{default:o(()=>[s(v,null,{default:o(()=>[s(L)]),_:1}),h(" "+m(e.$t("Resume Subscription")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canAdminReactivate?(u(),b(k,{key:5,command:"reactivate_subscription",disabled:n.loadingState.reactivate},{default:o(()=>[s(v,null,{default:o(()=>[s(L)]),_:1}),h(" "+m(e.$t("Reactivate Subscription")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canCancel?(u(),b(k,{key:6,command:"cancel_subscription"},{default:o(()=>[s(v,null,{default:o(()=>[s(M)]),_:1}),d("span",Bt,m(e.$t("Cancel Subscription")),1)]),_:1})):_("",!0),a.permissions.canSendReminder?(u(),b(k,{key:7,command:"send_reminder",disabled:n.loadingState.sendReminder},{default:o(()=>[s(v,null,{default:o(()=>[s(x)]),_:1}),h(" "+m(a.reminderLabel),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canCreateRenewal?(u(),b(k,{key:8,command:"create_renewal",disabled:n.loadingState.createRenewal},{default:o(()=>[s(v,null,{default:o(()=>[(u(),b(we(a.createRenewalIcon)))]),_:1}),h(" "+m(a.createRenewalLabel),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canSkipRenewal?(u(),b(k,{key:9,command:"skip_renewal",disabled:n.loadingState.skipRenewal},{default:o(()=>[s(v,null,{default:o(()=>[s(q)]),_:1}),h(" "+m(e.$t("Skip Next Period")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canChargeNow?(u(),b(k,{key:10,command:"charge_now",disabled:n.loadingState.chargeNow},{default:o(()=>[s(v,null,{default:o(()=>[s(W)]),_:1}),h(" "+m(e.$t("Charge Now")),1)]),_:1},8,["disabled"])):_("",!0)]),_:1})]),default:o(()=>[d("span",Tt,[s(C,{name:"More"})])]),_:1})):_("",!0)]),_:1}),s(me,null,{default:o(()=>{var g,Y,oe;return[a.chargeStateAlert?(u(),b(E,{key:0,type:a.chargeStateAlert.type,title:a.chargeStateAlert.title,description:a.chargeStateAlert.description,closable:!1,"show-icon":"",class:"mb-4"},null,8,["type","title","description"])):_("",!0),d("div",Ft,[d("p",null,m(e.$t("Product Name")),1),d("h3",null,m(l.subscription.display_item_name),1)]),d("ul",Pt,[d("li",null,[d("div",Et,m(e.$t("Billing Cycle")),1),d("div",{class:"fct-single-subscription-details-value",innerHTML:l.subscription.payment_info},null,8,Dt)]),d("li",null,[d("div",Lt,m(e.$t("Active Payment Gateway")),1),d("div",Mt,[l.subscription.current_payment_method?(u(),S("div",At,[d("span",null,m(a.Str.headline(l.subscription.current_payment_method)),1)])):(u(),S("span",xt,"----"))])]),d("li",null,[d("div",Nt,m(e.$t("Initial Purchase ID")),1),d("div",Ot," #"+m(l.subscription.parent_order_id),1)]),l.subscription.bill_times>0?(u(),S("li",Ut,[d("div",zt,m(e.$t("Installment Progress")),1),d("div",Ht,m(l.subscription.bill_count)+" / "+m(l.subscription.bill_times),1)])):_("",!0),d("li",null,[d("div",Yt,m(e.$t("Auto-cancellation")),1),d("div",jt,m(l.subscription.expire_at?l.subscription.expire_at:"---"),1)]),d("li",null,[d("div",qt,m(e.$t("Started")),1),d("div",Wt,[s(O,{"date-time":l.subscription.created_at,withTime:!1},null,8,["date-time"])])]),a.showNextBillingDate?(u(),S("li",Gt,[d("div",Qt,m(e.$t("Next renewal")),1),d("div",Zt,[h(m(e.formatNumberForOrder(l.subscription.recurring_total,l.subscription))+" on ",1),s(O,{"date-time":l.subscription.next_billing_date,withTime:!1},null,8,["date-time"]),l.subscription.has_pending_skip?(u(),b(w,{key:0,content:a.skipBadgeTooltip,placement:"top",effect:"dark",trigger:["hover","focus"]},{default:o(()=>[s(p,{type:"warning",size:"small",effect:"light",round:"",class:"fct-skip-badge",tabindex:"0",role:"note","aria-label":a.skipBadgeTooltip},{default:o(()=>[h(m(e.$t("Period skipped")),1)]),_:1},8,["aria-label"])]),_:1},8,["content"])):_("",!0)])])):_("",!0)]),l.subscription.vendor_subscription_id||(g=l.subscription)!=null&&g.vendor_customer_id?(u(),S("div",Jt,[l.subscription.vendor_subscription_id?(u(),S("div",Xt,[d("div",Kt,m(e.$t("Vendor Subscription ID")),1),d("div",es,[l.subscription.url?(u(),S("a",{key:0,href:l.subscription.url,target:"_blank",class:"fct-vendor-ids__link"},m(l.subscription.vendor_subscription_id),9,ts)):(u(),S("span",ss,m(l.subscription.vendor_subscription_id),1)),s(H,{text:l.subscription.vendor_subscription_id,showMode:"basic_copy_btn",tooltipText:"Copy"},null,8,["text"])])])):_("",!0),(Y=l.subscription)!=null&&Y.vendor_customer_id?(u(),S("div",is,[d("div",ns,m(e.$t("Vendor Customer ID")),1),d("div",os,[d("span",ls,m(l.subscription.vendor_customer_id),1),s(H,{text:(oe=l.subscription)==null?void 0:oe.vendor_customer_id,showMode:"basic_copy_btn",tooltipText:"Copy"},null,8,["text"])])])):_("",!0),i[15]||(i[15]=d("div",null,null,-1))])):_("",!0)]}),_:1}),s(pe,{subscription:l.subscription,orderId:l.orderId,onClose:i[1]||(i[1]=g=>n.cancelSubscriptionModal=!1),modelValue:n.cancelSubscriptionModal,"onUpdate:modelValue":i[2]||(i[2]=g=>n.cancelSubscriptionModal=g),onReload:i[3]||(i[3]=g=>e.$emit("reload")),onCancelSubscription:a.confirmCancel},null,8,["subscription","orderId","modelValue","onCancelSubscription"]),s(ie,{modelValue:n.editSubscriptionModal,"onUpdate:modelValue":i[10]||(i[10]=g=>n.editSubscriptionModal=g),title:e.$t("Edit Subscription"),width:"500px","close-on-click-modal":!1},{footer:o(()=>[d("span",ds,[s(U,{onClick:i[9]||(i[9]=g=>n.editSubscriptionModal=!1)},{default:o(()=>[h(m(e.$t("Cancel")),1)]),_:1}),s(U,{type:"primary",onClick:a.confirmSaveSubscription,loading:n.loadingState.save},{default:o(()=>[h(m(e.$t("Save Changes")),1)]),_:1},8,["onClick","loading"])])]),default:o(()=>[s(E,{type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[h(m(e.$t("Editing this subscription will update the details for all future renewals.")),1)]),_:1}),a.hasPendingRenewal?(u(),b(E,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[h(m(e.$t("A renewal invoice is already pending; it will be updated to the new amount.")),1)]),_:1})):_("",!0),Ce((u(),b(se,{model:n.editForm,"label-width":"140px"},{default:o(()=>[s(D,{label:e.$t("Next Renewal Amount")},{default:o(()=>[s(ee,{modelValue:n.editForm.recurring_total,"onUpdate:modelValue":i[4]||(i[4]=g=>n.editForm.recurring_total=g),precision:2,min:0,step:.01,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1},8,["label"]),s(D,{label:e.$t("Billing Times")},{default:o(()=>{var g;return[s(ee,{modelValue:n.editForm.bill_times,"onUpdate:modelValue":i[5]||(i[5]=Y=>n.editForm.bill_times=Y),min:a.billTimesMin,step:1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue","min"]),d("div",as,[h(m(e.$t("0 = Unlimited (renew indefinitely)"))+" ",1),((g=l.subscription)==null?void 0:g.bill_count)>0?(u(),S("span",rs," — "+m(e.$t("must be 0 or"))+" ≥ "+m(l.subscription.bill_count)+" ("+m(e.$t("payments made"))+")",1)):_("",!0)])]}),_:1},8,["label"]),s(D,{label:e.$t("Billing Interval")},{default:o(()=>[s(te,{modelValue:n.editForm.billing_interval,"onUpdate:modelValue":i[6]||(i[6]=g=>n.editForm.billing_interval=g),style:{width:"100%"}},{default:o(()=>[s($,{label:e.$t("Daily"),value:"daily"},null,8,["label"]),s($,{label:e.$t("Weekly"),value:"weekly"},null,8,["label"]),s($,{label:e.$t("Monthly"),value:"monthly"},null,8,["label"]),s($,{label:e.$t("Quarterly"),value:"quarterly"},null,8,["label"]),s($,{label:e.$t("Half Yearly"),value:"half_yearly"},null,8,["label"]),s($,{label:e.$t("Yearly"),value:"yearly"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),s(D,{label:e.$t("Status")},{default:o(()=>[s(te,{modelValue:n.editForm.status,"onUpdate:modelValue":i[7]||(i[7]=g=>n.editForm.status=g),style:{width:"100%"}},{default:o(()=>[s($,{label:e.$t("Active"),value:"active"},null,8,["label"]),s($,{label:e.$t("Paused"),value:"paused"},null,8,["label"]),s($,{label:e.$t("Trialing"),value:"trialing"},null,8,["label"]),s($,{label:e.$t("Past Due"),value:"past_due"},null,8,["label"]),s($,{label:e.$t("Expired"),value:"expired"},null,8,["label"]),s($,{label:e.$t("Completed"),value:"completed"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),s(D,{label:e.$t("Next Billing Date")},{default:o(()=>[s(_e,{modelValue:n.editForm.next_billing_date,"onUpdate:modelValue":i[8]||(i[8]=g=>n.editForm.next_billing_date=g),type:"datetime",placeholder:e.$t("Select date"),format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])),[[fe,n.loadingState.edit]])]),_:1},8,["modelValue","title"]),s(ie,{modelValue:n.vendorIdsModal,"onUpdate:modelValue":i[14]||(i[14]=g=>n.vendorIdsModal=g),title:e.$t("Edit Vendor IDs"),width:"520px","close-on-click-modal":!1},{footer:o(()=>[d("span",ms,[s(U,{onClick:i[13]||(i[13]=g=>n.vendorIdsModal=!1)},{default:o(()=>[h(m(e.$t("Cancel")),1)]),_:1}),s(U,{type:"primary",onClick:a.confirmSaveVendorIds,loading:n.loadingState.saveVendorIds,disabled:!a.vendorIdsChanged},{default:o(()=>[h(m(e.$t("Save Changes")),1)]),_:1},8,["onClick","loading","disabled"])])]),default:o(()=>[s(E,{type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[h(m(e.$t("Renewals, cancellations and incoming gateway webhooks all follow these IDs. Changing them does not change anything at the payment gateway — use this only to correct IDs that are already wrong.")),1)]),_:1}),s(se,{model:n.vendorIdsForm,"label-position":"top"},{default:o(()=>[s(D,{label:e.$t("Vendor Subscription ID")},{default:o(()=>[d("div",cs,[s(ne,{modelValue:n.vendorIdsForm.vendor_subscription_id,"onUpdate:modelValue":i[11]||(i[11]=g=>n.vendorIdsForm.vendor_subscription_id=g),placeholder:e.$t("e.g. sub_4L7nezJXHW")},null,8,["modelValue","placeholder"]),a.permissions.canVerifyVendorIds?(u(),b(U,{key:0,onClick:a.verifyVendorIds,loading:n.loadingState.verifyVendorIds},{default:o(()=>[h(m(e.$t("Verify")),1)]),_:1},8,["onClick","loading"])):_("",!0)])]),_:1},8,["label"]),s(D,{label:e.$t("Vendor Customer ID")},{default:o(()=>[s(ne,{modelValue:n.vendorIdsForm.vendor_customer_id,"onUpdate:modelValue":i[12]||(i[12]=g=>n.vendorIdsForm.vendor_customer_id=g),placeholder:e.$t("e.g. cst_9GrdvYmPPn")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"]),n.vendorIdsVerification?(u(),b(E,{key:0,type:n.vendorIdsVerification.ok?"success":"error",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[n.vendorIdsVerification.ok?(u(),S(N,{key:0},[d("div",null,m(e.$t("Found at gateway"))+" — "+m(n.vendorIdsVerification.summary),1),d("div",us,m(e.$t("This only proves the ID exists in the connected gateway account. Confirm it is the right customer before saving.")),1)],64)):(u(),S(N,{key:1},[h(m(n.vendorIdsVerification.message),1)],64))]),_:1},8,["type"])):_("",!0)]),_:1},8,["modelValue","title"])]),_:1})}const _s=X(It,[["render",ps],["__scopeId","data-v-d182a0b9"]]),bs={class:"fct-single-order-loader-wrap fct-layout-width"},fs={class:"single-page-header fct-page-loader-header min-h-18 flex items-start justify-between"},hs={class:"single-page-body"},gs={class:"fct-single-order"},ys={class:"fct-single-order-main"},vs={class:"fct-single-order-aside"},ws={class:"fct-admin-sidebar"},Ss={props:{loading:{type:Boolean,default:!1}}},Cs=Object.assign(Ss,{__name:"SingleSubscriptionLoader",setup(e){return(i,l)=>{const r=c("el-skeleton-item"),n=c("el-skeleton");return u(),S("div",bs,[d("div",fs,[s(n,{animated:"",class:"flex flex-col items-start gap-2"},{template:o(()=>[s(r,{class:"max-w-180"}),s(r,{class:"max-w-[100px]"})]),_:1})]),d("div",hs,[d("div",gs,[d("div",ys,[s(P,{class:"overflow-hidden"},{default:o(()=>[s(B,{border_bottom:"",title:i.$t("Subscription Details")},null,8,["title"]),s(F,{class:"grid gap-5 grid-cols-[repeat(auto-fit,minmax(200px,1fr))]"},{default:o(()=>[(u(),S(N,null,J(9,a=>s(n,{key:a,animated:!0},{template:o(()=>[d("div",null,[s(r,{variant:"p",class:"w-full"}),s(r,{variant:"p",style:{width:"50%"}})])]),_:2},1024)),64))]),_:1})]),_:1}),s(P,{class:"overflow-hidden"},{default:o(()=>[s(B,{border_bottom:"",title:i.$t("Related Orders")},null,8,["title"]),s(F,null,{default:o(()=>[s(n,{animated:"",rows:3})]),_:1})]),_:1}),s(P,{class:"overflow-hidden"},{default:o(()=>[s(B,{border_bottom:"",title:i.$t("Related Licenses")},null,8,["title"]),s(F,null,{default:o(()=>[s(n,{animated:"",rows:3})]),_:1})]),_:1})]),d("div",vs,[d("div",ws,[s(P,null,{default:o(()=>[s(B,{title:i.$t("Subscription Plan"),border_bottom:"",title_size:"small"},null,8,["title"]),s(F,null,{default:o(()=>[s(n,{animated:"",rows:2})]),_:1})]),_:1}),s(P,null,{default:o(()=>[s(B,{title:i.$t("Customer Details"),border_bottom:"",title_size:"small"},null,8,["title"]),s(F,null,{default:o(()=>[s(n,{animated:"",rows:3})]),_:1})]),_:1}),s(P,null,{default:o(()=>[s(B,{title:i.$t("Labels"),border_bottom:"",title_size:"small"},null,8,["title"]),s(F,null,{default:o(()=>[s(n,{animated:"",rows:1})]),_:1})]),_:1})])])])])])}}}),ks={name:"SingleSubscription",components:{Activity:De,ChangeOrderCustomer:Ge,DynamicIcon:K,ConvertedTime:de,Badge:Ve,NotFound:Je,SingleSubscriptionLoader:Cs,SubscriptionDetails:_s,Labels:We,LicenseTable:qe,Empty:Re,CopyToClipboard:ce,CardContainer:P,CardBody:F,CardHeader:B,OrdersTable:Ee,CustomerPurchaseValue:Pe,OrderCustomerInformation:je,OrdersTableMobile:Fe},props:["subscription_id"],data(){return{notFound:{show:!1,message:"",buttonText:"",route:""},subscription:{},loading:!1,parentOrderLoading:!0,error:null,ArrowRight:T(ze),parentOrder:null,selectedLabels:[],changeCustomer:!1,reminderPermissions:{}}},computed:{Str(){return ue},subscriptionStatus(){var e;return(e=this.subscription)==null?void 0:e.status},visibleRelatedOrders(){var e;return(((e=this.subscription)==null?void 0:e.related_orders)||[]).filter(i=>!(i.type==="renewal"&&Number(i.total_amount)===0))}},watch:{subscription_id:{handler(e,i){this.fetchSubscription()}}},mounted(){this.fetchSubscription()},methods:{translate:t,getCardBrand:Xe,fetchSubscription(){this.notFound.show=!1,this.loading=!0,this.$get("subscriptions/"+this.subscription_id).then(e=>{this.subscription=e.subscription,this.selectedLabels=e.selected_labels,this.reminderPermissions=e.reminder_permissions||{},this.getParentOrder()}).catch(e=>{var i;e.code==="fluent_cart_entity_not_found"?(this.notFound.show=!0,this.notFound.buttonText=Z.get(e,"data.buttonText"),this.notFound.message=Z.get(e,"data.message"),this.notFound.route=Z.get(e,"data.route")):e.status_code=="422"?j.validationErrors(e):j.error((i=e.data)==null?void 0:i.message)}).finally(()=>{this.loading=!1})},getParentOrder(){var e;this.$get("orders/"+((e=this.subscription)==null?void 0:e.parent_order_id)).then(i=>{this.parentOrder=i.order}).finally(()=>{this.parentOrderLoading=!1})},reload(){window.location.reload()},handleCommand(e){e==="change_customer"&&(this.changeCustomer=!0)}}},$s={key:1,class:"fct-single-subscription-page"},Vs={key:1,class:"fct-single-order-wrapper fct-layout-width"},Is={class:"single-page-header flex items-start justify-between"},Rs={class:"single-page-header-title-wrap"},Ts={class:"single-page-header-status-wrap"},Bs={class:"pt-2 text-xs text-system-mid dark:text-gray-300"},Fs={class:"single-page-body"},Ps={class:"fct-single-subscription"},Es={class:"fct-single-subscription-main"},Ds={class:"fct-single-subscription-aside"},Ls={class:"fct-admin-sidebar"},Ms={class:"fct-admin-sidebar"};function xs(e,i,l,r,n,a){var O;const p=c("NotFound"),w=c("SingleSubscriptionLoader"),C=c("el-breadcrumb-item"),y=c("el-breadcrumb"),v=c("Badge"),k=c("ConvertedTime"),R=c("SubscriptionDetails"),V=c("CardHeader"),L=c("OrdersTable"),M=c("OrdersTableMobile"),x=c("CardContainer"),q=c("LicenseTable"),W=c("Activity"),z=c("CardBody"),G=c("el-skeleton"),Q=c("OrderCustomerInformation"),E=c("Labels");return u(),S(N,null,[n.notFound.show?(u(),b(p,{key:0,"button-text":n.notFound.buttonText,message:n.notFound.message,route:n.notFound.route},null,8,["button-text","message","route"])):_("",!0),n.notFound.show===!1?(u(),S("div",$s,[n.loading?(u(),b(w,{key:0})):_("",!0),!n.loading&&n.subscription.id?(u(),S("div",Vs,[d("div",Is,[d("div",null,[d("div",Rs,[s(y,{"separator-icon":n.ArrowRight},{default:o(()=>[s(C,{to:{name:"all_subscriptions"}},{default:o(()=>[h(m(e.$t("Subscriptions")),1)]),_:1}),s(C,null,{default:o(()=>[h("#"+m(l.subscription_id),1)]),_:1})]),_:1},8,["separator-icon"]),d("div",Ts,[s(v,{status:a.subscriptionStatus},null,8,["status"])])]),d("div",Bs,[s(k,{"date-time":n.subscription.created_at,"with-time":""},null,8,["date-time"])])]),i[2]||(i[2]=d("div",{class:"fct-btn-group sm"},null,-1))]),d("div",Fs,[d("div",Ps,[d("div",Es,[s(R,{subscription:n.subscription,orderId:(O=n.parentOrder)==null?void 0:O.id,reminderPermissions:n.reminderPermissions,onFetchOrder:i[0]||(i[0]=H=>e.$emit("fetchSubscription")),onReload:i[1]||(i[1]=H=>a.reload())},null,8,["subscription","orderId","reminderPermissions"]),a.visibleRelatedOrders.length?(u(),b(x,{key:0,class:"overflow-hidden"},{default:o(()=>[s(V,{class:"pb-4",title:e.$t("Related Orders")+" ("+a.visibleRelatedOrders.length+")",title_size:"small"},null,8,["title"]),s(L,{class:"hide-on-mobile",orders:a.visibleRelatedOrders,columns:["type"]},null,8,["orders"]),s(M,{class:"show-on-mobile fct-single-subscription-orders-mobile",orders:a.visibleRelatedOrders,columns:["type"]},null,8,["orders"])]),_:1})):_("",!0),n.subscription.licenses?(u(),b(x,{key:1,class:"overflow-hidden"},{default:o(()=>[s(V,{class:"pb-4",title:e.$t("Related Licenses"),title_size:"small"},null,8,["title"]),s(q,{licenses:n.subscription.licenses,columns:[]},null,8,["licenses"])]),_:1})):_("",!0),n.subscription.activities&&n.subscription.activities.length?(u(),b(x,{key:2,class:"overflow-hidden mb-0"},{default:o(()=>[s(V,{title:e.$t("Activity"),title_size:"small",border_bottom:""},null,8,["title"]),s(z,null,{default:o(()=>[s(W,{activities:n.subscription.activities},null,8,["activities"])]),_:1})]),_:1})):_("",!0)]),d("div",Ds,[d("div",Ls,[n.parentOrderLoading?(u(),b(x,{key:0},{default:o(()=>[s(V,{title:e.$t("Subscription Plan"),title_size:"small",border_bottom:""},null,8,["title"]),s(z,null,{default:o(()=>[s(G,{rows:3,animated:!0})]),_:1})]),_:1})):_("",!0)]),d("div",Ms,[n.subscription.customer?(u(),b(Q,{key:0,subscription:n.subscription,shouldEnableEditing:!0},null,8,["subscription"])):_("",!0),s(E,{"bind-to-id":n.subscription.id,"bind-to-type":"Subscription",selectedLabels:n.selectedLabels,shouldEnableEditing:!0,"onUpdate:updateLabel":()=>{}},null,8,["bind-to-id","selectedLabels"])])])])])])):_("",!0)])):_("",!0)],64)}const As=X(ks,[["render",xs]]);window.fluent_cart_admin.hooks.addFilter("fluent_cart_routes","fluent_all_subscriptions",function(e){return e.subscription_route={name:"subscriptions",path:"/subscriptions",component:et,children:[{name:"all_subscriptions",path:"",component:Ct,meta:{active_menu:"subscriptions",title:t("Subscriptions")}},{name:"view_subscription",path:":subscription_id/view",component:As,props:!0,meta:{active_menu:"subscriptions",title:t("View Subscription")}}]},e}); |
|
1
|
+import{r as c,e as S,o as u,a as i,c as b,w as o,u as f,b as _,d,F as N,g as J,k as he,h as ae,i as ge,j as ye,f as h,t as m,Z as T,U as ve,E as we,n as Se,I as Ce}from"./chunks/vue.esm-bundler.js?ver=1.6.5";import{T as ke,_ as $e,B as Ie}from"./chunks/Badge.js?ver=1.6.5";import{P as Ve}from"./chunks/Empty.js?ver=1.6.5";import{t as s}from"./chunks/Translator.js?ver=1.6.5";import{d as Re,S as Te,_ as ce,b as Be,c as Fe,a as Pe,A as Ee}from"./chunks/Activity.js?ver=1.6.5";import{_ as K}from"./chunks/_plugin-vue_export-helper.js?ver=1.6.5";import{a as De,ad as Le,cq as Me,cm as xe,p as re,q as de,cr as Ae,cs as Ne,d as A,r as Oe,E as V,b as Ue}from"./chunks/index.js?ver=1.6.5";import{_ as ee}from"./chunks/DynamicIcon.js?ver=1.6.5";import{u as ze,_ as He,b as ue,f as Ye,L as je,e as qe,g as We}from"./chunks/OrderCustomerInformation.js?ver=1.6.5";import{_ as Ge,p as Qe}from"./chunks/UserCan.js?ver=1.6.5";import{C as B,a as F,b as P}from"./chunks/CardBody.js?ver=1.6.5";import{S as X}from"./chunks/Str.js?ver=1.6.5";import{d as Ze}from"./chunks/dayjs.min.js?ver=1.6.5";import"./chunks/Utils.js?ver=1.6.5";import{n as j}from"./chunks/Notify.js?ver=1.6.5";import{f as Je,r as Xe}from"./chunks/CurrencyFormatter.js?ver=1.6.5";import{_ as Ke}from"./chunks/NotFound.js?ver=1.6.5";import{A as Z}from"./chunks/Arr.js?ver=1.6.5";import{g as et}from"./chunks/common.js?ver=1.6.5";import"./chunks/Model.js?ver=1.6.5";import"./chunks/Rest.js?ver=1.6.5";import"./chunks/vue-router.js?ver=1.6.5";import"./chunks/Url.js?ver=1.6.5";import"./chunks/timezone.js?ver=1.6.5";import"./chunks/index3.js?ver=1.6.5";import"./chunks/IconButton.js?ver=1.6.5";import"./chunks/TransitionAccordion.js?ver=1.6.5";import"./chunks/BundleProducts.js?ver=1.6.5";import"./chunks/preload-helper.js?ver=1.6.5";import"./chunks/Animation.js?ver=1.6.5";import"./chunks/Asset.js?ver=1.6.5";import"./chunks/AddressComponent2.js?ver=1.6.5";import"./chunks/productService.js?ver=1.6.5";import"./chunks/weekOfYear.js?ver=1.6.5";const tt={class:"fct-subscriptions-route-wrap"},st=Object.assign({name:"SubscriptionsRoute"},{__name:"SubscriptionsRoute",setup(e){return(t,l)=>{const r=c("router-view");return u(),S("div",tt,[i(r)])}}});class it extends ke{getTabs(){return{all:s("All"),active:s("Active"),trialing:s("Trialing"),pending:s("Pending"),intended:s("Intended"),expired:s("Expired"),canceled:s("Canceled")}}getToggleableColumns(){return[{label:s("Order ID"),value:"order_id"},{label:s("Next Billing Date"),value:"next_billing_date"},{label:s("Collection Method"),value:"collection_method"},{label:s("Bills Count"),value:"bills_count"},{label:s("Customer"),value:"customer"},{label:s("Payment Method"),value:"payment_method"}]}getSearchHint(){return s("by id, order id, status, payment method, customer name, or product.")}getFetchUrl(){return"subscriptions"}parseResponse(t){return t.data}getTableName(){return"subscriptions"}with(){return["admin_subscription_list"]}}function nt(e){return it.init(e)}const ot={class:"table-cell"},lt={class:"table-cell"},at={class:"table-cell"},rt={class:"table-cell"},dt={class:"table-cell"},ct={class:"table-cell"},ut={class:"table-cell"},mt={class:"table-cell"},pt={class:"table-cell"},_t={class:"table-cell"},bt={class:"table-cell"},ft={__name:"SubscriptionsLoader",props:{nextPageCount:{type:Number,default:0},subscriptionTable:{type:Object,default:()=>({})}},setup(e){const t=e,l=Array.from({length:t.nextPageCount},(r,n)=>n+1);return(r,n)=>{const a=c("el-table-column"),p=c("el-skeleton-item"),w=c("el-table"),C=c("el-skeleton");return u(),b(C,{animated:""},{template:o(()=>[i(w,{data:f(l),class:"w-full compact-table responsive"},{empty:o(()=>n[0]||(n[0]=[])),default:o(()=>[_("",!0),i(a,{label:r.$t("ID"),width:"100"},{default:o(()=>[d("div",ot,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),i(a,{label:r.$t("Customer"),width:"150"},{default:o(()=>[d("div",lt,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),i(a,{label:r.$t("Product"),width:"360","show-overflow-tooltip":""},{default:o(()=>[d("div",at,[i(p,{variant:"p",class:"w-3/5"})])]),_:1},8,["label"]),i(a,{label:r.$t("Status"),width:"120"},{default:o(()=>[d("div",rt,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),i(a,{label:r.$t("Billing"),width:"230"},{default:o(()=>[d("div",dt,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),i(a,{label:r.$t("Created At"),width:"130"},{default:o(()=>[d("div",ct,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"]),e.subscriptionTable.data.columns.indexOf("next_billing_date")!==-1?(u(),b(a,{key:1,label:r.$t("Next Billing Date"),width:"160"},{default:o(()=>[d("div",ut,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("collection_method")!==-1?(u(),b(a,{key:2,label:r.$t("Collection Method"),width:"160"},{default:o(()=>[d("div",mt,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("bills_count")!==-1?(u(),b(a,{key:3,label:r.$t("Bills Count"),width:"100"},{default:o(()=>[d("div",pt,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("payment_method")!==-1?(u(),b(a,{key:4,label:r.$t("Payment Method"),width:"150"},{default:o(()=>[d("div",_t,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0),e.subscriptionTable.data.columns.indexOf("order_id")!==-1?(u(),b(a,{key:5,label:r.$t("Order ID"),width:"100"},{default:o(()=>[d("div",bt,[i(p,{variant:"p",class:"w-4/5"})])]),_:1},8,["label"])):_("",!0)]),_:1},8,["data"])]),_:1})}}},ht={},gt={class:"px-4 py-3"},yt={class:"grid grid-cols-3 gap-5 mt-5"};function vt(e,t){const l=c("el-skeleton-item"),r=c("el-skeleton");return u(),b(r,{animated:""},{template:o(()=>[d("div",gt,[(u(),S(N,null,J(2,n=>d("div",{key:n,class:"flex items-center justify-between mb-3"},[i(l,{varient:"p",class:"w-1/2"}),i(l,{varient:"p",class:"w-[100px]"})])),64)),d("div",yt,[(u(),S(N,null,J(3,n=>d("div",{key:n},[i(l,{varient:"p",class:"w-1/2"}),i(l,{varient:"p",class:"w-[100px]"})])),64))])])]),_:1})}const wt=K(ht,[["render",vt]]),St={class:"fct-all-subscriptions-page fct-layout-width"},Ct={class:"fct-all-subscriptions-wrap"},kt={key:1},$t={__name:"AllSubscriptions",setup(e){const t=nt({instance:he()}),l=ae(!1),r=ae(!1),n=(C=!0)=>{const y=t.buildQueryParams();return C||(delete y.active_view,delete y.filter_type,delete y.search,delete y.advanced_filters),y},a=ze({entity:"subscriptions",buildParams:()=>n(),buildAllParams:()=>n(!1),filenamePrefix:"subscriptions-export"}),p=({scope:C,columns:y,modules:v,format:k})=>{const R=C==="current_page"?t.getTableData().map(I=>I.id).filter(Boolean):[];a.startExport({scope:C,ids:R,columns:y,modules:v,format:k})},w=()=>{l.value=window.innerWidth<768};return ge(()=>{w(),window.addEventListener("resize",w)}),ye(()=>{window.removeEventListener("resize",w)}),(C,y)=>{const v=c("el-icon"),k=c("el-button"),R=c("el-dropdown-item"),I=c("el-dropdown-menu"),L=c("el-dropdown");return u(),S("div",St,[i(Ve,{title:C.$t("Subscriptions")},{action:o(()=>[i(Ge,{permission:"subscriptions/export"},{default:o(()=>[i(L,{trigger:"click","popper-class":"fct-dropdown",placement:"bottom-end"},{dropdown:o(()=>[i(I,null,{default:o(()=>[i(R,{onClick:y[0]||(y[0]=M=>r.value=!0)},{default:o(()=>[i(ee,{name:"Download"}),h(" "+m(f(s)("Export Subscriptions")),1)]),_:1})]),_:1})]),default:o(()=>[i(k,null,{default:o(()=>[h(m(f(s)("More actions"))+" ",1),i(v,null,{default:o(()=>[i(f(De))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["title"]),d("div",Ct,[i($e,{table:f(t),classicTabStyle:!0,"has-mobile-slot":!0},{mobile:o(()=>[f(t).isLoading()?(u(),b(wt,{key:0})):_("",!0),f(t).isLoading()?_("",!0):(u(),b(Te,{key:1,subscriptions:f(t).getTableData(),columns:f(t).data.columns},null,8,["subscriptions","columns"]))]),default:o(()=>[f(t).isLoading()?(u(),b(ft,{key:0,subscriptionTable:f(t),"next-page-count":f(t).nextPageCount},null,8,["subscriptionTable","next-page-count"])):(u(),S("div",kt,[i(Re,{subscriptions:f(t).getTableData(),columns:f(t).data.columns},null,8,["subscriptions","columns"])]))]),_:1},8,["table"])]),i(He,{modelValue:r.value,"onUpdate:modelValue":y[1]||(y[1]=M=>r.value=M),title:f(s)("Export Subscriptions"),"current-page-count":f(t).getTableData().length,"total-count":f(t).data.paginate.total,"item-label-singular":f(s)("subscription"),"item-label-plural":f(s)("subscriptions"),"has-active-filter":!!f(t).isFiltering(),"export-state":f(a),onExport:p},null,8,["modelValue","title","current-page-count","total-count","item-label-singular","item-label-plural","has-active-filter","export-state"])])}}},It={class:"dialog-footer"},Vt={name:"CancelSubscription",props:["subscription","orderId","modelValue"],data(){return{cancelReason:"customer_request",cancelling:!1,otherReason:""}},computed:{updatedModelValue:{get(){return this.modelValue},set(e){this.modelValue=e}},otherReasonError(){return this.cancelReason==="other"&&this.otherReason.trim()===""?s("Please enter a reason"):""}},methods:{cancelSubscription(){if(this.cancelling=!0,this.cancelReason==="other"){if(this.otherReason.trim()===""){this.$notify.error(s("Please enter a reason")),this.cancelling=!1;return}this.cancelReason=this.otherReason}this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/cancel`,{cancel_reason:this.cancelReason}).then(e=>{this.cancelling=!0,this.$notify({type:"success",title:s("Success"),message:s("Subscription canceled successfully")}),this.$emit("reload")}).catch(e=>{var t;this.cancelling=!0,e.status_code=="422"?j.validationErrors(e):j.error((t=e.data)==null?void 0:t.message)}).finally(()=>{this.cancelling=!1,this.cancelSubscriptionModal=!1})}}},Rt=Object.assign(Vt,{setup(e){return(t,l)=>{const r=c("el-option"),n=c("el-select"),a=c("el-form-item"),p=c("el-input"),w=c("el-form"),C=c("el-button"),y=c("el-dialog");return u(),b(y,{"model-value":t.updatedModelValue,loading:t.cancelling,title:f(s)("Cancel Subscription"),width:"500"},{footer:o(()=>[d("div",It,[i(C,{onClick:l[2]||(l[2]=v=>t.$emit("close"))},{default:o(()=>[h(m(f(s)("Cancel")),1)]),_:1}),i(C,{loading:t.cancelling,type:"warning",onClick:t.cancelSubscription},{default:o(()=>[h(m(f(s)("Cancel Subscription")),1)]),_:1},8,["loading","onClick"])])]),default:o(()=>[i(w,{"label-position":"top"},{default:o(()=>[d("div",null,m(f(s)("Are you sure to cancel the subscription?")),1),l[3]||(l[3]=d("br",null,null,-1)),i(a,{label:f(s)("Cancellation reason"),required:""},{default:o(()=>[i(n,{modelValue:t.cancelReason,"onUpdate:modelValue":l[0]||(l[0]=v=>t.cancelReason=v)},{default:o(()=>[i(r,{label:f(s)("Refunded"),value:"refunded"},null,8,["label"]),i(r,{label:f(s)("Customer request"),value:"customer_request"},null,8,["label"]),i(r,{label:f(s)("Completed (EOT)"),value:"completed"},null,8,["label"]),i(r,{label:f(s)("Fraudulent"),value:"fraudulent"},null,8,["label"]),i(r,{label:f(s)("Other"),value:"other"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),t.cancelReason==="other"?(u(),b(a,{key:0,label:f(s)("Other Reason"),required:"",error:t.otherReasonError},{default:o(()=>[i(p,{modelValue:t.otherReason,"onUpdate:modelValue":l[1]||(l[1]=v=>t.otherReason=v)},null,8,["modelValue"])]),_:1},8,["label","error"])):_("",!0)]),_:1,__:[3]})]),_:1},8,["model-value","loading","title"])}}}),Tt={name:"SubscriptionDetails",components:{CancelSubscription:Rt,ConvertedTime:ce,CopyToClipboard:ue,CardContainer:P,CardBody:F,CardHeader:B,DynamicIcon:ee,Refresh:Oe,Delete:A,VideoPause:Ne,VideoPlay:Ae,Edit:de,Promotion:re,Document:xe,CreditCard:Me,CircleClose:Le},props:["subscription","orderId","reminderPermissions"],emits:["reload","fetchOrder"],data(){return{loadingState:{fetch:!1,pause:!1,resume:!1,cancel:!1,edit:!1,save:!1,sendReminder:!1,createRenewal:!1,skipRenewal:!1,chargeNow:!1,verifyVendorIds:!1,saveVendorIds:!1},cancelSubscriptionModal:!1,editSubscriptionModal:!1,editForm:{recurring_total:0,bill_times:0,billing_interval:"monthly",status:"active",next_billing_date:""},vendorIdsModal:!1,vendorIdsForm:{vendor_subscription_id:"",vendor_customer_id:""},vendorIdsVerification:null}},computed:{Str(){return X},billTimesMin(){return 0},isStoreBilled(){var e;return["manual","system"].includes((e=this.subscription)==null?void 0:e.collection_method)},hasPendingRenewal(){var e,t;return this.isStoreBilled&&!!((t=(e=this.subscription)==null?void 0:e.permissions)!=null&&t.hasPendingRenewal)},isSystemSubscription(){var e;return((e=this.subscription)==null?void 0:e.collection_method)==="system"},skipBadgeTooltip(){var l;const e=(l=this.subscription)==null?void 0:l.last_skipped_period;if(!e)return s("An admin skipped the next billing period.");const t=e.actor_name||s("an admin");return e.reason?s("Skipped by %1$s. Billing resumes on the date shown. Reason: %2$s",t,e.reason):s("Skipped by %1$s. Billing resumes on the date shown.",t)},createRenewalLabel(){return this.isSystemSubscription?s("Charge Next Renewal Now"):s("Create Renewal Now")},createRenewalIcon(){return this.isSystemSubscription?"CreditCard":"Document"},billingTypeBadge(){var t;const e=(t=this.subscription)==null?void 0:t.collection_method;return e==="manual"?{label:s("Manual"),type:"warning",description:s("Customer must pay each renewal manually — no auto-charge.")}:e==="system"?{label:s("System"),type:"success",class:"fct-billing-badge--system",description:s("Auto-charged by the store on schedule, using the saved payment method.")}:{label:s("Automatic"),type:"success",description:s("Billed and managed entirely by the payment gateway.")}},chargeStateAlert(){var n;const e=(n=this.subscription)==null?void 0:n.system_charge_state;if(!e)return null;if(e.status==="processing")return{type:"info",title:s("Automatic charge processing"),description:s("The renewal charge was submitted and is awaiting confirmation from the payment provider.")};if(!e.last_error)return null;const t=e.attempts,l=e.max_attempts||e.attempts;let r;return e.next_retry_at?r=s("Attempt %1$s of %2$s failed: %3$s — next automatic retry: %4$s (GMT).",t,l,e.last_error,e.next_retry_at):e.exhausted==="yes"?r=s("Attempt %1$s of %2$s failed: %3$s — no further automatic retries, the customer must pay manually.",t,l,e.last_error):r=s("Attempt %1$s of %2$s failed: %3$s",t,l,e.last_error),{type:"warning",title:s("Automatic charge failed"),description:r}},vendorIdsChanged(){return this.vendorIdsForm.vendor_subscription_id!==(this.subscription.vendor_subscription_id||"")||this.vendorIdsForm.vendor_customer_id!==(this.subscription.vendor_customer_id||"")},permissions(){var r;const e=((r=this.subscription)==null?void 0:r.permissions)||{},t=Qe.resolve({permission:"subscriptions/manage"}),l=this.reminderPermissions||{};return{canFetch:t&&!!e.canFetch,canEdit:t&&!!e.canEdit,canEditVendorIds:t&&!!e.canEditVendorIds,canVerifyVendorIds:t&&!!e.canVerifyVendorIds,canPause:t&&!!e.canPause,canResume:t&&!!e.canResume,canAdminReactivate:t&&!!e.canAdminReactivate,canCancel:t&&!!e.canCancel,canCreateRenewal:t&&!!e.canCreateRenewal,canSkipRenewal:t&&!!e.canSkipRenewal,canChargeNow:t&&!!e.canChargeNow,canSendReminder:!!(l.canSendRenewal||l.canSendTrialEnd)}},reminderLabel(){return(this.reminderPermissions||{}).canSendTrialEnd?s("Send Trial End Reminder"):s("Send Renewal Reminder")},reminderEvent(){return(this.reminderPermissions||{}).canSendTrialEnd?"subscription_trial_end_reminder":"subscription_renewal_reminder"},paymentMethod(){var t,l;const e=((t=this.subscription)==null?void 0:t.current_payment_method)||"";return((l=this.subscription)==null?void 0:l.payment_method_title)||(e?X.headline(e.replace(/_/g,"-")):"")},showNextBillingDate(){var t;const e=(((t=this.subscription)==null?void 0:t.status)||"").toLowerCase();return e==="active"||e==="trialing"}},watch:{vendorIdsForm:{deep:!0,handler(){this.vendorIdsVerification=null}}},methods:{handleSubscriptionAction(e){e==="fetch_subscription"?this.confirmFetch():e==="edit_subscription"?this.confirmEdit():e==="edit_vendor_ids"?this.confirmEditVendorIds():e==="pause_subscription"?this.confirmPause():e==="resume_subscription"?this.confirmResume():e==="reactivate_subscription"?this.confirmReactivate():e==="cancel_subscription"?this.confirmCancel():e==="send_reminder"?this.confirmSendReminder():e==="create_renewal"?this.confirmCreateRenewal():e==="skip_renewal"?this.confirmSkipRenewal():e==="charge_now"&&this.confirmChargeNow()},confirmFetch(){var e;!this.subscription.vendor_subscription_id&&((e=this.order)==null?void 0:e.payment_method)!=="offline_payment"||V.confirm(s("Fetch from remote and update the subscription?"),s("Warning"),{type:"warning",icon:T(A),cancelButtonText:s("Back"),confirmButtonText:s("Fetch subscription!"),beforeClose:async(t,l,r)=>{var n,a;if(t==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.fetch=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/fetch`,{data:{vendor_charge_id:this.subscription.vendor_subscription_id}}),this.$notify({type:"success",title:s("Success"),message:s("Subscription fetched successfully")}),this.$emit("reload")}catch(p){this.$notify({type:"error",title:s("Error"),message:s(((a=(n=p.response)==null?void 0:n.data)==null?void 0:a.message)||"Failed to fetch subscription")})}finally{l.confirmButtonLoading=!1,this.loadingState.fetch=!1,r()}else r()}})},async confirmPause(){var e,t;if(this.isStoreBilled){this.loadingState.pause=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/pause`,{data:{reason:"Paused by admin"}}),this.$notify({type:"success",title:s("Success"),message:s("Subscription paused successfully")}),this.$emit("reload")}catch(l){this.$notify({type:"error",title:s("Error"),message:s(((t=(e=l.response)==null?void 0:e.data)==null?void 0:t.message)||"Failed to pause subscription")})}finally{this.loadingState.pause=!1}return}this.subscription.vendor_subscription_id&&V.prompt(s("Pause the active subscription?"),s("Warning"),{type:"warning",icon:T(A),inputPlaceholder:s("Enter reason for pausing"),inputPattern:/.+/,inputErrorMessage:s("Reason is required"),cancelButtonText:s("Back"),confirmButtonText:s("Pause Subscription!"),beforeClose:async(l,r,n)=>{var a,p;if(l==="confirm")try{r.confirmButtonLoading=!0,this.loadingState.pause=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/pause`,{data:{vendor_subscription_id:this.subscription.vendor_subscription_id,reason:r.inputValue}}),this.$notify({type:"success",title:s("Success"),message:s("Subscription paused successfully")}),this.$emit("reload")}catch(w){this.$notify({type:"error",title:s("Error"),message:s(((p=(a=w.response)==null?void 0:a.data)==null?void 0:p.message)||"Failed to pause subscription")})}finally{r.confirmButtonLoading=!1,this.loadingState.pause=!1,n()}else n()}})},async confirmResume(){var e,t;if(this.isStoreBilled){this.loadingState.resume=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/resume`,{data:{reason:"Resumed by admin"}}),this.$notify({type:"success",title:s("Success"),message:s("Subscription resumed successfully")}),this.$emit("reload")}catch(l){this.$notify({type:"error",title:s("Error"),message:s(((t=(e=l.response)==null?void 0:e.data)==null?void 0:t.message)||"Failed to resume subscription")})}finally{this.loadingState.resume=!1}return}this.subscription.vendor_subscription_id&&V.prompt(s("Resume the paused subscription?"),s("Warning"),{type:"warning",icon:T(A),inputPlaceholder:s("Enter reason for resuming"),inputPattern:/.+/,inputErrorMessage:s("Reason is required"),cancelButtonText:s("Back"),confirmButtonText:s("Resume Subscription!"),beforeClose:async(l,r,n)=>{var a,p;if(l==="confirm")try{r.confirmButtonLoading=!0,this.loadingState.resume=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/resume`,{data:{vendor_subscription_id:this.subscription.vendor_subscription_id,reason:r.inputValue}}),this.$notify({type:"success",title:s("Success"),message:s("Subscription resumed successfully")}),this.$emit("reload")}catch(w){this.$notify({type:"error",title:s("Error"),message:s(((p=(a=w.response)==null?void 0:a.data)==null?void 0:p.message)||"Failed to resume subscription")})}finally{r.confirmButtonLoading=!1,this.loadingState.resume=!1,n()}else n()}})},confirmEdit(){this.editForm={recurring_total:this.subscription.recurring_total/100,bill_times:this.subscription.bill_times,billing_interval:this.subscription.billing_interval||"monthly",status:this.subscription.status,next_billing_date:this.subscription.next_billing_date},this.editSubscriptionModal=!0},async confirmSaveSubscription(){var l,r,n;try{await V.confirm(s("Are you sure you want to update this subscription? This will affect all future renewals."),s("Confirm Update"),{type:"warning",icon:T(A),cancelButtonText:s("Cancel"),confirmButtonText:s("Yes, Update")})}catch{return}const e=((l=this.subscription)==null?void 0:l.bill_count)||0,t=this.editForm.bill_times;if(t>0&&t<e){this.$notify({type:"error",title:s("Validation Error"),message:s("Bill times cannot be less than the number of payments already made (%1$s).",e)});return}this.loadingState.save=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/update`,{data:this.editForm}),this.$notify({type:"success",title:s("Success"),message:s("Subscription updated successfully")}),this.editSubscriptionModal=!1,this.$emit("reload")}catch(a){this.$notify({type:"error",title:s("Error"),message:s(((n=(r=a.response)==null?void 0:r.data)==null?void 0:n.message)||"Failed to update subscription")})}finally{this.loadingState.save=!1}},confirmEditVendorIds(){this.vendorIdsForm={vendor_subscription_id:this.subscription.vendor_subscription_id||"",vendor_customer_id:this.subscription.vendor_customer_id||""},this.vendorIdsVerification=null,this.vendorIdsModal=!0},invalidVendorId(e){return!!e&&!/^[a-zA-Z0-9_.-]+$/.test(e)},async verifyVendorIds(){var e;if(!this.loadingState.verifyVendorIds){this.vendorIdsVerification=null,this.loadingState.verifyVendorIds=!0;try{const t=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/verify-vendor-ids`,{data:this.vendorIdsForm}),l=(t==null?void 0:t.verification)||{},r=[l.status,l.amount?`${l.amount} ${l.currency||""}`.trim():"",l.customer_id?`${s("customer")}: ${l.customer_id}`:""].filter(Boolean);this.vendorIdsVerification={ok:!0,summary:r.join(" · ")}}catch(t){this.vendorIdsVerification={ok:!1,message:((e=t==null?void 0:t.data)==null?void 0:e.message)||s("Could not verify this ID at the payment gateway.")}}finally{this.loadingState.verifyVendorIds=!1}}},async confirmSaveVendorIds(){var e;if(this.invalidVendorId(this.vendorIdsForm.vendor_subscription_id)||this.invalidVendorId(this.vendorIdsForm.vendor_customer_id)){this.$notify({type:"error",title:s("Validation Error"),message:s("Vendor IDs may only contain letters, numbers, dots, dashes and underscores.")});return}try{await V.confirm(s("Are you sure you want to change the vendor IDs? Future renewals and gateway webhooks will use the new IDs."),s("Confirm Update"),{type:"warning",icon:T(de),cancelButtonText:s("Cancel"),confirmButtonText:s("Yes, Update")})}catch{return}this.loadingState.saveVendorIds=!0;try{await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/vendor-ids`,{data:this.vendorIdsForm}),this.$notify({type:"success",title:s("Success"),message:s("Vendor IDs updated successfully")}),this.vendorIdsModal=!1,this.$emit("reload")}catch(t){this.$notify({type:"error",title:s("Error"),message:((e=t==null?void 0:t.data)==null?void 0:e.message)||s("Failed to update vendor IDs")})}finally{this.loadingState.saveVendorIds=!1}},confirmCancel(){this.cancelSubscriptionModal=!0},confirmSendReminder(){const e=this.reminderLabel;V.confirm(s("Are you sure you want to send this reminder email now?"),e,{type:"info",icon:T(re),cancelButtonText:s("Cancel"),confirmButtonText:s("Send Now"),beforeClose:async(t,l,r)=>{var n;if(t==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.sendReminder=!0;const a=await this.$post("email-notification/send-manual-reminder",{event:this.reminderEvent,entity_id:this.subscription.id});this.$notify({type:"success",title:s("Success"),message:a.message||s("Reminder sent successfully")})}catch(a){this.$notify({type:"error",title:s("Error"),message:((n=a.data)==null?void 0:n.message)||s("Failed to send reminder")})}finally{l.confirmButtonLoading=!1,this.loadingState.sendReminder=!1,r()}else r()}})},async confirmCreateRenewal(){const e=this.isSystemSubscription;try{await V.confirm(e?s("Create the next renewal and charge it now? One attempt runs immediately; a decline falls back to automatic retries."):s("Create a renewal now for the upcoming billing period?"),e?s("Charge Next Renewal Now"):s("Create Renewal Now"),{type:e?"warning":"info",cancelButtonText:s("Cancel"),confirmButtonText:e?s("Create & Charge"):s("Create Renewal"),beforeClose:async(t,l,r)=>{var n,a;if(t==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.createRenewal=!0;const p=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/create-renewal`),w=p==null?void 0:p.status;this.$notify({type:w==="failed"?"warning":"success",title:w==="failed"?s("Charge Failed"):s("Success"),message:s((p==null?void 0:p.message)||(e?"Charge attempt completed":"Renewal created successfully"))}),this.$emit("reload")}catch(p){this.$notify({type:"error",title:s("Error"),message:s(((a=(n=p.response)==null?void 0:n.data)==null?void 0:a.message)||(e?"Failed to charge the renewal":"Failed to create renewal"))})}finally{l.confirmButtonLoading=!1,this.loadingState.createRenewal=!1,r()}else r()}})}catch{}},async confirmChargeNow(){var l,r;const e=((r=(l=this.subscription)==null?void 0:l.billingInfo)==null?void 0:r.details)||{},t=e.brand&&e.last_4?s("%1$s ****%2$s",e.brand,e.last_4):s("the saved payment method");try{await V.confirm(s("Charge the open renewal order to %1$s now? One attempt will run immediately.",t),s("Charge Now"),{type:"warning",cancelButtonText:s("Cancel"),confirmButtonText:s("Charge Now"),beforeClose:async(n,a,p)=>{var w,C;if(n==="confirm")try{a.confirmButtonLoading=!0,this.loadingState.chargeNow=!0;const y=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/charge-now`),v=y==null?void 0:y.status;this.$notify({type:v==="failed"?"warning":"success",title:v==="failed"?s("Charge Failed"):s("Success"),message:s((y==null?void 0:y.message)||"Charge attempt completed")}),this.$emit("reload")}catch(y){this.$notify({type:"error",title:s("Error"),message:s(((C=(w=y.response)==null?void 0:w.data)==null?void 0:C.message)||"Failed to run the charge attempt")})}finally{a.confirmButtonLoading=!1,this.loadingState.chargeNow=!1,p()}else p()}})}catch{}},async confirmSkipRenewal(){const e=(()=>{const t=this.subscription;if(!(t!=null&&t.next_billing_date))return"";const l={daily:1,weekly:7,monthly:30,quarterly:90,half_yearly:182,yearly:365}[t.billing_interval]||30,r=new Date(String(t.next_billing_date).replace(" ","T"));if(isNaN(r.getTime()))return"";r.setDate(r.getDate()+l);const n=new Date;for(;r<=n;)r.setDate(r.getDate()+l);return Ze(r).locale(Je()).format(Xe("date"))})();try{await V.prompt(e?s("Skip the next billing period? The following renewal order will be created around %1$s.",e):s("Skip the next billing period? The next_billing_date will advance one interval into the future."),s("Skip Next Period"),{type:"warning",cancelButtonText:s("Cancel"),confirmButtonText:s("Skip Next Period"),inputType:"textarea",inputPlaceholder:s("Reason (optional) — shown in the timeline and audit trail"),inputValidator:()=>!0,beforeClose:async(t,l,r)=>{var n,a;if(t==="confirm")try{l.confirmButtonLoading=!0,this.loadingState.skipRenewal=!0;const p=await this.$post(`orders/${this.orderId}/subscriptions/${this.subscription.id}/skip-renewal`,{reason:(l.inputValue||"").trim()});this.$notify({type:"success",title:s("Success"),message:p.message||s("Billing period skipped successfully")}),this.$emit("reload")}catch(p){this.$notify({type:"error",title:s("Error"),message:s(((a=(n=p.response)==null?void 0:n.data)==null?void 0:a.message)||"Failed to skip period")})}finally{l.confirmButtonLoading=!1,this.loadingState.skipRenewal=!1,r()}else r()}})}catch{}},confirmReactivate(){!this.subscription.vendor_subscription_id&&!this.isStoreBilled||V.confirm(s("Reactivate the canceled subscription?"),s("Warning"),{type:"warning",icon:T(A),cancelButtonText:s("Back"),confirmButtonText:s("Reactivate Subscription!"),beforeClose:async(e,t,l)=>{var r,n;if(e==="confirm")try{t.confirmButtonLoading=!0,this.loadingState.reactivate=!0,await this.$put(`orders/${this.orderId}/subscriptions/${this.subscription.id}/reactivate`,{data:{vendor_subscription_id:this.subscription.vendor_subscription_id}}),this.$notify({type:"success",title:s("Success"),message:s("Subscription reactivated successfully")}),this.$emit("reload")}catch(a){this.$notify({type:"error",title:s("Error"),message:s(((n=(r=a.response)==null?void 0:r.data)==null?void 0:n.message)||"Failed to reactivate subscription")})}finally{t.confirmButtonLoading=!1,this.loadingState.reactivate=!1,l()}else l()}})}}},Bt={class:"fct-card-header-title is-small inline-flex items-center gap-2"},Ft={class:"more-btn"},Pt={class:"text-red-600"},Et={class:"fct-single-subscription-pricing-table"},Dt={class:"fct-single-subscription-details"},Lt={class:"fct-single-subscription-details-label"},Mt=["innerHTML"],xt={class:"fct-single-subscription-details-label"},At={class:"fct-single-subscription-details-value"},Nt={key:0},Ot={key:1,class:"flex items-center gap-2.5"},Ut={class:"fct-single-subscription-details-label"},zt={class:"fct-single-subscription-details-value"},Ht={key:0},Yt={class:"fct-single-subscription-details-label"},jt={class:"fct-single-subscription-details-value"},qt={class:"fct-single-subscription-details-label"},Wt={class:"fct-single-subscription-details-value"},Gt={class:"fct-single-subscription-details-label"},Qt={class:"fct-single-subscription-details-value"},Zt={key:1},Jt={class:"fct-single-subscription-details-label"},Xt={class:"fct-single-subscription-details-value"},Kt={key:1,class:"fct-vendor-ids"},es={key:0},ts={class:"fct-vendor-ids__label"},ss={class:"fct-vendor-ids__value"},is=["href"],ns={key:1,class:"fct-vendor-ids__text"},os={key:1},ls={class:"fct-vendor-ids__label"},as={class:"fct-vendor-ids__value"},rs={class:"fct-vendor-ids__text"},ds={class:"text-xs text-gray-500 mt-1"},cs={key:0},us={class:"dialog-footer"},ms={class:"fct-vendor-ids-edit__row"},ps={class:"text-xs mt-1"},_s={class:"dialog-footer"};function bs(e,t,l,r,n,a){const p=c("el-tag"),w=c("el-tooltip"),C=c("DynamicIcon"),y=c("Refresh"),v=c("el-icon"),k=c("el-dropdown-item"),R=c("Edit"),I=c("VideoPause"),L=c("VideoPlay"),M=c("Delete"),x=c("Promotion"),q=c("CircleClose"),W=c("CreditCard"),z=c("el-dropdown-menu"),G=c("el-dropdown"),Q=c("CardHeader"),E=c("el-alert"),O=c("ConvertedTime"),H=c("CopyToClipboard"),me=c("CardBody"),pe=c("CancelSubscription"),te=c("el-input-number"),D=c("el-form-item"),$=c("el-option"),se=c("el-select"),_e=c("el-date-picker"),ie=c("el-form"),U=c("el-button"),ne=c("el-dialog"),oe=c("el-input"),be=c("CardContainer"),fe=ve("loading");return u(),b(be,null,{default:o(()=>[i(Q,{border_bottom:"",title_size:"small"},{title:o(()=>[d("h2",Bt,[h(m(e.$t("Subscription Details"))+" ",1),i(w,{content:a.billingTypeBadge.description,placement:"top-start",effect:"dark"},{default:o(()=>[i(p,{type:a.billingTypeBadge.type,class:Se(a.billingTypeBadge.class),size:"small",effect:"light",round:""},{default:o(()=>[h(m(a.billingTypeBadge.label),1)]),_:1},8,["type","class"])]),_:1},8,["content"])])]),default:o(()=>[a.permissions.canFetch||a.permissions.canEdit||a.permissions.canEditVendorIds||a.permissions.canPause||a.permissions.canResume||a.permissions.canAdminReactivate||a.permissions.canCancel||a.permissions.canSendReminder||a.permissions.canCreateRenewal||a.permissions.canSkipRenewal||a.permissions.canChargeNow?(u(),b(G,{key:0,trigger:"click",class:"fct-more-option-wrap","popper-class":"fct-dropdown",onCommand:t[0]||(t[0]=g=>a.handleSubscriptionAction(g))},{dropdown:o(()=>[i(z,null,{default:o(()=>[a.permissions.canFetch?(u(),b(k,{key:0,command:"fetch_subscription"},{default:o(()=>[i(v,null,{default:o(()=>[i(y)]),_:1}),h(" "+m(e.$t("Sync from gateway -"))+" "+m(a.paymentMethod),1)]),_:1})):_("",!0),a.permissions.canEdit?(u(),b(k,{key:1,command:"edit_subscription"},{default:o(()=>[i(v,null,{default:o(()=>[i(R)]),_:1}),h(" "+m(e.$t("Edit Subscription")),1)]),_:1})):_("",!0),a.permissions.canEditVendorIds?(u(),b(k,{key:2,command:"edit_vendor_ids"},{default:o(()=>[i(v,null,{default:o(()=>[i(R)]),_:1}),h(" "+m(e.$t("Edit Vendor IDs")),1)]),_:1})):_("",!0),a.permissions.canPause?(u(),b(k,{key:3,command:"pause_subscription",disabled:n.loadingState.pause},{default:o(()=>[i(v,null,{default:o(()=>[i(I)]),_:1}),h(" "+m(e.$t("Pause Subscription")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canResume?(u(),b(k,{key:4,command:"resume_subscription",disabled:n.loadingState.resume},{default:o(()=>[i(v,null,{default:o(()=>[i(L)]),_:1}),h(" "+m(e.$t("Resume Subscription")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canAdminReactivate?(u(),b(k,{key:5,command:"reactivate_subscription",disabled:n.loadingState.reactivate},{default:o(()=>[i(v,null,{default:o(()=>[i(L)]),_:1}),h(" "+m(e.$t("Reactivate Subscription")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canCancel?(u(),b(k,{key:6,command:"cancel_subscription"},{default:o(()=>[i(v,null,{default:o(()=>[i(M)]),_:1}),d("span",Pt,m(e.$t("Cancel Subscription")),1)]),_:1})):_("",!0),a.permissions.canSendReminder?(u(),b(k,{key:7,command:"send_reminder",disabled:n.loadingState.sendReminder},{default:o(()=>[i(v,null,{default:o(()=>[i(x)]),_:1}),h(" "+m(a.reminderLabel),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canCreateRenewal?(u(),b(k,{key:8,command:"create_renewal",disabled:n.loadingState.createRenewal},{default:o(()=>[i(v,null,{default:o(()=>[(u(),b(we(a.createRenewalIcon)))]),_:1}),h(" "+m(a.createRenewalLabel),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canSkipRenewal?(u(),b(k,{key:9,command:"skip_renewal",disabled:n.loadingState.skipRenewal},{default:o(()=>[i(v,null,{default:o(()=>[i(q)]),_:1}),h(" "+m(e.$t("Skip Next Period")),1)]),_:1},8,["disabled"])):_("",!0),a.permissions.canChargeNow?(u(),b(k,{key:10,command:"charge_now",disabled:n.loadingState.chargeNow},{default:o(()=>[i(v,null,{default:o(()=>[i(W)]),_:1}),h(" "+m(e.$t("Charge Now")),1)]),_:1},8,["disabled"])):_("",!0)]),_:1})]),default:o(()=>[d("span",Ft,[i(C,{name:"More"})])]),_:1})):_("",!0)]),_:1}),i(me,null,{default:o(()=>{var g,Y,le;return[a.chargeStateAlert?(u(),b(E,{key:0,type:a.chargeStateAlert.type,title:a.chargeStateAlert.title,description:a.chargeStateAlert.description,closable:!1,"show-icon":"",class:"mb-4"},null,8,["type","title","description"])):_("",!0),d("div",Et,[d("p",null,m(e.$t("Product Name")),1),d("h3",null,m(l.subscription.display_item_name),1)]),d("ul",Dt,[d("li",null,[d("div",Lt,m(e.$t("Billing Cycle")),1),d("div",{class:"fct-single-subscription-details-value",innerHTML:l.subscription.payment_info},null,8,Mt)]),d("li",null,[d("div",xt,m(e.$t("Active Payment Gateway")),1),d("div",At,[l.subscription.current_payment_method?(u(),S("div",Ot,[d("span",null,m(a.paymentMethod),1)])):(u(),S("span",Nt,"----"))])]),d("li",null,[d("div",Ut,m(e.$t("Initial Purchase ID")),1),d("div",zt," #"+m(l.subscription.parent_order_id),1)]),l.subscription.bill_times>0?(u(),S("li",Ht,[d("div",Yt,m(e.$t("Installment Progress")),1),d("div",jt,m(l.subscription.bill_count)+" / "+m(l.subscription.bill_times),1)])):_("",!0),d("li",null,[d("div",qt,m(e.$t("Auto-cancellation")),1),d("div",Wt,m(l.subscription.expire_at?l.subscription.expire_at:"---"),1)]),d("li",null,[d("div",Gt,m(e.$t("Started")),1),d("div",Qt,[i(O,{"date-time":l.subscription.created_at,withTime:!1},null,8,["date-time"])])]),a.showNextBillingDate?(u(),S("li",Zt,[d("div",Jt,m(e.$t("Next renewal")),1),d("div",Xt,[h(m(e.formatNumberForOrder(l.subscription.recurring_total,l.subscription))+" on ",1),i(O,{"date-time":l.subscription.next_billing_date,withTime:!1},null,8,["date-time"]),l.subscription.has_pending_skip?(u(),b(w,{key:0,content:a.skipBadgeTooltip,placement:"top",effect:"dark",trigger:["hover","focus"]},{default:o(()=>[i(p,{type:"warning",size:"small",effect:"light",round:"",class:"fct-skip-badge",tabindex:"0",role:"note","aria-label":a.skipBadgeTooltip},{default:o(()=>[h(m(e.$t("Period skipped")),1)]),_:1},8,["aria-label"])]),_:1},8,["content"])):_("",!0)])])):_("",!0)]),l.subscription.vendor_subscription_id||(g=l.subscription)!=null&&g.vendor_customer_id?(u(),S("div",Kt,[l.subscription.vendor_subscription_id?(u(),S("div",es,[d("div",ts,m(e.$t("Vendor Subscription ID")),1),d("div",ss,[l.subscription.url?(u(),S("a",{key:0,href:l.subscription.url,target:"_blank",class:"fct-vendor-ids__link"},m(l.subscription.vendor_subscription_id),9,is)):(u(),S("span",ns,m(l.subscription.vendor_subscription_id),1)),i(H,{text:l.subscription.vendor_subscription_id,showMode:"basic_copy_btn",tooltipText:"Copy"},null,8,["text"])])])):_("",!0),(Y=l.subscription)!=null&&Y.vendor_customer_id?(u(),S("div",os,[d("div",ls,m(e.$t("Vendor Customer ID")),1),d("div",as,[d("span",rs,m(l.subscription.vendor_customer_id),1),i(H,{text:(le=l.subscription)==null?void 0:le.vendor_customer_id,showMode:"basic_copy_btn",tooltipText:"Copy"},null,8,["text"])])])):_("",!0),t[15]||(t[15]=d("div",null,null,-1))])):_("",!0)]}),_:1}),i(pe,{subscription:l.subscription,orderId:l.orderId,onClose:t[1]||(t[1]=g=>n.cancelSubscriptionModal=!1),modelValue:n.cancelSubscriptionModal,"onUpdate:modelValue":t[2]||(t[2]=g=>n.cancelSubscriptionModal=g),onReload:t[3]||(t[3]=g=>e.$emit("reload")),onCancelSubscription:a.confirmCancel},null,8,["subscription","orderId","modelValue","onCancelSubscription"]),i(ne,{modelValue:n.editSubscriptionModal,"onUpdate:modelValue":t[10]||(t[10]=g=>n.editSubscriptionModal=g),title:e.$t("Edit Subscription"),width:"500px","close-on-click-modal":!1},{footer:o(()=>[d("span",us,[i(U,{onClick:t[9]||(t[9]=g=>n.editSubscriptionModal=!1)},{default:o(()=>[h(m(e.$t("Cancel")),1)]),_:1}),i(U,{type:"primary",onClick:a.confirmSaveSubscription,loading:n.loadingState.save},{default:o(()=>[h(m(e.$t("Save Changes")),1)]),_:1},8,["onClick","loading"])])]),default:o(()=>[i(E,{type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[h(m(e.$t("Editing this subscription will update the details for all future renewals.")),1)]),_:1}),a.hasPendingRenewal?(u(),b(E,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[h(m(e.$t("A renewal invoice is already pending; it will be updated to the new amount.")),1)]),_:1})):_("",!0),Ce((u(),b(ie,{model:n.editForm,"label-width":"140px"},{default:o(()=>[i(D,{label:e.$t("Next Renewal Amount")},{default:o(()=>[i(te,{modelValue:n.editForm.recurring_total,"onUpdate:modelValue":t[4]||(t[4]=g=>n.editForm.recurring_total=g),precision:2,min:0,step:.01,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1},8,["label"]),i(D,{label:e.$t("Billing Times")},{default:o(()=>{var g;return[i(te,{modelValue:n.editForm.bill_times,"onUpdate:modelValue":t[5]||(t[5]=Y=>n.editForm.bill_times=Y),min:a.billTimesMin,step:1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue","min"]),d("div",ds,[h(m(e.$t("0 = Unlimited (renew indefinitely)"))+" ",1),((g=l.subscription)==null?void 0:g.bill_count)>0?(u(),S("span",cs," — "+m(e.$t("must be 0 or"))+" ≥ "+m(l.subscription.bill_count)+" ("+m(e.$t("payments made"))+")",1)):_("",!0)])]}),_:1},8,["label"]),i(D,{label:e.$t("Billing Interval")},{default:o(()=>[i(se,{modelValue:n.editForm.billing_interval,"onUpdate:modelValue":t[6]||(t[6]=g=>n.editForm.billing_interval=g),style:{width:"100%"}},{default:o(()=>[i($,{label:e.$t("Daily"),value:"daily"},null,8,["label"]),i($,{label:e.$t("Weekly"),value:"weekly"},null,8,["label"]),i($,{label:e.$t("Monthly"),value:"monthly"},null,8,["label"]),i($,{label:e.$t("Quarterly"),value:"quarterly"},null,8,["label"]),i($,{label:e.$t("Half Yearly"),value:"half_yearly"},null,8,["label"]),i($,{label:e.$t("Yearly"),value:"yearly"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),i(D,{label:e.$t("Status")},{default:o(()=>[i(se,{modelValue:n.editForm.status,"onUpdate:modelValue":t[7]||(t[7]=g=>n.editForm.status=g),style:{width:"100%"}},{default:o(()=>[i($,{label:e.$t("Active"),value:"active"},null,8,["label"]),i($,{label:e.$t("Paused"),value:"paused"},null,8,["label"]),i($,{label:e.$t("Trialing"),value:"trialing"},null,8,["label"]),i($,{label:e.$t("Past Due"),value:"past_due"},null,8,["label"]),i($,{label:e.$t("Expired"),value:"expired"},null,8,["label"]),i($,{label:e.$t("Completed"),value:"completed"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1},8,["label"]),i(D,{label:e.$t("Next Billing Date")},{default:o(()=>[i(_e,{modelValue:n.editForm.next_billing_date,"onUpdate:modelValue":t[8]||(t[8]=g=>n.editForm.next_billing_date=g),type:"datetime",placeholder:e.$t("Select date"),format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])),[[fe,n.loadingState.edit]])]),_:1},8,["modelValue","title"]),i(ne,{modelValue:n.vendorIdsModal,"onUpdate:modelValue":t[14]||(t[14]=g=>n.vendorIdsModal=g),title:e.$t("Edit Vendor IDs"),width:"520px","close-on-click-modal":!1},{footer:o(()=>[d("span",_s,[i(U,{onClick:t[13]||(t[13]=g=>n.vendorIdsModal=!1)},{default:o(()=>[h(m(e.$t("Cancel")),1)]),_:1}),i(U,{type:"primary",onClick:a.confirmSaveVendorIds,loading:n.loadingState.saveVendorIds,disabled:!a.vendorIdsChanged},{default:o(()=>[h(m(e.$t("Save Changes")),1)]),_:1},8,["onClick","loading","disabled"])])]),default:o(()=>[i(E,{type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[h(m(e.$t("Renewals, cancellations and incoming gateway webhooks all follow these IDs. Changing them does not change anything at the payment gateway — use this only to correct IDs that are already wrong.")),1)]),_:1}),i(ie,{model:n.vendorIdsForm,"label-position":"top"},{default:o(()=>[i(D,{label:e.$t("Vendor Subscription ID")},{default:o(()=>[d("div",ms,[i(oe,{modelValue:n.vendorIdsForm.vendor_subscription_id,"onUpdate:modelValue":t[11]||(t[11]=g=>n.vendorIdsForm.vendor_subscription_id=g),placeholder:e.$t("e.g. sub_4L7nezJXHW")},null,8,["modelValue","placeholder"]),a.permissions.canVerifyVendorIds?(u(),b(U,{key:0,onClick:a.verifyVendorIds,loading:n.loadingState.verifyVendorIds},{default:o(()=>[h(m(e.$t("Verify")),1)]),_:1},8,["onClick","loading"])):_("",!0)])]),_:1},8,["label"]),i(D,{label:e.$t("Vendor Customer ID")},{default:o(()=>[i(oe,{modelValue:n.vendorIdsForm.vendor_customer_id,"onUpdate:modelValue":t[12]||(t[12]=g=>n.vendorIdsForm.vendor_customer_id=g),placeholder:e.$t("e.g. cst_9GrdvYmPPn")},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"]),n.vendorIdsVerification?(u(),b(E,{key:0,type:n.vendorIdsVerification.ok?"success":"error",closable:!1,"show-icon":"",class:"mb-4"},{default:o(()=>[n.vendorIdsVerification.ok?(u(),S(N,{key:0},[d("div",null,m(e.$t("Found at gateway"))+" — "+m(n.vendorIdsVerification.summary),1),d("div",ps,m(e.$t("This only proves the ID exists in the connected gateway account. Confirm it is the right customer before saving.")),1)],64)):(u(),S(N,{key:1},[h(m(n.vendorIdsVerification.message),1)],64))]),_:1},8,["type"])):_("",!0)]),_:1},8,["modelValue","title"])]),_:1})}const fs=K(Tt,[["render",bs],["__scopeId","data-v-a723e60e"]]),hs={class:"fct-single-order-loader-wrap fct-layout-width"},gs={class:"single-page-header fct-page-loader-header min-h-18 flex items-start justify-between"},ys={class:"single-page-body"},vs={class:"fct-single-order"},ws={class:"fct-single-order-main"},Ss={class:"fct-single-order-aside"},Cs={class:"fct-admin-sidebar"},ks={props:{loading:{type:Boolean,default:!1}}},$s=Object.assign(ks,{__name:"SingleSubscriptionLoader",setup(e){return(t,l)=>{const r=c("el-skeleton-item"),n=c("el-skeleton");return u(),S("div",hs,[d("div",gs,[i(n,{animated:"",class:"flex flex-col items-start gap-2"},{template:o(()=>[i(r,{class:"max-w-180"}),i(r,{class:"max-w-[100px]"})]),_:1})]),d("div",ys,[d("div",vs,[d("div",ws,[i(P,{class:"overflow-hidden"},{default:o(()=>[i(B,{border_bottom:"",title:t.$t("Subscription Details")},null,8,["title"]),i(F,{class:"grid gap-5 grid-cols-[repeat(auto-fit,minmax(200px,1fr))]"},{default:o(()=>[(u(),S(N,null,J(9,a=>i(n,{key:a,animated:!0},{template:o(()=>[d("div",null,[i(r,{variant:"p",class:"w-full"}),i(r,{variant:"p",style:{width:"50%"}})])]),_:2},1024)),64))]),_:1})]),_:1}),i(P,{class:"overflow-hidden"},{default:o(()=>[i(B,{border_bottom:"",title:t.$t("Related Orders")},null,8,["title"]),i(F,null,{default:o(()=>[i(n,{animated:"",rows:3})]),_:1})]),_:1}),i(P,{class:"overflow-hidden"},{default:o(()=>[i(B,{border_bottom:"",title:t.$t("Related Licenses")},null,8,["title"]),i(F,null,{default:o(()=>[i(n,{animated:"",rows:3})]),_:1})]),_:1})]),d("div",Ss,[d("div",Cs,[i(P,null,{default:o(()=>[i(B,{title:t.$t("Subscription Plan"),border_bottom:"",title_size:"small"},null,8,["title"]),i(F,null,{default:o(()=>[i(n,{animated:"",rows:2})]),_:1})]),_:1}),i(P,null,{default:o(()=>[i(B,{title:t.$t("Customer Details"),border_bottom:"",title_size:"small"},null,8,["title"]),i(F,null,{default:o(()=>[i(n,{animated:"",rows:3})]),_:1})]),_:1}),i(P,null,{default:o(()=>[i(B,{title:t.$t("Labels"),border_bottom:"",title_size:"small"},null,8,["title"]),i(F,null,{default:o(()=>[i(n,{animated:"",rows:1})]),_:1})]),_:1})])])])])])}}}),Is={name:"SingleSubscription",components:{Activity:Ee,ChangeOrderCustomer:We,DynamicIcon:ee,ConvertedTime:ce,Badge:Ie,NotFound:Ke,SingleSubscriptionLoader:$s,SubscriptionDetails:fs,Labels:qe,LicenseTable:je,CopyToClipboard:ue,CardContainer:P,CardBody:F,CardHeader:B,OrdersTable:Pe,CustomerPurchaseValue:Fe,OrderCustomerInformation:Ye,OrdersTableMobile:Be},props:["subscription_id"],data(){return{notFound:{show:!1,message:"",buttonText:"",route:""},subscription:{},loading:!1,parentOrderLoading:!0,error:null,ArrowRight:T(Ue),parentOrder:null,selectedLabels:[],changeCustomer:!1,reminderPermissions:{}}},computed:{Str(){return X},subscriptionStatus(){var e;return(e=this.subscription)==null?void 0:e.status},visibleRelatedOrders(){var e;return(((e=this.subscription)==null?void 0:e.related_orders)||[]).filter(t=>!(t.type==="renewal"&&Number(t.total_amount)===0))}},watch:{subscription_id:{handler(e,t){this.fetchSubscription()}}},mounted(){this.fetchSubscription()},methods:{translate:s,getCardBrand:et,fetchSubscription(){this.notFound.show=!1,this.loading=!0,this.$get("subscriptions/"+this.subscription_id).then(e=>{this.subscription=e.subscription,this.selectedLabels=e.selected_labels,this.reminderPermissions=e.reminder_permissions||{},this.getParentOrder()}).catch(e=>{var t;e.code==="fluent_cart_entity_not_found"?(this.notFound.show=!0,this.notFound.buttonText=Z.get(e,"data.buttonText"),this.notFound.message=Z.get(e,"data.message"),this.notFound.route=Z.get(e,"data.route")):e.status_code=="422"?j.validationErrors(e):j.error((t=e.data)==null?void 0:t.message)}).finally(()=>{this.loading=!1})},getParentOrder(){var e;this.$get("orders/"+((e=this.subscription)==null?void 0:e.parent_order_id)).then(t=>{this.parentOrder=t.order}).finally(()=>{this.parentOrderLoading=!1})},reload(){window.location.reload()},handleCommand(e){e==="change_customer"&&(this.changeCustomer=!0)}}},Vs={key:1,class:"fct-single-subscription-page"},Rs={key:1,class:"fct-single-order-wrapper fct-layout-width"},Ts={class:"single-page-header flex items-start justify-between"},Bs={class:"single-page-header-title-wrap"},Fs={class:"single-page-header-status-wrap"},Ps={class:"pt-2 text-xs text-system-mid dark:text-gray-300"},Es={class:"single-page-body"},Ds={class:"fct-single-subscription"},Ls={class:"fct-single-subscription-main"},Ms={class:"fct-single-subscription-aside"},xs={class:"fct-admin-sidebar"},As={class:"fct-admin-sidebar"};function Ns(e,t,l,r,n,a){var O;const p=c("NotFound"),w=c("SingleSubscriptionLoader"),C=c("el-breadcrumb-item"),y=c("el-breadcrumb"),v=c("Badge"),k=c("ConvertedTime"),R=c("SubscriptionDetails"),I=c("CardHeader"),L=c("OrdersTable"),M=c("OrdersTableMobile"),x=c("CardContainer"),q=c("LicenseTable"),W=c("Activity"),z=c("CardBody"),G=c("el-skeleton"),Q=c("OrderCustomerInformation"),E=c("Labels");return u(),S(N,null,[n.notFound.show?(u(),b(p,{key:0,"button-text":n.notFound.buttonText,message:n.notFound.message,route:n.notFound.route},null,8,["button-text","message","route"])):_("",!0),n.notFound.show===!1?(u(),S("div",Vs,[n.loading?(u(),b(w,{key:0})):_("",!0),!n.loading&&n.subscription.id?(u(),S("div",Rs,[d("div",Ts,[d("div",null,[d("div",Bs,[i(y,{"separator-icon":n.ArrowRight},{default:o(()=>[i(C,{to:{name:"all_subscriptions"}},{default:o(()=>[h(m(e.$t("Subscriptions")),1)]),_:1}),i(C,null,{default:o(()=>[h("#"+m(l.subscription_id),1)]),_:1})]),_:1},8,["separator-icon"]),d("div",Fs,[i(v,{status:a.subscriptionStatus},null,8,["status"])])]),d("div",Ps,[i(k,{"date-time":n.subscription.created_at,"with-time":""},null,8,["date-time"])])]),t[2]||(t[2]=d("div",{class:"fct-btn-group sm"},null,-1))]),d("div",Es,[d("div",Ds,[d("div",Ls,[i(R,{subscription:n.subscription,orderId:(O=n.parentOrder)==null?void 0:O.id,reminderPermissions:n.reminderPermissions,onFetchOrder:t[0]||(t[0]=H=>e.$emit("fetchSubscription")),onReload:t[1]||(t[1]=H=>a.reload())},null,8,["subscription","orderId","reminderPermissions"]),a.visibleRelatedOrders.length?(u(),b(x,{key:0,class:"overflow-hidden"},{default:o(()=>[i(I,{class:"pb-4",title:e.$t("Related Orders")+" ("+a.visibleRelatedOrders.length+")",title_size:"small"},null,8,["title"]),i(L,{class:"hide-on-mobile",orders:a.visibleRelatedOrders,columns:["type"]},null,8,["orders"]),i(M,{class:"show-on-mobile fct-single-subscription-orders-mobile",orders:a.visibleRelatedOrders,columns:["type"]},null,8,["orders"])]),_:1})):_("",!0),n.subscription.licenses?(u(),b(x,{key:1,class:"overflow-hidden"},{default:o(()=>[i(I,{class:"pb-4",title:e.$t("Related Licenses"),title_size:"small"},null,8,["title"]),i(q,{licenses:n.subscription.licenses,columns:[]},null,8,["licenses"])]),_:1})):_("",!0),n.subscription.activities&&n.subscription.activities.length?(u(),b(x,{key:2,class:"overflow-hidden mb-0"},{default:o(()=>[i(I,{title:e.$t("Activity"),title_size:"small",border_bottom:""},null,8,["title"]),i(z,null,{default:o(()=>[i(W,{activities:n.subscription.activities},null,8,["activities"])]),_:1})]),_:1})):_("",!0)]),d("div",Ms,[d("div",xs,[n.parentOrderLoading?(u(),b(x,{key:0},{default:o(()=>[i(I,{title:e.$t("Subscription Plan"),title_size:"small",border_bottom:""},null,8,["title"]),i(z,null,{default:o(()=>[i(G,{rows:3,animated:!0})]),_:1})]),_:1})):_("",!0)]),d("div",As,[n.subscription.customer?(u(),b(Q,{key:0,subscription:n.subscription,shouldEnableEditing:!0},null,8,["subscription"])):_("",!0),i(E,{"bind-to-id":n.subscription.id,"bind-to-type":"Subscription",selectedLabels:n.selectedLabels,shouldEnableEditing:!0,"onUpdate:updateLabel":()=>{}},null,8,["bind-to-id","selectedLabels"])])])])])])):_("",!0)])):_("",!0)],64)}const Os=K(Is,[["render",Ns]]);window.fluent_cart_admin.hooks.addFilter("fluent_cart_routes","fluent_all_subscriptions",function(e){return e.subscription_route={name:"subscriptions",path:"/subscriptions",component:st,children:[{name:"all_subscriptions",path:"",component:$t,meta:{active_menu:"subscriptions",title:s("Subscriptions")}},{name:"view_subscription",path:":subscription_id/view",component:Os,props:!0,meta:{active_menu:"subscriptions",title:s("View Subscription")}}]},e}); |