PageSourceSearch

https://www.apartsearcher.ai/_next/static/chunks/pages/admin/dong-price-per-pyeong-497deb8dcf9bd772.js

js apartsearcher.ai collected 2026-10-05 15:13:17 UTC 31,642 bytes, 6 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2728],{13803:function(n,e,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/admin/dong-price-per-pyeong",function(){return r(48380)}])},27042:function(n,e,r){"use strict";r.d(e,{Z:function(){return t}});/**
2 * @license lucide-react v0.438.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */let t=(0,r(33592).Z)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},48380:function(n,e,r){"use strict";r.r(e),r.d(e,{__N_SSP:function(){return eo},default:function(){return ei}});var t=r(85893),o=r(67294),i=r(12983),l=r(11163),a=r(82729),c=r(10166),s=r(76960);function d(){let n=(0,a._)(["\n  max-width: 1400px;\n  margin: 0 auto;\n  padding: 24px;\n  min-height: 100vh;\n  background-color: #f8f9fa;\n"]);return d=function(){return n},n}function u(){let n=(0,a._)(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  margin-bottom: 24px;\n  padding-bottom: 16px;\n  border-bottom: 1px solid ",";\n"]);return u=function(){return n},n}function g(){let n=(0,a._)(["\n  font-size: 1.5rem;\n  font-weight: 700;\n  color: ",";\n  margin: 0;\n"]);return g=function(){return n},n}function p(){let n=(0,a._)(["\n  color: ",";\n  font-size: 0.875rem;\n  margin: 4px 0 0 0;\n"]);return p=function(){return n},n}function h(){let n=(0,a._)(["\n  display: flex;\n  align-items: center;\n  gap: 16px;\n"]);return h=function(){return n},n}function x(){let n=(0,a._)(["\n  padding: 8px 12px;\n  border: 1px solid ",";\n  border-radius: 6px;\n  font-size: 0.875rem;\n  background: white;\n  color: ",";\n  cursor: pointer;\n  min-width: 120px;\n\n  &:focus {\n    outline: none;\n    border-color: ",";\n    box-shadow: 0 0 0 3px ","20;\n  }\n\n  &:disabled {\n    background: ",";\n    color: ",";\n    cursor: not-allowed;\n  }\n"]);return x=function(){return n},n}function f(){let n=(0,a._)(["\n  color: ",";\n  font-size: 0.875rem;\n  font-weight: 500;\n"]);return f=function(){return n},n}function m(){let n=(0,a._)(["\n  padding: 6px 8px;\n  border: 1px solid ",";\n  border-radius: 4px;\n  font-size: 0.8rem;\n  background: white;\n  color: ",";\n  cursor: pointer;\n  min-width: 80px;\n\n  &:focus {\n    outline: none;\n    border-color: ",";\n    box-shadow: 0 0 0 2px ","20;\n  }\n\n  &:disabled {\n    background: ",";\n    color: ",";\n    cursor: not-allowed;\n  }\n"]);return m=function(){return n},n}function b(){let n=(0,a._)(["\n  padding: 6px 8px;\n  border: 1px solid ",";\n  border-radius: 4px;\n  font-size: 0.8rem;\n  background: white;\n  color: ",";\n  cursor: pointer;\n  min-width: 100px;\n\n  &:focus {\n    outline: none;\n    border-color: ",";\n    box-shadow: 0 0 0 2px ","20;\n  }\n\n  &:disabled {\n    background: ",";\n    color: ",";\n    cursor: not-allowed;\n  }\n"]);return b=function(){return n},n}function y(){let n=(0,a._)(["\n  padding: 6px 8px;\n  border: 1px solid ",";\n  border-radius: 4px;\n  font-size: 0.8rem;\n  background: white;\n  color: ",";\n  min-width: 120px;\n\n  &::placeholder {\n    color: ",";\n  }\n\n  &:focus {\n    outline: none;\n    border-color: ",";\n    box-shadow: 0 0 0 2px ","20;\n  }\n"]);return y=function(){return n},n}function j(){let n=(0,a._)(["\n  background: white;\n  border-radius: 8px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n"]);return j=function(){return n},n}function w(){let n=(0,a._)(["\n  width: 100%;\n  border-collapse: collapse;\n  font-size: 0.9rem;\n"]);return w=function(){return n},n}function v(){let n=(0,a._)(["\n  background: ",";\n"]);return v=function(){return n},n}function F(){let n=(0,a._)([""]);return F=function(){return n},n}function _(){let n=(0,a._)(["\n  border-bottom: 1px solid ",";\n  transition: background-color 0.2s;\n\n  &:hover {\n    background-color: ",";\n  }\n\n  &:last-child {\n    border-bottom: none;\n  }\n"]);return _=function(){return n},n}function S(){let n=(0,a._)(["\n  padding: 16px 12px;\n  text-align: left;\n  font-weight: 600;\n  color: ",";\n  font-size: 0.9rem;\n  white-space: nowrap;\n  border-bottom: 2px solid ",";\n"]);return S=function(){return n},n}function k(){let n=(0,a._)(["\n  padding: 16px 12px;\n  vertical-align: top;\n  border-bottom: 1px solid ",";\n"]);return k=function(){return n},n}function z(){let n=(0,a._)(["\n  font-weight: 500;\n  color: ",";\n  line-height: 1.4;\n"]);return z=function(){return n},n}function E(){let n=(0,a._)(["\n  font-weight: 500;\n  color: ",";\n  margin-bottom: 4px;\n"]);return E=function(){return n},n}function Z(){let n=(0,a._)(["\n  font-size: 0.85rem;\n  color: ",";\n  font-weight: 400;\n"]);return Z=function(){return n},n}function C(){let n=(0,a._)(["\n  color: ",";\n  font-size: 0.9rem;\n"]);return C=function(){return n},n}function P(){let n=(0,a._)(["\n  font-weight: 600;\n  color: ",";\n  font-size: 0.875rem;\n"]);return P=function(){return n},n}function A(){let n=(0,a._)(["\n  font-weight: 500;\n  color: ",";\n  font-size: 0.75rem;\n  margin-top: 2px;\n"]);return A=function(){return n},n}function M(){let n=(0,a._)(["\n  font-weight: 600;\n  color: ",";\n  font-size: 0.875rem;\n  text-align: center;\n"]);return M=function(){return n},n}function D(){let n=(0,a._)(["\n  font-weight: 700;\n  color: ",";\n  font-size: 0.875rem;\n  text-align: center;\n  position: relative;\n  \n  &::before {\n    content: '수동';\n    position: absolute;\n    top: -8px;\n    left: -8px;\n    background: ",";\n    color: white;\n    font-size: 0.6rem;\n    font-weight: 600;\n    padding: 1px 4px;\n    border-radius: 8px;\n    line-height: 1;\n  }\n"]);return D=function(){return n},n}function B(){let n=(0,a._)(["\n  font-weight: 500;\n  color: ",";\n  font-size: 0.75rem;\n  text-align: center;\n  margin-top: 2px;\n"]);return B=function(){return n},n}function H(){let n=(0,a._)(["\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 2px;\n"]);return H=function(){return n},n}function I(){let n=(0,a._)(["\n  width: 80px;\n  padding: 8px 12px;\n  border: 2px solid ",";\n  border-radius: 6px;\n  font-size: 0.9rem;\n  font-weight: 500;\n  text-align: center;\n  background: white;\n\n  &:focus {\n    outline: none;\n    box-shadow: 0 0 0 3px rgba(49, 130, 246, 0.1);\n  }\n"]);return I=function(){return n},n}function R(){let n=(0,a._)(["\n  background: transparent;\n  color: ",";\n  border: 1px solid ",";\n  padding: 6px 12px;\n  border-radius: 4px;\n  font-size: 0.875rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  white-space: nowrap;\n  min-width: 60px;\n\n  &:hover {\n    background: ",";\n    color: white;\n  }\n\n  &:active {\n    transform: translateY(1px);\n  }\n"]);return R=function(){return n},n}function N(){let n=(0,a._)(["\n  display: flex;\n  gap: 8px;\n"]);return N=function(){return n},n}function L(){let n=(0,a._)(["\n  padding: 6px 12px;\n  background: #10b981;\n  color: white;\n  border: none;\n  border-radius: 4px;\n  font-size: 0.8rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s ease;\n\n  &:hover:not(:disabled) {\n    background: #059669;\n  }\n\n  &:disabled {\n    background: ",";
6\n    cursor: not-allowed;\n    opacity: 0.7;\n  }\n"]);return L=function(){return n},n}function U(){let n=(0,a._)(["\n  padding: 6px 12px;\n  background: ",";\n  color: ",";\n  border: none;\n  border-radius: 4px;\n  font-size: 0.8rem;\n  font-weight: 500;\n  cursor: pointer;\n  transition: all 0.2s ease;\n\n  &:hover {\n    background: ",";\n  }\n"]);return U=function(){return n},n}function q(){let n=(0,a._)(["\n  display: inline-block;\n  width: 12px;\n  height: 12px;\n  border: 2px solid rgba(255, 255, 255, 0.3);\n  border-radius: 50%;\n  border-top-color: white;\n  animation: spin 1s ease-in-out infinite;\n  margin-right: 6px;\n\n  @keyframes spin {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n"]);return q=function(){return n},n}function T(){let n=(0,a._)(["\n  position: fixed;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background: rgba(255, 255, 255, 0.8);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  z-index: 1000;\n"]);return T=function(){return n},n}function Y(){let n=(0,a._)(["\n  font-size: 1.1rem;\n  color: ",";\n  font-weight: 500;\n"]);return Y=function(){return n},n}function K(){let n=(0,a._)(["\n  display: flex;\n  flex-direction: column;\n  gap: 2px;\n"]);return K=function(){return n},n}function G(){let n=(0,a._)(["\n  font-weight: 700;\n  color: ",";\n  font-size: 1rem;\n  text-align: center;\n  background: ",";\n  padding: 4px 8px;\n  border-radius: 4px;\n"]);return G=function(){return n},n}function V(){let n=(0,a._)(["\n  font-weight: 500;\n  color: ",";\n  font-size: 0.75rem;\n  text-align: center;\n  margin-top: 2px;\n"]);return V=function(){return n},n}function O(){let n=(0,a._)(["\n  background: ",";\n  color: ",";\n  font-size: 0.7rem;\n  font-weight: 500;\n  padding: 2px 6px;\n  border-radius: 12px;\n  margin-right: 6px;\n  display: inline-block;\n"]);return O=function(){return n},n}function Q(){let n=(0,a._)(["\n  overflow-x: auto;\n"]);return Q=function(){return n},n}let X=c.Z.div(d()),W=c.Z.div(u(),s.theme.color.gray200),J=c.Z.h1(g(),s.theme.color.gray900),$=c.Z.p(p(),s.theme.color.gray600),nn=c.Z.div(h()),ne=c.Z.select(x(),s.theme.color.gray300,s.theme.color.gray900,s.theme.color.brandMain,s.theme.color.brandMain,s.theme.color.gray100,s.theme.color.gray500),nr=c.Z.div(f(),s.theme.color.gray600),nt=c.Z.select(m(),s.theme.color.gray300,s.theme.color.gray900,s.theme.color.brandMain,s.theme.color.brandMain,s.theme.color.gray100,s.theme.color.gray500),no=c.Z.select(b(),s.theme.color.gray300,s.theme.color.gray900,s.theme.color.brandMain,s.theme.color.brandMain,s.theme.color.gray100,s.theme.color.gray500),ni=c.Z.input(y(),s.theme.color.gray300,s.theme.color.gray900,s.theme.color.gray400,s.theme.color.brandMain,s.theme.color.brandMain),nl=c.Z.div(j()),na=c.Z.table(w()),nc=c.Z.thead(v(),s.theme.color.gray50),ns=c.Z.tbody(F()),nd=c.Z.tr(_(),s.theme.color.gray200,s.theme.color.gray50),nu=c.Z.th(S(),s.theme.color.gray700,s.theme.color.gray300),ng=c.Z.td(k(),s.theme.color.gray200),np=c.Z.div(z(),s.theme.color.gray900),nh=c.Z.div(E(),s.theme.color.gray900),nx=c.Z.div(Z(),s.theme.color.gray600),nf=c.Z.span(C(),s.theme.color.gray600),nm=c.Z.div(P(),s.theme.color.gray900),nb=c.Z.div(A(),s.theme.color.gray500),ny=c.Z.div(M(),s.theme.color.gray900),nj=c.Z.div(D(),s.theme.color.brandMain,s.theme.color.brandMain),nw=c.Z.div(B(),s.theme.color.gray500),nv=c.Z.div(H()),nF=c.Z.input(I(),s.theme.color.brandMain),n_=c.Z.button(R(),s.theme.color.brandMain,s.theme.color.brandMain,s.theme.color.brandMain),nS=c.Z.div(N()),nk=c.Z.button(L(),s.theme.color.gray400),nz=c.Z.button(U(),s.theme.color.gray300,s.theme.color.gray700,s.theme.color.gray400),nE=c.Z.div(q()),nZ=c.Z.div(T()),nC=c.Z.div(Y(),s.theme.color.gray600),nP=c.Z.div(K()),nA=c.Z.div(G(),s.theme.color.brandMain,s.theme.color.gray50),nM=c.Z.div(V(),s.theme.color.gray500),nD=c.Z.span(O(),s.theme.color.gray100,s.theme.color.gray600),nB=c.Z.div(Q());var nH=r(54524);function nI(){let n=(0,a._)(["\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 8px;\n  margin-top: 24px;\n  padding: 16px 0;\n"]);return nI=function(){return n},n}function nR(){let n=(0,a._)(["\n  color: ",";\n  font-size: 0.875rem;\n  margin-right: 16px;\n"]);return nR=function(){return n},n}function nN(){let n=(0,a._)(["\n  padding: 8px 12px;\n  border: 1px solid ",";\n  background: ",";\n  color: ",";\n  border-radius: 4px;\n  font-size: 0.875rem;\n  cursor: pointer;\n  transition: all 0.2s ease;\n  min-width: 40px;\n\n  &:hover {\n    background: ",";\n    border-color: ",";\n  }\n\n  &:disabled {\n    background: ",";\n    color: ",";\n    border-color: ",";
6\n    cursor: not-allowed;\n  }\n"]);return nN=function(){return n},n}function nL(){let n=(0,a._)(["\n  color: ",";\n  padding: 8px 4px;\n  font-size: 0.875rem;\n"]);return nL=function(){return n},n}let nU=c.Z.div(nI()),nq=c.Z.div(nR(),nH.r.color.gray600),nT=c.Z.button(nN(),n=>n.active?nH.r.color.brandMain:nH.r.color.gray300,n=>n.active?nH.r.color.brandMain:"white",n=>n.active?"white":nH.r.color.gray700,n=>n.active?nH.r.color.brandDark:nH.r.color.gray50,n=>n.active?nH.r.color.brandDark:nH.r.color.gray400,nH.r.color.gray100,nH.r.color.gray400,nH.r.color.gray200),nY=c.Z.span(nL(),nH.r.color.gray500);var nK=n=>{let{currentPage:e,totalPages:r,onPageChange:i,totalElements:l,size:a}=n,c=Math.min((e+1)*a,l),s=(()=>{let n=[];if(r<=5)for(let e=0;e<r;e++)n.push(e);else if(e<=2){for(let e=0;e<4;e++)n.push(e);n.push("..."),n.push(r-1)}else if(e>=r-3){n.push(0),n.push("...");for(let e=r-4;e<r;e++)n.push(e)}else{n.push(0),n.push("...");for(let r=e-1;r<=e+1;r++)n.push(r);n.push("..."),n.push(r-1)}return n})();return(0,t.jsxs)(nU,{children:[(0,t.jsx)(nq,{children:l>0?"".concat(e*a+1,"-").concat(c," / ").concat(l,"개"):"0개"}),(0,t.jsx)(nT,{onClick:()=>i(e-1),disabled:0===e,children:"이전"}),s.map((n,r)=>(0,t.jsx)(o.Fragment,{children:"..."===n?(0,t.jsx)(nY,{children:"..."}):(0,t.jsx)(nT,{active:n===e,onClick:()=>i(n),children:n+1})},r)),(0,t.jsx)(nT,{onClick:()=>i(e+1),disabled:e===r-1,children:"다음"})]})},nG=r(27042);function nV(){let n=(0,a._)(["\n  position: relative;\n  display: inline-block;\n"]);return nV=function(){return n},n}function nO(){let n=(0,a._)(["\n  background: none;\n  border: none;\n  color: ",";\n  cursor: pointer;\n  padding: 4px;\n  border-radius: 4px;\n  display: flex;\n  align-items: center;\n  gap: 4px;\n  font-size: 0.875rem;\n  transition: all 0.2s ease;\n\n  &:hover {\n    color: ",";\n    background: ",";\n  }\n"]);return nO=function(){return n},n}function nQ(){let n=(0,a._)(["\n  position: absolute;\n  top: 100%;\n  right: 0;\n  background: white;\n  border: 1px solid ",";\n  border-radius: 8px;\n  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n  padding: 16px;\n  min-width: 280px;\n  z-index: 1000;\n  opacity: ",";\n  visibility: ",";\n  transform: ",";\n  transition: all 0.2s ease;\n  margin-top: 8px;\n\n  &::before {\n    content: '';\n    position: absolute;\n    top: -6px;\n    right: 12px;\n    width: 12px;\n    height: 12px;\n    background: white;\n    border-left: 1px solid ",";\n    border-top: 1px solid ",";\n    transform: rotate(45deg);\n  }\n"]);return nQ=function(){return n},n}function nX(){let n=(0,a._)(["\n  margin: 0 0 12px 0;\n  font-size: 0.875rem;\n  font-weight: 600;\n  color: ",";\n"]);return nX=function(){return n},n}function nW(){let n=(0,a._)(["\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n"]);return nW=function(){return n},n}function nJ(){let n=(0,a._)(["\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  font-size: 0.8rem;\n  color: ",";\n"]);return nJ=function(){return n},n}function n$(){let n=(0,a._)(["\n  font-weight: 500;\n"]);return n$=function(){return n},n}function n0(){let n=(0,a._)(["\n  color: ",";\n  font-weight: 600;\n"]);return n0=function(){return n},n}let n1=c.Z.div(nV()),n2=c.Z.button(nO(),nH.r.color.gray500,nH.r.color.brandMain,nH.r.color.gray50),n5=c.Z.div(nQ(),nH.r.color.gray200,n=>n.isVisible?1:0,n=>n.isVisible?"visible":"hidden",n=>n.isVisible?"translateY(0)":"translateY(-8px)",nH.r.color.gray200,nH.r.color.gray200),n4=c.Z.h4(nX(),nH.r.color.gray900),n8=c.Z.div(nW()),n6=c.Z.div(nJ(),nH.r.color.gray700),n3=c.Z.span(n$()),n7=c.Z.span(n0(),nH.r.color.brandMain);var n9=()=>{let[n,e]=(0,o.useState)(!1);return(0,t.jsxs)(n1,{children:[(0,t.jsxs)(n2,{onMouseEnter:()=>e(!0),onMouseLeave:()=>e(!1),onFocus:()=>e(!0),onBlur:()=>e(!1),children:[(0,t.jsx)(nG.Z,{size:16}),"점수 범위 보기"]}),(0,t.jsxs)(n5,{isVisible:n,children:[(0,t.jsx)(n4,{children:"지역별 점수 범위"}),(0,t.jsx)(n8,{children:[{region:"서울",range:"100~70"},{region:"경기",range:"95~50"},{region:"인천",range:"95~50"},{region:"대전",range:"95~50"},{region:"부산",range:"95~50"},{region:"대구",range:"95~50"},{region:"울산",range:"95~50"},{region:"광주",range:"95~50"},{region:"기타 도",range:"92~40"}].map((n,e)=>(0,t.jsxs)(n6,{children:[(0,t.jsx)(n3,{children:n.region}),(0,t.jsx)(n7,{children:n.range})]},e))})]})]})},en=r(43245);class ee extends en.n{async getDongPricePerPyeongByRegion(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"current";return this.get("/region/".concat(encodeURIComponent(n)),{page:e,size:r,sortBy:t})}async updateLocationScore(n,e){return this.put("/".concat(n,"/location-score"),{manualLocationScore:e})}constructor(n){super("".concat("https://api.apartsearcher.ai","/api/v1/admin/apartsearcher/dong-price-per-pyeong"),n)}}let er=new ee;var et=n=>{let{initialData:e,initialRegion:r,initialPage:i=0}=n,a=(0,l.useRouter)(),[c,s]=(0,o.useState)(e||null),[d,u]=(0,o.useState)(r),[g,p]=(0,o.useState)(i),[h,x]=(0,o.useState)(20),[f,m]=(0,o.useState)("current"),[b,y]=(0,o.useState)(""),[j,w]=(0,o.useState)(!1),[v,F]=(0,o.useState)(!1),[_,S]=(0,o.useState)(null),[k,z]=(0,o.useState)(0),E=["서울","경기","인천","부산","대구","광주","대전","울산","기타"];(0,o.useEffect)(()=>{e&&s(e)},[e]),(0,o.useEffect)(()=>{let n=a.query.region,e=parseInt(a.query.page)||0,r=parseInt(a.query.pageSize)||20,t=a.query.sortBy||"current";n&&E.includes(n)&&n!==d?(u(n),p(0),x(r),m(t),Z(n,0,r,t)):e!==g?(p(e),Z(d,e,h,f)):r!==h?(x(r),Z(d,g,r,f)):t!==f&&(m(t),Z(d,g,h,t))},[a.query.region,a.query.page,a.query.pageSize,a.query.sortBy]);let Z=async function(n){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:20,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"current";w(!0);try{let o=await er.getDongPricePerPyeongByRegion(n,e,r,t);s(o.result),a.push({pathname:a.pathname,query:{region:n,page:e.toString(),pageSize:r.toString(),sortBy:t}},void 0,{shallow:!0})}catch(n){console.error("Failed to load data:",n),alert("데이터를 불러오는데 실패했습니다.")}finally{w(!1)}},C=n=>{u(n),p(0),Z(n,0,h)},P=n=>{S(n.id),z(n.locationScore)},A=async()=>
6{if(null!==_){F(!0);try{await er.updateLocationScore(_,k),c&&s({...c,content:c.content.map(n=>n.id===_?{...n,manualLocationScore:k}:n)}),alert("점수가 성공적으로 수정되었습니다."),S(null)}catch(n){console.error("Failed to update score:",n),alert("점수 수정에 실패했습니다.")}finally{F(!1)}}},M=()=>{S(null)},D=n=>{if(0===n)return"-";let e=Math.floor(n/1e4),r=n%1e4;return e>0&&r>0?"".concat(e,"억 ").concat(r,"만원"):e>0?"".concat(e,"억원"):"".concat(r,"만원")},B=n=>"".concat(n,"평"),H=n=>{let e=[n.pricePerPyeong,n.currentPricePerPyeong,n.secondPricePerPyeong,n.currentSecondPricePerPyeong].filter(n=>n>0);return 0===e.length?0:Math.round(e.reduce((n,e)=>n+e,0)/e.length)},I=n=>{let e=[n.currentPricePerPyeong,n.currentSecondPricePerPyeong].filter(n=>n>0);return 0===e.length?0:Math.round(e.reduce((n,e)=>n+e,0)/e.length)},R=(0,o.useMemo)(()=>c?b.trim()?c.content.filter(n=>n.address.toLowerCase().includes(b.toLowerCase())):c.content:[],[c,b]),N=""!==b.trim(),L=(0,o.useMemo)(()=>{if(!N)return[];let n=g*h,e=n+h;return R.slice(n,e)},[R,g,h,N]),U=N?Math.ceil(R.length/h):(null==c?void 0:c.totalPages)||0,q=N?R.length:(null==c?void 0:c.totalElements)||0;return c?(0,t.jsxs)(X,{children:[(0,t.jsxs)(W,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(J,{children:"대장아파트"}),(0,t.jsx)($,{children:"지역별 대장아파트 가격 및 점수 관리"})]}),(0,t.jsxs)(nn,{children:[(0,t.jsx)(n9,{}),(0,t.jsx)(ne,{value:d,onChange:n=>C(n.target.value),disabled:j,children:E.map(n=>(0,t.jsx)("option",{value:n,children:n},n))}),(0,t.jsx)(ni,{type:"text",placeholder:"주소 검색...",value:b,onChange:n=>{y(n.target.value),p(0)},disabled:j}),(0,t.jsx)(nt,{value:h,onChange:n=>{let e=parseInt(n.target.value);x(e),p(0),Z(d,0,e,f)},disabled:j,children:[20,50,100,500].map(n=>(0,t.jsxs)("option",{value:n,children:[n,"개씩"]},n))}),(0,t.jsx)(no,{value:f,onChange:n=>{let e=n.target.value;m(e),p(0),Z(d,0,h,e)},disabled:j,children:[{value:"current",label:"보정가격순"},{value:"original",label:"기존가격순"},{value:"score",label:"점수 높은순"},{value:"score_asc",label:"점수 낮은순"}].map(n=>(0,t.jsx)("option",{value:n.value,children:n.label},n.value))}),(0,t.jsxs)(nr,{children:["총 ",q,"개"]})]})]}),(0,t.jsx)(nl,{children:(0,t.jsx)(nB,{children:(0,t.jsxs)(na,{children:[(0,t.jsx)(nc,{children:(0,t.jsxs)(nd,{children:[(0,t.jsx)(nu,{children:"주소"}),(0,t.jsx)(nu,{children:"아파트명"}),(0,t.jsx)(nu,{children:"입주년도"}),(0,t.jsx)(nu,{children:"면적"}),(0,t.jsx)(nu,{children:"층수"}),(0,t.jsx)(nu,{children:"1등 가격 (만원/평)"}),(0,t.jsx)(nu,{children:"2등 가격 (만원/평)"}),(0,t.jsx)(nu,{children:"평균가격 (만원/평)"}),(0,t.jsx)(nu,{children:"점수"}),(0,t.jsx)(nu,{children:"작업"})]})}),(0,t.jsx)(ns,{children:(N?L:R).map(n=>{var e,r;let o=H(n);return(0,t.jsxs)(nd,{children:[(0,t.jsx)(ng,{children:(0,t.jsx)(np,{children:n.address})}),(0,t.jsxs)(ng,{children:[(0,t.jsx)(nh,{children:n.apartmentName}),n.secondApartmentName&&(0,t.jsx)(nx,{children:n.secondApartmentName})]}),(0,t.jsxs)(ng,{children:[n.moveInYear,n.secondMoveInYear&&(0,t.jsxs)(nf,{children:[" / ",n.secondMoveInYear]})]}),(0,t.jsx)(ng,{children:B(n.areaM2)}),(0,t.jsx)(ng,{children:n.floor}),(0,t.jsx)(ng,{children:(0,t.jsxs)(nP,{children:[(0,t.jsx)(nm,{children:D(n.pricePerPyeong)}),(0,t.jsxs)(nb,{children:[(0,t.jsx)(nD,{children:"보"}),D(n.currentPricePerPyeong)]})]})}),(0,t.jsx)(ng,{children:(0,t.jsxs)(nP,{children:[(0,t.jsx)(nm,{children:D(n.secondPricePerPyeong)}),(0,t.jsxs)(nb,{children:[(0,t.jsx)(nD,{children:"보"}),D(n.currentSecondPricePerPyeong)]})]})}),(0,t.jsx)(ng,{children:(0,t.jsxs)(nP,{children:[(0,t.jsx)(nA,{children:D(o)}),(0,t.jsxs)(nM,{children:[(0,t.jsx)(nD,{children:"보"}),D(I(n))]})]})}),(0,t.jsx)(ng,{children:_===n.id?(0,t.jsx)(nF,{type:"number",step:"0.1",min:"0",max:"100",value:k,onChange:n=>z(parseFloat(n.target.value)),disabled:v}):(0,t.jsx)(nv,{children:n.manualLocationScore?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(nj,{children:n.manualLocationScore.toFixed(2)}),(0,t.jsx)(nw,{children:null===(e=n.locationScore)||void 0===e?void 0:e.toFixed(2)})]}):(0,t.jsx)(ny,{children:null===(r=n.locationScore)||void 0===r?void 0:r.toFixed(2)})})}),(0,t.jsx)(ng,{children:_===n.id?(0,t.jsxs)(nS,{children:[(0,t.jsxs)(nk,{onClick:A,disabled:v,children:[v&&(0,t.jsx)(nE,{}),v?"저장 중...":"저장"]}),(0,t.jsx)(nz,{onClick:M,disabled:v,children:"취소"})]}):(0,t.jsx)(n_,{onClick:()=>P(n),disabled:v,children:"수정"})})]},n.id)})})]})})}),U>0&&(0,t.jsx)(nK,{currentPage:g,totalPages:U,onPageChange:n=>{p(n),Z(d,n,h)},totalElements:q,size:h}),j&&(0,t.jsx)(nZ,{children:(0,t.jsx)(nC,{children:"데이터를 불러오는 중..."})})]}):(0,t.jsx)(X,{children:(0,t.jsx)(nC,{children:"데이터를 불러오는 중..."})})},eo=!0,ei=n=>{let{initialData:e,region:r}=n;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.Z,{title:"대장아파트 관리 | 아파트써처",description:"지역별 대장아파트 가격 및 점수 관리",path:"/admin/dong-price-per-pyeong"}),(0,t.jsx)("main",{children:(0,t.jsx)(et,{initialData:e,initialRegion:r})})]})}},12983:function(n,e,r){"use strict";r.d(e,{Z:function(){return c}});
6var t=r(85893),o=r(9008),i=r.n(o),l=r(67294),a=r(94995);function c(n){let{path:e="/",title:r,description:o,keywords:c,ogTitle:s,ogDescription:d,ogImagePath:u,structuredData:g='\n    {\n      "@context": "https://schema.org",\n      "@type": "RealEstateAgent",\n      "name": "아파트써처",\n      "url": "https://www.apartsearcher.ai",\n      "logo": "https://d2znn0ry2r20ti.cloudfront.net/header_logo.svg",\n      "description": "부동산 투자와 실거주를 위한 스마트 아파트 검색 플랫폼",\n      "areaServed": "대한민국",\n      "address": {\n        "@type": "PostalAddress",\n        "streetAddress": "경기도 남양주시 퇴계원읍 퇴계원로 117, 3층 301-제이1",\n        "addressLocality": "남양주시",\n        "addressRegion": "경기도",\n        "addressCountry": "KR"\n      },\n      "knowsAbout": [\n        "아파트 투자",\n        "부동산 투자",\n        "갭투자",\n        "실거주",\n        "분양권",\n        "재건축",\n        "재개발",\n        "아파트 시세",\n        "전월세",\n        "매매"\n      ],\n      "serviceType": [\n        "부동산 투자 분석",\n        "아파트 시세 정보",\n        "실거주 물건 추천",\n        "갭투자 분석",\n        "지역 분석",\n        "분양권 정보"\n      ]\n    }\n  ',children:p,forceHideSubfix:h,siteMode:x}=n,f=null!=r?r:"아파트써처 | 실거주부터 투자까지 스마트한 아파트 검색 플랫폼",m=null!=o?o:"아파트 매매, 전세, 신축분양, 재건축, 갭투자까지 한 번에! 실시간 시세와 투자 분석으로 최적의 부동산 매물을 찾아보세요. 지역별 아파트 시세, 실거주 추천, 갭투자 분석, 분양권 정보를 제공하는 스마트 부동산 플랫폼 아파트써처",b="아파트, 부동산, 투자, 갭투자, 실거주, 분양권, 재건축, 재개발, 매매, 전세, 월세, 시세, 투자수익, 청약, 신축분양, 입지분석, 지역분석, 투자분석, 아파트시세, 전세시세, 가격비교, 수익률계산, 대출상담, 부동산중개, 아파트써처",y=c?"".concat(c,", ").concat(b):b,j=null!=x?x:(0,a.UY)(window.location.host),w=(0,a.UQ)(j),v=()=>null!==document.querySelector("script#kakao-pixel"),F=()=>{};return(0,l.useEffect)(()=>{v()||F()},[]),(0,t.jsx)(t.Fragment,{children:(0,t.jsxs)(i(),{children:[(0,t.jsx)("title",{children:f}),(0,t.jsx)("meta",{name:"description",content:m}),(0,t.jsx)("meta",{name:"keywords",content:y}),(0,t.jsx)("link",{rel:"icon",href:"/asset/logo/money_logo.png"}),(0,t.jsx)("link",{rel:"canonical",href:"".concat(w).concat(e)}),(0,t.jsx)("meta",{name:"robots",content:"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"}),(0,t.jsx)("meta",{name:"naver-site-verification",content:"8b3da035ce9c984404b212eca5a4086e6045165b"}),(0,t.jsx)("meta",{name:"google-site-verification",content:"Edb9Qj80qsUtd9yvibAnCoIn2CEDKF3Ro6nARbwh-j4"}),(0,t.jsx)("meta",{name:"google-adsense-account",content:"ca-pub-4686385222672499"}),(0,t.jsx)("meta",{name:"author",content:"아파트써처"}),(0,t.jsx)("meta",{name:"language",content:"ko"}),(0,t.jsx)("meta",{name:"geo.region",content:"KR"}),(0,t.jsx)("meta",{name:"distribution",content:"global"}),(0,t.jsx)("meta",{name:"rating",content:"general"}),(0,t.jsx)("meta",{property:"og:site_name",content:"아파트써처"}),(0,t.jsx)("meta",{property:"og:title",content:null!=s?s:f}),(0,t.jsx)("meta",{property:"og:description",content:null!=d?d:m}),(0,t.jsx)("meta",{property:"og:url",content:"".concat(w).concat(e)}),(0,t.jsx)("meta",{property:"og:type",content:"website"}),(0,t.jsx)("meta",{property:"og:image",content:null!=u?u:"https://d2znn0ry2r20ti.cloudfront.net/header_logo.svg"}),(0,t.jsx)("meta",{property:"og:image:width",content:"1200"}),(0,t.jsx)("meta",{property:"og:image:height",content:"630"}),(0,t.jsx)("meta",{property:"og:image:alt",content:null!=s?s:f}),(0,t.jsx)("meta",{property:"og:locale",content:"ko_KR"}),(0,t.jsx)("meta",{property:"og:locale:alternate",content:"en_US"}),(0,t.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,t.jsx)("meta",{name:"twitter:title",content:null!=s?s:f}),(0,t.jsx)("meta",{name:"twitter:description",content:null!=d?d:m}),(0,t.jsx)("meta",{name:"twitter:image",content:null!=u?u:"".concat(w,"/asset/logo/og-image.jpg")}),g&&("string"==typeof g?(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:g}}):g.map((n,e)=>g&&(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:n}},e))),p]})})}},54524:function(n,e,r){"use strict";r.d(e,{r:function(){return t}});let t={color:{transparent:"transparent",current:"currentColor",inherit:"inherit",white:"#ffffff",black:"#000000",ring:"#e4eaff",primary:"#3B82F6",brandMain:"#1D4ED8",brandLight:"#6B8CFF",brandDark:"#3B66F8",indigo50:"#F3F6FF",indigo100:"#E5EAFF",indigo200:"#CDD9FF",
6indigo300:"#A0B8FF",indigo400:"#6B8CFF",indigo500:"#4C74FF",indigo600:"#3B66F8",blue50:"#EFF6FF",blue100:"#DBEAFE",blue200:"#BFDBFE",blue300:"#93C5FD",blue400:"#60A5FA",blue500:"#3B82F6",blue600:"#2563EB",blue700:"#1D4ED8",blue800:"#1E40AF",blue900:"#1E3A8A",gray900:"#0D0F12",gray800:"#1A1F26",gray700:"#2D3442",gray600:"#4A5161",gray500:"#6C7688",gray400:"#A7B1C1",gray300:"#D2D7E0",gray200:"#E8EBF0",gray100:"#F2F4F7",gray50:"#F8F9FA",green50:"#F0FDF4",green100:"#DCFCE7",green200:"#BBF7D0",green300:"#86EFAC",green400:"#4ADE80",green500:"#22C55E",green600:"#16A34A",green700:"#15803D",green800:"#166534",green900:"#14532D",yellow50:"#FFFBEA",yellow100:"#FFFBEA",yellow200:"#FFF3C4",yellow300:"#FFE28F",yellow400:"#FAD567",yellow500:"#F7C948",yellow600:"#F4B740",yellow700:"#B45309",yellow800:"#92400E",yellow900:"#78350F",red50:"#FEF2F2",red100:"#FEE2E2",red200:"#FECACA",red300:"#FCA5A5",red400:"#F87171",red500:"#EF4444",red600:"#DC2626",red700:"#B91C1C",red800:"#991B1B",red900:"#7F1D1D"},fontFamily:{emoji:"'Tossface', 'Apple Color Emoji', 'Segoe UI Emoji', sans-serif",sans:"'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif"},spacing:{1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",8:"32px",10:"40px",12:"48px",16:"64px"},typographyTokens:{t1:{fontSize:30,lineHeight:40},t2:{fontSize:26,lineHeight:35},t3:{fontSize:22,lineHeight:31},t4:{fontSize:20,lineHeight:29},t5:{fontSize:17,lineHeight:25.5},t6:{fontSize:15,lineHeight:22.5},t7:{fontSize:13,lineHeight:19.5},sub1:{fontSize:29,lineHeight:38},sub2:{fontSize:28,lineHeight:37},sub3:{fontSize:27,lineHeight:36},sub4:{fontSize:25,lineHeight:34},sub5:{fontSize:24,lineHeight:33},sub6:{fontSize:23,lineHeight:32},sub7:{fontSize:21,lineHeight:30},sub8:{fontSize:19,lineHeight:28},sub9:{fontSize:18,lineHeight:27},sub10:{fontSize:16,lineHeight:24},sub11:{fontSize:14,lineHeight:21},sub12:{fontSize:12,lineHeight:18},sub13:{fontSize:11,lineHeight:16.5}},typography:{fontFamily:{sans:"'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif"},fontSize:{xs:"12px",sm:"14px",base:"16px",lg:"18px",xl:"20px","2xl":"24px"},fontWeight:{normal:"400",medium:"500",semibold:"600",bold:"700"},lineHeight:{base:"1.5",relaxed:"1.75"}},colors:{primary:{main:"#1D4ED8",dark:"#3B66F8",light:"#6B8CFF"},text:{primary:"#1A1F26",secondary:"#4A5161",disabled:"#A7B1C1"},border:{main:"#D2D7E0",light:"#E8EBF0"},gray:{50:"#F8F9FA",100:"#F2F4F7",200:"#E8EBF0",300:"#D2D7E0",400:"#A7B1C1",500:"#6C7688",600:"#4A5161",700:"#2D3442",800:"#1A1F26",900:"#0D0F12"},status:{success:"#22C55E",error:"#EF4444",warning:"#F7C948"}},radius:{sm:"6px",base:"8px",md:"12px",lg:"16px"},breakpoints:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px"},transition:{base:"0.2s ease"},shadows:{md:"0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06)"},shadow:{shadow100:"0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06)"}}}},function(n){n.O(0,[2888,9774,179],function(){return n(n.s=13803)}),_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.