PluginProbe
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler / 1.6.5
FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler v1.6.5
1.6.6 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.5 1.5.3 1.5.2 1.5.1 1.5.0 1.4.2 1.4.1 1.4.0 1.3.28 1.3.27 1.3.26 1.3.25 1.3.23 1.3.22 1.3.21 1.3.20 1.3.19 All 49 releases
← All changes | assets/subscription.js +1 -1 1.6.2 → 1.6.5 View file →
@@ -1 +1 @@
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.2";import{T as ke,_ as $e,B as Ve}from"./chunks/Badge.js?ver=1.6.2";import{P as Ie,_ as Re}from"./chunks/Empty.js?ver=1.6.2";import{t}from"./chunks/Translator.js?ver=1.6.2";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.2";import{_ as X}from"./chunks/_plugin-vue_export-helper.js?ver=1.6.2";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.2";import{_ as K}from"./chunks/DynamicIcon.js?ver=1.6.2";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.2";import{_ as Qe,p as Ze}from"./chunks/UserCan.js?ver=1.6.2";import{C as B,a as F,b as P}from"./chunks/CardBody.js?ver=1.6.2";import{S as ue}from"./chunks/Str.js?ver=1.6.2";import{n as j}from"./chunks/Notify.js?ver=1.6.2";import{_ as Je}from"./chunks/NotFound.js?ver=1.6.2";import{A as Z}from"./chunks/Arr.js?ver=1.6.2";import{g as Xe}from"./chunks/common.js?ver=1.6.2";import"./chunks/Model.js?ver=1.6.2";import"./chunks/Rest.js?ver=1.6.2";import"./chunks/vue-router.js?ver=1.6.2";import"./chunks/Url.js?ver=1.6.2";import"./chunks/dayjs.min.js?ver=1.6.2";import"./chunks/timezone.js?ver=1.6.2";import"./chunks/index3.js?ver=1.6.2";import"./chunks/IconButton.js?ver=1.6.2";import"./chunks/Utils.js?ver=1.6.2";import"./chunks/CurrencyFormatter.js?ver=1.6.2";import"./chunks/TransitionAccordion.js?ver=1.6.2";import"./chunks/BundleProducts.js?ver=1.6.2";import"./chunks/Animation.js?ver=1.6.2";import"./chunks/Asset.js?ver=1.6.2";import"./chunks/AddressComponent2.js?ver=1.6.2";import"./chunks/productService.js?ver=1.6.2";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});