1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4308],{7056:(e,a,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/validators-portal",function(){return s(27765)}])},27765:(e,a,s)=>{"use strict";s.r(a),s.d(a,{__N_SSP:()=>j,default:()=>v});var t=s(6029),r=s(55729),i=s(53860),n=s(2083),l=s(95669),o=s.n(l),c=s(81278),d=s(71073),h=s(71568),u=s(96723),p=s(61017),x=s.n(p);let m=()=>{let e=(0,c.useRouter)(),[a,s]=(0,r.useState)(!1),[l,p]=(0,r.useState)(!0),[x,m]=(0,r.useState)(null),j=e.query.discordError,[v,f]=(0,r.useState)([]),y=(e,a)=>{f(s=>[...s,{type:e,message:a}])};(0,r.useEffect)(()=>{g(),j&&y("danger",j)},[e]);let g=async()=>{try{p(!0);let e=await (0,u.A)("/validators-portal/validators/index",{withCredentials:!0});s(!0),m(e)}catch(e){s(!1),m(null)}finally{p(!1)}};return(0,t.jsxs)("div",{className:"theme-v2",children:[(0,t.jsxs)(o(),{children:[(0,t.jsx)("title",{children:"Validators Portal | Solana"}),(0,t.jsx)("meta",{name:"description",content:"Verify your Solana validator ownership to receive Discord roles and access exclusive validator channels."})]}),v.length>0&&v.map((e,a)=>(0,t.jsx)(i.A,{className:"mt-4",variant:e.type,dismissible:"success"===e.type,children:e.message},a)),l||!a?(0,t.jsx)("div",{className:"card my-5 p-5 w-50 mx-auto d-flex flex-column justify-content-center rounded-4",children:l?(0,t.jsxs)("div",{className:"d-flex flex-column align-items-center",children:[(0,t.jsx)(n.A,{animation:"border",role:"status"}),(0,t.jsx)("p",{className:"mt-3",children:"Loading your validator portal..."})]}):(0,t.jsx)(d.default,{onLoginSuccess:()=>{g()},onLoginError:e=>{y("danger",e)},redirectUrl:"/validators-portal"})}):(0,t.jsx)(h.default,{initialData:x,onDataUpdate:e=>{m(e)}})]})};m.layout={belowHeader:(0,t.jsx)("div",{className:`solana-gradient-bg py-4 ${x().headerRibbon}`,children:(0,t.jsx)("h3",{className:`text-white ${x().headerRibbonContent}`,children:"Validators portal"})})};var j=!0;let v=m},71073:(e,a,s)=>{"use strict";s.r(a),s.d(a,{default:()=>d});var t=s(6029),r=s(55729),i=s(234),n=s(2083),l=s(96723),o=s(61017),c=s.n(o);let d=({onLoginError:e,redirectUrl:a,disabled:s=!1})=>{let[o,d]=(0,r.useState)(!1),h=async()=>{d(!0);try{let e=await (0,l.A)("/validators-portal/login",{method:"POST",headers:{"Content-Type":"application/json"},body:{redirectUrl:a},withCredentials:!0});if(e.authUrl)window.location.href=e.authUrl;else throw Error("No authentication URL received")}catch(s){console.error("Discord login failed:",s);let a=s.responseData?.message||"Discord login failed. Please try again.";e&&e(a),d(!1)}};return(0,t.jsxs)("div",{style:{textAlign:"center"},children:[(0,t.jsx)(i.A,{variant:"primary",size:"lg",onClick:h,disabled:s||o,className:c().primaryButton,children:o?(0,t.jsxs)("span",{className:c().inlineSpinner,children:[(0,t.jsx)(n.A,{className:"me-2",animation:"border",size:"sm"}),(0,t.jsx)("span",{children:"Connecting to Discord..."})]}):(0,t.jsxs)("span",{className:c().inlineSpinner,children:[(0,t.jsx)("span",{className:`me-2 ${c().buttonIcon}`,children:(0,t.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14.09 14.09 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03z"})})}),(0,t.jsx)("span",{children:"Continue with Discord"})]})}),(0,t.jsxs)("p",{children:[(0,t.jsx)("br",{}),"You'll be redirected to Discord to authorize this application. We only access your basic profile information."]})]})}},95669:(e,a,s)=>{e.exports=s(63276)}},e=>
1{e.O(0,[8639,934,3949,3678,1218,2650,5732,9968,9780,5792,6210,636,6593,8792],()=>e(e.s=7056)),_N_E=e.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.