PageSourceSearch

https://www.collectorquest.ai/_next/static/chunks/pages/character-cf217383ad68b8e6.js

js collectorquest.ai collected 2026-10-05 15:03:17 UTC 40,136 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1597],{316:(n,e,r)=>{"use strict";r.d(e,{A:()=>o});var t=r(7876);r(4232);let o=n=>{let{children:e}=n;return(0,t.jsx)("div",{style:{opacity:1,transition:"opacity 0.5s ease-in-out"},children:e})}},592:(n,e,r)=>{"use strict";r.d(e,{v:()=>i});var t=r(2768),o=r(4232);let i=()=>{let[n,e]=(0,o.useState)(null),[r,i]=(0,o.useState)(null),a=(0,t.bf)();(0,o.useEffect)(()=>{e((0,t.$U)()),i((0,t.O5)())},[]);let s=async()=>{if(!r)return null;try{return await a.getBalance({owner:r})}catch(n){return console.error("Error fetching balance:",n),null}},c=async()=>{if(!r)return[];try{return(await a.getOwnedObjects({owner:r,options:{showContent:!0}})).data}catch(n){return console.error("Error fetching owned objects:",n),[]}};return{wallet:n,address:r,client:a,disconnect:()=>{(0,t.xx)()},getBalance:s,getOwnedObjects:c,connected:!!n&&!!r}}},1544:(n,e,r)=>{"use strict";r.d(e,{A:()=>i});var t=r(4232);let o="admin_mode_enabled",i=()=>{let[n,e]=(0,t.useState)(!1),[r,i]=(0,t.useState)(!0);return(0,t.useEffect)(()=>{e("true"===localStorage.getItem(o)),i(!1)},[]),{isAdmin:n,isLoading:r,enableAdminMode:()=>{e(!0),localStorage.setItem(o,"true")},disableAdminMode:()=>{e(!1),localStorage.setItem(o,"false")},toggleAdminMode:()=>{let r=!n;e(r),localStorage.setItem(o,r.toString())}}}},1644:(n,e,r)=>{"use strict";r.r(e),r.d(e,{default:()=>n5});var t=r(8888),o=r(7876),i=r(4232),a=r(9099),s=r(1611),c=r(8993),l=r(316),d=r(7118),u=r(7575),f=r(8573),m=r(4926),p=r(5350),g=r(1586),b=r(2768);let h=()=>{let{character:n,updateCharacter:e,saveCharacter:r}=(0,g.O)(),[t,o]=(0,i.useState)(!1),[a,s]=(0,i.useState)(null),[c,l]=(0,i.useState)(null),d=(0,b.$U)(),u=async()=>{if(!n)throw Error("Character not found");if(!d){s("Please connect your wallet first");return}let e=new p.xl(d);return await e.registerCharacter(n)};return{registerCharacter:async()=>{o(!0),s(null),l(null);try{let n=await u();if(console.log("result",n),n&&n.events[0].parsedJson){let t=n.events[0].parsedJson;l(t),t.character_id&&(await e({registration_id:t.character_id}),await r())}return n}catch(n){return s(n instanceof Error?n.message:"Failed to register character"),console.error("Character registration error:",n),null}finally{o(!1)}},isRegistering:t,error:a,registeredCharacter:c,resetState:()=>{s(null),l(null),o(!1)}}};var x=r(592),y=r(5934),v=r(4587),w=r.n(v),A=r(3679);function j(){let n=(0,t._)(["\n  text-align: center;\n  color: #bb8930;\n  font-size: 1.1rem;\n  margin: 2rem 0;\n"]);return j=function(){return n},n}function _(){let n=(0,t._)(["\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n  gap: 1.5rem;\n  margin-bottom: 2rem;\n"]);return _=function(){return n},n}function k(){let n=(0,t._)(["\n  background: rgba(26, 26, 46, 0.8);\n  border: 1px solid #bb8930;\n  border-radius: 8px;\n  overflow: hidden;\n  cursor: pointer;\n  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n\n  &:hover {\n    transform: translateY(-4px);\n    box-shadow: 0 4px 12px rgba(187, 137, 48, 0.2);\n  }\n"]);return k=function(){return n},n}function E(){let n=(0,t._)(["\n  position: relative;\n  width: 100%;\n  height: 200px;\n"]);return E=function(){return n},n}function C(){let n=(0,t._)(["\n  padding: 1rem;\n"]);return C=function(){return n},n}function S(){let n=(0,t._)(['\n  color: #bb8930;\n  font-size: 1.2rem;\n  margin: 0 0 0.5rem 0;\n  font-family: "Cinzel", serif;\n']);return S=function(){return n},n}function z(){let n=(0,t._)(["\n  color: #a89bb4;\n  font-size: 0.9rem;\n  margin: 0;\n"]);return z=function(){return n},n}function T(){let n=(0,t._)(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 1rem;\n  padding: ",";\n  background: ",";\n  border: ",";\n  border-radius: 8px;\n"]);return T=function(){return n},n}function O(){let n=(0,t._)(["\n  color: #a89bb4;\n  font-size: 1.1rem;\n  margin: 0;\n"]);return O=function(){return n},n}function B(){let n=(0,t._)(['\n  display: flex;\n  align-items: center;\n  gap: 0.5rem;\n  padding: 0.75rem 1.5rem;\n  background-color: #bb8930;\n  color: #1a1a2e;\n  border: none;\n  border-radius: 4px;\n  font-family: "Cinzel", serif;\n  font-weight: 600;\n  cursor: pointer;\n  transition: all 0.2s ease;\n\n  &:hover {\n    background-color: #d4a959;\n    transform: translateY(-2px);\n  }\n']);return B=function(){return n},n}let R=s.A.p(j()),G=s.A.div(_()),I=s.A.div(k()),N=s.A.div(E()),F=s.A.div(C()),P=s.A.h3(S()),Y=s.A.p(z()),K=s.A.div(T(),n=>n.hasEmptyState?"2rem":"0",n=>n.hasEmptyState?"rgba(26, 26, 46, 0.8)":"transparent",n=>n.hasEmptyState?"1px solid #bb8930":"none"),L=s.A.p(O()),U=s.A.button(B()),W=n=>{let{artifacts:e,loading:r,onCreateArtifact:t}=n,i=(0,a.useRouter)();return r?(0,o.jsx)(R,{children:"Loading artifacts..."}):(0,o.jsxs)(o.Fragment,{children:[e.length>0&&(0,o.jsx)(G,{children:e.map(n=>(0,o.jsxs)(I,{onClick:()=>i.push("/artifacts/".concat(n.id)),children:[(0,o.jsx)(N,{children:(0,o.jsx)(w(),{src:n.imageUrl,alt:n.title,layout:"fill",objectFit:"cover"})}),(0,o.jsxs)(F,{children:[(0,o.jsx)(P,{children:n.title}),(0,o.jsxs)(Y,{children:["By ",n.artist,", ",n.year]})]})]},n.id))}),(0,o.jsxs)(K,{hasEmptyState:0===e.length,children:[0===e.length&&(0,o.jsx)(L,{children:"No artifacts found"}),(0,o.jsxs)(U,{onClick:t,children:[(0,o.jsx)(A.OiG,{})," Create Artifact"]})]})]})};var D=r(9054);function H(){let n=(0,t._)(["\n  background-color: #2d2d44;\n  border-radius: 8px;\n  padding: 2rem;\n  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n  border: 1px solid #4a3b6b;\n  margin-top: 2rem;\n  text-align: center;\n"]);return H=function(){return n},n}function M(){let n=(0,t._)(['\n  color: #bb8930;\n  font-family: "Cinzel", serif;\n  font-size: 1.3rem;\n  margin-bottom: 1rem;\n']);return M=function(){return n},n}function Q(){let n=(0,t._)(['\n  color: #a89bb4;\n  font-family: "Cormorant Garamond", serif;\n  font-size: 1rem;\n  line-height: 1.6;\n  margin-bottom: 1.5rem;\n  max-width: 600px;\n  margin-left: auto;\n  margin-right: auto;\n']);return Q=function(){return n},n}function q(){let n=(0,t._)(['\n  background-color: #bb8930;\n  color: #1e1e2d;\n  border: none;\n  border-radius: 4px;\n  padding: 0.75rem 1.5rem;\n  font-family: "Cinzel", serif;\n  font-size: 1rem;\n  cursor: pointer;\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n  transition: all 0.2s ease-in-out;\n\n  &:hover {\n    background-color: #d4a03c;\n    transform: translateY(-2px);\n  }\n\n  &:active {\n    transform: translateY(0);\n  }\n\n  &:disabled {\n    opacity: 0.7;
1\n    cursor: not-allowed;\n    transform: none;\n  }\n\n  svg {\n    font-size: 1rem;\n  }\n']);return q=function(){return n},n}function J(){let n=(0,t._)(['\n  color: #dc3545;\n  margin-bottom: 1rem;\n  font-family: "Cormorant Garamond", serif;\n']);return J=function(){return n},n}let X=s.A.div(H()),$=s.A.h3(M()),V=s.A.p(Q()),Z=s.A.button(q()),nn=s.A.p(J()),ne=n=>{let{character:e,isRegistering:r,error:t,registeredCharacterId:i,onRegister:a,onCopyId:s}=n;return i?(0,o.jsxs)(X,{children:[(0,o.jsx)($,{children:"Character Registered!"}),(0,o.jsx)(V,{children:"Your character has been successfully registered on the blockchain. You can now create artifacts, join realms, and begin your journey."}),(0,o.jsx)(D.A,{address:i,label:"Character ID",onCopy:()=>s(i),explorerUrl:"https://suiscan.xyz/testnet/object/".concat(i,"/tx-blocks")})]}):(0,o.jsxs)(X,{children:[(0,o.jsx)($,{children:"Begin Your Quest"}),(0,o.jsx)(V,{children:"Register your character to begin your journey. Create and discover artifacts, join realms, and forge your legacy."}),t&&(0,o.jsx)(nn,{children:t}),(0,o.jsx)(Z,{onClick:a,disabled:r,children:r?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(A.hW,{className:"animate-spin"})," Registering..."]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(A.NPy,{})," Register Character"]})})]})};var nr=r(3578),nt=r(3752),no=r(2180);function ni(){let n=(0,t._)(["\n  from { opacity: 0; }\n  to { opacity: 1; }\n"]);return ni=function(){return n},n}function na(){let n=(0,t._)(["\n  from { transform: translateY(20px); opacity: 0; }\n  to { transform: translateY(0); opacity: 1; }\n"]);return na=function(){return n},n}function ns(){let n=(0,t._)(["\n  0% { transform: rotate(0deg); }\n  100% { transform: rotate(360deg); }\n"]);return ns=function(){return n},n}function nc(){let n=(0,t._)(["\n  animation: "," 0.5s ease-in-out;\n  max-width: 1200px;\n  margin: 0 auto;\n  margin-top: 2rem;\n  padding-bottom: 80px;\n"]);return nc=function(){return n},n}function nl(){let n=(0,t._)(["\n  text-align: center;\n  animation: "," 0.5s ease-in-out;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.25rem;\n"]);return nl=function(){return n},n}function nd(){let n=(0,t._)(["\n  width: 256px;\n  height: 256px;\n  margin-bottom: 0.5rem;\n"]);return nd=function(){return n},n}function nu(){let n=(0,t._)(["\n  position: relative;\n  width: 100%;\n  height: 100%;\n  border-radius: 8px;\n  overflow: hidden;\n  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);\n  border: 2px solid #4a3b6b;\n"]);return nu=function(){return n},n}function nf(){let n=(0,t._)(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  height: 100%;\n  background-color: #2d2d44;\n  border-radius: 8px;\n  color: #a89bb4;\n  font-size: 1.2rem;\n\n  svg {\n    font-size: 3rem;\n    margin-bottom: 1rem;\n    opacity: 0.7;\n  }\n"]);return nf=function(){return n},n}function nm(){let n=(0,t._)(["\n  background: none;\n  border: none;\n  color: #bb8930;\n  cursor: pointer;\n  margin-left: 0.15rem;\n"]);return nm=function(){return n},n}function np(){let n=(0,t._)(["\n  margin-bottom: 0;\n  color: #bb8930;\n"]);return np=function(){return n},n}function ng(){let n=(0,t._)(["\n  color: #a89bb4;\n  margin: 0;\n"]);return ng=function(){return n},n}function nb(){let n=(0,t._)(["\n  font-size: 1.5rem;\n  margin-bottom: 0.75rem;\n"]);return nb=function(){return n},n}function nh(){let n=(0,t._)(["\n  display: grid;\n  grid-template-columns: 1fr;\n  gap: 2rem;\n\n  @media (min-width: 768px) {\n    grid-template-columns: 1fr 2fr;\n  }\n"]);return nh=function(){return n},n}function nx(){let n=(0,t._)(["\n  animation: "," 0.5s ease-in-out;\n  animation-delay: 0.2s;\n  animation-fill-mode: both;\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n"]);return nx=function(){return n},n}function ny(){let n=(0,t._)(["\n  /* background-color: #2d2d44; */\n  border-radius: 8px;\n  /* padding: 1.5rem; */\n  /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n  border: 1px solid #4a3b6b; */\n  margin-top: 1rem;\n"]);return ny=function(){return n},n}function nv(){let n=(0,t._)(["\n  display: flex;\n  flex-direction: column;\n  gap: 1rem;\n  margin-top: 1rem;\n"]);return nv=function(){return n},n}function nw(){let n=(0,t._)(['\n  background: #2d2d44;
1\n  color: #bb8930;\n  border: 1px solid #4a3b6b;\n  border-radius: 4px;\n  padding: 0.75rem 1.5rem;\n  font-family: "Cinzel", serif;\n  font-size: 1rem;\n  cursor: pointer;\n  transition: all 0.2s ease-in-out;\n\n  &:hover {\n    background: #3d3d54;\n    transform: translateY(-2px);\n  }\n']);return nw=function(){return n},n}function nA(){let n=(0,t._)(["\n  background: #bb8930;\n  color: #1e1e2d;\n  border: none;\n\n  &:hover {\n    background: #d4a03c;\n  }\n"]);return nA=function(){return n},n}function nj(){let n=(0,t._)(['\n  color: #a89bb4;\n  font-family: "Cormorant Garamond", serif;\n  font-size: 1.2rem;\n']);return nj=function(){return n},n}function n_(){let n=(0,t._)(["\n  text-align: center;\n  padding: 3rem 1rem;\n  max-width: 600px;\n  margin: 0 auto;\n"]);return n_=function(){return n},n}function nk(){let n=(0,t._)(['\n  font-family: "Cinzel", serif;\n  color: #bb8930;\n  margin-bottom: 1rem;\n  font-size: 1.8rem;\n']);return nk=function(){return n},n}function nE(){let n=(0,t._)(['\n  color: #c7bfd4;\n  font-family: "Cormorant Garamond", serif;\n  margin-bottom: 2rem;\n  font-size: 1.2rem;\n  line-height: 1.6;\n']);return nE=function(){return n},n}function nC(){let n=(0,t._)(["\n  margin-top: 2rem;\n  /* background-color: #2d2d44; */\n  border-radius: 8px;\n  /* padding: 1.5rem; */\n  /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); */\n  /* border: 1px solid #4a3b6b; */\n"]);return nC=function(){return n},n}function nS(){let n=(0,t._)(["\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));\n  gap: 1.5rem;\n  margin-top: 1rem;\n"]);return nS=function(){return n},n}function nz(){let n=(0,t._)(["\n  background-color: #1e1e2d;\n  border-radius: 8px;\n  overflow: hidden;\n  cursor: pointer;\n  transition: transform 0.2s ease-in-out;\n  border: 1px solid #4a3b6b;\n\n  &:hover {\n    transform: translateY(-4px);\n  }\n"]);return nz=function(){return n},n}function nT(){let n=(0,t._)(["\n  position: relative;\n  width: 100%;\n  height: 200px;\n"]);return nT=function(){return n},n}function nO(){let n=(0,t._)(["\n  padding: 1rem;\n"]);return nO=function(){return n},n}function nB(){let n=(0,t._)(['\n  color: #bb8930;\n  font-family: "Cinzel", serif;\n  margin: 0 0 0.5rem 0;\n  font-size: 1.1rem;\n']);return nB=function(){return n},n}function nR(){let n=(0,t._)(['\n  color: #a89bb4;\n  font-family: "Cormorant Garamond", serif;\n  margin: 0 0 0.5rem 0;\n  font-size: 0.9rem;\n']);return nR=function(){return n},n}function nG(){let n=(0,t._)(["\n  display: flex;\n  gap: 0.5rem;\n  flex-wrap: wrap;\n"]);return nG=function(){return n},n}function nI(){let n=(0,t._)(['\n  background-color: #4a3b6b;\n  color: #c7bfd4;\n  padding: 0.25rem 0.5rem;\n  border-radius: 4px;\n  font-size: 0.8rem;\n  font-family: "Cormorant Garamond", serif;\n']);return nI=function(){return n},n}function nN(){let n=(0,t._)(["\n  text-align: center;\n  padding: 2rem;\n"]);return nN=function(){return n},n}function nF(){let n=(0,t._)(['\n  color: #a89bb4;\n  font-family: "Cormorant Garamond", serif;\n  margin-bottom: 1rem;\n  font-size: 1.1rem;\n']);return nF=function(){return n},n}function nP(){let n=(0,t._)(['\n  background-color: #bb8930;\n  color: #1e1e2d;\n  border: none;\n  border-radius: 4px;\n  padding: 0.75rem 1.5rem;\n  font-family: "Cinzel", serif;\n  font-size: 1rem;\n  cursor: pointer;\n  display: inline-flex;\n  align-items: center;\n  gap: 0.5rem;\n  transition: background-color 0.2s;\n\n  &:hover {\n    background-color: #d4a03c;\n  }\n\n  svg {\n    font-size: 0.9rem;\n  }\n']);return nP=function(){return n},n}function nY(){let n=(0,t._)(["\n  text-align: center;\n  padding: 2rem 0 0;\n  border-top: 1px solid rgba(74, 59, 107, 0.5);\n  margin-top: ",";\n"]);return nY=function(){return n},n}let nK=(0,c.i7)(ni()),nL=(0,c.i7)(na());(0,c.i7)(ns());let nU=s.A.div(nc(),nK),nW=s.A.div(nl(),nL);s.A.div(nd()),s.A.div(nu()),s.A.div(nf()),s.A.button(nm());let nD=(0,s.A)(u.hE)(np()),nH=(0,s.A)(u.Pd)(ng()),nM=(0,s.A)(u._x)(nb()),nQ=s.A.div(nh()),nq=s.A.div(nx(),nK),nJ=s.A.div(ny()),nX=s.A.div(nv()),n$=s.A.button(nw()),nV=(0,s.A)(n$)(nA());s.A.p(nj());let nZ=s.A.div(n_()),n0=s.A.h2(nk()),n1=s.A.p(nE()),n2=s.A.div(nC());s.A.div(nS()),s.A.div(nz()),s.A.div(nT()),s.A.div(nO()),s.A.h3(nB()),s.A.p(nR()),s.A.div(nG()),s.A.span(nI()),s.A.div(nN()),s.A.p(nF()),s.A.button(nP()),s.A.div(nY(),n=>n.hasEmptyState?"1rem":"0");let n5=()=>{var n,e;let r=(0,a.useRouter)(),{openModal:t,closeModal:s,modalContent:c,Mod
1al:u}=(0,m.Ay)(),{character:p}=(0,g.O)(),[b,v]=(0,i.useState)([]),[w,A]=(0,i.useState)(!1),[j,_]=(0,i.useState)(!1),{registerCharacter:k,isRegistering:E,registeredCharacter:C,error:S}=h(),{address:z}=(0,x.v)(),[T,O]=(0,i.useState)(!1),[B,R]=(0,i.useState)(!1),[G,I]=(0,i.useState)(null);(0,i.useEffect)(()=>{p&&N()},[p]),(0,i.useEffect)(()=>{I((null==p?void 0:p.registration_id)||(null==C?void 0:C.character_id))},[C,null==p?void 0:p.registration_id]);let N=async()=>{if(null==p?void 0:p.id){A(!0);try{let n=await fetch("/api/characters/".concat(p.id,"/artifacts"));if(!n.ok)throw Error("Failed to fetch artifacts");let e=await n.json();v(e)}catch(n){console.error("Error fetching artifacts:",n)}finally{A(!1)}}},F=async()=>{if(!p){t("Error","Character data is missing.");return}_(!0);try{await k()}catch(n){console.error("Error registering character:",n),t("Registration Failed",(0,o.jsxs)("div",{children:[(0,o.jsx)("p",{children:"Failed to register character. Please try again later."}),(0,o.jsxs)("p",{children:["Error: ",n instanceof Error?n.message:"Unknown error"]})]}))}finally{_(!1)}};return p?(0,o.jsx)(l.A,{children:(0,o.jsxs)(d.A,{children:[(0,o.jsxs)(nU,{children:[(0,o.jsxs)(nW,{children:[(0,o.jsx)(nD,{children:p.name}),(0,o.jsx)(nt.A,{character:p,size:"large",bordered:!0}
1),(0,o.jsxs)(nH,{children:[null===(n=p.race)||void 0===n?void 0:n.name," • ",null===(e=p.class)||void 0===e?void 0:e.name]})]}),(0,o.jsx)(nQ,{children:(0,o.jsxs)(nq,{children:[(0,o.jsxs)(nJ,{children:[(0,o.jsx)(nM,{children:"Backstory"}),(0,o.jsx)(f.Ay,{character:p,openModal:t}),(0,o.jsxs)(nX,{children:[(0,o.jsx)(n$,{onClick:()=>O(!0),children:"View Character Sheet"}),(0,o.jsx)(nV,{onClick:()=>R(!0),children:"Load Campaign"})]})]}),(0,o.jsx)(ne,{character:p,isRegistering:E,error:S,registeredCharacterId:G,onRegister:F,onCopyId:n=>{navigator.clipboard.writeText(n),t("Success","Character ID copied to clipboard!")}}),G&&(0,o.jsxs)(n2,{children:[(0,o.jsx)(nM,{children:"Your Artifacts"}),(0,o.jsx)(W,{artifacts:b,loading:w,onCreateArtifact:()=>{r.push("/artifacts/create")}})]})]})})]}),(0,o.jsx)(u,{isOpen:c.isOpen,onClose:s,title:c.title,children:c.content}),p&&p.sheet&&(0,o.jsx)(nr.A,{isOpen:T,onClose:()=>O(!1),character:p,characterSheet:p.sheet}),(0,o.jsx)(no.s,{isOpen:B,onClose:()=>R(!1)}),(0,o.jsx)(y.A,{})]})}):(0,o.jsx)(l.A,{children:(0,o.jsx)(d.A,{children:(0,o.jsxs)(nZ,{children:[(0,o.jsx)(n0,{children:"Character Not Found"}),(0,o.jsx)(n1,{children:"We couldn't find this character. It may have been deleted or doesn't exist."})]})})})}},2180:(n,e,r)=>{"use strict";r.d(e,{s:()=>R});var t=r(8888),o=r(7876),i=r(4232),a=r(9099),s=r(1611),c=r(7575),l=r(1586),d=r(3679);function u(){let n=(0,t._)(["\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: rgba(0, 0, 0, 0.7);\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  z-index: 10000;\n  backdrop-filter: blur(3px);\n"]);return u=function(){return n},n}function f(){let n=(0,t._)(["\n  background: rgba(20, 20, 35, 0.95);\n  border-radius: 12px;\n  width: 90%;\n  max-width: 500px;\n  max-height: 90vh;\n  display: flex;\n  flex-direction: column;\n  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);\n  border: 1px solid rgba(255, 215, 0, 0.3);\n  position: relative;\n  z-index: 10001;\n  \n  @media (min-width: 768px) {\n    width: 80%;\n  }\n"]);return f=function(){return n},n}function m(){let n=(0,t._)(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 1.5rem;\n  border-bottom: 1px solid rgba(255, 215, 0, 0.1);\n  position: sticky;\n  top: 0;\n  background: rgba(20, 20, 35, 0.98);\n  border-radius: 12px 12px 0 0;\n  z-index: 10;\n  \n  @media (min-width: 768px) {\n    padding: 1.5rem 2rem;\n  }\n"]);return m=function(){return n},n}function p(){let n=(0,t._)(['\n  font-size: 1.5rem;\n  margin: 0;\n  color: #ffd700;\n  font-family: "Cinzel Decorative", "Playfair Display SC", serif;\n']);return p=function(){return n},n}function g(){let n=(0,t._)(["\n  background: none;\n  border: none;\n  color: #c7bfd4;\n  font-size: 1.2rem;\n  cursor: pointer;\n  transition: color 0.3s ease;\n  \n  &:hover {\n    color: #ffd700;\n  }\n"]);return g=function(){return n},n}function b(){let n=(0,t._)(["\n  overflow-y: auto;\n  flex: 1;\n  padding: 1.5rem;\n  \n  @media (min-width: 768px) {\n    padding: 2rem;\n  }\n"]);return b=function(){return n},n}function h(){let n=(0,t._)(["\n  color: #e2e8f0;\n"]);return h=function(){return n},n}let x=s.A.div(u()),y=s.A.div(f()),v=s.A.div(m()),w=s.A.h3(p()),A=s.A.button(g()),j=s.A.div(b()),_=s.A.div(h()),k=n=>{let{children:e,onClose:r,title:t}=n,a=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let n=n=>{"Escape"===n.key&&r()},e=n=>{a.current&&!a.current.contains(n.target)&&r()};return document.addEventListener("keydown",n),document.addEventListener("mousedown",e),document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",n),document.removeEventListener("mousedown",e),document.body.style.overflow="auto"}},[r]),(0,o.jsx)(x,{children:(0,o.jsxs)(y,{ref:a,children:[(0,o.jsxs)(v,{children:[t&&(0,o.jsx)(w,{children:t}),(0,o.jsx)(A,{onClick:r,children:(0,o.jsx)(d.QCr,{})})]}),(0,o.jsx)(j,{children:(0,o.jsx)(_,{children:e})})]})})};function E(){let n=(0,t._)(["\n  max-width: 800px;\n  margin: 0 auto;\n  padding: 2rem;\n  text-align: center;\n  animation: fadeIn 0.5s ease-in-out;\n\n  @keyframes fadeIn {\n    from {\n      opacity: 0;\n      transform: translateY(20px);\n    }\n    to {\n      opacity: 1;\n      transform: translateY(0);\n    }\n  }\n"]);return E=function(){return n},n}function C(){let n=(0,t._)(["\n  display: flex;\n  flex-direction: column;\n  gap: 1.5rem;\n  margin-top: 3rem;\n  max-width: 400px;\n  margin-left: auto;\n  margin-right: auto;\n"]);return C=function(){return n},n}function S(){let n=(0,t._)(['\n  width: 100%;\n  padding: 1.5rem;\n  border-radius: 8px;\n  font-family: "Cinzel", serif;\n  font-size: 1.2rem;\n  font-weight: 600;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 1rem;\n  transition: all 0.2s ease;\n  position: relative;\n\n  &:hover:not(:disabled) {\n    transform: translateY(-2px);\n  }\n\n  &:active:not(:disabled) {\n    transform: translateY(0);\n  }\n']);return S=function(){return n},n}function z(){let n=(0,t._)(["\n  background-color: ",";\n  color: ",";\n  border: 1px solid ",";\n  cursor: ",";\n  opacity: ",";\n"]);return z=function(){return n},n}function T(){let n=(0,t._)(["\n  background-color: rgba(46, 30, 15, 0.7);\n  color: #bb8930;\n  border: 1px solid #bb8930;\n  cursor: pointer;\n\n  &:hover {\n    background-color: rgba(46, 30, 15, 0.9);\n  }\n"]);return T=function(){return n},n}function O(){let n=(0,t._)(['\n  text-align: center;
1\n  color: #bb8930;\n  font-family: "Cinzel", serif;\n  font-size: 1.5rem;\n  padding: 2rem;\n']);return O=function(){return n},n}function B(){let n=(0,t._)(["\n  color: #a77d3e;\n  font-size: 0.9rem;\n  margin-top: 1rem;\n  font-style: italic;\n"]);return B=function(){return n},n}let R=n=>{let{isOpen:e,onClose:r}=n,t=(0,a.useRouter)(),{character:s}=(0,l.O)(),[d,u]=(0,i.useState)([]),[f,m]=(0,i.useState)(!0);return((0,i.useEffect)(()=>{async function n(){if(!(null==s?void 0:s.id)){u([]),m(!1);return}try{let n=await fetch("/api/campaigns?characterId=".concat(s.id));if(!n.ok)throw Error("Failed to fetch campaigns");let e=await n.json();u(e)}catch(n){console.error("Failed to load data:",n),u([])}finally{m(!1)}}e&&n()},[null==s?void 0:s.id,e]),e)?f?(0,o.jsx)(k,{onClose:r,children:(0,o.jsx)(Y,{children:"Loading..."})}):(0,o.jsx)(k,{onClose:r,children:(0,o.jsxs)(G,{children:[(0,o.jsx)(c.hE,{children:"Start Your Adventure"}),(0,o.jsx)(c.Pd,{children:"Choose your path and begin your adventure"}),(0,o.jsxs)(I,{children:[0===d.length&&(0,o.jsx)(K,{children:"No active campaigns found"}),(0,o.jsx)(F,{onClick:()=>t.push("/campaign/continue"),disabled:0===d.length,children:"Continue"}),(0,o.jsx)(P,{onClick:()=>t.push("/campaign/new"),children:"Start New Campaign"})]})]})}):null},G=s.A.div(E()),I=s.A.div(C()),N=s.A.button(S()),F=(0,s.A)(N)(z(),n=>n.disabled?"rgba(187, 137, 48, 0.2)":"#bb8930",n=>n.disabled?"#a77d3e":"#1a1625",n=>n.disabled?"#a77d3e":"#bb8930",n=>n.disabled?"not-allowed":"pointer",n=>n.disabled?.7:1),P=(0,s.A)(N)(T()),Y=s.A.div(O()),K=s.A.p(B())},2673:(n,e,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/character",function(){return r(1644)}])},4926:(n,e,r)=>{"use strict";r.d(e,{Ay:()=>A,hS:()=>w});var t=r(8888),o=r(7876),i=r(4232),a=r(1611),s=r(3679);function c(){let n=(0,t._)(["\n  position: fixed;\n  inset: 0;\n  background-color: rgba(0, 0, 0, 0.5);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 10000;\n"]);return c=function(){return n},n}function l(){let n=(0,t._)(["\n  background-color: #2e1e0f;\n  border-radius: 0.5rem;\n  padding: 0;\n  max-width: 42rem;\n  width: 100%;\n  max-height: 80vh;\n  overflow-y: auto;\n  position: relative;\n  border: 2px solid #a77d3e;\n\n  /* Hide scrollbar for Chrome, Safari and Opera */\n  &::-webkit-scrollbar {\n    display: none;\n  }\n\n  /* Hide scrollbar for IE, Edge and Firefox */\n  -ms-overflow-style: none; /* IE and Edge */\n  scrollbar-width: none; /* Firefox */\n\n  @media (max-width: 768px) {\n    width: 90%;\n    max-height: 85vh;\n  }\n"]);return l=function(){return n},n}function d(){let n=(0,t._)(["\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 1rem 1.5rem;\n  border-bottom: 1px solid #a77d3e;\n  background-color: #2e1e0f;\n  position: sticky;\n  top: 0;\n  z-index: 1;\n"]);return d=function(){return n},n}function u(){let n=(0,t._)(["\n  color: #f5e6d3;\n  padding: 0.5rem;\n  margin: -0.5rem;\n  border-radius: 0.25rem;\n  transition: all 0.2s;\n\n  &:hover {\n    color: #d6b87b;\n    background-color: rgba(167, 125, 62, 0.1);\n  }\n\n  @media (max-width: 768px) {\n    padding: 0.25rem;\n    margin: -0.25rem;\n  }\n"]);return u=function(){return n},n}function f(){let n=(0,t._)(['\n  font-size: 1.5rem;\n  font-family: "Cinzel", serif;\n  color: #d6b87b;\n  margin: 0;\n\n  @media (max-width: 768px) {\n    font-size: 1.25rem;\n  }\n']);return f=function(){return n},n}function m(){let n=(0,t._)(["\n  color: #f5e6d3;\n  padding: 1.5rem;\n\n  /* Hide scrollbar for Chrome, Safari and Opera */\n  &::-webkit-scrollbar {\n    display: none;\n  }\n\n  /* Hide scrollbar for IE, Edge and Firefox */\n  -ms-overflow-style: none; /* IE and Edge */\n  scrollbar-width: none; /* Firefox */\n\n  @media (max-width: 768px) {\n    padding: 1rem;\n    font-size: 0.9rem;\n  }\n"]);return m=function(){return n},n}let p=a.A.div(c()),g=a.A.div(l()),b=a.A.div(d()),h=a.A.button(u()),x=a.A.h2(f()),y=a.A.div(m()),v=n=>{let{isOpen:e,onClose:r,title:t,children:i}=n;return e?(0,o.jsx)(p,{children:(0,o.jsxs)(g,{children:[(0,o.jsxs)(b,{children:[(0,o.jsx)(x,{children:t}),(0,o.jsx)(h,{onClick:r,children:(0,o.jsx)(s.QCr,{size:24})})]}),(0,o.jsx)(y,{children:i})]})}):null},w=()=>{let[n,e]=(0,i.useState)({isOpen:!1,title:"",content:null});return(0,i.useEffect)(()=>(n.isOpen?document.body.style.overflow="hidden":document.body.style.overflow="unset",()=>{document.body.style.overflow="unset"}),[n.isOpen]),{modalContent:n,openModal:(n,r)=>{e({isOpen:!0,title:n,content:r})},closeModal:()=>{e(n=>({...n,isOpen:!1}))},Modal:v}},A=w},5350:(n,e,r)=>{"use strict";r.d(e,{xl:()=>f});var t=r(8322),o=r(4930),i=r(2768),a=r(2909).hp,s=r(5364);class c{static async executeSponsorTransaction(n,e){try{let r=(0,i.bf)();return await r.executeTransactionBlock({transactionBlock:n.transactionBytes,signature:e?[n.signature,e]:[n.signature],options:{showEffects:!0,showEvents:!0}})}catch(n){throw console.error("Error executing sponsored transaction:",n),Error("Failed to execute sponsored transaction")}}static async sponsorTransaction(n,e,r){try{let e=this.getSponsorKeypair(),t=e.getPublicKey().toSuiAddress(),o=(0,i.bf)();console.log("SPONSORING TRANSACTION",t,n,r);let s=a.from(n,"base64"),c=await e.signTransactionBlock(s),l=await o.executeTransactionBlock({transactionBlock:s,signature:r?[c.signature,r]:[c.signature],options:{showEffects:!0,showEvents:!0}});return console.log("RESULT",l),l}catch(n){throw console.error("Error sponsoring transaction:",n),Error("Failed to sponsor transaction")}}static generatePrivateKey(){let n=new o.h().getSecretKey();return a.from(n).toString("base64")}static getSponsorKeypair(){try{let n=s.env.LORD_SMEARINGTON_PK;if(!n)throw Error("Sponsor private key (LORD_SMEARINGTON_PK) not found in environment variables");let e=Uint8Array.from(a.from(n,"base64")).slice(0,32);return o.h.fromSecretKey(e)}catch(n){throw console.error("Error creating sponsor keypair:",n),Error("Failed to create sponsor keypair from provided private key")}}}c.generatePrivateKey,c.getSponsorKeypair;var l=r(5364);let d=n=>{let{handle:e,imageUrl:r,owner:o,pinCode:i,guardians:a}=n,s=new t.K;return s.setSender(o),s.moveCall({target:"".concat(l.env.NEXT_PUBLIC_PACKAGE_ID,"::handle::request_handle_registration"),arguments:[s.pure(l.env.NEXT_PUBLIC_HANDLE_REGISTRY_ID||"0xe39e7bc6f2db921ba6a0ffc6f5afc2ff673d51260d2d34c62fc368e9b20603b5"),s.pure(e),s.pure(r),s.pure(i),s.pure(a)]}),s},u="0xbb31d59792af0c6175efc4922c4a44c7aba946694e452f5258092712a1cc2437";class f{async registerCharacter(n){var e,r;let o=(0,i.O5)(),a=new t.K;a.setGasBudget(1e7),a.moveCall({target:"".concat(u,"::character::create_character"),arguments:[a.pure(Array.from(new TextEncoder().encode(n.name||""))),a.pure(Array.from(new TextEncoder().encode("BEGIN YOUR COLLECTOR QUEST at https://collectorquest.ai"))),a.pure(Array.from(new TextEncoder().encode(n.image_url||""))),a.pure(Array.from(new TextEncoder().encode((null===(e=n.race)||void 0===e?void 0:e.name)||""))),a.pure(Array.from(new TextEncoder().encode((null===(r=n.class)||void 0===r?void 0:r.name)||""))),a.pure(Array.from(new TextEncoder().encode(n.sex||"")))]}),a.setSender(o||""),a.setGasOwner("0x1551923e851c9ffe82ea65139d123b0ec32784d65c06ab6b7a3d75aea00b6b85"),a.setGasBudget(1e8);let s=await a.build({client:this.client}),c=await this.userWallet.signTransactionBlock(s);return await this.sponsorTransaction(c.bytes,c.signature)}async registerArtifact(n){let e=(0,i.O5)(),r=new t.K;r.setGasBudget(1e7),r.moveCall({target:"".concat(u,"::artifact::create_artifact"),arguments:[r.pure(Array.from(new TextEncoder().encode(n.title||""))),r.pure(Array.from(new TextEncoder().encode(n.artist||""))),r.pure(Array.from(new TextEncoder().encode(n.year||""))),r.pure(Array.from(new TextEncoder().encode(n.medium||""))),r.pure(Array.from(new TextEncoder().encode(n.description||""))),r.pure(Array.from(new TextEncoder().encode(n.imageUrl||"")))]}),r.setSender(e||""),r.setGasOwner("0x1551923e851c9ffe82ea65139d123b0ec32784d65c06ab6b7a3d75aea00b6b85"),r.setGasBudget(1e8);let o=await r.build({client:this.client}),a=await this.userWallet.signTransactionBlock(o);return await this.sponsorTransaction(a.bytes,a.signature)}async registerRelic(n,e){var r;let o=(0,i.O5)(),a=new t.K;a.setGasBudget(1e7),a.moveCall({target:"".concat(u,"::artifact::generate_relic"),arguments:[a.object(null!==(r=n.registration_id)&&void 0!==r?r:""),a.pure(Array.from(new TextEncoder().encode(e.imageUrl||""))),a.pure(Array.from(new TextEncoder().encode(e.class||""))),a.pure(Array.from(new TextEncoder().encode(e.element||""))),a.pure(Array.from(new TextEncoder().encode(e.effect||""))),a.pure(Array.from(new TextEncoder().encode(e.rarity||""))),a.pure(Array.from(new TextEncoder().encode(e.properties.visualAsset||""))),a.pure(Array.from(new TextEncoder().encode(e.properties.passiveBonus||""))),a.pure(Array.from(new TextEncoder().encode(e.properties.activeUse||""))),a.pure(Array.from(new TextEncoder().encode(e.properties.unlockCondition||""))),a.pure(Array.from(new TextEncoder().encode(e.properties.reflectionTrigger||""))),a.pure(Array.from(new TextEncoder().encode(e.story||"")))]}),a.setSender(o||""),a.setGasOwner("0x1551923e851c9ffe82ea65139d123b0ec32784d65c06ab6b7a3d75aea00b6b85"),a.setGasBudget(1e8);let s=await a.build({client:this.client}),c=await this.userWallet.signTransactionBlock(s);return await this.sponsorTransaction(c.bytes,c.signature)}async registerHandle(n,e,r,t,o){let i=d({handle:n,imageUrl:e,owner:r,pinCode:t,guardians:o});i.setSender(r),i.setGasOwner("0x1551923e851c9ffe82ea65139d123b0ec32784d65c06ab6b7a3d75aea00b6b85"),i.setGasBudget(1e8);let a=await i.build({client:this.client}),s=await this.userWallet.signTransactionBlock(a);return await this.sponsorTransaction(s.bytes,s.signature)}async executeRegisterHandle(n,e,r,t,o){let i=d({handle:n,imageUrl:e,owner:r,pinCode:t,guardians:o}),a=await i.build({client:this.client});return await this.client.executeTransactionBlock({transactionBlock:a,signature:[],options:{showEffects:!0,showEvents:!0}})}async sponsorTransaction(n,e){try{let r={transactionBytes:n,userAddress:this.userWallet.getPublicKey().toSuiAddress(),userSignature:e},t=await fetch("/api/sponsor",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),o=await t.json();if(!o.success)throw Error(o.error||"Sponsoring transaction failed");return o.result}catch(n){throw console.error("Error sponsoring transaction:",n),Error(n instanceof Error?n.message:"Failed to sponsor transaction")}}async executeTransaction(n){return await this.client.executeTransactionBlock({transactionBlock:n,signature:[],options:{showEffects:!0,showEvents:!0}})}constructor(n){this.client=(0,i.bf)(),this.userWallet=n}}},5934:(n,e,r)=>{"use strict";r.d(e,{A:()=>b});var t=r(8888),o=r(7876);r(4232);
1var i=r(8230),a=r.n(i),s=r(9099),c=r(1611),l=r(3679),d=r(1544);function u(){let n=(0,t._)(["\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  z-index: 1000;\n  background: rgba(30, 20, 50, 0.95);\n  backdrop-filter: blur(10px);\n  border-top: 1px solid rgba(187, 137, 48, 0.3);\n  padding: 0.5rem 0;\n  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.3);\n  overflow-x: auto;\n  overflow-y: hidden;\n\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: none;\n  scrollbar-width: none;\n\n  @media (max-width: 640px) {\n    padding: 0.75rem 0;\n  }\n"]);return u=function(){return n},n}function f(){let n=(0,t._)(["\n  display: flex;\n  align-items: center;\n  min-width: 100%;\n  padding: 0 1rem;\n  gap: 0;\n\n  @media (max-width: 640px) {\n    padding: 0 0.5rem;\n  }\n"]);return f=function(){return n},n}function m(){let n=(0,t._)(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 0.25rem;\n  padding: 0.5rem 1rem;\n  border-radius: 8px;\n  min-width: 25%;\n  flex: 0 0 25%;\n  transition: all 0.3s ease;\n  cursor: pointer;\n  color: ",";\n  background: ",";\n  border: 1px solid\n    ",";\n\n  &:hover {\n    color: #bb8930;\n    background: rgba(187, 137, 48, 0.1);\n    border-color: rgba(187, 137, 48, 0.3);\n    transform: translateY(-2px);\n  }\n\n  @media (max-width: 640px) {\n    padding: 0.5rem 0.75rem;\n    gap: 0.125rem;\n  }\n"]);return m=function(){return n},n}function p(){let n=(0,t._)(["\n  font-size: 1.25rem;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n\n  @media (max-width: 640px) {\n    font-size: 1.125rem;\n  }\n"]);return p=function(){return n},n}function g(){let n=(0,t._)(['\n  font-size: 0.75rem;\n  font-weight: 500;\n  font-family: "Cormorant Garamond", serif;\n  text-transform: uppercase;\n  letter-spacing: 0.5px;\n\n  @media (max-width: 640px) {\n    font-size: 0.625rem;\n  }\n']);return g=function(){return n},n}let b=()=>{let n=(0,s.useRouter)(),{isAdmin:e}=(0,d.A)(),r=[{href:"/character",icon:l.x$1,label:"Character",isActive:n.pathname.startsWith("/character"),onClick:e=>{n.pathname.startsWith("/character")&&(e.preventDefault(),n.push("/characters"))}},{href:"/artifacts",icon:l.BJb,label:"Artifacts",isActive:n.pathname.startsWith("/artifacts")},{href:"/relics",icon:l.SBv,label:"Relics",isActive:n.pathname.startsWith("/relics")},{href:"/quests",icon:l.pYS,label:"Quests",isActive:n.pathname.startsWith("/quests")}];return e&&r.push({href:"/admin",icon:l.Pcn,label:"Admin",isActive:n.pathname.startsWith("/admin")}),(0,o.jsx)(h,{children:(0,o.jsx)(x,{children:r.map(n=>(0,o.jsxs)(y,{href:n.href,isActive:n.isActive,onClick:n.onClick,children:[(0,o.jsx)(v,{children:(0,o.jsx)(n.icon,{})}),(0,o.jsx)(w,{children:n.label})]},n.href))})})},h=c.A.div(u()),x=c.A.nav(f()),y=(0,c.A)(a())(m(),n=>n.isActive?"#bb8930":"#e8e3f0",n=>n.isActive?"rgba(187, 137, 48, 0.1)":"transparent",n=>n.isActive?"rgba(187, 137, 48, 0.3)":"transparent"),v=c.A.div(p()),w=c.A.span(g())},8573:(n,e,r)=>{"use strict";r.d(e,{Ay:()=>y});var t=r(8888),o=r(7876);r(4232);var i=r(1611);function a(){let n=(0,t._)(["\n  display: flex;\n  flex-direction: column;\n  gap: 0.75rem;\n"]);return a=function(){return n},n}function s(){let n=(0,t._)(["\n  font-size: 0.85rem;\n  line-height: 1.4;\n  color: #c7bfd4;\n"]);return s=function(){return n},n}function c(){let n=(0,t._)(["\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 0.5rem;\n  background-color: rgba(187, 137, 48, 0.2);\n  color: #bb8930;\n  border: 1px solid #bb8930;\n  padding: 0.4rem 0.75rem;\n  border-radius: 4px;\n  font-size: 0.8rem;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  margin-top: 0.5rem;\n  align-self: flex-start;\n\n  &:hover {\n    background-color: rgba(187, 137, 48, 0.3);\n  }\n"]);return c=function(){return n},n}function l(){let n=(0,t._)(["\n  margin-bottom: 1rem;\n"]);return l=function(){return n},n}function d(){let n=(0,t._)(["\n  font-family: 'Cinzel', serif;\n  font-size: 1.2rem;\n  color: #bb8930;\n  margin-bottom: 0.5rem;\n"]);return d=function(){return n},n}function u(){let n=(0,t._)(["\n  font-size: 1rem;\n  line-height: 1.6;\n  color: #c7bfd4;\n  white-space: pre-wrap;\n"]);return u=function(){return n},n}function f(){let n=(0,t._)(["\n  list-style-type: disc;\n  padding-left: 1.5rem;\n  margin-top: 0.5rem;\n"]);return f=function(){return n},n}function m(){let n=(0,t._)(["\n  font-size: 1rem;\n  line-height: 1.6;\n  color: #c7bfd4;\n  margin-bottom: 0.25rem;\n"]);return m=function(){return n},n}let p=i.A.div(a()),g=i.A.p(s()),b=i.A.button(c()),h=i.A.div(l());i.A.h3(d());let x=i.A.p(u());i.A.ul(f()),i.A.li(m());let y=n=>{let{character:e,openModal:r}=n;return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(p,{children:e.backstory?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(g,{children:function(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:150;return n?n.length>e?"".concat(n.substring(0,e),"..."):n:""}(e.backstory,250)}),r&&(0,o.jsx)(b,{onClick:()=>{null==r||r("About ".concat(e.name),(0,o.jsx)(o.Fragment,{children:e.backstory&&(0,o.jsx)(h,{children:(0,o.jsx)(x,{children:e.backstory})})}))},children:"Read Full Backstory"})]}):(0,o.jsx)(g,{children:"No backstory available"})})})}},9054:(n,e,r)=>{"use strict";r.d(e,{A:()=>m});var t=r(8888),o=r(7876);r(4232);var i=r(427),a=r(3679);function s(){let n=(0,t._)(["\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  padding: 8px 12px;\n  background: rgba(0, 255, 0, 0.1);\n  border: 1px solid rgba(0, 255, 0, 0.3);\n  border-radius: 4px;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  margin: 0 auto;\n  width: fit-content;\n  margin: 1rem auto;\n\n  &:hover {\n    background: rgba(0, 255, 0, 0.2);\n    border-color: rgba(0, 255, 0, 0.5);\n  }\n\n  svg:first-child {\n    color: #00ff00;\n  }\n\n  span {\n    font-family: monospace;\n    font-size: 14px;\n    color: #ffffff;\n  }\n"]);return s=function(){return n},n}function c(){let n=(0,t._)(["\n  background: none;\n  border: none;\n  color: #888;\n  cursor: pointer;\n  padding: 4px;\n  border-radius: 2px;\n  transition: color 0.2s ease;\n\n  &:hover {\n    color: #ffffff;\n  }\n"]);return c=function(){return n},n}function l(){let n=(0,t._)(["\n  background: none;\n  border: none;\n  color: #888;\n  cursor: pointer;\n  padding: 4px;\n  border-radius: 2px;\n  transition: color 0.2s ease;\n\n  &:hover {\n    color: #ffffff;\n  }\n"]);return l=function(){return n},n}let d=i.Ay.div(s()),u=i.Ay.button(c()),f=i.Ay.button(l()),m=n=>{let{address:e,label:r="Address",onCopy:t,explorerUrl:i,className:s=""}=n,c=n=>{n.stopPropagation(),navigator.clipboard.writeText(e),t&&t(e)};return(0,o.jsxs)(d,{className:s,onClick:()=>c({stopPropagation:()=>{}}),"data-full-id":e,children:[(0,o.jsx)(a.A7C,{}),(0,o.jsxs)("span",{children:[e.slice(0,6),"...",e.slice(-4)]}),(0,o.jsx)(u,{onClick:c,title:"Copy ".concat(r),children:(0,o.jsx)(a.paH,{})}),i&&(0,o.jsx)(f,{onClick:n=>{n.stopPropagation(),i&&window.open(i,"_blank")},title:"View on Explorer",children:(0,o.jsx)(a.EQc,{})})]})}}},n=>{var e=e=>n(n.s=e);n.O(0,[4938,8396,4587,8322,3316,8741,9786,1598,3728,4016,6999,636,6593,8792],()=>e(2673)),_N_E=n.O()}]);

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.