1import{_ as $}from"./AppLayout.vue_vue_type_script_setup_true_lang-BAso5KWN.js";import{a as B,u as D,_ as f,w as m,h as E}from"./index-Dgu_uPKB.js";import{u as w}from"./user-BDvB8jWk.js";import{u as N}from"./useClipboard-CwYkGzaG.js";import{b as C}from"./apiError-BcAuv_LF.js";import{d as Q,r as y,c as z,o as F,D as h,K as U,B as t,z as n,E as u,k,H as q,G as e,u as s,F as A,V as j,C as o}from"./vendor-vue-Dzwqm9Y9.js";import{u as M}from"./vendor-i18n-BuoWFzps.js";import"./AppHeader.vue_vue_type_style_index_0_scoped_25b0c839_lang-DtQOt7eN.js";import"./vendor-misc-B-nM3tYW.js";import"./LocaleSwitcher-DNlUAQR_.js";/* empty css */const T={class:"space-y-6"},H={key:0,class:"flex justify-center py-12"},P={class:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4"},G={class:"card p-5"},K={class:"flex items-center gap-1.5 text-sm text-gray-500 dark:text-dark-400"},J={class:"mt-2 text-2xl font-semibold text-primary-600 dark:text-primary-400"},O={class:"mt-1 text-xs text-gray-400 dark:text-dark-500"},W={class:"card p-5"},X={class:"text-sm text-gray-500 dark:text-dark-400"},Y={class:"mt-2 text-2xl font-semibold text-gray-900 dark:text-white"},Z={class:"card p-5"},tt={class:"text-sm text-gray-500 dark:text-dark-400"},et={class:"mt-2 text-2xl font-semibold text-emerald-600 dark:text-emerald-400"},at={class:"card p-5"},st={class:"text-sm text-gray-500 dark:text-dark-400"},rt={class:"mt-2 text-2xl font-semibold text-gray-900 dark:text-white"},it={key:0,class:"mt-1 text-xs text-amber-600 dark:text-amber-400"},ot={class:"card p-6"},lt={class:"text-base font-semibold text-gray-900 dark:text-white"},nt={class:"mt-1 text-sm text-gray-500 dark:text-dark-400"},dt={class:"mt-5 grid gap-4 md:grid-cols-2"},ct={class:"space-y-2"},ft={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},mt={class:"flex flex-col items-stretch gap-2 rounded-xl border border-gray-200 bg-gray-50 px-3 py-2 dark:border-dark-700 dark:bg-dark-900 sm:flex-row sm:items-center"},ut={class:"min-w-0 break-all text-sm font-semibold text-gray-900 dark:text-white sm:flex-1 sm:truncate"},_t={class:"space-y-2"},pt={class:"text-sm font-medium text-gray-700 dark:text-gray-300"},xt={class:"flex flex-col items-stretch gap-2 rounded-xl border border-gray-200 bg-gray-50 px-3 py-2 dark:border-dark-700 dark:bg-dark-900 sm:flex-row sm:items-center"},yt={class:"min-w-0 break-all text-sm text-gray-700 dark:text-gray-300 sm:flex-1 sm:truncate"},ht={class:"mt-5 rounded-xl border border-primary-200 bg-primary-50 p-4 dark:border-primary-900/40 dark:bg-primary-900/20"},kt={class:"text-sm font-medium text-primary-800 dark:text-primary-200"},bt={class:"mt-2 space-y-1 text-sm text-primary-700 dark:text-primary-300"},vt={key:0},gt={class:"card p-6"},wt={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},Ct={class:"text-base font-semibold text-gray-900 dark:text-white"},zt={class:"mt-1 text-sm text-gray-500 dark:text-dark-400"},qt=["disabled"],At={key:0,class:"mt-3 text-sm text-amber-600 dark:text-amber-400"},St={class:"card p-6"},It={class:"text-base font-semibold text-gray-900 dark:text-white"},Lt={key:0,class:"mt-4 rounded-xl border border-dashed border-gray-300 p-6 text-center text-sm text-gray-500 dark:border-dark-700 dark:text-dark-400"},Rt={key:1,class:"mt-4 overflow-x-auto"},Vt={class:"w-full min-w-[560px] text-left text-sm"},$t={class:"border-b border-gray-200 text-gray-500 dark:border-dark-700 dark:text-dark-400"},Bt={class:"px-3 py-2 font-medium"},Dt={class:"px-3 py-2 font-medium"},Et={class:"px-3 py-2 font-medium text-right"},Nt={class:"px-3 py-2 font-medium"},Qt={class:"px-3 py-3 text-gray-900 dark:text-white"},Ft={class:"px-3 py-3 text-gray-700 dark:text-gray-300"},Ut={class:"px-3 py-3 text-right font-medium text-emerald-600 dark:text-emerald-400"},jt={class:"px-3 py-3 text-gray-700 dark:text-gray-300"},te=Q({__name:"AffiliateView",setup(Mt){const{t:a}=M(),_=B(),S=D(),{copyToClipboard:b}=N(),p=y(!0),c=y(!1),r=y(null),x=z(()=>r.value?typeof window>
1"u"?`/register?aff=${encodeURIComponent(r.value.aff_code)}`:`${window.location.origin}/register?aff=${encodeURIComponent(r.value.aff_code)}`:""),v=z(()=>{var d;const i=((d=r.value)==null?void 0:d.effective_rebate_rate_percent)??0,l=Math.round(i*100)/100;return Number.isInteger(l)?String(l):l.toString()});function I(i){return i.toLocaleString()}async function g(i=!1){i||(p.value=!0);try{r.value=await w.getAffiliateDetail()}catch(l){_.showError(C(l,a("affiliate.loadFailed")))}finally{i||(p.value=!1)}}async function L(){var i;(i=r.value)!=null&&i.aff_code&&await b(r.value.aff_code,a("affiliate.codeCopied"))}async function R(){x.value&&await b(x.value,a("affiliate.linkCopied"))}async function V(){if(!(!r.value||r.value.aff_quota<=0||c.value)){c.value=!0;try{const i=await w.transferAffiliateQuota();_.showSuccess(a("affiliate.transfer.success",{amount:m(i.transferred_quota)})),await Promise.all([g(!0),S.refreshUser().catch(()=>{})])}catch(i){_.showError(C(i,a("affiliate.transferFailed")))}finally{c.value=!1}}}return F(()=>{g()}),(i,l)=>(o(),h($,null,{default:U(()=>[t("div",T,[p.value?(o(),n("div",H,[...l[0]||(l[0]=[t("div",{class:"h-8 w-8 animate-spin rounded-full border-2 border-primary-500 border-t-transparent"},null,-1)])])):r.value?(o(),n(A,{key:1},[t("div",P,[t("div",G,[t("p",K,[k(f,{name:"dollar",size:"sm",class:"text-primary-500"}),q(" "+e(s(a)("affiliate.stats.rebateRate")),1)]),t("p",J,[q(e(v.value),1),l[1]||(l[1]=t("span",{class:"ml-0.5 text-base font-medium"},"%",-1))]),t("p",O,e(s(a)("affiliate.stats.rebateRateHint")),1)]),t("div",W,[t("p",X,e(s(a)("affiliate.stats.invitedUsers")),1),t("p",Y,e(I(r.value.aff_count)),1)]),t("div",Z,[t("p",tt,e(s(a)("affiliate.stats.availableQuota")),1),t("p",et,e(s(m)(r.value.aff_quota)),1)]),t("div",at,[t("p",st,e(s(a)("affiliate.stats.totalQuota")),1),t("p",rt,e(s(m)(r.value.aff_history_quota)),1),r.value.aff_frozen_quota>0?(o(),n("p",it,e(s(a)("affiliate.stats.frozenQuota"))+": "+e(s(m)(r.value.aff_frozen_quota)),1)):u("",!0)])]),t("div",ot,[t("h3",lt,e(s(a)("affiliate.title")),1),t("p",nt,e(s(a)("affiliate.description")),1),t("div",dt,[t("div",ct,[t("p",ft,e(s(a)("affiliate.yourCode")),1),t("div",mt,[t("code",ut,e(r.value.aff_code),1),t("button",{class:"btn btn-secondary btn-sm w-full sm:w-auto sm:shrink-0",onClick:L},[k(f,{name:"copy",size:"sm"}),t("span",null,e(s(a)("affiliate.copyCode")),1)])])]),t("div",_t,[t("p",pt,e(s(a)("affiliate.inviteLink")),1),t("div",xt,[t("code",yt,e(x.value),1),t("button",{class:"btn btn-secondary btn-sm w-full sm:w-auto sm:shrink-0",onClick:R},[k(f,{name:"copy",size:"sm"}),t("span",null,e(s(a)("affiliate.copyLink")),1)])])])]),t("div",ht,[t("p",kt,e(s(a)("affiliate.tips.title")),1),t("ul",bt,[t("li",null,"1. "+e(s(a)("affiliate.tips.line1")),1),t("li",null,"2. "+e(s(a)("affiliate.tips.line2",{rate:`${v.value}%`})),1),t("li",null,"3. "+e(s(a)("affiliate.tips.line3")),1),r.value.aff_frozen_quota>0?(o(),n("li",vt,"4. "+e(s(a)("affiliate.tips.line4")),1)):u("",!0)])])]),t("div",gt,[t("div",wt,[t("div",null,[t("h3",Ct,e(s(a)("affiliate.transfer.title")),1),t("p",zt,e(s(a)("affiliate.transfer.description")),1)]),t("button",{class:"btn btn-primary",disabled:c.value||r.value.aff_quota<=0,onClick:V},[c.value?(o(),h(f,{key:0,name:"refresh",size:"sm",class:"animate-spin"})):(o(),h(f,{key:1,name:"dollar",size:"sm"})),t("span",null,e(c.value?s(a)("affiliate.transfer.transferring"):s(a)("affiliate.transfer.button")),1)],8,qt)]),r.value.aff_quota<=0?(o(),n("p",At,e(s(a)("affiliate.transfer.empty")),1)):u("",!0)]),t("div",St,[t("h3",It,e(s(a)("affiliate.invitees.title")),1),r.value.invitees.length===0?(o(),n("div",Lt,e(s(a)("affiliate.invitees.empty")),1)):(o(),n("div",Rt,[t("table",Vt,[t("thead",null,[t("tr",$t,[t("th",Bt,e(s(a)("affiliate.invitees.columns.email")),1),t("th",Dt,e(s(a)("affiliate.invitees.columns.username")),1),t("th",Et,e(s(a)("affiliate.invitees.columns.rebate")),1),t("th",Nt,e(s(a)("affiliate.invitees.columns.joinedAt")),1)])]),t("tbody",null,[(o(!0),n(A,null,j(r.value.invitees,d=>(o(),n("tr",{key:d.user_id,class:"border-b border-gray-100 last:border-b-0 dark:border-dark-800"},[t("td",Qt,e(d.email||"-"),1),t("td",Ft,e(d.username||"-"),1),t("td",Ut,e(s(m)(d.total_rebate)),1),t("td",jt,e(s(E)(d.created_at)||"-"),1)]))),128))])])]))])],64)):u("",!0)])]),_:1}))}});
1export{te 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.