PageSourceSearch

https://shouhou.sbs/assets/SubscriptionsView-ElUAotby.js

js shouhou.sbs collected 2026-10-06 07:40:01 UTC 9,856 bytes, 1 lines download raw bytes

1import{d as q,r as B,o as G,D as H,K,B as t,z as i,k as O,G as r,u as d,F as Q,V as U,Z,C as n,A as _,E as u,S as h}from"./vendor-vue-Dzwqm9Y9.js";import{a as J,_ as X,x as Y,y as ee}from"./index-BPilJxdD.js";import{_ as te}from"./AppLayout.vue_vue_type_script_setup_true_lang-DZLmzaU9.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-DkrFx9Dx.js";import{g as le,i as ue,a as F}from"./subscriptionQuota-DBCjRtsa.js";import{u as ce}from"./vendor-i18n-BuoWFzps.js";import"./vendor-misc-B-nM3tYW.js";import"./AppHeader.vue_vue_type_style_index_0_scoped_80f3916c_lang-DEafgx1Q.js";import"./useClipboard-ZvjSR0Ci.js";import"./featureFlags-DbeTHnkK.js";import"./LocaleSwitcher-D0K1HY0q.js";/* empty css                                                                       */const _e={class:"space-y-6"},me={key:0,class:"flex justify-center py-12"},ge={key:1,class:"card p-12 text-center"},xe={class:"mx-auto mb-4 flex h-16 w-16 items-center justify-center rounded-full bg-gray-100 dark:bg-dark-700"},ye={class:"mb-2 text-lg font-semibold text-gray-900 dark:text-white"},pe={class:"text-gray-500 dark:text-dark-400"},fe={key:2,class:"grid gap-6 lg:grid-cols-2"},ke={class:"flex items-center justify-between border-b border-gray-100 p-4 dark:border-dark-700"},he={class:"flex items-center gap-3"},we={class:"flex items-center gap-2"},ve={class:"font-semibold text-gray-900 dark:text-white"},be={key:0,class:"mt-0.5 text-xs text-gray-500 dark:text-dark-400"},Se={class:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-gray-400 dark:text-gray-500"},$e={key:0,class:"text-amber-700 dark:text-amber-300"},De={class:"flex items-center gap-2"},Ce=["onClick"],Te={class:"space-y-4 p-4"},Pe={key:0,class:"flex items-center justify-between text-sm"},Re={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"},Ee={class:"flex items-center justify-between"},Ne={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Ie={class:"text-sm text-gray-500 dark:text-dark-400"},Me={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"},Le={key:3,class:"space-y-2"},Ve={class:"flex items-center justify-between"},We={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},qe={class:"text-sm text-gray-500 dark:text-dark-400"},Ge={class:"relative h-2 overflow-hidden rounded-full bg-gray-200 dark:bg-dark-600"},He={key:0,class:"text-xs text-gray-500 dark:text-dark-400"},Ke={key:4,class:"space-y-2"},Oe={class:"flex items-center justify-between"}
1,Qe={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},Ue={class:"text-sm text-gray-500 dark:text-dark-400"},Ze={class:"relative h-2 overflow-hidden rounded-full bg-gray-200 dark:bg-dark-600"},Je={key:0,class:"text-xs text-gray-500 dark:text-dark-400"},Xe={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"},Ye={class:"flex items-center gap-3"},et={class:"text-sm font-medium text-emerald-700 dark:text-emerald-300"},tt={class:"text-xs text-emerald-600/70 dark:text-emerald-400/70"},pt=q({__name:"SubscriptionsView",setup(st){function E(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}=ce(),N=Z(),w=J(),x=B([]),y=B(!0);function I(s){return se(s.group)}function M(s){var o;return re(s.group,ae((o=w.cachedPublicSettings)==null?void 0:o.server_utc_offset))}async function z(){try{y.value=!0,x.value=await Y.getMySubscriptions()}catch(s){console.error("Failed to load subscriptions:",s),w.showError(a("userSubscriptions.failedToLoad"))}finally{y.value=!1}}function p(s,o){return!o||o===0?"0%":`${Math.min((s||0)/o*100,100)}%`}function f(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 L(s){const o=new Date,e=new Date(s),c=e.getTime()-o.getTime(),l=Math.ceil(c/(1e3*60*60*24)),m=le(e,o);if(m===null)return"";if(m==="expired")return a("userSubscriptions.status.expired");const g=ee(e);return m==="today"?`${g} (${a("common.today")})`:m==="tomorrow"?`${g} (${a("common.tomorrow")})`:a("userSubscriptions.daysRemaining",{days:l})+` (${g})`}function V(s){const o=new Date,c=new Date(s).getTime()-o.getTime(),l=Math.ceil(c/(1e3*60*60*24));return c<=0?"text-red-600 dark:text-red-400 font-medium":l<=3?"text-red-600 dark:text-red-400":l<=7?"text-orange-600 dark:text-orange-400":"text-gray-700 dark:text-gray-300"}function v(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(ue(s)&&s.expires_at){const o=F(s.expires_at);return o?a("userSubscriptions.quotaEndsIn",{time:v(o)}):a("userSubscriptions.windowNotActive")}return a("userSubscriptions.resetIn",{time:k(s.daily_window_start,24)})}function k(s,o){if(!s)return a("userSubscriptions.windowNotActive");const e=new Date(s),c=new Date(e.getTime()+o*60*60*1e3),l=F(c);return l?v(l):a("userSubscriptions.windowNotActive")}return G(()=>{z()}),(s,o)=>(n(),H(te,null,{default:K(()=>[t("div",_e,[y.value?(n(),i("div",me,[...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)])])):x.value.length===0?(n(),i("div",ge,[t("div",xe,[O(X,{name:"creditCard",size:"xl",class:"text-gray-400"})]),t("h3",ye,r(d(a)("userSubscriptions.noActiveSubscriptions")),1),t("p",pe,r(d(a)("userSubscriptions.noActiveSubscriptionsDesc")),1)])):(n(),i("div",fe,[(n(!0),i(Q,null,U(x.value,e=>{var c,l,m,g,b,S,$,D,C,T,P,R,j,A;return n(),i("div",{key:e.id,class:_(["overflow-hidden rounded-2xl border bg-white dark:bg-dark-800",d(oe)(((c=e.group)==null?void 0:c.platform)||"")])},[t("div",ke,[t("div",he,[t("div",{class:_(["h-1.5 w-1.5 shrink-0 rounded-full",E(((l=e.group)==null?void 0:l.platform)||"")])},null,2),t("div",null,[t("div",we,[t("h3",ve,r(((m=e.group)==null?void 0:m.name)||`Group #${e.group_id}`),1),t("span",{class:_(["rounded-md border px-2 py-0.5 text-[11px] font-medium",d(de)(((g=e.group)==null?void 0:g.platform)||"")])},r(d(ne)(((b=e.group)==null?void 0:b.platform)||"")),3)]),(S=e.group)!=null&&S.description?(n(),i("p",be,r(e.group.description),1)):u("",!0),t("div",Se,[t("span",null,r(d(a)("payment.planCard.rate"))+": ×"+r((($=e.group)==null?void 0:$.rate_multiplier)??1),1),I(e)?(n(),i("span",$e,r(d(a)("payment.planCard.peakRate"))+": "+r(M(e)),1)):u("",!0)])])]),t("div",De,[t("span",{class:_(["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:_(["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:rt=>d(N).push({path:"/purchase",query:{tab:"subscription",group:String(e.group_id)}})},r(d(a)("payment.renewNow")),11,Ce)):u("",!0)])]),t("div",Te,[e.expires_at?(n(),i("div",Pe,[t("span",Re,r(d(a)("userSubscriptions.expires")),1),t("span",{class:_(V(e.expires_at))},r(L(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",Ee,[t("span",Ne,r(d(a)("userSubscriptions.daily")),1),t("span",Ie," $"+r((e.daily_usage_usd||0).toFixed(2))+" / $"+r(e.group.daily_limit_usd.toFixed(2)),1)]),t("div",Me,[t("div",{class:_(["absolute inset-y-0 left-0 rounded-full transition-all duration-300",f(e.daily_usage_usd,e.group.daily_limit_usd)]),style:h({width:p(e.daily_usage_usd,e.group.daily_limit_usd)})},null,6)]),e.daily_window_start?(n(),i("p",ze,r(W(e)),1)):u("",!0)])):u("",!0),(T=e.group)!=null&&T.weekly_limit_usd?(n(),i("div",Le,[t("div",Ve,[t("span",We,r(d(a)("userSubscriptions.weekly")),1),t("span",qe," $"+r((e.weekly_usage_usd||0).toFixed(2))+" / $"+r(e.group.weekly_limit_usd.toFixed(2)),1)]),t("div",Ge,[t("div",{class:_(["absolute inset-y-0 left-0 rounded-full transition-all duration-300",f(e.weekly_usage_usd,e.group.weekly_limit_usd)]),style:h({width:p(e.weekly_usage_usd,e.group.weekly_limit_usd)})},null,6)]),e.weekly_window_start?(n(),i("p",He,r(d(a)("userSubscriptions.resetIn",{time:k(e.weekly_window_start,168)})),1)):u("",!0)])):u("",!0),(P=e.group)!=null&&P.monthly_limit_usd?(n(),i("div",Ke,[t("div",Oe,[t("span",Qe,r(d(a)("userSubscriptions.monthly")),1),t("span",Ue," $"+r((e.monthly_usage_usd||0).toFixed(2))+" / $"+r(e.group.monthly_limit_usd.toFixed(2)),1)]),t("div",Ze,[t("div",{class:_(["absolute inset-y-0 left-0 rounded-full transition-all duration-300",f(e.monthly_usage_usd,e.group.monthly_limit_usd)]),style:h({width:p(e.monthly_usage_usd,e.group.monthly_limit_usd)})},null,6)]),e.monthly_window_start?(n(),i("p",Je,r(d(a)("userSubscriptions.resetIn",{time:k(e.monthly_window_start,720)})),1)):u("",!0)])):u("",!0),!((R=e.group)!=null&&R.daily_limit_usd)&&!((j=e.group)!=null&&j.weekly_limit_usd)&&!((A=e.group)!=null&&A.monthly_limit_usd)?(n(),i("div",Xe,[t("div",Ye,[o[1]||(o[1]=t("span",{class:"text-4xl text-emerald-600 dark:text-emerald-400"},"∞",-1)),t("div",null,[t("p",et,r(d(a)("userSubscriptions.unlimited")),1),t("p",tt,r(d(a)("userSubscriptions.unlimitedDesc")),1
1)])])])):u("",!0)])],2)}),128))]))])]),_:1}))}});export{pt 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.