1import{d as q,r as F,o as G,H,J as U,B as t,z as i,k as J,G as r,u as d,F as O,L as Q,Z,C as n,A as c,D as u,U as k}from"./vendor-vue-CNokyTVe.js";import{a as K,_ as X,x as Y,y as ee}from"./index-DP2Z749b.js";import{_ as te}from"./AppLayout.vue_vue_type_script_setup_true_lang-DA3QqGQe.js";import{h as se,f as re,s as ae}from"./peak-rate-qZGUWdry.js";import{p as oe,a as de,b as ne,c as ie}from"./platformColors-BpGLohuJ.js";import{i as le,g as R}from"./subscriptionQuota-BxYniwXV.js";import{u as ue}from"./vendor-i18n-CJe1LeE7.js";import"./vendor-misc-CSmvsGIg.js";import"./AppHeader.vue_vue_type_style_index_0_scoped_e9be4349_lang-xG_yv2rf.js";import"./useClipboard-CR8lmECi.js";import"./LocaleSwitcher-pcuQ_98X.js";/* empty css */const ce={class:"space-y-6"},_e={key:0,class:"flex justify-center py-12"},me={key:1,class:"card p-12 text-center"},ge={class:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-dark-700"},xe={class:"mb-2 text-lg font-semibold text-gray-900 dark:text-white"},ye={class:"text-gray-500 dark:text-dark-400"},pe={key:2,class:"grid gap-6 lg:grid-cols-2"},fe={class:"flex items-center justify-between border-b border-gray-100 p-4 dark:border-dark-700"},ke={class:"flex items-center gap-3"},he={class:"flex items-center gap-2"},we={class:"font-semibold text-gray-900 dark:text-white"},ve={key:0,class:"mt-0.5 text-xs text-gray-500 dark:text-dark-400"},be={class:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-gray-400 dark:text-gray-500"},Se={key:0,class:"text-amber-700 dark:text-amber-300"},$e={class:"flex items-center gap-2"},De=["onClick"],Ce={class:"space-y-4 p-4"},Te={key:0,class:"flex items-center justify-between text-sm"},Pe={class:"text-gray-500 dark:text-dark-400"},je={key:1,class:"flex items-center justify-between text-sm"},Ae={class:"text-gray-500 dark:text-dark-400"},Be={class:"text-gray-700 dark:text-gray-300"},Fe={key:2,class:"space-y-2"},Re={class:"flex items-center justify-between"},Ne={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Ee={class:"text-sm text-gray-500 dark:text-dark-400"},Ie={class:"relative h-2 overflow-hidden rounded-full bg-gray-200 dark:bg-dark-600"},Le={key:0,class:"text-xs text-gray-500 dark:text-dark-400"},Me={key:3,class:"space-y-2"},ze={class:"flex items-center justify-between"},Ve={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},We={class:"text-sm text-gray-500 dark:text-dark-400"},qe={class:"relative h-2 overflow-hidden rounded-full bg-gray-200 dark:bg-dark-600"},Ge={key:0,class:"text-xs text-gray-500 dark:text-dark-400"},He={key:4,class:"space-y-2"},Ue={class:"flex items-center justify-between"},Je={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Oe={class:"text-sm text-gray-500 dark:text-dark-400"},Qe={class:"relative h-2 overflow-hidden rounded-full bg-gray-200 dark:bg-dark-600"},Ze={key:0,class:"text-xs text-gray-500 dark:text-dark-400"},Ke={key:5,class:"flex items-center justify-center rounded-xl bg-gradient-to-r from-emerald-50 to-teal-50 py-6 dark:from-emerald-900/20 dark:to-teal-900/20"},Xe={class:"flex items-center gap-3"},Ye={class:"text-sm font-medium text-emerald-700 dark:text-emerald-300"},et={class:"text-xs text-emerald-600/70 dark:text-emerald-400/70"},xt=q({__name:"SubscriptionsView",setup(tt){function N(s){switch(s){case"anthropic":return"bg-orange-500";case"openai":return"bg-emerald-500";case"antigravity":return"bg-purple-500";case"gemini":return"bg-blue-500";default:return"bg-gray-400"}}const{t:a}=ue(),E=Z(),h=K(),g=F([]),x=F(!0);function I(s){return se(s.group)}function L(s){var o;return re(s.group,ae((o=h.cachedPublicSettings)==null?void 0:o.server_utc_offset))}async function M(){try{x.value=!0,g.value=await Y.getMySubscriptions()}catch(s){console.error("Failed to load subscriptions:",s),h.showError(a("userSubscriptions.failedToLoad"))}finally{x.value=!1}}function y(s,o){return!o||o===0?"0%":`${Math.min((s||0)/o*100,100)}%`}function p(s,o){if(!o||o===0)return"bg-gray-400";const e=(s||0)/o*100;return e>=90?"bg-red-500":e>=70?"bg-orange-500":"bg-green-500"}function z(s){const o=new Date,e=new Date(s),_=e.getTime()-o.getTime(),l=Math.ceil(_/(1e3*60*60*24));if(l<0)return a("userSubscriptions.status.expired");const m=ee(e);return l===0?`${m} (${a("common.today")})`:l===1?`${m} (${a("common.tomorrow")})`:a("userSubscriptions.daysRemaining",{days:l})+` (${m})`}function V(s){const o=new Date,_=new Date(s).getTime()-o.getTime(),l=Math.ceil(_/(1e3*60*60*24));return l<=0?"text-red-600 dark:text-red-400 font-medium":l<=3?"text-red-600 dark:text-red-400":l<=7?"text-orange-600 dar
1k:text-orange-400":"text-gray-700 dark:text-gray-300"}function w(s){return s.days>0?`${s.days}d ${s.hours}h`:s.hours>0?`${s.hours}h ${s.minutes}m`:`${s.minutes}m`}function W(s){if(le(s)&&s.expires_at){const o=R(s.expires_at);return o?a("userSubscriptions.quotaEndsIn",{time:w(o)}):a("userSubscriptions.windowNotActive")}return a("userSubscriptions.resetIn",{time:f(s.daily_window_start,24)})}function f(s,o){if(!s)return a("userSubscriptions.windowNotActive");const e=new Date(s),_=new Date(e.getTime()+o*60*60*1e3),l=R(_);return l?w(l):a("userSubscriptions.windowNotActive")}return G(()=>{M()}),(s,o)=>(n(),H(te,null,{default:U(()=>[t("div",ce,[x.value?(n(),i("div",_e,[...o[0]||(o[0]=[t("div",{class:"h-8 w-8 animate-spin rounded-full border-2 border-primary-500 border-t-transparent"},null,-1)])])):g.value.length===0?(n(),i("div",me,[t("div",ge,[J(X,{name:"creditCard",size:"xl",class:"text-gray-400"})]),t("h3",xe,r(d(a)("userSubscriptions.noActiveSubscriptions")),1),t("p",ye,r(d(a)("userSubscriptions.noActiveSubscriptionsDesc")),1)])):(n(),i("div",pe,[(n(!0),i(O,null,Q(g.value,e=>{var _,l,m,v,b,S,$,D,C,T,P,j,A,B;return n(),i("div",{key:e.id,class:c(["overflow-hidden rounded-2xl border bg-white dark:bg-dark-800",d(oe)(((_=e.group)==null?void 0:_.platform)||"")])},[t("div",fe,[t("div",ke,[t("div",{class:c(["h-1.5 w-1.5 shrink-0 rounded-full",N(((l=e.group)==null?void 0:l.platform)||"")])},null,2),t("div",null,[t("div",he,[t("h3",we,r(((m=e.group)==null?void 0:m.name)||`Group #${e.group_id}`),1),t("span",{class:c(["rounded-md border px-2 py-0.5 text-[11px] font-medium",d(de)(((v=e.group)==null?void 0:v.platform)||"")])},r(d(ne)(((b=e.group)==null?void 0:b.platform)||"")),3)]),(S=e.group)!=null&&S.description?(n(),i("p",ve,r(e.group.description),1)):u("",!0),t("div",be,[t("span",null,r(d(a)("payment.planCard.rate"))+": Ã"+r((($=e.group)==null?void 0:$.rate_multiplier)??1),1),I(e)?(n(),i("span",Se,r(d(a)("payment.planCard.peakRate"))+": "+r(L(e)),1)):u("",!0)])])]),t("div",$e,[t("span",{class:c(["rounded-full px-2 py-0.5 text-xs font-medium",e.status==="active"?"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/40 dark:text-emerald-300":e.status==="expired"?"bg-gray-100 text-gray-600 dark:bg-dark-700 dark:text-gray-400":"bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300"])},r(d(a)(`userSubscriptions.status.${e.status}`)),3),e.status==="active"?(n(),i("button",{key:0,class:c(["rounded-lg px-3 py-1.5 text-xs font-semibold text-white transition-colors",d(ie)(((D=e.group)==null?void 0:D.platform)||"")]),onClick:st=>d(E).push({path:"/purchase",query:{tab:"subscription",group:String(e.group_id)}})},r(d(a)("payment.renewNow")),11,De)):u("",!0)])]),t("div",Ce,[e.expires_at?(n(),i("div",Te,[t("span",Pe,r(d(a)("userSubscriptions.expires")),1),t("span",{class:c(V(e.expires_at))},r(z(e.expires_at)),3)])):(n(),i("div",je,[t("span",Ae,r(d(a)("userSubscriptions.expires")),1),t("span",Be,r(d(a)("userSubscriptions.noExpiration")),1)])),(C=e.group)!=null&&C.daily_limit_usd?(n(),i("div",Fe,[t("div",Re,[t("span",Ne,r(d(a)("userSubscriptions.daily")),1),t("span",Ee," $"+r((e.daily_usage_usd||0).toFixed(2))+" / $"+r(e.group.daily_limit_usd.toFixed(2)),1)]),t("div",Ie,[t("div",{class:c(["absolute inset-y-0 left-0 rounded-full transition-all duration-300",p(e.daily_usage_usd,e.group.daily_limit_usd)]),style:k({width:y(e.daily_usage_usd,e.group.daily_limit_usd)})},null,6)]),e.daily_window_start?(n(),i("p",Le,r(W(e)),1)):u("",!0)])):u("",!0),(T=e.group)!=null&&T.weekly_limit_usd?(n(),i("div",Me,[t("div",ze,[t("span",Ve,r(d(a)("userSubscriptions.weekly")),1),t("span",We," $"+r((e.weekly_usage_usd||0).toFixed(2))+" / $"+r(e.group.weekly_limit_usd.toFixed(2)),1)]),t("div",qe,[t("div",{class:c(["absolute inset-y-0 left-0 rounded-full transition-all duration-300",p(e.weekly_usage_usd,e.group.weekly_limit_usd)]),style:k({width:y(e.weekly_usage_usd,e.group.weekly_limit_usd)})},null,6)]),e.weekly_window_start?(n(),i("p",Ge,r(d(a)("userSubscriptions.resetIn",{time:f(e.weekly_window_start,168)})),1)):u("",!0)])):u("",!0),(P=e.group)!=null&&P.monthly_limit_usd?(n(),i("div",He,[t("div",Ue,[t("span",Je,r(d(a)("userSubscriptions.monthly")),1),t("span",Oe," $"+r((e.monthly_usage_usd||0).toFixed(2))+" / $"+r(e.group.monthly_limit_usd.toFixed(2)),1)]),t("div",Qe,[t("div",{class:c(["absolute inset-y-0 left-0 rounded-full transition-all duration-300",p(e.monthly_usage_usd,e.group.monthly_limit_usd)]),style:k({width:y(e.monthly_usage_usd,e.group.monthly_limit_usd)})},null,6)]),e.monthly_window_start?(n(),i("p",Ze,r(d(a)("userSubscriptions.resetIn",{time:f(e.monthly_window_start,720)})),1)):u("",!0)])):u("",!0),!((j=e.group)!=null&&j.daily_limit_usd)&&!((A=e.group)!=null&&A.weekly_limit_usd)&&!((B=e.group)!=null&&B.monthly_limit_usd)?(n(),i("div",Ke,[t("div",Xe,[o[1]||(o[1]=t("span",{class:"text-4xl text-emerald-600 dark:text-emerald-400"},"â",-1)),t("div",null,[t("p",Ye,r(d(a)("userSubscriptions.unlimited")),1),t("p",et,r(d(a)("userSubscriptions.unlimitedDesc")),1
1)])])])):u("",!0)])],2)}),128))]))])]),_:1}))}});export{xt as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.