(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[702],{7677:function(e,s,a){Promise.resolve().then(a.bind(a,6086))},6086:function(e,s,a){"use strict";a.r(s),a.d(s,{default:function(){return j}});var t=a(7437),c=a(9738),r=a.n(c),l=a(2265),i=a(5251),o=a(2167),n=a(6540),d=a(9036),f=a(774),x=a(5883),m=a(7405),p=a(5750),u=a(8244),h=a(6141),g=a(3480);function j(){let{socket:e,isConnected:s}=(0,n.s)(),[a,c]=(0,l.useState)(""),[j,b]=(0,l.useState)(!1),[v,N]=(0,l.useState)([]),[w,y]=(0,l.useState)([]),[_,k]=(0,l.useState)("");(0,l.useEffect)(()=>{let e=localStorage.getItem("resistencia_admin_session");"active"===e&&b(!0)},[]),(0,l.useEffect)(()=>{if(j&&e)return e.emit("admin_get_data"),e.on("admin_data",e=>{console.log("[ADMIN] Datos recibidos:",e),N(e.activeGames),y(e.history)}),e.on("admin_action_success",()=>{console.log("[ADMIN] Acci\xf3n realizada con \xe9xito"),e.emit("admin_get_data")}),()=>{e.off("admin_data"),e.off("admin_action_success")}},[j,e,N,y]);let I=s=>{confirm("\xbfSeguro que quieres forzar el cierre de esta partida?")&&(null==e||e.emit("admin_close_game",{roomId:s}))},S=(s,a)=>{confirm("\xbfSeguro que quieres expulsar a este jugador?")&&(null==e||e.emit("admin_kick_player",{roomId:s,targetSocketId:a}))};return j?(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f min-h-screen bg-[#0a0a0c] text-white p-4 md:p-10 font-['Inter',sans-serif]",children:[(0,t.jsxs)("header",{className:"jsx-fdcac8fe30296e2f max-w-7xl mx-auto flex flex-col md:flex-row justify-between items-start md:items-center mb-12 gap-6",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f space-y-1",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-3 text-red-500",children:[(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f p-2 bg-red-500/10 rounded-lg",children:(0,t.jsx)(d.Z,{size:22})}),(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f text-[10px] font-black uppercase tracking-[0.4em] opacity-80",children:"Seguimiento de Operaciones"})]}),(0,t.jsx)("h1",{className:"jsx-fdcac8fe30296e2f text-5xl font-black tracking-tighter uppercase italic text-transparent bg-clip-text bg-gradient-to-r from-white via-white to-gray-500",children:"Comandante"})]}),(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-6 bg-[#121216] border border-white/10 px-8 py-4 rounded-3xl shadow-xl",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex flex-col items-end",children:[(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f text-[10px] text-gray-500 uppercase font-black tracking-widest mb-1",children:"Status Servidor"}),(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-2",children:[(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f "+"w-2.5 h-2.5 rounded-full ".concat(s?"bg-green-500 shadow-[0_0_15px_rgba(34,197,94,0.6)] animate-pulse":"bg-red-500")}),(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f text-xs font-mono font-black tracking-widest",children:s?"OPERATIVO":"DESCONECTADO"})]})]}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f w-px h-8 bg-white/10 mx-2"}),(0,t.jsxs)("button",{onClick:()=>{localStorage.removeItem("resistencia_admin_session"),b(!1),c("")},className:"jsx-fdcac8fe30296e2f flex items-center gap-2 px-5 py-2.5 bg-zinc-800 hover:bg-red-600 text-gray-300 hover:text-white rounded-xl transition-all font-black text-[10px] uppercase tracking-widest group",children:[(0,t.jsx)(x.Z,{size:16,className:"group-hover:translate-x-1 transition-transform"}),"Desconectar"]})]})]}),(0,t.jsxs)("main",{className:"jsx-fdcac8fe30296e2f max-w-7xl mx-auto grid grid-cols-1 lg:grid-cols-12 gap-10",children:[(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f lg:col-span-12 grid grid-cols-2 md:grid-cols-4 gap-4 mb-2",children:[{label:"Partidas Activas",value:v.length,color:"text-red-500",icon:m.Z},{label:"Agentes Online",value:v.reduce((e,s)=>e+s.currentPlayers,0),color:"text-blue-400",icon:p.Z},{label:"Misiones Registradas",value:w.length,color:"text-orange-400",icon:u.Z},{label:"Uso de CPU",value:"4%",color:"text-green-400",icon:h.Z}].map((e,s)=>(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f bg-[#121216] border border-white/5 p-6 rounded-2xl flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f",children:[(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f text-[10px] uppercase font-black tracking-widest text-gray-500 mb-1",children:e.label}),(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f "+"text-2xl font-black ".concat(e.color),children:e.value})]}),(0,t.jsx)(e.icon,{className:"opacity-10",size:32})]},s))}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f lg:col-span-8 space-y-8",children:(0,t.jsxs)("section",{className:"jsx-fdcac8fe30296e2f",children:[(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-4 mb-8",children:(0,t.jsx)("h2",{className:"jsx-fdcac8fe30296e2f text-xl font-black text-white uppercase tracking-tighter italic border-l-4 border-red-600 pl-4",children:"Canales de Radio Activos"})}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f grid gap-6",children:(0,t.jsx)(o.M,{mode:"popLayout",children:0===v.length?(0,t.jsxs)(i.E.div,{initial:{opacity:0},animate:{opacity:1},className:"bg-[#121216]/40 border border-dashed border-white/10 rounded-3xl p-20 text-center",children:[(0,t.jsx)(h.Z,{size:48,className:"mx-auto mb-6 text-gray-700"}),(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f text-lg font-bold text-gray-600 uppercase tracking-widest",children:"Silencio Radioel\xe9ctrico"}),(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f text-xs text-gray-700 font-medium",children:"Buscando se\xf1ales de misiones activas..."})]}):v.map(e=>(0,t.jsxs)(i.E.div,{layout:!0,initial:{opacity:0,x:-20},animate:{opacity:1,x:0},exit:{opacity:0,scale:.95},className:"bg-[#121216] border border-white/10 rounded-3xl p-8 hover:bg-[#16161c] transition-all group shadow-xl",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex flex-col md:flex-row justify-between items-start md:items-center gap-6",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex-1",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-3 mb-2",children:[(0,t.jsx)("h3",{className:"jsx-fdcac8fe30296e2f text-2xl font-black text-white italic uppercase tracking-tighter leading-none",children:e.name}),(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f text-[10px] font-bold px-2 py-0.5 bg-red-500/10 text-red-500 rounded border border-red-500/20",children:e.status})]}),(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-4 text-[10px] uppercase font-black tracking-widest text-gray-500",children:[(0,t.jsxs)("span",{className:"jsx-fdcac8fe30296e2f flex items-center gap-1.5",children:[(0,t.jsx)(p.Z,{size:12,className:"text-red-500"}),e.currentPlayers," / ",e.maxPlayers," Agentes Movilizados"]}),(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f text-gray-800",children:"|"}),(0,t.jsxs)("span",{className:"jsx-fdcac8fe30296e2f",children:["ID: ",e.id.slice(0,8)]})]})]}),(0,t.jsx)("button",{onClick:()=>I(e.id),className:"jsx-fdcac8fe30296e2f px-6 py-3 bg-zinc-900 hover:bg-red-600 text-gray-400 hover:text-white rounded-2xl text-[10px] font-black uppercase tracking-[0.2em] transition-all border border-white/5 active:scale-95 whitespace-nowrap",children:"Abortar Misi\xf3n"})]}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f mt-8 pt-8 border-t border-white/5",children:(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4",children:e.players.map(s=>(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f bg-black/40 p-4 rounded-2xl border border-white/5 flex items-center justify-between group/player hover:border-red-500/30 transition-all",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-3",children:[(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f w-10 h-10 rounded-xl bg-white/5 flex items-center justify-center font-black text-red-500 border border-white/5 group-hover/player:bg-red-500 group-hover/player:text-white transition-all",children:s.name[0].toUpperCase()}),(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f",children:[(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f text-sm font-black text-white leading-none mb-1",children:s.name}),(0,t.jsxs)("p",{className:"jsx-fdcac8fe30296e2f text-[9px] opacity-30 font-mono italic",children:["AG-",s.id.slice(0,4)]})]})]}),(0,t.jsx)("button",{onClick:()=>S(e.id,s.id),title:"Expulsar de la zona",className:"jsx-fdcac8fe30296e2f p-2.5 text-gray-700 hover:text-red-500 hover:bg-red-500/10 rounded-xl transition-all opacity-0 group-hover/player:opacity-100",children:(0,t.jsx)(g.Z,{size:18})})]},s.id))})})]},e.id))})})]})}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f lg:col-span-4 space-y-8",children:(0,t.jsxs)("section",{className:"jsx-fdcac8fe30296e2f sticky top-10",children:[(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-4 mb-8",children:(0,t.jsx)("h2",{className:"jsx-fdcac8fe30296e2f text-xl font-black text-white uppercase tracking-tighter italic border-l-4 border-gray-600 pl-4",children:"Informe Forense"})}),(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f bg-[#121216] border border-white/10 rounded-3xl overflow-hidden shadow-2xl",children:[(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f p-6 bg-white/5 border-b border-white/5",children:(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f text-[10px] uppercase font-black tracking-widest text-gray-400",children:"\xdaltimos Informes Desclasificados"})}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f max-h-[60vh] overflow-y-auto custom-scrollbar p-6 space-y-6",children:0===w.length?(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f text-center py-20 opacity-10",children:[(0,t.jsx)(u.Z,{size:40,className:"mx-auto mb-4"}),(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f text-xs italic font-bold",children:"Sin archivos registrados"})]}):w.map(e=>(0,t.jsxs)(i.E.div,{initial:{opacity:0},animate:{opacity:1},className:"group relative",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex justify-between items-start",children:[(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f space-y-1",children:[(0,t.jsx)("h4",{className:"jsx-fdcac8fe30296e2f text-sm font-black text-gray-200 uppercase tracking-tight group-hover:text-white transition-colors leading-none mb-1",children:e.room_name}),(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f flex items-center gap-2 text-[9px] text-gray-600 font-bold uppercase tracking-widest",children:[(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f",children:e.host_name}),(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f",children:"•"}),(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f",children:new Date(e.created_at).toLocaleDateString()})]})]}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f "+"text-[9px] font-black uppercase px-2 py-1 rounded shadow-sm ".concat("resistance"===e.winner?"bg-green-500/20 text-green-500":"spies"===e.winner?"bg-red-500/20 text-red-500":"bg-gray-700/20 text-gray-500"),children:e.winner?"resistance"===e.winner?"RES":"SPIES":"LOGOUT"})]}),(0,t.jsxs)("div",{className:"jsx-fdcac8fe30296e2f mt-2 flex items-center gap-3 text-[9px] opacity-40 group-hover:opacity-60 transition-opacity",children:[(0,t.jsxs)("span",{className:"jsx-fdcac8fe30296e2f flex items-center gap-1 font-mono",children:[e.players.split(",").length," Agtes"]}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f w-1 h-1 bg-white/20 rounded-full"}),(0,t.jsx)("span",{className:"jsx-fdcac8fe30296e2f",children:new Date(e.created_at).toLocaleTimeString()})]}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f absolute -left-6 top-1.5 w-1 h-0 group-hover:h-3 bg-red-600 transition-all rounded-full"})]},e.id))}),(0,t.jsx)("div",{className:"jsx-fdcac8fe30296e2f p-6 bg-white/5 border-t border-white/5",children:(0,t.jsx)("p",{className:"jsx-fdcac8fe30296e2f text-[9px] font-bold text-center text-gray-600 uppercase tracking-widest",children:"Fin del Informe Forense"})})]})]})})]}),(0,t.jsx)(r(),{id:"fdcac8fe30296e2f",children:'@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap");body{background-color:#0a0a0c;cursor:crosshair}.custom-scrollbar::-webkit-scrollbar{width:3px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.05);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.1)}'})]}):(0,t.jsx)("div",{className:"min-h-screen bg-[#0a0a0c] flex items-center justify-center p-4 font-['Inter',sans-serif]",children:(0,t.jsxs)(i.E.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:"bg-[#121216] border border-white/10 p-10 rounded-3xl w-full max-w-md shadow-[0_20px_50px_rgba(0,0,0,0.5)] relative overflow-hidden",children:[(0,t.jsx)("div",{className:"absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-red-600 via-zinc-800 to-red-600"}),(0,t.jsxs)("div",{className:"flex justify-center mb-8 relative",children:[(0,t.jsx)("div",{className:"absolute inset-0 bg-red-500/20 blur-2xl rounded-full"}),(0,t.jsx)(d.Z,{size:64,className:"text-red-500 relative z-10"})]}),(0,t.jsx)("h1",{className:"text-3xl font-black text-white text-center mb-2 uppercase tracking-tight",children:"Acceso Admin"}),(0,t.jsx)("p",{className:"text-gray-400 text-center text-sm mb-10 font-medium",children:"Panel de Control de La Resistencia"}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),"admin123"===a?(b(!0),localStorage.setItem("resistencia_admin_session","active"),k("")):k("Acceso Denegado: Contrase\xf1a incorrecta")},className:"space-y-6",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(f.Z,{size:18,className:"absolute left-4 top-1/2 -translate-y-1/2 text-gray-500"}),(0,t.jsx)("input",{type:"password",autoFocus:!0,value:a,onChange:e=>c(e.target.value),placeholder:"Introduce la contrase\xf1a",className:"w-full bg-[#1a1a20] border border-white/5 rounded-2xl pl-12 pr-6 py-4 text-white focus:outline-none focus:ring-2 focus:ring-red-600/50 transition-all placeholder:text-gray-600 font-medium"})]}),_&&(0,t.jsxs)(i.E.p,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},className:"text-red-500 text-xs font-bold text-center mt-2 flex items-center justify-center gap-2",children:[(0,t.jsx)("span",{className:"w-1.5 h-1.5 bg-red-500 rounded-full animate-pulse"}),_]}),(0,t.jsx)("button",{type:"submit",className:"w-full bg-red-600 hover:bg-red-500 text-white font-black py-4 rounded-2xl shadow-xl shadow-red-600/10 transition-all uppercase tracking-[0.2em] text-xs hover:scale-[1.02] active:scale-[0.98]",children:"Entrar en Sistema"})]})]})})}},6540:function(e,s,a){"use strict";a.d(s,{s:function(){return i}});var t=a(2265),c=a(4337),r=a(2601);let l=r.env.NEXT_PUBLIC_API_URL||"http://localhost:4000",i=()=>{let[e,s]=(0,t.useState)(null),[a,r]=(0,t.useState)(null),[i,o]=(0,t.useState)(!1),[n,d]=(0,t.useState)([]);(0,t.useEffect)(()=>{let e=(0,c.io)(l);return e.on("connect",()=>{console.log("Conectado al servidor"),o(!0)}),e.on("disconnect",()=>{console.log("Desconectado del servidor"),o(!1)}),e.on("game_state",e=>{console.log("Nuevo estado del juego:",e),r(e)}),e.on("rooms_list",e=>{console.log("Lista de salas actualizada:",e),d(e)}),e.on("game_joined",e=>{let{state:s}=e;r(s)}),e.on("error",e=>{alert(e)}),e.on("game_finalized",()=>{console.log("La partida ha sido finalizada por el host"),r(null)}),e.on("player_left_game",e=>{let{playerName:s}=e;console.log("".concat(s," ha abandonado la partida"))}),s(e),()=>{e.disconnect()}},[]);let f=(0,t.useMemo)(()=>({createGame:(s,a,t)=>{null==e||e.emit("create_game",{hostName:s,maxPlayers:a,password:t})},joinGame:(s,a,t)=>{null==e||e.emit("join_game",{roomId:s,playerName:a,password:t})},refreshRooms:()=>{null==e||e.emit("get_rooms")},startGame:()=>{null==e||e.emit("start_game",{roomId:null==a?void 0:a.roomId})},proposeTeam:s=>{null==e||e.emit("propose_team",{roomId:null==a?void 0:a.roomId,teamIds:s})},voteTeam:s=>{null==e||e.emit("vote_team",{roomId:null==a?void 0:a.roomId,approve:s})},voteMission:s=>{null==e||e.emit("vote_mission",{roomId:null==a?void 0:a.roomId,success:s})},voteLeader:s=>null==e?void 0:e.emit("vote_leader",{roomId:null==a?void 0:a.roomId,approve:s}),assassinKill:s=>{null==e||e.emit("assassin_kill",{roomId:null==a?void 0:a.roomId,targetId:s})},leaveGame:()=>{null==e||e.emit("leave_game",{roomId:null==a?void 0:a.roomId})},reconnectSession:s=>{null==e||e.emit("reconnect_session",s)},finishIntro:()=>null==e?void 0:e.emit("finish_intro",{roomId:null==a?void 0:a.roomId}),finishReveal:()=>null==e?void 0:e.emit("finish_reveal",{roomId:null==a?void 0:a.roomId}),finishRollCall:()=>null==e?void 0:e.emit("finish_roll_call",{roomId:null==a?void 0:a.roomId}),finishMissionReveal:()=>null==e?void 0:e.emit("finish_reveal",{roomId:null==a?void 0:a.roomId}),finishMissionResult:()=>null==e?void 0:e.emit("finish_mission_result",{roomId:null==a?void 0:a.roomId}),restartGame:()=>null==e?void 0:e.emit("restart_game",{roomId:null==a?void 0:a.roomId}),finalizeGame:()=>null==e?void 0:e.emit("finalize_game",{roomId:null==a?void 0:a.roomId})}),[e,null==a?void 0:a.roomId]);return{socket:e,isConnected:i,gameState:a,roomsList:n,actions:f}}}},function(e){e.O(0,[59,871,971,472,744],function(){return e(e.s=7677)}),_N_E=e.O()}]);