1"use strict";(self.webpackChunkmy_webpack_project=self.webpackChunkmy_webpack_project||[]).push([[6073],{36073(e,t,a){a.r(t);var r=a(39471),n=a(97082),l=a(86287),i=a(28563),o=a(19673),c=a(50256),s=a(34646),d=a(87159),u=a(93267),m=a(54571),p=a(62945),g=a(61458),y=a(58908),h=a(58480),A=a(92612),f=a(90724),E=a(94319),_=a(73660),b=a(35380),k=a(51794),S=a(4826),w=a.n(S);function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,l,i,o=[],c=!0,s=!1;try{if(l=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(r=l.call(a)).done)&&(o.push(r.value),o.length!==t);c=!0);}catch(e){s=!0,n=e}finally{try{if(!c&&null!=a.return&&(i=a.return(),Object(i)!==i))return}finally{if(s)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return v(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?v(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}h.A.Title;const C=h.A.Text;a.d(t,["default",0,()=>{const e=x((0,r.useState)(!1),2),t=e[0],a=e[1],h=x((0,r.useState)([]),2),S=h[0],v=h[1],I=x((0,r.useState)({current:1,pageSize:20,total:0}),2),B=I[0],Y=I[1],j=x((0,r.useState)({total_attempts:0,currently_blocked_count:0}),2),z=j[0],M=j[1],D=x((0,r.useState)(""),2),T=D[0],O=D[1],P=x((0,r.useState)(!1),2),R=P[0],U=P[1],F=x((0,r.useState)(18),2),H=F[0],W=F[1],G=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20;a(!0);try{const a=await k.tY.GetAgeRestrictionAttempts(e,t,R,T);a.data.success&&(v(a.data.data),Y({current:a.data.pagination.page,pageSize:a.data.pagination.page_size,total:a.data.pagination.total_items}),M(a.data.stats),a.data.minimum_age&&W(a.data.minimum_age))}catch(e){console.error("Error fetching age restriction attempts:",e),s.Ay.error("Failed to load age restriction attempts")}finally{a(!1)}};(0,r.useEffect)(()=>{G()},[R]);const K=()=>{G(1,B.pageSize)},N=[{title:"Email",dataIndex:"email",key:"email",width:200,ellipsis:!0,render:e=>r.createElement(C,{copyable:!0},e)},{title:"IP Address",dataIndex:"ip_address",key:"ip_address",width:140,render:e=>r.createElement(C,{copyable:!0,code:!0},e)},{title:"Age",dataIndex:"age_at_attempt",key:"age_at_attempt",width:70,align:"center",render:e=>r.createElement(y.A,{color:e<H?"red":"green"},e," years")},{title:"Date of Birth",dataIndex:"date_of_birth",key:"date_of_birth",width:120,render:e=>w()(e).format("MMM DD, YYYY")},{title:"Attempted At",dataIndex:"attempted_at",key:"attempted_at",width:160,render:e=>w()(e).format("MMM DD, YYYY HH:mm"),sorter:(e,t)=>w()(e.attempted_at).unix()-w()(t.attempted_at).unix()},{title:"Block Status",dataIndex:"time_until_unblock",key:"block_status",width:140,render:(e,t)=>(e=>{if(!e)return r.createElement(y.A,{color:"green"},"Unblocked");const t=e.hours,a=e.minutes;return r.createElement(y.A,{color:"red",icon:r.createElement(A.A,null)},t,"h ",a,"m remaining")})(e)},{title:"User Agent",dataIndex:"user_agent",key:"user_agent",ellipsis:!0,width:200,render:e=>r.createElement(C,{ellipsis:!0,style:{maxWidth:200},title:e},e||"N/A")}];return r.createElement(r.Fragment,null,r.createElement(d.A,{justify:"end",style:{marginBottom:16}},r.createElement(o.A,null,r.createElement(l.A,{icon:r.createElement(f.A,null),onClick:()=>{G(B.current,B.pageSize)},loading:t,style:{fontWeight:700,borderRadius:"10px",backgroundColor:"#34B5B1",color:"white",height:"40.32px",borderColor:"#34B5B1"}},"Refresh"))),r.createElement(n.A,{message:"Age Restriction (".concat(H,"+)"),description:"This section tracks signup attempts by users under ".concat(H," years old. Each attempt results in a 24-hour block for that email and IP address."),type:"info",showIcon:!0,style:{marginBottom:16}}),r.createElement(d.A,{gutter:16,style:{marginBottom:16}},r.createElement(o.A,{span:12},r.createElement(i.A,null,r.createElement(m.A,{title:"Total Attempts",value:z.total_attempts,prefix:r.createElement(_.A,null)}))),r.createElement(o.A,{span:12},r.createElement(i.A,null,r.createElement(m.A,{title:"Currently Blocked",value:z.currently_blocked_count,prefix:r.createElement(b.A,null),valueStyle:{color:"#cf1322"}})))),r.createElement(u.A,{style:{marginBottom:16}},r.createElement(c.A,{placeholder:"Search by email or IP",prefix:r.createElement(E.A,null),value:T,onChange:e=>O(e.target.value),onPressEnter:K,style:{width:250}}),r.createElement(l.A,{type:"primary",icon:r.createElement(E.A,null),onClick:K},"Search"),r.createElement(p.A,{checkedChildren:"Blocked Only",unCheckedChildren:"All Attempts",checked:R,onChange:U})),r.createElement(g.A,{columns:N,dataSource:S,rowKey:"id",loading:t,pagination:B,onChange:e=>{G(e.current,e.pageSize)},scroll:{x:1200},size:"middle"}))}])}}]);
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.