PageSourceSearch

https://frozencrypt.space/assets/ProfilePage-88m6dYsl.js

js frozencrypt.space collected 2026-10-07 19:54:54 UTC 49,599 bytes, 27 lines download raw bytes

1import{j as e,L as W,u as jt,a as Nt,b as St,r as o,c as wt,d as D,S as je,C as Ne,P as xe}from"./index-D5TOiMsT.js";function Xe({type:a,id:s,name:v}){if(!s||!v)return null;const d=a==="alliance",x=d?`/alliance/${s}`:`/corp/${s}`,t=d?"ALLIANCE":"CORPORATION",n=d?`https://images.evetech.net/alliances/${s}/logo?size=64`:`https://images.evetech.net/corporations/${s}/logo?size=64`;return e.jsxs(W,{to:x,className:"flex items-center gap-2.5 px-3 py-2 rounded transition-colors duration-150",style:{background:"var(--color-eve-card)",border:"1px solid var(--color-eve-border)",textDecoration:"none"},onMouseEnter:h=>h.currentTarget.style.borderColor="var(--color-eve-blue)",onMouseLeave:h=>h.currentTarget.style.borderColor="var(--color-eve-border)",children:[e.jsx("img",{src:n,alt:v,width:32,height:32,style:{borderRadius:4,flexShrink:0},onError:h=>{h.target.style.display="none"}}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-sm font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text-dim)",letterSpacing:"0.08em"},children:t}),e.jsx("div",{className:"text-base truncate",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:v})]})]})}const Ct=`
2  @keyframes gold-sweep {
3    0%   { background-position: -250% center; }
4    100% { background-position: 250% center; }
5  }
6  @keyframes gold-border-pulse {
7    0%, 100% { box-shadow: inset 0 0 0 1px rgba(200,168,75,0.35), 0 0 8px rgba(200,168,75,0.08); }
8    50%       { box-shadow: inset 0 0 0 1px rgba(255,210,80,0.85), 0 0 18px rgba(200,168,75,0.22); }
9  }
10  .accent-row {
11    background-image: linear-gradient(
12      105deg,
13      rgba(200,168,75,0.07) 0%,
14      rgba(200,168,75,0.07) 35%,
15      rgba(255,215,90,0.38) 48%,
16      rgba(255,235,140,0.55) 50%,
17      rgba(255,215,90,0.38) 52%,
18      rgba(200,168,75,0.07) 65%,
19      rgba(200,168,75,0.07) 100%
20    ) !important;
21    background-size: 300% 100%;
22    animation:
23      gold-sweep        6s ease-in-out infinite,
24      gold-border-pulse 6s ease-in-out infinite;
25  }
26  .accent-row:hover { filter: brightness(1.12); }
27`;function kt(a){if(a==null)return null;if(a>=1e9){const s=a/1e9;return`${s%1===0?s.toFixed(0):s.toFixed(2).replace(/\.?0+$/,"")}B ISK`}if(a>=1e6){const s=a/1e6;return`${s%1===0?s.toFixed(0):s.toFixed(1).replace(/\.?0+$/,"")}M ISK`}return a>=1e3?`${(a/1e3).toFixed(0)}K ISK`:`${a.toLocaleString()} ISK`}function Et({price:a}){return a==null?e.jsx("span",{className:"text-sm px-2 py-0.5 rounded",style:{fontFamily:"var(--font-eve)",background:"rgba(200,168,75,0.12)",color:"var(--color-eve-gold)",border:"1px solid rgba(200,168,75,0.3)"},children:"NEGOTIABLE"}):e.jsx("span",{className:"text-base tabular-nums font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-green)"},children:kt(a)})}function Se(a,s,v){if(!s.size)return a;const d=a.filter(t=>s.has(v(t))),x=a.filter(t=>!s.has(v(t)));return[...d,...x]}function Qe({orders:a,type:s,characterName:v,accentIds:d}){const x=s==="wts";if(!a||a.length===0)return e.jsxs("div",{className:"px-4 py-6 text-center text-sm italic",style:{color:"var(--color-eve-text-dim)"},children:[v," has no ",x?"sell":"buy"," orders listed."]});const t=Se(a,d,n=>n.corpseCharacterId);return e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{style:{borderBottom:"1px solid var(--color-eve-border)",background:"rgba(0,168,255,0.04)"},children:[e.jsx("th",{className:"px-3 py-2 text-left text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"CORPSE"}),x&&e.jsx("th",{className:"px-3 py-2 text-right text-sm hidden sm:table-cell",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"QTY"}),e.jsx("th",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:x?"ASKING PRICE":"OFFERING PRICE"})]})}),e.jsx("tbody",{children:t.map(n=>{const h=d.has(n.corpseCharacterId);return e.jsxs("tr",{className:h?"accent-row":"",style:{borderBottom:"1px solid rgba(26,40,64,0.5)"},onMouseEnter:m=>{h||(m.currentTarget.style.background="rgba(0,168,255,0.03)")},onMouseLeave:m=>{h||(m.currentTarget.style.background="transparent")},children:[e.jsx("td",{className:"px-3 py-2",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(W,{to:`/crypt/${n.corpseCharacterId}`,className:"flex-shrink-0",children:e.jsx("img",{src:`https://images.evetech.net/characters/${n.corpseCharacterId}/portrait?size=64`,alt:n.corpseCharacterName,width:32,height:32,className:"rounded",style:{border:h?"1px solid rgba(200,168,75,0.75)":"1px solid var(--color-eve-border)",boxShadow:h?"0 0 10px rgba(200,168,75,0.45)":"none"},onError:m=>{m.target.src="https://images.evetech.net/characters/1/portrait?size=64"}})}),e.jsx(W,{to:`/crypt/${n.corpseCharacterId}`,className:"text-base font-medium hover:underline",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)",textShadow:h?"0 0 14px rgba(200,168,75,0.7)":"none"},children:n.corpseCharacterName})]})}),x&&e.jsx("td",{className:"px-3 py-2 text-right hidden sm:table-cell",children:e.jsxs("span",{className:"text-base tabular-nums",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text-dim)"},children:["×",n.quantity||1]})}),e.jsx("td",{className:"px-3 py-2 text-right",children:e.jsx(Et,{price:n.price})})]},n.corpseCharacterId)})})]})}const se=20,Ze=[{id:"",label:"DEFAULT"},{id:"name",label:"NAME A-Z"},{id:"qty",label:"QUANTITY"},{id:"fav",label:"FAVORITED FIRST"},{id:"tagged",label:"TAGGED FIRST"}];function Je({type:a,name:s}){if(!s)return null;const d=a==="alliance"?"ALLIANCE":"CORPORATION";return e.jsx("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded",style:{background:"var(--color-eve-card)",border:"1px solid var(--color-eve-border)"},children:e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-sm font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text-dim)",letterSpacing:"0.08em"},children:d}),e.jsx("div",{className:"text-base truncate",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:s})]})})}function et({type:a,orgId:s,orgName:v,onCreated:d}
27){const[x,t]=o.useState(!1),[n,h]=o.useState(""),m=a==="alliance",g=m?"ALLIANCE":"CORP",O=m?`https://images.evetech.net/alliances/${s}/logo?size=64`:`https://images.evetech.net/corporations/${s}/logo?size=64`;async function N(){var z,f;t(!0),h("");try{await D.post(`/api/orgs/${a==="alliance"?"alliance":"corp"}/${s}/create`),d==null||d()}catch(K){h(((f=(z=K.response)==null?void 0:z.data)==null?void 0:f.error)||"Failed")}finally{t(!1)}}return e.jsxs("div",{className:"flex flex-col gap-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2.5 px-3 py-2 rounded",style:{background:"var(--color-eve-card)",border:"1px solid var(--color-eve-border)"},children:[e.jsx("img",{src:O,alt:v,width:32,height:32,style:{borderRadius:4,flexShrink:0},onError:z=>{z.target.style.display="none"}}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"text-sm font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text-dim)",letterSpacing:"0.08em"},children:m?"ALLIANCE":"CORPORATION"}),e.jsx("div",{className:"text-base truncate",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:v})]})]}),e.jsx("button",{onClick:N,disabled:x,className:"eve-btn text-sm py-1.5 px-3 whitespace-nowrap",style:{borderColor:"var(--color-eve-blue)",color:"var(--color-eve-blue)",opacity:x?.6:1},children:x?"...":`+ CREATE ${g} PAGE`})]}),n&&e.jsx("span",{className:"text-sm",style:{color:"var(--color-eve-red, #e84040)",fontFamily:"var(--font-eve)"},children:n})]})}function Ft({lastAssetUpdate:a,isOwner:s}){const[v,d]=o.useState(!1),x=o.useRef(null),t=a?Math.floor((Date.now()-a.getTime())/(1e3*60*60*24)):null,n=s?"Your binding to the Frozen Crypt has lapsed. Return to the sacred halls and re-consecrate your connection — lest your offering be marked with this black mark.":"This capsuleer has not presented themselves to the Frozen Crypt in some time. They may be unaware their binding has lapsed. Until they return, their collection cannot be confirmed.";return e.jsxs("div",{className:"relative mb-6",ref:x,children:[e.jsxs("button",{onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onFocus:()=>d(!0),onBlur:()=>d(!1),className:"w-full flex items-center gap-3 px-4 py-3 rounded text-left",style:{background:"rgba(180,40,40,0.08)",border:"1px solid rgba(180,40,40,0.4)",fontFamily:"var(--font-eve)",cursor:"default"},children:[e.jsx("span",{style:{fontSize:"1rem",flexShrink:0},children:"⚠"}),e.jsx("span",{className:"text-sm font-bold tracking-widest",style:{color:"rgba(220,80,80,0.9)",letterSpacing:"0.12em"},children:"OLD COLLECTION"}),t!==null&&e.jsxs("span",{className:"text-sm ml-auto",style:{color:"rgba(180,80,80,0.6)"},children:[t,"d ago"]})]}),v&&e.jsxs("div",{className:"absolute z-50 left-0 right-0 mt-1 px-5 py-4 rounded",style:{background:"linear-gradient(160deg, rgba(28,6,6,0.98) 0%, rgba(18,4,4,0.99) 100%)",border:"1px solid rgba(180,40,40,0.5)",boxShadow:"0 8px 32px rgba(0,0,0,0.7), 0 0 24px rgba(180,40,40,0.12)"},children:[e.jsx("p",{className:"text-sm font-bold mb-2 tracking-widest",style:{fontFamily:"var(--font-eve)",color:"rgba(220,80,80,0.9)",letterSpacing:"0.12em"},children:"THE FROZEN CRYPT CANNOT VERIFY THIS OFFERING"}),e.jsxs("p",{className:"text-sm leading-relaxed mb-2",style:{color:"rgba(200,160,160,0.8)",fontFamily:"var(--font-eve)"},children:["The records for this capsuleer have not been refreshed",t!==null?` in ${t} day${t!==1?"s":""}`:"",". The Frozen Crypt cannot confirm these corpses remain in their possession — their collection may have been transferred, consumed, or lost to the void."]}),e.jsx("p",{className:"text-sm leading-relaxed mb-3",style:{color:"rgba(180,120,120,0.7)",fontFamily:"var(--font-eve)"},children:n}),s&&e.jsx(W,{to:"/dashboard",className:"inline-block text-sm font-bold px-3 py-1.5 rounded",style:{fontFamily:"var(--font-eve)",letterSpacing:"0.08em",color:"rgba(220,80,80,0.9)",border:"1px solid rgba(180,40,40,0.5)",background:"rgba(180,40,40,0.12)",textDecoration:"none"},children:"↗ RETURN TO THE DASHBOARD"})]})]})}function At(){const{characterId:a}=jt(),{user:s,scanComplete:v}=Nt(),[d,x]=St(),[t,n]=o.useState(null),[h,m]=o.useState(!0);wt(t!=null&&t.characterName?`${t.characterName}'s Profile`:"Capsuleer Profile",t!=null&&t.characterName?`${t.characterName}'s EVE Online frozen corpse collection on FrozenCrypt.space.`:void 0,!!t,a?`https://images.evetech.net/characters/${a}/portrait?size=512`:void 0);const g=new Set((d.get("accent")||"").split(",").map(r=>parseInt(r,10)).filter(r=>r>0)),O=d.get("wts")==="1",N=d.get("wtb")==="1",z=["collection","newest","podded"],[f,K]=o.useState(()=>
27{const r=new URLSearchParams(window.location.search).get("tab");return z.includes(r)?r:"collection"});function Y(r){K(r),x(p=>{const c=new URLSearchParams(p);return r==="collection"?c.delete("tab"):c.set("tab",r),c},{replace:!0})}const[$,V]=o.useState(new Set),[S,T]=o.useState(1),[G,I]=o.useState(1),[_,oe]=o.useState(""),[q,L]=o.useState(""),[y,w]=o.useState(""),[l,i]=o.useState([]),[u,we]=o.useState(0),[Ce,tt]=o.useState(!1),[rt,ke]=o.useState(!1),[at,Ee]=o.useState([]),[Fe,Oe]=o.useState(0),[Te,st]=o.useState(!1),[ot,Ie]=o.useState(!1),[lt,Le]=o.useState([]),[Pe,Ae]=o.useState(0),[Re,nt]=o.useState(!1),[ct,De]=o.useState(!1),[le,X]=o.useState(1),[ze,$e]=o.useState([]),[Lt,it]=o.useState(0),[Be,Ue]=o.useState(!1),[me,dt]=o.useState(1),[Me,xt]=o.useState(1),[We,Ve]=o.useState([]),P=o.useRef(new Map),A=o.useRef(new Map),B=o.useRef(new Map),mt=Math.ceil(u/se),vt=Math.ceil(Fe/se),ht=Math.ceil(Pe/se),He=(r,p,c,C="")=>`${p}|${c}|${C}|${r}`,Q=o.useCallback(async({targetPage:r,favOnly:p,sortVal:c,filterVal:C,accentStr:j="",cacheRef:k,setData:H,setTotal:te,setIsLoading:F,setIsError:ae,onFetched:re})=>{const fe=He(r,c,C,j);if(k.current.has(fe)){const M=k.current.get(fe);H(M.corpses),te(M.total),ae(!1),re==null||re(M.pages);return}F(!0),ae(!1);try{const M={page:r,limit:se,sort:c,filter:C,favOnly:p?"true":"false"};j&&(M.accent=j);const de=await D.get(`/api/users/${a}/corpses`,{params:M});k.current.set(fe,de.data),H(de.data.corpses),te(de.data.total),re==null||re(de.data.pages)}catch(M){console.error("fetchCorpsePage error:",M),ae(!0)}finally{F(!1)}},[a]),Ke=o.useCallback(async({targetPage:r,favOnly:p,sortVal:c,filterVal:C,accentStr:j="",cacheRef:k,totalPages:H})=>{if(r<1||H&&r>H)return;const te=He(r,c,C,j);if(!k.current.has(te))try{const F={page:r,limit:se,sort:c,filter:C,favOnly:p?"true":"false"};j&&(F.accent=j);const ae=await D.get(`/api/users/${a}/corpses`,{params:F});k.current.set(te,ae.data)}catch{}},[a]),ve=o.useCallback((r,p,c,C,j,k,H)=>{new Set([1,2,3,p,r-1,r+1]).forEach(F=>{F>=1&&F<=p&&F!==r&&setTimeout(()=>Ke({targetPage:F,favOnly:c,sortVal:C,filterVal:j,accentStr:k,cacheRef:H,totalPages:p}),80)})},[Ke]);async function ne(){m(!0);try{const r=await D.get(`/api/users/${a}`);n(r.data)}catch(r){console.error(r)}finally{m(!1)}}o.useEffect(()=>{P.current.clear(),A.current.clear(),B.current.clear(),T(1),I(1),X(1),oe(""),L(""),w(""),i([]),Ee([]),Le([]),we(0),Oe(0),Ae(0),ke(!1),Ie(!1),De(!1),ne()},[a]),o.useEffect(()=>{v>0&&(P.current.clear(),A.current.clear(),B.current.clear(),ne())},[v]);const E=t?t.showAll??(t.privacy==="public"||t.isOwner):!1,Ye=t?t.privacy==="favorites"||t.privacy==="public"||t.isOwner:!1,he=[...g].sort().join(",");o.useEffect(()=>{!t||!E||Q({targetPage:S,favOnly:!1,sortVal:_,filterVal:y,accentStr:he,cacheRef:P,setData:i,setTotal:we,setIsLoading:tt,setIsError:ke,onFetched:r=>ve(S,r,!1,_,y,he,P)})},[t,S,_,y,he,Q]),o.useEffect(()=>{!t||!Ye||!t.favCount||Q({targetPage:G,favOnly:!0,sortVal:q,filterVal:y,cacheRef:A,setData:Ee,setTotal:Oe,setIsLoading:st,setIsError:Ie,onFetched:r=>ve(G,r,!0,q,y,"",A)})},[t,G,q,y,Q]),o.useEffect(()=>{!t||!E||Q({targetPage:le,favOnly:!1,sortVal:"newest",filterVal:y,cacheRef:B,setData:Le,setTotal:Ae,setIsLoading:nt,setIsError:De,onFetched:r=>ve(le,r,!1,"newest",y,"",B)})},[t,le,y,Q]),o.useEffect(()=>{if(!t||!E||!t.podKillCount){V(new Set);return}D.get(`/api/users/${a}/confirmed-ids`).then(r=>V(new Set(r.data.confirmedIds||[]))).catch(()=>V(new Set))},[t,E,a]),o.useEffect(()=>{!t||f!=="podded"||!t.isOwner||D.get("/api/users/me/podded-favorites").then(r=>Ve(r.data.corpses||[])).catch(()=>Ve([]))},[t,f]),o.useEffect(()=>{!t||f!=="podded"||!E||(Ue(!0),D.get(`/api/users/${a}/confirmed-corpses`,{params:{page:me,limit:20}}).then(r=>{$e(r.data.corpses||[]),it(r.data.total||0),xt(r.data.pages||1)}).catch(()=>{$e([])}).finally(()=>Ue(!1)))},[t,f,me,E,a]);function pt(){x(r=>{const p=new URLSearchParams(r);return p.get("wts")==="1"?p.delete("wts"):p.set("wts","1"),p},{replace:!0})}function ft(){x(r=>{const p=new URLSearchParams(r);return p.get("wtb")==="1"?p.delete("wtb"):p.set("wtb","1"),p},{replace:!0})}if(h)return e.jsxs("div",{className:"flex items-center justify-center min-h-96 gap-4",children:[e.jsx(je,{size:48}),e.jsx("span",{style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)",letterSpacing:"0.1em"},children:"ACCESSING PERSONNEL FILE..."})]});if(!t)return e.jsxs("div",{className:"text-center py-24",style:{color:"var(--color-eve-text-dim)"},children:[e.jsx("p",{className:"text-2xl mb-2",style:{fontFamily:"var(--font-eve)"},children:"CAPSULEER NOT FOUND"}),e.jsx("p",{className:"text-base",children:"This character has not registered with the Crypt."})]});const R=t.isOwner,b=t.privacy==="private"&&!R,Ge=t.unique??0,U=t.total??0,Z=t.favCount??0,J=t.confirmedCount??0,ee=t.podKillCount??0,gt=t.isStale??!1,ut=t.lastAssetUpdate?new Date(t.lastAssetUpdate):null,ce=t.wtsOrders??[],ie=t.wtbOrders??[],_e=ce.length>0,qe=ie.length>0,bt=Se(l,g,r=>r.characterId),yt=Se(at,g,r=>r.characterId);function pe(r){const c=new Set(g);c.has(r)?c.delete(r):c.size<3&&c.add(r),x(C=>{const j=new URLSearchParams(C),k=[...c].join(",");return k?j.set("accent",k):j.delete("accent"),j},{replace:!0})}return e.jsxs("div",{className:"max-w-5xl mx-auto px-4 py-8",children:[e.jsx("style",{children:Ct}),e.jsx("div",{className:"eve-card rounded-lg p-6 mb-8",children:e.jsxs("div",{className:"flex flex-col sm:flex-row gap-6 items-center sm:items-start",children:[e.jsxs("div",{className:"relative flex-shrink-0",children:[e.jsx("div",{className:"rounded overflow-hidden",style:{border:"2px s
27olid var(--color-eve-blue-dim)",boxShadow:"0 0 20px rgba(0,168,255,0.2)"},children:e.jsx("img",{src:`https://images.evetech.net/characters/${t.characterId}/portrait?size=256`,alt:t.characterName,width:128,height:128,className:"block"})}),e.jsx("div",{className:"absolute -bottom-2 left-1/2 -translate-x-1/2 px-2 py-0.5 text-sm rounded whitespace-nowrap",style:{fontFamily:"var(--font-eve)",background:"var(--color-eve-card)",border:"1px solid var(--color-eve-border)",color:t.privacy==="public"?"var(--color-eve-green)":"var(--color-eve-text-dim)",letterSpacing:"0.08em"},children:t.privacy.toUpperCase()})]}),e.jsxs("div",{className:"flex-1 min-w-0 w-full text-center sm:text-left",children:[e.jsx("h1",{className:"text-3xl font-bold mb-1",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:t.characterName}),e.jsxs("p",{className:"text-base mb-4",style:{color:"var(--color-eve-text-dim)"},children:["CAPSULEER · ID ",t.characterId]}),e.jsxs("div",{className:"flex flex-wrap gap-2 justify-center sm:justify-start",children:[e.jsx(W,{to:`/crypt/${t.characterId}`,className:"eve-btn text-sm py-2",children:"📦 VIEW CRYPT"}),e.jsx("a",{href:`https://zkillboard.com/character/${t.characterId}/ship/670/losses/`,target:"_blank",rel:"noopener noreferrer",className:"eve-btn eve-btn-gold text-sm py-2",children:"💀 ZKILLBOARD ↗"}),R&&e.jsx(W,{to:"/dashboard",className:"eve-btn text-sm py-2",style:{borderColor:"var(--color-eve-gold-dim)",color:"var(--color-eve-gold)"},children:"⚙ EDIT PROFILE"}),!b&&(_e||R)&&e.jsxs("button",{onClick:pt,className:"eve-btn text-sm py-2 flex items-center gap-1.5",style:{borderColor:O?"var(--color-eve-green)":"var(--color-eve-border)",color:O?"var(--color-eve-green)":"var(--color-eve-text-dim)",background:O?"rgba(45,203,111,0.08)":"transparent"},children:[e.jsx("span",{children:"📤"}),e.jsxs("span",{children:["WTS ",_e?`(${ce.length})`:""]})]}),!b&&(qe||R)&&e.jsxs("button",{onClick:ft,className:"eve-btn text-sm py-2 flex items-center gap-1.5",style:{borderColor:N?"var(--color-eve-blue)":"var(--color-eve-border)",color:N?"var(--color-eve-blue)":"var(--color-eve-text-dim)",background:N?"rgba(0,168,255,0.08)":"transparent"},children:[e.jsx("span",{children:"📥"}),e.jsxs("span",{children:["WTB ",qe?`(${ie.length})`:""]})]})]}),(t.corporationId||t.allianceId)&&e.jsxs("div",{className:"flex flex-wrap gap-2 mt-3 justify-center sm:justify-start",children:[t.corporationId&&(t.corpPageExists?e.jsx(Xe,{type:"corp",id:t.corporationId,name:t.corporationName}):R&&(s!=null&&s.isCorpCeo)&&(s==null?void 0:s.corporationId)===t.corporationId?e.jsx(et,{type:"corp",orgId:t.corporationId,orgName:t.corporationName,onCreated:ne}):e.jsx(Je,{type:"corp",name:t.corporationName})),t.allianceId&&(t.alliancePageExists?e.jsx(Xe,{type:"alliance",id:t.allianceId,name:t.allianceName}):R&&(s!=null&&s.isAllianceLeader)&&(s==null?void 0:s.allianceId)===t.allianceId?e.jsx(et,{type:"alliance",orgId:t.allianceId,orgName:t.allianceName,onCreated:ne}):e.jsx(Je,{type:"alliance",name:t.allianceName}))]})]}),!b&&e.jsxs("div",{className:"flex flex-wrap sm:flex-col gap-3 sm:gap-2 text-center justify-center flex-shrink-0",children:[J>0&&e.jsxs("div",{className:"eve-card rounded p-3 min-w-24",style:{boxShadow:"0 0 12px rgba(45,203,111,0.15)",borderColor:"rgba(45,203,111,0.4)"},children:[e.jsx("div",{className:"text-2xl font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-green)"},children:J.toLocaleString()}),e.jsx("div",{className:"text-sm font-bold",style:{color:"var(--color-eve-green)",fontFamily:"var(--font-eve)",opacity:.8},children:"PODDED"})]}),Z>0&&e.jsxs("div",{className:"eve-card rounded p-3 min-w-24",children:[e.jsx("div",{className:"text-2xl font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-gold)"},children:Z.toLocaleString()}),e.jsx("div",{className:"text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"FAVORITES"})]}),Ge>0&&e.jsxs("div",{className:"eve-card rounded p-3 min-w-24",style:{boxShadow:"0 0 12px rgba(0,168,255,0.12)",borderColor:"rgba(0,168,255,0.35)"},children:[e.jsx("div",{className:"text-2xl font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-blue)"}
27,children:Ge.toLocaleString()}),e.jsx("div",{className:"text-sm font-bold",style:{color:"var(--color-eve-blue)",fontFamily:"var(--font-eve)",opacity:.8},children:"UNIQUE"})]}),U>0&&e.jsxs("div",{className:"eve-card rounded p-3 min-w-24",children:[e.jsx("div",{className:"text-2xl font-bold",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text-dim)"},children:U.toLocaleString()}),e.jsx("div",{className:"text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"TOTAL"})]})]})]})}),d.get("from")==="mail"&&e.jsxs("div",{className:"mb-6 px-5 py-4 rounded flex items-start gap-4",style:{background:"linear-gradient(135deg, rgba(180,20,20,0.10) 0%, rgba(80,0,0,0.18) 100%)",border:"1px solid rgba(180,40,40,0.45)",boxShadow:"0 0 24px rgba(140,0,0,0.10)"},children:[e.jsx("span",{style:{fontSize:"1.2rem",lineHeight:1,flexShrink:0,marginTop:2},children:"☩"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-bold tracking-widest mb-1",style:{fontFamily:"var(--font-eve)",color:"rgba(220,80,80,0.9)",letterSpacing:"0.12em"},children:"YOU ARE IN THIS COLLECTION"}),e.jsxs("p",{className:"text-sm leading-relaxed",style:{fontFamily:"var(--font-eve)",color:"rgba(200,150,150,0.75)"},children:["A capsuleer has catalogued your frozen corpse. Your remains are preserved here — a permanent entry in their collection.",g.size>0&&" Your corpse is highlighted below."]})]})]}),!b&&gt&&e.jsx(Ft,{lastAssetUpdate:ut,isOwner:R}),b&&e.jsxs("div",{className:"text-center py-16 eve-card rounded-lg",style:{color:"var(--color-eve-text-dim)"},children:[e.jsx("div",{className:"text-5xl mb-4",children:"🔒"}),e.jsxs("p",{className:"text-xl mb-2",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text)"},children:[t.characterName,"'s corpse collection is private."]}),e.jsx("p",{className:"text-base",children:"This capsuleer has chosen to keep their collection secret."})]}),!b&&e.jsxs("div",{className:"flex gap-0 mb-6 border-b overflow-x-auto",style:{borderColor:"var(--color-eve-border)"},children:[e.jsx("button",{onClick:()=>Y("collection"),className:"px-4 sm:px-6 py-3 text-sm tracking-widest transition-all duration-200 flex-shrink-0 whitespace-nowrap",style:{fontFamily:"var(--font-eve)",color:f==="collection"?"#fff":"var(--color-eve-text-dim)",background:f==="collection"?"rgba(0,168,255,0.08)":"transparent",borderBottom:f==="collection"?"2px solid var(--color-eve-blue)":"2px solid transparent",marginBottom:"-1px"},children:"COLLECTION"}),E&&U>0&&e.jsx("button",{onClick:()=>Y("newest"),className:"px-4 sm:px-6 py-3 text-sm tracking-widest transition-all duration-200 flex-shrink-0 whitespace-nowrap",style:{fontFamily:"var(--font-eve)",color:f==="newest"?"#fff":"var(--color-eve-text-dim)",background:f==="newest"?"rgba(0,168,255,0.08)":"transparent",borderBottom:f==="newest"?"2px solid var(--color-eve-blue)":"2px solid transparent",marginBottom:"-1px"},children:"NEWEST"}),ee>0&&e.jsx("button",{onClick:()=>Y("podded"),className:"px-4 sm:px-6 py-3 text-sm tracking-widest transition-all duration-200 flex-shrink-0 whitespace-nowrap",style:{fontFamily:"var(--font-eve)",color:f==="podded"?"var(--color-eve-green)":"var(--color-eve-text-dim)",background:f==="podded"?"rgba(45,203,111,0.08)":"transparent",borderBottom:f==="podded"?"2px solid var(--color-eve-green)":"2px solid transparent",marginBottom:"-1px"},children:J>0?`✓ PODDED & SCOOPED (${J})`:"✓ PODDED & SCOOPED"})]}),!b&&f==="collection"&&O&&e.jsxs("section",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx("span",{children:"📤"}),e.jsx("h2",{className:"text-base font-bold tracking-widest",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-green)"},children:"WANT TO SELL"}),e.jsx("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:"rgba(45,203,111,0.12)",color:"var(--color-eve-green)",fontFamily:"var(--font-eve)",border:"1px solid rgba(45,203,111,0.3)"},children:ce.length}),e.jsx("div",{className:"flex-1 h-px",style:{background:"var(--color-eve-border)"}}),e.jsx(W,{to:"/trades?tab=wts",className:"text-sm hover:underline",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"VIEW TRADE BOARD ↗"})]}),e.jsx("div",{className:"eve-card rounded-lg overflow-hidden",children:e.jsx(Qe,{orders:ce,type:"wts",characterName:t.characterName,accentIds:g})})]}),!b&&f==="collection"&&N&&e.jsxs("section",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx("span",{children:"📥"}),e.jsx("h2",{className:"text-base font-bold tracking-widest",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-blue)"},children:"WANT TO BUY"}),e.jsx("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:"rgba(0,168,255,0.12)",color:"var(--color-eve-blue)",fontFamily:"var(--font-eve)",border:"1px solid rgba(0,168,255,0.3)"},children:ie.length}),e.jsx("div",{className:"flex-1 h-px",style:{background:"var(--color-eve-border)"}}
27),e.jsx(W,{to:"/trades?tab=wtb",className:"text-sm hover:underline",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"VIEW TRADE BOARD ↗"})]}),e.jsx("div",{className:"eve-card rounded-lg overflow-hidden",children:e.jsx(Qe,{orders:ie,type:"wtb",characterName:t.characterName,accentIds:g})})]}),!b&&f==="podded"&&E&&e.jsxs("section",{className:"mb-8",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-3",children:[e.jsx("span",{children:"✓"}),e.jsx("h2",{className:"text-base font-bold tracking-widest",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-green)"},children:"PODDED & SCOOPED"}),J>0&&e.jsx("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:"rgba(45,203,111,0.12)",color:"var(--color-eve-green)",fontFamily:"var(--font-eve)",border:"1px solid rgba(45,203,111,0.3)"},children:J}),e.jsx("div",{className:"flex-1 h-px",style:{background:"var(--color-eve-border)"}}),ee>0&&e.jsxs("span",{className:"text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:[ee.toLocaleString()," POD KILLS ON RECORD"]})]}),R&&We.length>0&&e.jsxs("div",{className:"eve-card rounded overflow-hidden mb-4",children:[e.jsx("div",{className:"px-4 py-2.5",style:{borderBottom:"1px solid var(--color-eve-border)",background:"rgba(45,203,111,0.04)"},children:e.jsx("span",{className:"text-sm tracking-widest",style:{color:"var(--color-eve-green)",fontFamily:"var(--font-eve)"},children:"★ FAVORITED PODDED & SCOOPED"})}),e.jsx("table",{className:"w-full",children:e.jsx("tbody",{children:We.map(r=>{var p;return e.jsxs("tr",{className:"transition-colors duration-150",style:{borderBottom:"1px solid rgba(26,40,64,0.4)"},onMouseEnter:c=>{c.currentTarget.style.background="rgba(45,203,111,0.03)"},onMouseLeave:c=>{c.currentTarget.style.background="transparent"},children:[e.jsxs("td",{className:"px-3 py-2 w-10 text-center",children:[e.jsx("span",{style:{color:"var(--color-eve-gold)",fontSize:"0.7rem"},children:"★"}),e.jsx("span",{style:{color:"var(--color-eve-green)",fontSize:"0.6rem",marginLeft:"2px"},children:"✓"})]}),e.jsx("td",{className:"px-3 py-2",children:e.jsxs("a",{href:`/crypt/${r.characterId}`,className:"flex items-center gap-3 group/link",children:[e.jsx("img",{src:`https://images.evetech.net/characters/${r.characterId}/portrait?size=64`,alt:r.characterName,width:32,height:32,className:"rounded transition-all duration-200 group-hover/link:brightness-110 flex-shrink-0",style:{border:"1px solid rgba(45,203,111,0.35)"},onError:c=>{c.target.src="https://images.evetech.net/characters/1/portrait?size=64"}}),e.jsxs("div",{className:"flex flex-col gap-0.5 min-w-0",children:[e.jsx("span",{className:"text-base font-medium hover:underline",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:r.characterName}),((p=r.tags)==null?void 0:p.length)>0&&e.jsx("div",{className:"flex flex-wrap gap-1",children:r.tags.map(c=>e.jsx(Ne,{tag:c},c))})]})]})})]},r.characterId)})})})]}),e.jsx("div",{className:"eve-card rounded overflow-hidden",style:{position:"relative",minHeight:Be?"120px":void 0},children:Be?e.jsxs("div",{className:"flex items-center justify-center gap-3 py-12",children:[e.jsx(je,{size:24}),e.jsx("span",{style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)",fontSize:"0.75rem",letterSpacing:"0.1em"},children:"LOADING..."})]}):ze.length===0?e.jsxs("div",{className:"px-6 py-10 text-center",style:{color:"var(--color-eve-text-dim)"},children:[e.jsx("div",{className:"text-3xl mb-4",style:{opacity:.4},children:"✓"}),e.jsx("p",{className:"text-base font-bold mb-1",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text)"},children:"NO PODDED & SCOOPED YET"}),e.jsx("p",{className:"text-sm leading-relaxed",style:{fontFamily:"var(--font-eve)",maxWidth:340,margin:"0 auto"},children:ee>0?`${ee.toLocaleString()} pod kill${ee===1?"":"s"} on record — none match your current corpse collection. Podded & Scooped is recorded when you have both podded a capsuleer and own their frozen corpse.`:"Sync your pod kill history from the Dashboard to see podded & scooped records here."})]}):e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{style:{borderBottom:"1px solid var(--color-eve-border)",background:"rgba(45,203,111,0.04)"},children:[e.jsx("th",{className:"px-3 py-2 text-left text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"PODDED & SCOOPED"}),e.jsx("th",{className:"px-3 py-2 text-left text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"TAGS"}),e.jsx("th",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"LAST KILL"}),e.jsx("th",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"KILLS"}),e.jsx("th",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"OWNED"}),e.jsx("th",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-green)",fontFamily:"var(--font-eve)"},children:"PODDED & SCOOPED"})]})}),e.jsx("tbody",{children:ze.map(r=>{var p;return e.jsxs("tr",{className:"transition-colors duration-150",style:{borderBottom:"1px solid var(--color-eve-border)"},onMouseEnter:c=>{c.currentTarget.style.background="rgba(45,203,111,0.03)"},onMouseLeave:c=>{c.currentTarget.style.background="transparent"},children:[e.jsx("td",{className:"px-3 py-2",children:e.jsxs("a",{href:`/crypt/${r.characterId}`,className:"flex items-center gap-3 group/link",children:[e.jsx("img",{src:r.portraitUrl,alt:r.characterName,width:32,height:32,className:"rounded transition-all duration-200 group-hover/link:brightness-110",style:{border:"1px solid rgba(45,203,111,0.35)"},onError:c=>{c.target.src="https://images.evetech.net/characters/1/portrait?size=64"}}),e.jsx("div",{className:"flex flex-col gap-0.5 min-w-0",children:e.jsx("span",{className:"text-base font-medium hover:underline",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:r.characterName})})]})}),e.jsx("td",{className:"px-3 py-2",children:e.jsx("div",{className:"flex gap-1 flex-wrap",children:(p=r.tags)==null?void 0:p.map(c=>e.jsx(Ne,{tag:c},c))})}),e.jsx("td",{className:"px-3 py-2 text-right text-sm tabular-nums",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:r.latestKill?new Date(r.latestKill).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"}):"—"}),e.jsx("td",{className:"px-3 py-2 text-right text-base tabular-nums",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:r.killCount}),e.jsxs("td",{className:"px-3 py-2 text-right text-base tabular-nums",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:["×",r.quantity]}),e.jsx("td",{className:"px-3 py-2 text-right",children:e.jsxs("span",{className:"text-base font-bold tabular-nums px-2 py-0.5 rounded",style:{background:"rgba(45,203,111,0.12)",color:"var(--color-eve-green)",fontFamily:"var(--font-eve)",border:"1px solid rgba(45,203,111,0.25)"},children:["✓ ",r.confirmed]})})]},r.characterId)})})]})}),Me>1&&e.jsx(xe,{page:me,pages:Me,onPageChange:dt})]}),!b&&f==="collection"&&Ye&&Z>0&&e.jsxs("section",{className:"mb-8",children:[e.jsx(be,{icon:"⭐",label:"FAVORITE CORPSES",count:Fe||Z,sortValue:q,onSortChange:r=>{L(r),I(1),A.current.clear()},sortOptions:Ze,filterValue:y,onFilterChange:r=>{w(r),T(1),I(1),X(1),P.current.clear(),A.current.clear(),B.current.clear()}}),e.jsx("div",{className:"eve-card rounded overflow-hidden",style:{position:"relative",minHeight:Te?"120px":void 0},children:Te?e.jsx(ge,{}):ot?e.jsx(ue,{onRetry:()=>{A.current.clear(),I(r=>r)}}):e.jsx(ye,{corpses:yt,portraitSize:48,accentIds:g,onAccentToggle:g.size>0?pe:void 0,confirmedIds:$})}),e.jsx(xe,{page:G,pages:vt,onPageChange:I})]}),!b&&f==="newest"&&E&&U>0&&e.jsxs("section",{className:"mb-8",children:[e.jsx(be,{icon:"🆕",label:"NEWEST CORPSES",count:Pe,sortValue:void 0,onSortChange:void 0,sortOptions:void 0,filterValue:y,onFilterChange:r=>{w(r),T(1),I(1),X(1),P.current.clear(),A.current.clear(),B.current.clear()}}),e.jsx("div",{className:"eve-card rounded overflow-hidden",style:{position:"relative",minHeight:Re?"120px":void 0},children:Re?e.jsx(ge,{}):ct?e.jsx(ue,{onRetry:()=>{B.current.clear(),X(r=>r)}}):e.jsx(ye,{corpses:lt,portraitSize:32,accentIds:g,onAccentToggle:g.size>0?pe:void 0,confirmedIds:$})}),e.jsx(xe,{page:le,pages:ht,onPageChange:X})]}),!b&&f==="collection"&&E&&U>0&&e.jsxs("section",{children:[e.jsx(be,{icon:"📦",label:"ALL CORPSES",count:u||U,sortValue:_,onSortChange:r=>{oe(r),T(1),P.current.clear()},sortOptions:Ze,filterValue:y,onFilterChange:r=>{w(r),T(1),I(1),X(1),P.current.clear(),A.current.clear(),B.current.clear()}}),e.jsx("div",{className:"eve-card rounded overflow-hidden",style:{position:"relative",minHeight:Ce?"120px":void 0},children:Ce?e.jsx(ge,{}):rt?e.jsx(ue,{onRetry:()=>{P.current.clear(),T(r=>r)}}):e.jsx(ye,{corpses:bt,portraitSize:32,accentIds:g,onAccentToggle:g.size>0?pe:void 0,confirmedIds:$})}),e.jsx(xe,{page:S,pages:mt,onPageChange:T})]}),!b&&f==="collection"&&U===0&&Z===0&&e.jsxs("div",{className:"text-center py-16 eve-card rounded-lg",style:{color:"var(--color-eve-text-dim)"},children:[e.jsx("div",{className:"text-5xl mb-4",children:"📭"}),e.jsx("p",{className:"text-xl mb-2",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text)"},children:"NO CORPSES IN COLLECTION"}),e.jsx("p",{className:"text-base",children:R?"Your asset scan found no frozen corpses. Acquire some and rescan to populate your collection.":`${t.characterName} has not added any corpses to their collection yet.`})]}),!b&&f==="collection"&&(U>0||Z>0)&&e.jsx(Tt,{characterId:a,accentIds:g,setSearchParams:x})]})}function ge(){return e.jsxs("div",{className:"flex items-center justify-center gap-3 py-12",children:[e.jsx(je,{size:24}),e.jsx("span",{style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)",fontSize:"0.75rem",letterSpacing:"0.1em"},children:"LOADING..."})]})}function ue({onRetry:a}){return e.jsxs("div",{className:"flex flex-col items-center gap-3 py-10",children:[e.jsx("span",{style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)",fontSize:"0.75rem",letterSpacing:"0.08em"},children:"FAILED TO LOAD — CHECK CONNECTION"}),e.jsx("button",{onClick:a,className:"eve-btn text-sm py-1.5 px-3",style:{borderColor:"var(--color-eve-border)",color:"var(--color-eve-text-dim)"},children:"RETRY"})]})}function be({icon:a,label:s,count:v,sortValue:d,onSortChange:x,sortOptions:t,filterValue:n,onFilterChange:h}){return e.jsxs("div",{className:"flex flex-wrap items-center gap-2 mb-3",children:[e.jsx("span",{children:a}),e.jsx("h2",{className:"text-base font-bold tracking-widest",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-text-dim)"},children:s}),e.jsx("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:"rgba(0,168,255,0.1)",color:"var(--color-eve-blue)",fontFamily:"var(--font-eve)"},children:v}),e.jsx("div",{className:"flex-1 h-px",style:{background:"var(--color-eve-border)",minWidth:16}}),h!==void 0&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1 rounded",style:{background:"var(--color-eve-card)",border:"1px solid var(--color-eve-border)"},children:[e.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",style:{opacity:.4,flexShrink:0},children:[e.jsx("circle",{cx:"4.5",cy:"4.5",r:"3.5",stroke:"var(--color-eve-ice)",strokeWidth:"1.3"}),e.jsx("path",{d:"M7.5 7.5l2 2",stroke:"var(--color-eve-ice)",strokeWidth:"1.3",strokeLinecap:"round"})]}),e.jsx("input",{type:"text",value:n,onChange:m=>h(m.target.value),placeholder:"Filter…",className:"bg-transparent outline-none text-sm w-24",style:{color:"var(--color-eve-text)",fontFamily:"var(--font-body)"}}),n&&e.jsx("button",{onClick:()=>h(""),style:{color:"var(--color-eve-text-dim)",lineHeight:1,fontSize:"0.9rem"},children:"×"})]}),t&&e.jsx("select",{value:d,onChange:m=>x(m.target.value),className:"text-sm px-2 py-1 rounded",style:{background:"var(--color-eve-card)",border:"1px solid var(--color-eve-border)",color:"var(--color-eve-text)",fontFamily:"var(--font-eve)",cursor:"pointer"},children:t.map(m=>e.jsx("option",{value:m.id,children:m.label},m.id))})]})}function ye({corpses:a,portraitSize:s,accentIds:v,onAccentToggle:d,confirmedIds:x}){const t=v.size>0||!!d;return e.jsxs("table",{className:"w-full",children:[e.jsx("thead",{children:e.jsxs("tr",{style:{borderBottom:"1px solid var(--color-eve-border)",background:"rgba(0,168,255,0.04)"},children:[e.jsx("th",{className:"px-3 py-2 text-left text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"CHARACTER"}),e.jsx("th",{className:"px-3 py-2 text-left text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"TAGS"}),e.jsx("th",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"QTY"}),e.jsx("th",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"FAVORITES"})]})}),e.jsx("tbody",{children:a.map(n=>e.jsx(Ot,{corpse:n,portraitSize:s,accented:v.has(n.characterId),accentActive:t,onAccentToggle:d,isConfirmed:(x==null?void 0:x.has(n.characterId))??!1},n.characterId))})]})}
27function Ot({corpse:a,portraitSize:s,accented:v,accentActive:d,onAccentToggle:x,isConfirmed:t}){var n,h;return e.jsxs("tr",{className:`transition-colors duration-150 group${v?" accent-row":""}`,style:{borderBottom:"1px solid var(--color-eve-border)",cursor:d&&x?"pointer":void 0},onClick:d&&x?()=>x(a.characterId):void 0,title:d&&x?v?"Click to remove accent":"Click to accent this corpse":void 0,children:[e.jsx("td",{className:"px-3 py-2",children:e.jsxs("a",{href:`/crypt/${a.characterId}`,className:"flex items-center gap-3 group/link",children:[e.jsx("img",{src:`https://images.evetech.net/characters/${a.characterId}/portrait?size=64`,alt:a.characterName,width:s,height:s,className:"rounded transition-all duration-200 group-hover/link:brightness-110",style:{border:v?"1px solid rgba(200,168,75,0.75)":"1px solid var(--color-eve-border)",boxShadow:v?"0 0 12px rgba(200,168,75,0.45)":"none"},onError:m=>{m.target.src="https://images.evetech.net/characters/1/portrait?size=64"}}),e.jsxs("div",{className:"flex flex-col gap-0.5",children:[e.jsx("span",{className:"text-base font-medium transition-colors duration-200 group-hover/link:text-white",style:{color:"var(--color-eve-ice)",fontFamily:"var(--font-eve)",textShadow:v?"0 0 16px rgba(200,168,75,0.7)":"none"},children:a.characterName}),((n=a.variantBreakdown)==null?void 0:n.length)>0?e.jsx("div",{className:"flex flex-col gap-0.5",children:a.variantBreakdown.map(m=>e.jsxs("span",{className:"text-sm",style:{color:"var(--color-eve-text-dim)"},children:[m.name,"'s Frozen Corpse ",e.jsxs("span",{className:"tabular-nums",children:["×",m.quantity]})]},m.name))}):e.jsxs("span",{className:"text-sm",style:{color:"var(--color-eve-text-dim)"},children:[a.characterName,"'s Frozen Corpse"]})]})]})}),e.jsx("td",{className:"px-3 py-2",children:e.jsxs("div",{className:"flex gap-1 flex-wrap items-center",children:[a.isFavorited&&e.jsx("span",{title:"Favorited",style:{color:"var(--color-eve-gold)",fontSize:"0.9rem",lineHeight:1,marginRight:"2px"},children:"★"}),t&&e.jsx("span",{title:"Pod killed & scooped",style:{color:"var(--color-eve-green)",fontSize:"0.75rem",fontFamily:"var(--font-eve)",fontWeight:"bold",lineHeight:1},children:"✓"}),(h=a.tags)==null?void 0:h.map(m=>e.jsx(Ne,{tag:m},m))]})}),e.jsx("td",{className:"px-3 py-2 text-right text-base tabular-nums",style:{color:"var(--color-eve-text)",fontFamily:"var(--font-eve)"},children:a.quantity??"—"}),e.jsxs("td",{className:"px-3 py-2 text-right text-sm",style:{color:"var(--color-eve-text-dim)"},children:["★ ",a.favoriteCount??0]})]})}function Tt({characterId:a,accentIds:s,setSearchParams:v}){const[x,t]=o.useState(!1),[n,h]=o.useState([]),[m,g]=o.useState(""),[O,N]=o.useState([]),[z,f]=o.useState(!1),[K,Y]=o.useState(!1),$=o.useRef(""),V=o.useRef(null),S=[...s].sort().join(",");o.useEffect(()=>{if($.current!==S){if($.current=S,!S){h([]);return}D.get(`/api/users/${a}/corpses`,{params:{page:1,limit:3,accent:S}}).then(l=>{const i=(l.data.corpses||[]).filter(u=>u.isAccent);h(i.map(u=>({characterId:u.characterId,characterName:u.characterName,portraitUrl:u.portraitUrl})))}).catch(()=>{h([...s].map(l=>({characterId:l,characterName:`#${l}`,portraitUrl:`https://images.evetech.net/characters/${l}/portrait?size=32`})))})}},[S,a,s]);function T(l){if(g(l),V.current&&clearTimeout(V.current),!l.trim()||l.trim().length<2){N([]);return}V.current=setTimeout(async()=>{f(!0);try{const i=await D.get(`/api/users/${a}/corpses`,{params:{page:1,limit:8,filter:l.trim()}});N(i.data.corpses||[])}catch{N([])}finally{f(!1)}},280)}function G(l){n.length>=3||n.some(i=>i.characterId===l.characterId)||(h(i=>[...i,{characterId:l.characterId,characterName:l.characterName,portraitUrl:l.portraitUrl}]),g(""),N([]))}function I(l){h(i=>i.filter(u=>u.characterId!==l))}function _(){const l=n.map(i=>i.characterId).join(",");v(i=>{const u=new URLSearchParams(i);return l?u.set("accent",l):u.delete("accent"),u},{replace:!0}),$.current=[...n].map(i=>i.characterId).sort().join(","),t(!1)}function oe(){h([]),$.current="",v(l=>{const i=new URLSearchParams(l);return i.delete("accent"),i},{replace:!0}),t(!1)}async function q(){const l=n.map(u=>u.characterId).join(","),i=new URL(window.location.href);l?i.searchParams.set("accent",l):i.searchParams.delete("accent");try{await navigator.clipboard.writeText(i.toString()),Y(!0),setTimeout(()=>Y(!1),2e3)}catch{}}const L=s.size>
270,w=[...n].map(l=>l.characterId).sort().join(",")!==S;return e.jsxs("div",{className:"fixed bottom-6 right-6 z-50 flex flex-col items-end gap-2",children:[x&&e.jsxs("div",{className:"rounded-lg overflow-hidden",style:{width:280,background:"linear-gradient(160deg, rgba(8,14,26,0.98), rgba(4,8,15,0.99))",border:"1px solid rgba(200,168,75,0.3)",boxShadow:"0 8px 32px rgba(0,0,0,0.75), 0 0 20px rgba(200,168,75,0.08)"},children:[e.jsxs("div",{className:"px-4 py-2.5 flex items-center justify-between",style:{borderBottom:"1px solid rgba(200,168,75,0.2)",background:"rgba(200,168,75,0.05)"},children:[e.jsx("span",{className:"text-sm font-bold tracking-widest",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-gold)",letterSpacing:"0.12em"},children:"ACCENT CORPSES"}),e.jsxs("span",{className:"text-sm",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:[n.length,"/",3]})]}),e.jsxs("div",{className:"px-3 pt-2 pb-1 flex flex-col gap-1.5",children:[n.length===0&&e.jsx("div",{className:"text-sm text-center py-3",style:{color:"var(--color-eve-text-dim)",fontFamily:"var(--font-eve)"},children:"Search and select up to 3 corpses"}),n.map(l=>e.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded",style:{background:"rgba(200,168,75,0.08)",border:"1px solid rgba(200,168,75,0.22)"},children:[e.jsx("img",{src:l.portraitUrl,alt:l.characterName,width:24,height:24,className:"rounded flex-shrink-0",style:{border:"1px solid rgba(200,168,75,0.4)"},onError:i=>{i.target.src="https://images.evetech.net/characters/1/portrait?size=32"}}),e.jsx("span",{className:"flex-1 text-sm truncate",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:l.characterName}),e.jsx("button",{onClick:()=>I(l.characterId),style:{color:"rgba(200,168,75,0.6)",fontSize:"1.1rem",lineHeight:1,flexShrink:0},children:"×"})]},l.characterId))]}),n.length<3&&e.jsxs("div",{className:"px-3 pb-2",children:[e.jsxs("div",{className:"flex items-center gap-2 px-2 py-1.5 rounded",style:{background:"rgba(0,0,0,0.3)",border:"1px solid var(--color-eve-border)"},children:[z?e.jsx("div",{style:{width:11,height:11,flexShrink:0,border:"1.5px solid rgba(200,168,75,0.3)",borderTopColor:"var(--color-eve-gold)",borderRadius:"50%",animation:"spin-slow 0.7s linear infinite"}}):e.jsxs("svg",{width:"11",height:"11",viewBox:"0 0 11 11",fill:"none",style:{flexShrink:0,opacity:.4},children:[e.jsx("circle",{cx:"4.5",cy:"4.5",r:"3.5",stroke:"var(--color-eve-ice)",strokeWidth:"1.3"}),e.jsx("path",{d:"M7.5 7.5l2 2",stroke:"var(--color-eve-ice)",strokeWidth:"1.3",strokeLinecap:"round"})]}),e.jsx("input",{type:"text",value:m,onChange:l=>T(l.target.value),placeholder:"Search corpse name…",className:"flex-1 bg-transparent outline-none text-sm",style:{color:"var(--color-eve-text)",fontFamily:"var(--font-body)",minWidth:0}}),m&&e.jsx("button",{onClick:()=>{g(""),N([])},style:{color:"var(--color-eve-text-dim)",lineHeight:1,fontSize:"0.9rem"},children:"×"})]}),O.length>0&&e.jsx("div",{className:"mt-1 rounded overflow-hidden",style:{border:"1px solid var(--color-eve-border)",background:"rgba(4,8,15,0.98)"},children:O.filter(l=>!n.some(i=>i.characterId===l.characterId)).map(l=>e.jsxs("button",{onClick:()=>G(l),className:"w-full flex items-center gap-2 px-3 py-1.5 text-left",style:{borderBottom:"1px solid rgba(26,40,64,0.5)"},onMouseEnter:i=>{i.currentTarget.style.background="rgba(200,168,75,0.06)"},onMouseLeave:i=>{i.currentTarget.style.background="transparent"},children:[e.jsx("img",{src:l.portraitUrl,alt:l.characterName,width:22,height:22,className:"rounded flex-shrink-0",style:{border:"1px solid var(--color-eve-border)"},onError:i=>{i.target.src="https://images.evetech.net/characters/1/portrait?size=32"}}),e.jsx("span",{className:"text-sm truncate",style:{fontFamily:"var(--font-eve)",color:"var(--color-eve-ice)"},children:l.characterName})]},l.characterId))})]}),e.jsxs("div",{className:"px-3 pb-3 flex gap-2",children:[e.jsx("button",{onClick:_,disabled:!w,className:"flex-1 text-sm py-1.5 rounded",style:{fontFamily:"var(--font-eve)",background:w?"rgba(200,168,75,0.15)":"transparent",border:`1px solid ${w?"rgba(200,168,75,0.5)":"var(--color-eve-border)"}`,color:w?"var(--color-eve-gold)":"var(--color-eve-text-dim)",cursor:w?"pointer":"default",opacity:w?1:.5},children:"APPLY"}),e.jsx("button",{onClick:q,className:"flex-1 text-sm py-1.5 rounded",style:{fontFamily:"var(--font-eve)",background:"transparent",border:"1px solid var(--color-eve-border)",color:K?"var(--color-eve-green)":"var(--color-eve-text-dim)",cursor:"pointer"},children:K?"COPIED!":"COPY LINK"}),L&&e.jsx("button",{onClick:oe,className:"text-sm py-1.5 px-3 rounded",style:{fontFamily:"var(--font-eve)",background:"transparent",border:"1px solid rgba(180,40,40,0.4)",color:"rgba(220,80,80,0.7)",cursor:"pointer"},children:"CLEAR"})]})]}),e.jsxs("button",{onClick:()=>t(l=>!l),className:"flex items-center gap-2 px-4 py-2.5 rounded-full",style:{background:L?"linear-gradient(135deg, rgba(200,168,75,0.2), rgba(200,168,75,0.12))":"linear-gradient(135deg, rgba(8,14,26,0.95), rgba(4,8,15,0.95))",border:`1px solid ${L?"rgba(200,168,75,0.55)":"rgba(26,40,64,0.8)"}`,boxShadow:L?"0 0 16px rgba(200,168,75,0.22), 0 4px 12px rgba(0,0,0,0.5)":"0 4px 12px rgba(0,0,0,0.5)",color:L?"var(--color-eve-gold)":"var(--color-eve-text-dim)",transition:"all 0.2s"},children:[e.jsx(It,{}),e.jsx("span",{className:"text-sm font-bold",style:{fontFamily:"var(--font-eve)",letterSpacing:"0.08em"},children:"ACCENT"}),L&&e.jsx("span",{className:"text-sm font-bold px-1.5 rounded-full",style:{background:"rgba(200,168,75,0.25)",color:"var(--color-eve-gold)",fontSize:"0.65rem",lineHeight:"1.6"},children:s.size})]})]})}function It(){return e.jsx("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",children:e.jsx("path",{d:"M7 1l1.6 4H13l-3.5 2.7 1.3 4.3L7 9.5l-3.8 2.5 1.3-4.3L1 5h4.4z",stroke:"currentColor",strokeWidth:"1.3",strokeLinejoin:"round",fill:"rgba(200,168,75,0.18)"})})}
27export{At 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.