PageSourceSearch

https://mtgmaster.app/assets/InviteFriends-BStANAVD.js

js mtgmaster.app collected 2026-10-09 22:55:59 UTC 26,459 bytes, 1 lines download raw bytes

1import{ah as de,bn as ee,bo as re,bp as te,bq as oe,r as E,br as R,bs as W,bt as L,bu as ce,bv as ue,c as J,e as ae,a3 as me,R as M,bw as fe,t as G,j as r,L as pe,D as xe,aE as Y,aB as he,ab as ge,aC as be,a as ye,aq as ke}from"./index-Di8FtgDo.js";import{C as je}from"./copy-B1HKrEfG.js";import{U as Ne}from"./users-BkKnVlcb.js";import{G as we}from"./gift-vXo_bZcy.js";var U,K;function ve(){return K||(K=1,U={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),U}var Ve=ve();const Ee=de(Ve);var Pe=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function X(e){var t={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},a=e.match(/<\/?([^\s]+?)[/\s>]/);if(a&&(t.name=a[1],(Ee[a[1]]||e.charAt(e.length-2)==="/")&&(t.voidElement=!0),t.name.startsWith("!--"))){var s=e.indexOf("-->");return{type:"comment",comment:s!==-1?e.slice(4,s):""}}for(var l=new RegExp(Pe),n=null;(n=l.exec(e))!==null;)if(n[0].trim())if(n[1]){var d=n[1].trim(),c=[d,""];d.indexOf("=")>-1&&(c=d.split("=")),t.attrs[c[0]]=c[1],l.lastIndex--}else n[2]&&(t.attrs[n[2]]=n[3].trim().substring(1,n[3].length-1));return t}var _e=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,Te=/^\s*$/,Ae=Object.create(null);function se(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?(function(a){var s=[];for(var l in a)s.push(l+'="'+a[l]+'"');return s.length?" "+s.join(" "):""})(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(se,"")+"</"+t.name+">";case"comment":return e+"<!--"+t.comment+"-->"}}var Se={parse:function(e,t){t||(t={}),t.components||(t.components=Ae);var a,s=[],l=[],n=-1,d=!1;if(e.indexOf("<")!==0){var c=e.indexOf("<");s.push({type:"text",content:c===-1?e:e.substring(0,c)})}return e.replace(_e,function(f,p){if(d){if(f!=="</"+a.name+">")return;d=!1}var m,k=f.charAt(1)!=="/",V=f.startsWith("<!--"),y=p+f.length,x=e.charAt(y);if(V){var P=X(f);return n<0?(s.push(P),s):((m=l[n]).children.push(P),s)}if(k&&(n++,(a=X(f)).type==="tag"&&t.components[a.name]&&(a.type="component",d=!0),a.voidElement||d||!x||x==="<"||a.children.push({type:"text",content:e.slice(y,e.indexOf("<",y))}),n===0&&s.push(a),(m=l[n-1])&&m.children.push(a),l[n]=a),(!k||a.voidElement)&&(n>-1&&(a.voidElement||a.name===f.slice(2,-1))&&(n--,a=n===-1?s:l[n]),!d&&x!=="<"&&x)){m=n===-1?s:l[n].children;var h=e.indexOf("<",y),N=e.slice(y,h===-1?void 0:h);Te.test(N)&&(N=" "),(h>-1&&n+m.length>=0||N!==" ")&&m.push({type:"text",content:N})}}),s},stringify:function(e){return e.reduce(function(t,a){return t+se("",a)},"")}};const H=(e,t)=>{if(!e)return!1;const a=e.props?.children??e.children;return t?a.length>0:!!a},z=e=>{if(!e)return[];const t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?O(t):t},Ce=e=>Array.isArray(e)&&e.every(E.isValidElement),O=e=>Array.isArray(e)?e:[e],$e=(e,t)=>{const a={...t};return a.props=Object.assign(e.props,t.props),a},Le=e=>{const t={};if(!e)return t;const a=s=>{O(s).forEach(n=>{R(n)||(H(n)?a(z(n)):L(n)&&!E.isValidElement(n)&&Object.assign(t,n))})};return a(e),t},ne=(e,t,a,s)=>{if(!e)return"";let l="";const n=O(e),d=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return n.forEach((c,f)=>{if(R(c)){l+=`${c}`;return}if(E.isValidElement(c)){const{props:p,type:m}=c,k=Object.keys(p).length,V=d.indexOf(m)>-1,y=p.children;if(!y&&V&&!k){l+=`<${m}/>`;return}if(!y&&(!V||k)||p.i18nIsDynamicList){l+=`<${f}></${f}>`;return}if(V&&k===1&&R(y)){l+=`<${m}>${y}</${m}>`;return}const x=ne(y,t,a,s);l+=`<${f}>${x}</${f}>`;return}if(c===null){W(a,"TRANS_NULL_VALUE","Passed in a null value as child",{i18nKey:s});return}if(L(c)){const{format:p,...m}=c,k=Object.keys(m);if(k.length===1){const V=p?`${k[0]}, ${p}`:k[0];l+=`{{${V}}}`;return}W(a,"TRANS_INVALID_OBJ","Invalid child - Object should only have keys {{ value, format }} (format is optional).",{i18nKey:s,child:c});return}W(a,"TRANS_INVALID_VAR","Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.",{i18nKey:s,child:c})}),l},Oe=(e,t=[],a={})=>{if(!e)return e;const s=Object.keys(a),l=[...t,...s];let n="",d=0;for(;d<e.length;)if(e[d]==="<"){let c=!1;const f=e.slice(d).match(/^<\/(\d+|[a-zA-Z][a-zA-Z0-9-]*)>/);if(f){const p=f[1];(/^\d+$/.test(p)||l.includes(p))&&(c=!0,n+=f[0],d+=f[0].length)}if(!c){const p=e.slice(d).match(/^<(\d+|[a-zA-Z][a-zA-Z0-9-]*)(\s+[\w-]+(?:=(?:"[^"]*"|'[^']*'|[^\
1s>]+))?)*\s*(\/)?>/);if(p){const m=p[1];(/^\d+$/.test(m)||l.includes(m))&&(c=!0,n+=p[0],d+=p[0].length)}}c||(n+="&lt;",d+=1)}else n+=e[d],d+=1;return n},Re=(e,t,a,s,l,n,d)=>{if(a==="")return[];const c=l.transKeepBasicHtmlNodesFor||[],f=a&&new RegExp(c.map(g=>`<${g}`).join("|")).test(a);if(!e&&!t&&!f&&!d)return[a];const p=t??{},m=g=>{O(g).forEach(u=>{R(u)||(H(u)?m(z(u)):L(u)&&!E.isValidElement(u)&&Object.assign(p,u))})};m(e);const k=Oe(a,c,p),V=Se.parse(`<0>${k}</0>`),y={...p,...n},x=(g,o,u)=>{const v=z(g),C=h(v,o.children,u);return Ce(v)&&C.length===0||g.props?.i18nIsDynamicList?v:C},P=(g,o,u,v,C)=>{g.dummy?(g.children=o,u.push(E.cloneElement(g,{key:v},C?void 0:o))):u.push(...E.Children.map([g],b=>{const i="data-i18n-is-dynamic-list",A={key:v,[i]:void 0};return b&&b.props&&Object.keys(b.props).forEach(T=>{T==="ref"||T==="children"||T==="i18nIsDynamicList"||T===i||(A[T]=b.props[T])}),E.cloneElement(b,A,C?null:o)}))},h=(g,o,u)=>{const v=O(g);return O(o).reduce((b,i,A)=>{const T=i.children?.[0]?.content&&s.services.interpolator.interpolate(i.children[0].content,y,s.language);if(i.type==="tag"){let _=v[parseInt(i.name,10)];!_&&t&&(_=t[i.name]),u.length===1&&!_&&(_=u[0][i.name]),_||(_={});const S={...i.attrs};d&&Object.keys(S).forEach(j=>{const D=S[j];R(D)&&(S[j]=ce(D))});const w=Object.keys(S).length!==0?$e({props:S},_):_,$=E.isValidElement(w),I=$&&H(i,!0)&&!i.voidElement,F=f&&L(w)&&w.dummy&&!$,B=L(t)&&Object.hasOwnProperty.call(t,i.name);if(R(w)){const j=s.services.interpolator.interpolate(w,y,s.language);b.push(j)}else if(H(w)||I){const j=x(w,i,u);P(w,j,b,A)}else if(F){const j=h(v,i.children,u);P(w,j,b,A)}else if(Number.isNaN(parseFloat(i.name)))if(B){const j=x(w,i,u);P(w,j,b,A,i.voidElement)}else if(l.transSupportBasicHtmlNodes&&c.indexOf(i.name)>-1)if(i.voidElement)b.push(E.createElement(i.name,{key:`${i.name}-${A}`}));else{const j=h(v,i.children,u);b.push(E.createElement(i.name,{key:`${i.name}-${A}`},j))}else if(i.voidElement)b.push(`<${i.name} />`);else{const j=h(v,i.children,u);b.push(`<${i.name}>${j}</${i.name}>`)}else if(L(w)&&!$){const j=i.children[0]?T:null;j&&b.push(j)}else P(w,T,b,A,i.children.length!==1||!T)}else if(i.type==="text"){const _=l.transWrapTextNodes,S=typeof l.unescape=="function"?l.unescape:te().unescape,w=d?S(s.services.interpolator.interpolate(i.content,y,s.language)):s.services.interpolator.interpolate(i.content,y,s.language);_?b.push(E.createElement(_,{key:`${i.name}-${A}`},w)):b.push(w)}return b},[])},N=h([{dummy:!0,children:e||[]}],V,O(e||[]));return z(N[0])},le=(e,t,a)=>{const s=e.key||t,l=E.cloneElement(e,{key:s});if(!l.props||!l.props.children||a.indexOf(`${t}/>`)<0&&a.indexOf(`${t} />`)<0)return l;function n(){return E.createElement(E.Fragment,null,l)}return E.createElement(n,{key:s})},Ie=(e,t)=>e.map((a,s)=>le(a,s,t)),De=(e,t)=>{const a={};return Object.keys(e).forEach(s=>{Object.assign(a,{[s]:le(e[s],s,t)})}),a},Me=(e,t,a,s)=>e?Array.isArray(e)?Ie(e,t):L(e)?De(e,t):(ee(a,"TRANS_INVALID_COMPONENTS",'<Trans /> "components" prop expects an object or array',{i18nKey:s}),null):null,Fe=e=>!L(e)||Array.isArray(e)?!1:Object.keys(e).reduce((t,a)=>t&&Number.isNaN(Number.parseFloat(a)),!0);function Be({children:e,count:t,parent:a,i18nKey:s,context:l,tOptions:n={},values:d,defaults:c,components:f,ns:p,i18n:m,t:k,shouldUnescape:V,...y}){const x=m||re();if(!x)return ee(x,"NO_I18NEXT_INSTANCE","Trans: You need to pass in an i18next instance using i18nextReactModule",{i18nKey:s}),e;const P=k||x.t.bind(x)||(ie=>ie),h={...te(),...x.options?.react};let N=p||P.ns||x.options?.defaultNS;N=R(N)?[N]:N||["translation"];const{transDefaultProps:g}=h,o=g?.tOptions?{...g.tOptions,...n}:n,u=V??g?.shouldUnescape,v=g?.values?{...g.values,...d}:d,C=g?.components?{...g.components,...f}:f,b=ne(e,h,x,s),i=c||o?.defaultValue||b||h.transEmptyNodeValue||(typeof s=="function"?oe(s):s),{hashTransKey:A}=h,T=s||(A?A(b||i):b||i);x.options?.interpolation?.defaultVariables?d=v&&Object.keys(v).length>0?{...v,...x.options.interpolation.defaultVariables}:{...x.options.interpolation.defaultVariables}:d=v;const _=Le(e);_&&typeof _.count=="number"&&t===void 0&&(t=_.count);const S=d||t!==void 0&&!x.options?.interpolation?.alwaysFormat||!e?o.interpolation:{interpolation:{...o.interpolation,prefix:"#$?",suffix:"?$#"}},w={...o,context:l||o.context,count:t,...d,...S,defaultValue:i,ns:N};let $=T?P(T,w):i;$===T&&i&&($=i);const I=Me(C,$,x,s);let F=I||e,B=null;Fe(I)&&(B=I,F=e);const j=Re(F,B,$,x,h,w,u),D=a??h.defaultTransParent;return D?E.createElement(D,y,j):j}function He({children:e,count:t,parent:a,i18nKey:s,context:l,tOptions:n={}
1,values:d,defaults:c,components:f,ns:p,i18n:m,t:k,shouldUnescape:V,...y}){const{i18n:x,defaultNS:P}=E.useContext(ue)||{},h=m||x||re(),N=k||h?.t.bind(h);return Be({children:e,count:t,parent:a,i18nKey:s,context:l,tOptions:n,values:d,defaults:c,components:f,ns:p||N?.ns||P||h?.options?.defaultNS,i18n:h,t:k,shouldUnescape:V,...y})}const ze=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],We=J("link-2",ze);const Ge=[["path",{d:"M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",key:"12jkf8"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}],["path",{d:"m16 19 2 2 4-4",key:"1b14m6"}]],Ue=J("mail-check",Ge);const qe=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],Ze=J("star",qe);function q({icon:e,label:t,value:a}){return r.jsx("div",{className:"rounded-2xl border border-slate-200/80 bg-white/80 p-4 shadow-sm backdrop-blur dark:border-white/10 dark:bg-background/70",children:r.jsxs("div",{className:"flex items-center gap-3",children:[r.jsx("div",{className:"inline-flex h-10 w-10 items-center justify-center rounded-2xl bg-amber-100 text-amber-700 dark:bg-amber-500/15 dark:text-amber-300",children:r.jsx(e,{className:"h-5 w-5","aria-hidden":"true"})}),r.jsxs("div",{children:[r.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:t}),r.jsx("p",{className:"mt-1 text-2xl font-semibold text-foreground",children:a})]})]})})}function Z({icon:e,title:t,body:a}){return r.jsx("div",{className:"rounded-2xl border bg-card/90 p-4 shadow-sm",children:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx("div",{className:"inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-2xl bg-slate-900 text-white dark:bg-slate-100 dark:text-slate-900",children:r.jsx(e,{className:"h-5 w-5","aria-hidden":"true"})}),r.jsxs("div",{className:"space-y-1",children:[r.jsx("h3",{className:"text-sm font-semibold text-foreground",children:t}),r.jsx("p",{className:"text-sm leading-6 text-muted-foreground",children:a})]})]})})}function Q({amount:e}){const{t}=ae("common");return r.jsxs("span",{className:"inline-flex items-center gap-1 whitespace-nowrap align-middle font-semibold text-slate-900 dark:text-foreground",children:[r.jsx("img",{src:ke,alt:"",className:"h-[1.08em] w-[1.08em] shrink-0 object-contain","aria-hidden":"true"}),r.jsx("span",{children:e}),r.jsx("span",{className:"font-medium text-slate-700 dark:text-slate-300",children:t("credits",{defaultValue:"credits"})})]})}function Qe(){const{t:e}=ae("common"),{toastMsg:t,toastType:a,notify:s}=me(),[l,n]=M.useState(null),[d,c]=M.useState(!1),[f,p]=M.useState(""),m=e("creditsPage.emptyCell",{defaultValue:"—"}),k=typeof navigator<"u"&&typeof navigator.share=="function",V=M.useCallback(async()=>{c(!0),p("");try{const o=await fe();n(o||null)}catch(o){p(o?.message||e("creditsPage.referrals.loadError",{defaultValue:"Failed to load referral details."}))}finally{c(!1)}},[e]);M.useEffect(()=>{G("referral_page_view"),V()},[V]);const y=async(o,u,v)=>{if(o)try{await navigator.clipboard.writeText(o),G(u,{location:"invite_friends_page"}),s(v,"success",2500)}catch{s(e("creditsPage.referrals.copyFailed",{defaultValue:"Copy failed."}),"error",2500)}},x=async()=>{if(!(!k||!l?.referral_link))try{await navigator.share({title:e("referralsPage.shareTitle",{defaultValue:"Join me on MTG Master"}),text:e("referralsPage.shareText",{defaultValue:"Use my invite link to join MTG Master and get 10 credits after verifying your account."}),url:l.referral_link}),G("referral_link_shared",{location:"invite_friends_page"}),s(e("referralsPage.shareSuccess",{defaultValue:"Referral link shared."}),"success",2500)}catch(o){if(o?.name==="AbortError")return;s(e("referralsPage.shareFailed",{defaultValue:"Sharing failed."}),"error",2500)}}
1,P=l?.stats||{pending:0,completed:0,credits_earned:0},h=Array.isArray(l?.recent_referrals)?l.recent_referrals:[],N=l?.referral_link||"",g=o=>{const u=String(o||"").toLowerCase();return u==="pending_email_verification"?{label:e("creditsPage.referrals.status.pendingEmail",{defaultValue:"Pending email verification"}),className:"border-primary/25 bg-primary/10 text-foreground dark:border-primary/25 dark:bg-primary/10 dark:text-primary"}:u==="pending_first_deck"?{label:e("creditsPage.referrals.status.pendingDeck",{defaultValue:"Pending first deck"}),className:"border-amber-200 bg-amber-50 text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-300"}:u==="completed"?{label:e("creditsPage.referrals.status.completed",{defaultValue:"Completed"}),className:"border-emerald-200 bg-emerald-50 text-emerald-700 dark:border-emerald-500/30 dark:bg-emerald-500/10 dark:text-emerald-300"}:u==="rejected"?{label:e("creditsPage.referrals.status.rejected",{defaultValue:"Rejected"}),className:"border-rose-200 bg-rose-50 text-rose-700 dark:border-rose-500/30 dark:bg-rose-500/10 dark:text-rose-300"}:{label:o||m,className:"border-slate-200 bg-slate-50 text-slate-700 dark:border-white/10 dark:bg-white/5 dark:text-slate-300"}};return r.jsxs("div",{className:"mx-auto max-w-6xl space-y-6",children:[r.jsxs("div",{className:"space-y-2",children:[r.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-amber-700 dark:text-amber-300",children:e("referralsPage.eyebrow",{defaultValue:"Referral rewards"})}),r.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[r.jsxs("div",{children:[r.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-foreground",children:e("referralsPage.pageTitle",{defaultValue:"Invite Friends"})}),r.jsx("p",{className:"mt-2 max-w-3xl text-sm leading-6 text-muted-foreground",children:e("referralsPage.pageSubtitle",{defaultValue:"Share your personal invite link, reward real deckbuilders, and keep track of who is close to unlocking your next credits."})})]}),r.jsxs(pe,{to:"/credits",className:"inline-flex items-center justify-center gap-2 rounded-full border border-slate-300 bg-white/80 px-4 py-2 text-sm font-medium text-slate-700 transition hover:bg-slate-50 dark:border-white/10 dark:bg-background/70 dark:text-slate-200 dark:hover:bg-background",children:[e("referralsPage.openCredits",{defaultValue:"Open credits"}),r.jsx(xe,{className:"h-4 w-4","aria-hidden":"true"})]})]})]}),r.jsxs("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1.45fr)_minmax(320px,0.9fr)]",children:[r.jsxs("section",{className:"relative overflow-hidden rounded-[28px] border border-amber-200/80 bg-gradient-to-br from-amber-50 via-background to-orange-50 shadow-[0_18px_60px_-24px_rgba(245,158,11,0.45)] dark:border-amber-500/20 dark:from-amber-950/20 dark:via-background dark:to-orange-950/10",children:[r.jsx("div",{className:"absolute -left-12 top-0 h-40 w-40 rounded-full bg-amber-300/20 blur-3xl","aria-hidden":"true"}),r.jsx("div",{className:"absolute bottom-0 right-0 h-48 w-48 rounded-full bg-orange-300/20 blur-3xl","aria-hidden":"true"}),r.jsxs("div",{className:"relative space-y-6 p-6 sm:p-8",children:[r.jsxs("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",children:[r.jsxs("div",{className:"space-y-3",children:[r.jsxs("h2",{className:"inline-flex items-center gap-3 text-3xl font-semibold tracking-tight text-slate-950 dark:text-foreground",children:[r.jsx("span",{children:e("creditsPage.referrals.title",{defaultValue:"Bring a friend into the game"})}),r.jsx(Ze,{className:"h-7 w-7 fill-amber-400 text-amber-400","aria-hidden":"true"})]}),r.jsx("p",{className:"max-w-3xl text-base leading-8 text-slate-600 dark:text-muted-foreground",children:r.jsx(He,{i18nKey:"creditsPage.referrals.subtitleRich",ns:"common",defaults:"Share MTG Master with a friend and help them start brewing. They get <friendReward></friendReward> after verifying their account, and you earn <yourReward></yourReward> when they build their first deck.",components:{friendReward:r.jsx(Q,{amount:10}),yourReward:r.jsx(Q,{amount:25})}})})]}),d?r.jsxs("span",{className:"inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white/80 px-3 py-1 text-xs text-muted-foreground dark:border-white/10 dark:bg-background/70",children:[r.jsx(Y,{className:"h-3.5 w-3.5 animate-spin","aria-hidden":"true"}),e("loading",{defaultValue:"Loading…"})]}):null]}),f?r.jsx("p",{className:"rounded-2xl border border-destructive/40 bg-destructive/5 px-4 py-3 text-sm text-destructive",children:f}):null,r.jsx("div",{className:"space-y-4",children:r.jsxs("div",{className:"space-y-2",children:[r.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:e("creditsPage.referrals.linkLabel",{defaultValue:"Your referral link"})}),r.jsx("div",{className:"rounded-2xl border border-slate-200 bg-white px-5 py-5 text-base text-slate-900 shadow-md dark:border-white/10 dark:bg-white dark:text-slate-900",children:r.jsxs("div",{className:"flex items-start gap-3",children:[r.jsx(We,{className:"mt-1 h-5 w-5 shrink-0 text-amber-600","aria-hidden":"true"}),r.jsx("span",{className:"break-all font-medium leading-7",children:N||m})]})}),r.jsxs("div",{className:`grid gap-3 ${k?"sm:grid-cols-2":""}`,children:[r.jsxs("button",{type:"button",className:"inline-flex min-h-12 items-center justify-center gap-2 rounded-2xl bg-slate-900 px-4 py-3 text-sm font-semibold text-white shadow-sm transition hover:bg-slate-800 disabled:cursor-not-allowed disabled:opacity-50 dark:bg-slate-100 dar
1k:text-slate-900 dark:hover:bg-white",disabled:!N,onClick:()=>y(N,"referral_link_copied",e("creditsPage.referrals.linkCopied",{defaultValue:"Referral link copied."})),children:[r.jsx(je,{className:"h-4 w-4","aria-hidden":"true"}),e("creditsPage.referrals.copyLink",{defaultValue:"Copy link"})]}),k?r.jsxs("button",{type:"button",className:"inline-flex min-h-12 items-center justify-center gap-2 rounded-2xl border border-slate-300 bg-white/90 px-4 py-3 text-sm font-semibold text-slate-900 transition hover:bg-slate-50 disabled:cursor-not-allowed disabled:opacity-50 dark:border-white/10 dark:bg-background/75 dark:text-foreground dark:hover:bg-background",disabled:!N,onClick:x,children:[r.jsx(he,{className:"h-4 w-4","aria-hidden":"true"}),e("referralsPage.shareAction",{defaultValue:"Share link"})]}):null]})]})}),r.jsx("div",{className:"rounded-2xl border border-amber-200/80 bg-white/70 px-4 py-3 text-sm leading-6 text-slate-600 dark:border-amber-500/20 dark:bg-background/60 dark:text-slate-300",children:e("referralsPage.rewardNote",{defaultValue:"Each new account can be linked to only one referrer. Your friend unlocks their welcome credits after email verification, and your reward unlocks after their first real deck."})}),r.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[r.jsx(q,{icon:Ne,label:e("creditsPage.referrals.pendingLabel",{defaultValue:"Pending"}),value:Number(P.pending||0).toLocaleString()}),r.jsx(q,{icon:ge,label:e("creditsPage.referrals.completedLabel",{defaultValue:"Completed"}),value:Number(P.completed||0).toLocaleString()}),r.jsx(q,{icon:be,label:e("creditsPage.referrals.earnedLabel",{defaultValue:"Credits earned"}),value:Number(P.credits_earned||0).toLocaleString()})]})]})]}),r.jsxs("aside",{className:"space-y-4",children:[r.jsxs("section",{className:"rounded-[24px] border bg-card/95 p-5 shadow-sm",children:[r.jsxs("div",{className:"space-y-2",children:[r.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:e("referralsPage.howItWorksEyebrow",{defaultValue:"How it works"})}),r.jsx("h2",{className:"text-lg font-semibold text-foreground",children:e("referralsPage.howItWorksTitle",{defaultValue:"Reward real MTG Master activity"})}),r.jsx("p",{className:"text-sm leading-6 text-muted-foreground",children:e("referralsPage.howItWorksSubtitle",{defaultValue:"The flow is simple, but rewards only unlock when the invited player actually gets into the product."})})]}),r.jsxs("div",{className:"mt-4 space-y-3",children:[r.jsx(Z,{icon:we,title:e("referralsPage.stepOneTitle",{defaultValue:"Share your link"}),body:e("referralsPage.stepOneBody",{defaultValue:"Send your permanent referral code or link to a friend who has not created an account yet."})}),r.jsx(Z,{icon:Ue,title:e("referralsPage.stepTwoTitle",{defaultValue:"They verify their account"}),body:e("referralsPage.stepTwoBody",{defaultValue:"Once they sign up and confirm their email, they receive 10 welcome credits."})}),r.jsx(Z,{icon:ye,title:e("referralsPage.stepThreeTitle",{defaultValue:"They build their first deck"}),body:e("referralsPage.stepThreeBody",{defaultValue:"As soon as they create their first real deck, you receive your 25-credit referral reward."})})]})]}),r.jsxs("section",{className:"rounded-[24px] border border-slate-200 bg-slate-950 p-5 text-slate-50 shadow-sm dark:border-white/10 dark:bg-slate-900",children:[r.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.18em] text-amber-300",children:e("referralsPage.goodToKnowEyebrow",{defaultValue:"Good to know"})}),r.jsx("h2",{className:"mt-2 text-lg font-semibold",children:e("referralsPage.goodToKnowTitle",{defaultValue:"Designed to reward real players"})}),r.jsx("p",{className:"mt-2 text-sm leading-6 text-slate-300",children:e("referralsPage.goodToKnowBody",{defaultValue:"Referral rewards are tied to email verification and first deck creation, not just account creation. That keeps the program useful for real community growth."})})]})]})]}),r.jsxs("section",{className:"rounded-[24px] border bg-card p-5 shadow-sm",children:[r.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[r.jsxs("div",{children:[r.jsx("h2",{className:"text-lg font-semibold text-foreground",children:e("creditsPage.referrals.recentTitle",{defaultValue:"Recent referrals"})}),r.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:e("referralsPage.recentSubtitle",{defaultValue:"See who is still verifying, who is close to your reward, and which referrals have already completed."})})]}),r.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 rounded-full border px-4 py-2 text-sm font-medium text-foreground transition hover:bg-muted disabled:cursor-not-allowed disabled:opacity-50",onClick:V,disabled:d,children:[r.jsx(Y,{className:`h-4 w-4 ${d?"animate-spin":""}`,"aria-hidden":"true"}),e("retry",{defaultValue:"Retry"})]})]}),h.length===0?r.jsx("div",{className:"mt-4 rounded-2xl border border-dashed px-4 py-6 text-sm text-muted-foreground",children:e("creditsPage.referrals.empty",{defaultValue:"No referrals yet. Share your link to get started."})}):r.jsx("div",{className:"mt-4 grid gap-3",children:h.map(o=>{const u=g(o.status);return r.jsxs("article",{className:"rounded-2xl border border-slate-200/80 bg-background/70 p-4 shadow-sm dark:border-white/10",children:[r.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[r.jsxs("div",{className:"space-y-2",children:[r.jsx("span",{className:`inline-flex rounded-full border px-3 py-1 text-[11px] font-semibold uppercase tracking-[0.14em] ${u.className}`,children:u.label}),r.jsx("p",{className:"text-sm text-muted-foreground",children:e("creditsPage.referrals.joinedAt",{defaultValue:"Joined {{date}}
1",date:o.signup_at?new Date(o.signup_at).toLocaleString():m})})]}),o.fraud_status&&o.fraud_status!=="clear"?r.jsx("span",{className:"inline-flex rounded-full border border-amber-300 bg-amber-50 px-3 py-1 text-[11px] font-semibold uppercase tracking-[0.14em] text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-300",children:o.fraud_status}):null]}),r.jsxs("div",{className:"mt-4 grid gap-3 text-sm text-muted-foreground md:grid-cols-2",children:[r.jsxs("div",{className:"rounded-2xl border border-slate-200/80 bg-slate-50/70 px-4 py-3 dark:border-white/10 dark:bg-white/5",children:[r.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e("creditsPage.referrals.status.pendingEmail",{defaultValue:"Pending email verification"})}),r.jsx("p",{className:"mt-1",children:o.email_verified_at?e("creditsPage.referrals.verifiedAt",{defaultValue:"Verified {{date}}",date:new Date(o.email_verified_at).toLocaleString()}):m})]}),r.jsxs("div",{className:"rounded-2xl border border-slate-200/80 bg-slate-50/70 px-4 py-3 dark:border-white/10 dark:bg-white/5",children:[r.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e("creditsPage.referrals.status.pendingDeck",{defaultValue:"Pending first deck"})}),r.jsx("p",{className:"mt-1",children:o.first_deck_created_at?e("creditsPage.referrals.firstDeckAt",{defaultValue:"First deck created {{date}}",date:new Date(o.first_deck_created_at).toLocaleString()}):m})]})]})]},o.id)})})]}),t?r.jsx("div",{className:`fixed right-4 top-16 z-50 rounded-md px-3 py-2 text-sm text-white shadow ${a==="error"?"bg-red-600":"bg-emerald-600"}`,children:t}):null]})}export{Qe 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.