PageSourceSearch

https://romyo.vercel.app/assets/index.page-CDnw_veW.js

js romyo.vercel.app collected 2026-10-03 07:38:27 UTC 13,154 bytes, 1 lines download raw bytes

1import{r as R,z as Z,A as b,D as ee,j as e,l as A,c as s,E as h,T as se,S as g,d as p,a as n,m as H,v as D,b as l,H as te,f as E,W as ie,J as B,h as ae,R as O,F as re,g as X,K as oe,L as ne,B as v,N as ce,u as le,G as q,Q as S,k as P,U as pe,V as de,P as _,X as j,i as me,Y,n as F,Z as f,_ as J,$ as Ee,a0 as he,a1 as Ae,w,a2 as Te,a3 as Me,a4 as Ne,O as Re,p as xe,a5 as ue,x as ge}from"./index-7Jlh78fi.js";var Le={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M873.1 596.2l-164-208A32 32 0 00684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z"}}]},name:"swap-right",theme:"outlined"};function $(){return $=Object.assign?Object.assign.bind():function(i){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(i[r]=a[r])}return i},$.apply(this,arguments)}const Oe=(i,t)=>R.createElement(Z,$({},i,{ref:t,icon:Le})),Se=R.forwardRef(Oe);function ye(i,t){const a=b(i);return a.setHours(0,0,0,0),a}function C(i,t,a){const r=b(i);return r.setTime(r.getTime()+t*ee),r}function Ge(i,t){const a=b(i);return a.setSeconds(59,999),a}function _e(i,t){return+b(i)<+b(t)}function K(i,t,a){return C(i,-t)}const je=()=>{const[i,t]=R.useState(new Date),[a,r]=R.useState(!0),c=i.getHours()<12;return R.useEffect(()=>{const m=setInterval(()=>{t(new Date),r(o=>!o)},1e3);return()=>{clearInterval(m)}},[]),{currentTime:i,visible:a,isAM:c}},N=i=>String(i).padStart(2,"0"),ve=()=>{const{currentTime:i,isAM:t}=je(),a=N(i.getHours()%12),r=N(i.getMinutes()),c=N(i.getSeconds());return e.jsxs("header",{className:s(n,re,l,X,oe,ne),children:[A.isDesktop&&e.jsx("div",{className:s(h)}),e.jsxs("div",{className:s(n,A.isDesktop?H:D,l,te,E,ie),children:[e.jsx(se.Title,{style:{color:"white",fontWeight:"bold"},children:"월드 이동 도우미"}),e.jsx("div",{className:s(g,p),children:"여러분의 이동 시간을 아껴드립니다"})]}),A.isDesktop&&e.jsx("div",{className:s(h),children:e.jsxs("div",{className:s(n,l,ae,O,"bg-[#391C05]","border-[5px] border-[#FFE86D]"),children:[e.jsxs("div",{className:s(n,l,E),style:{height:"100%",width:"70px"},children:[e.jsx("div",{style:{fontSize:17,fontWeight:"bold",color:t?"#FDF8CE":"#8A7A72"},children:"AM"}),e.jsx("div",{style:{fontSize:17,fontWeight:"bold",color:t?"#8A7A72":"#FDF8CE"},children:"PM"})]}),e.jsxs("div",{className:s(n,l,B),style:{height:"100%",width:"330px"},children:[e.jsx("div",{className:s(p,"text-[65px]","text-[#FDF8CE]"),children:a}),e.jsx("div",{className:s(p,"text-[65px]","text-[#FDF8CE]"),children:":"}),e.jsx("div",{className:s(p,"text-[65px]","text-[#FDF8CE]"),children:r}),e.jsx("div",{className:s(p,"text-[65px]","text-[#FDF8CE]"),children:":"}),e.jsx("div",{className:s(p,"text-[65px]","text-[#FDF8CE]"),children:c})]})]})})]})},be=i=>{const{value:t,url:a,size:r=70,radius:c=25,border:m=!0,filter:o,setFilter:d}=i,[x,T]=R.useState(!1),M=()=>{if(o.world===t)return d({...o,world:""});d({...o,world:t})},L=o.world===t;return e.jsx(v,{style:{border:m?"1px solid white":"none",height:r,width:r,borderRadius:c,backgroundImage:`url(${a})`,backgroundSize:"cover",backgroundColor:L?"red":x?"#F8FAB4":"white"},onMouseEnter:()=>T(!0),onMouseLeave:()=>T(!1),onClick:M})},Ce=[{START:{NAME:"엘리니아",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/101000000/icon?resize=3",COLOR:"green"},GAP:15,GO:10,REST:5,TYPE:"BOAT",END:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"}},{START:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"},GAP:15,GO:10,REST:5,TYPE:"BOAT",END:{NAME:"엘리니아",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/101000000/icon?resize=3",COLOR:"green"}},{START:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"},GAP:10,GO:5,REST:5,TYPE:"BOAT",END:{NAME:"루디브리엄",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/220000000/icon?resize=3",COLOR:"red"}},{START:{NAME:"루디브리엄",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/220000000/icon?resize=3",COLOR:"red"},GAP:10,GO:5,REST:5,TYPE:"BOAT",END:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"}},{START:{NAME:"루디브리엄",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/220000000/icon?resize=3",COLOR:"red"},GAP:4,GO:1,REST:1,TYPE:"EL",END:{NAME:"아랫마을",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/224000000/icon?resize=3",COLOR:"orange"}},{START:{NAME:"아랫마을",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/224000000/icon?resize=3",COLOR:"orange"},GAP:4,GO:1,REST:1,OFFSET:2,TYPE:"EL",END:{NAME:"루디브리엄",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/220000000/icon?resize=3",COLOR:"red"}},{START:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"}
1,GAP:10,GO:5,REST:5,TYPE:"BOAT",END:{NAME:"아리안트",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/260000000/icon?resize=3",COLOR:"orange"}},{START:{NAME:"아리안트",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/260000000/icon?resize=3",COLOR:"orange"},GAP:10,GO:5,REST:5,TYPE:"BOAT",END:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"}},{START:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"},GAP:10,GO:5,REST:5,TYPE:"BOAT",END:{NAME:"리프레",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/240000000/icon?resize=3",COLOR:"#4693e1"}},{START:{NAME:"리프레",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/240000000/icon?resize=3",COLOR:"#4693e1"},GAP:10,GO:5,REST:5,TYPE:"BOAT",END:{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3",COLOR:"#bbeeee"}},{START:{NAME:"커닝시티",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/103000000/icon?resize=3",COLOR:"gray"},GAP:10,GO:1,REST:5,TYPE:"SB",END:{NAME:"뉴리프시티",IMAGE_URL:"https://maplestory.io/api/GMS/255/map/600000000/icon?resize=3",COLOR:"#4693e1"}},{START:{NAME:"뉴리프시티",IMAGE_URL:"https://maplestory.io/api/GMS/255/map/600000000/icon?resize=3",COLOR:"#4693e1"},GAP:10,GO:1,REST:5,TYPE:"SB",END:{NAME:"커닝시티",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/103000000/icon?resize=3",COLOR:"gray"}}],Ie=[{NAME:"엘리니아",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/101000000/icon?resize=3"},{NAME:"오르비스",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/200000000/icon?resize=3"},{NAME:"루디브리엄",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/220000000/icon?resize=3"},{NAME:"아랫마을",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/224000000/icon?resize=3"},{NAME:"아리안트",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/260000000/icon?resize=3"},{NAME:"리프레",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/240000000/icon?resize=3"},{NAME:"커닝시티",IMAGE_URL:"https://maplestory.io/api/KMS/389/map/103000000/icon?resize=3"},{NAME:"뉴리프시티",IMAGE_URL:"https://maplestory.io/api/GMS/255/map/600000000/icon?resize=3"}],Fe=i=>{const{filter:t,setFilter:a}=i,r=c=>{if(t.type===c)return a({...t,type:""});a({...t,type:c})};return e.jsx("div",{className:s(n,P,pe,de,l),children:e.jsxs("div",{className:s(n,S,D,X,E,O),style:{backgroundColor:"#00000080"},children:[e.jsx("div",{className:s(n,H,l,ce),children:Ie.map(c=>e.jsx(be,{value:c.NAME,url:c.IMAGE_URL,filter:t,setFilter:a}))}),e.jsxs("div",{className:s(n,le,l,q),children:[e.jsx(v,{className:s(h),style:{height:"45px"},color:t.type==="BOAT"?"cyan":"geekblue",variant:"solid",onClick:()=>r("BOAT"),children:e.jsx("div",{className:s(p,g),children:"배"})}),e.jsx(v,{className:s(h),style:{height:"45px"},color:t.type==="SB"?"cyan":"geekblue",variant:"solid",onClick:()=>r("SB"),children:e.jsx("div",{className:s(p,g),children:"지하철"})}),e.jsx(v,{className:s(h),style:{height:"45px"},color:t.type==="EL"?"cyan":"geekblue",variant:"solid",onClick:()=>r("EL"),children:e.jsx("div",{className:s(p,g),children:"엘리베이터"})})]})]})})},W=({gap:i,offset:t})=>{const a=new Date;let c=C(ye(a),t??0);for(;_e(c,a);)c=C(c,i);return c},fe=i=>{const{gap:t,rest:a,go:r,offset:c=0,type:m}=i,[o,d]=R.useState(()=>W({gap:t,offset:c}));R.useEffect(()=>{const u=setInterval(()=>{d(W({gap:t,offset:c}))},1e3);return()=>clearInterval(u)},[t,c]);const x=K(o,a),T=Ge(K(o,1+(m!=="EL"?1:0))),M=new Date,L=M.getTime()>=x.getTime()&&M.getTime()<=T.getTime(),I=M.getTime()>T.getTime()&&M.getTime()<o.getTime();let y=0;if(L){const u=T.getTime()-x.getTime(),G=M.getTime()-x.getTime();y=100-Math.min(Math.max(G/u*100,0),100)}else if(I){const u=o.getTime()-T.getTime(),G=M.getTime()-T.getTime();y=Math.min(Math.max(G/u*100,0),100)}else{const u=K(o,t),k=x.getTime()-u.getTime(),Q=M.getTime()-u.getTime();y=Math.min(Math.max(Q/k*100,0),100)}const U=C(o,r),z=C(o,t+c);return{nextFerryTime:o,nextNextFerryTime:z,nextFerryArriveTime:U,enterStartTime:x,enterEndTime:T,canEnterBoat:L,isInPrepTime:I,progressPercent:y}},V=i=>{const{gap:t,go:a,rest:r,offset:c,start:m,end:o,type:d}=i,{nextFerryTime:x,nextFerryArriveTime:T,enterStartTime:M,enterEndTime:L,canEnterBoat:I,progressPercent:y,isInPrepTime:U}=fe({gap:t,go:a,rest:r,offset:c,type:d}),z=`${N(x.getHours()%12)}:${N(x.getMinutes())}`,u=`${N(T.getHours()%12)}:${N(T.getMinutes())}`,G=`${N(M.getHours()%12)}:${N(M.getMinutes())}`,k=`${N(L.getHours()%12)}:${N(L.getMinutes())}`;return e.jsxs("div",{className:s(n,A.isDesktop?he:P,E,Ae),style:{height:"220px",flexShrink:0,backgroundColor:"#FFF6E9EE"},children:[e.jsxs("div",{className:s(n,me,l,Y,"rounded-tl-md rounded-tr-md"),children:[e.jsxs("div",{className:s(n,B,l),
1children:[e.jsx("div",{className:s(A.isDesktop?_:_,p),children:m.NAME}),e.jsx("img",{src:m.IMAGE_URL,style:{border:"4px solid white",height:50,width:50,borderRadius:25,backgroundColor:`${m.COLOR}`}})]}),e.jsx("div",{className:s(j,p),children:e.jsx(Se,{})}),e.jsxs("div",{className:s(n,B,l),children:[e.jsx("img",{src:o.IMAGE_URL,style:{border:"4px solid white",height:50,width:50,borderRadius:25,backgroundColor:`${o.COLOR}`}}),e.jsx("div",{className:s(A.isDesktop?_:_,p),children:o.NAME})]})]}),e.jsxs("div",{className:s(J,n,l,Ee),children:[e.jsxs("div",{className:s(h,S,n,E,O,f),style:{},children:[e.jsx("div",{className:s(h,g,p,n,l),children:"출발"}),e.jsx("div",{className:s(F,n,l,j,p),children:z})]}),e.jsxs("div",{className:s(h,S,n,E,O,f),style:{},children:[e.jsx("div",{className:s(h,g,p,n,l),children:"도착"}),e.jsx("div",{className:s(F,n,l,j,p),children:u})]}),e.jsxs("div",{className:s(h,S,n,E,O,f),children:[e.jsx("div",{className:s(h,g,p,n,l),children:"탑승"}),e.jsxs("p",{className:s(F,n,l,j,p,E),children:[G,e.jsx("br",{}),e.jsx("p",{className:s(_),children:"부터"})]})]}),e.jsxs("div",{className:s(h,S,n,E,O,f),children:[e.jsx("div",{className:s(h,g,p,n,l),children:"마감"}),e.jsxs("p",{className:s(F,n,l,j,p,E),children:[k,e.jsx("br",{}),e.jsx("p",{className:s(_),children:"까지"})]})]})]}),e.jsx("div",{style:{height:"10px",width:"100%",backgroundColor:"rgba(0,0,0,0.1)",borderRadius:"5px"},children:e.jsx("div",{style:{height:"100%",width:`${y}%`,backgroundColor:I?"rgba(55, 217, 71, 0.8)":U?"rgba(128,128,128,0.8)":"rgba(248, 109, 96, 0.8)",transition:"width 0.5s ease-out",borderRadius:"5px"}})})]})},De=(i=[],t=1)=>{const a=[];for(let r=0;r<i.length;r+=t)a.push(i.slice(r,r+t));return a},Ue=()=>{const[i,t]=R.useState({type:"",world:""}),a=R.useMemo(()=>Ce.filter(m=>i.type===""?!0:i.type===m.TYPE).filter(m=>i.world===""?!0:i.world===m.START.NAME||i.world===m.END.NAME),[i]),r=R.useMemo(()=>De(a,2),[a]),c=()=>{t({type:"",world:""})};return e.jsxs("div",{className:s(w,ge,n,E),style:{backgroundImage:"linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://jq7z53q8i1zt5tqz.public.blob.vercel-storage.com/worldmap.webp')",backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"80%"},children:[e.jsx(ve,{}),e.jsx("main",{className:s(A.isDesktop?S:S,n,ue,q,l),children:e.jsxs("div",{className:s(w,n,A.isDesktop?H:D,E),children:[A.isDesktop&&e.jsx(Fe,{filter:i,setFilter:t}),e.jsxs("div",{className:s(n,A.isDesktop?J:D,P,E,Re,Y,xe,A.isDesktop?X:"",O),style:{height:"400px",backgroundColor:"#00000080"},children:[r.length===0&&e.jsxs("div",{className:s(w,n,l,E,Y),children:[e.jsx("div",{className:s(j),style:{color:"white"},children:"이동할 수 있는 방법이 없어요"}),e.jsx(v,{size:"large",type:"primary",onClick:c,children:e.jsx("div",{className:s(p),children:"필터 초기화 하기"})})]}),r.map(m=>{const o=m[0],d=m[1];return e.jsxs("div",{className:s(Te,A.isDesktop?Me:Ne,P),style:{placeItems:"center",rowGap:A.isDesktop?0:20},children:[o&&e.jsx(V,{start:o.START,end:o.END,gap:o.GAP,rest:o.REST,go:o.GO,offset:o.OFFSET,type:o.TYPE},`${o.START.NAME}-${o.TYPE}-${o.END.NAME}`),d&&e.jsx(V,{start:d.START,end:d.END,gap:d.GAP,rest:d.REST,go:d.GO,offset:d.OFFSET,type:d.TYPE},`${d.START.NAME}-${d.TYPE}-${d.END.NAME}`)]})})]})]})})]})};export{Ue 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.