PageSourceSearch

https://dae-bang.vercel.app/static/js/618.5c3b2ffb.chunk.js

js dae-bang.vercel.app collected 2026-10-03 06:30:45 UTC 8,755 bytes, 150 lines download raw bytes

1"use strict";(self.webpackChunkdaebang=self.webpackChunkdaebang||[]).push([[618,981],{5618:(e,t,r)=>{r.r(t),r.d(t,{default:()=>g});var n=r(5043),o=r(5464),s=r(981),i=r(1145),l=r(6783),c=r(579);const d=l.T,a=e=>{let{house:t,index:r,onClick:n}=e;return(0,c.jsxs)(d,{onClick:()=>n(t),children:[(0,c.jsx)("img",{src:`/dummyImg/dummy_${r%20}.jpeg`,alt:t.mhouseNm}),(0,c.jsxs)("div",{className:"content",children:[(0,c.jsx)("h3",{children:0===t.contracts[0].monthlyRent?`\uc804\uc138 ${t.contracts[0].deposit}`:`\uc6d4\uc138 ${t.contracts[0].deposit}/${t.contracts[0].monthlyRent}`}),(0,c.jsx)("span",{children:t.mhouseNm}),(0,c.jsx)("span",{children:t.houseType})]})]})};var h=r(47),x=r(7952);const u=(0,n.lazy)((()=>r.e(879).then(r.bind(r,3260)))),m=s.StyledSiseList,p=o.Ay.div`
2    display: flex;
3    height: 100%;
4    justify-content: center;
5    align-items: center;
6`,g=()=>{const[e,t]=(0,n.useState)([]),{detailOpen:r}=(0,h.N)((e=>e.detail)),o=(0,h.Y)();(0,n.useEffect)((()=>{t((0,i.Q1)());const e=()=>{t((0,i.Q1)())};return window.addEventListener("bookmarksChanged",e),()=>{window.removeEventListener("bookmarksChanged",e)}}),[]);return(0,c.jsxs)(m,{children:[e&&e.length>0?e.map(((e,t)=>(0,c.jsx)(a,{house:e,index:t,onClick:()=>{return t=e,o((0,x.G9)(!0)),void o((0,x.ou)(t));var t}},t))):(0,c.jsx)(p,{children:(0,c.jsx)("span",{children:"\ubd81\ub9c8\ud06c\uac00 \uc5c6\uc2b5\ub2c8\ub2e4"})}),r&&(0,c.jsx)(n.Suspense,{fallback:(0,c.jsx)(c.Fragment,{}),children:(0,c.jsx)(u,{})})]})}},981:(e,t,r)=>{r.r(t),r.d(t,{StyledSiseList:()=>S,default:()=>N});var n=r(6783),o=r(5464),s=r(5043),i=r(7774),l=r(47),c=r(7952),d=r(579);const a=o.Ay.div`
7    display: flex;
8    gap: 10px;
9    padding: 10px;
10    border-bottom: 1px solid ${e=>{let{theme:t}=e;return t.colors.border}};
11
12    .skeleton-image {
13        width: 100px;
14        height: 100px;
15        background-color: #e0e0e0;
16        border-radius: 4px;
17    }
18
19    .skeleton-content {
20        flex: 1;
21        display: flex;
22        flex-direction: column;
23        gap: 10px;
24
25        .skeleton-title {
26            width: 60%;
27            height: 20px;
28            background-color: #e0e0e0;
29            border-radius: 4px;
30        }
31
32        .skeleton-text {
33            width: 40%;
34            height: 0.857rem;
35            background-color: #e0e0e0;
36            border-radius: 4px;
37        }
38    }
39`,h=()=>(0,d.jsxs)(a,{children:[(0,d.jsx)("div",{className:"skeleton-image"}),(0,d.jsxs)("div",{className:"skeleton-content",children:[(0,d.jsx)("div",{className:"skeleton-title"}),(0,d.jsx)("div",{className:"skeleton-text"}),(0,d.jsx)("div",{className:"skeleton-text"})]})]});var x=r(3216),u=r(5475);const m=o.Ay.div`
40    display: flex;
41    flex-direction: column;
42    align-items: center;
43    justify-content: center;
44    height: 100%;
45
46    h2 {
47        text-align: center;
48        font-size: 6rem;
49        color: ${e=>{let{theme:t}=e;return t.colors.blue}};
50    }
51
52    p {
53        text-align: center;
54        font-size: 1.5rem;
55        color: ${e=>{let{theme:t}=e;return t.colors.text}};
56    }
57
58    a {
59        margin-top: 20px;
60        padding: 10px 20px;
61        color: ${e=>{let{theme:t}=e;return t.colors.blue}};
62        text-decoration: none;
63        font-size: 1rem;
64
65        &:hover {
66            text-decoration: underline;
67        }
68    }
69`,p=()=>(0,d.jsxs)(m,{children:[(0,d.jsx)("h2",{children:"404"}
69),(0,d.jsx)("p",{children:"\ud574\ub2f9 \ud398\uc774\uc9c0\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4."}),(0,d.jsx)(u.N_,{to:"/",children:"\ud648\uc73c\ub85c \ubc14\ub85c\uac00\uae30"})]});var g=r(2018),f=r(1901),j=r(4413);const y=(0,s.lazy)((()=>r.e(260).then(r.bind(r,3260)))),k=o.Ay.div`
70    display: flex;
71    flex-wrap: wrap;
72    padding: 0.5rem 0.5rem;
73    width: ${j.lR};
74    gap: 0.5rem;
75`,b=o.Ay.button`
76    flex: 0 0 auto;
77    padding: 0.5rem 1rem;
78    border: none;
79    border-radius: 5px;
80    cursor: pointer;
81    background-color: ${e=>{let{isActive:t,theme:r}=e;return t?r.colors.blue:"#e0e0e0"}};
82    color: ${e=>{let{isActive:t}=e;return t?"white":"#333"}};
83    font-weight: bold;
84
85    &:hover {
86        background-color: ${e=>{let{theme:t}=e;return t.colors.blue}};
87        color: white;
88    }
89`,v=o.Ay.button`
90    flex: 0 0 auto;
91    padding: 0.5rem 1rem;
92    border: none;
93    border-radius: 5px;
94    cursor: pointer;
95    background-color: ${e=>{let{theme:t}=e;return t.colors.blue}};
96    color: white;
97    font-weight: bold;
98
99    &:hover {
100        background-color: ${e=>{let{theme:t}=e;return t.colors.blue}};
101        color: white;
102    }
103`,$=o.Ay.div`
104    display: flex;
105    padding: 0.5rem 0;
106`,w=o.Ay.h2`
107    font-size: 1.5rem;
108    font-weight: bold;
109    color: ${e=>{let{theme:t}=e;return t.colors.text}};
110    margin: 0;
111    margin-left: 0.5rem;
112    max-width: 100%;
113    word-wrap: break-word;
114`,S=o.Ay.div`
115    display: flex;
116    flex-direction: column;
117    height: calc(100% - 120px); /* 버튼 영역과 평균 영역 포함 */
118    width: ${j.lR};
119    overflow-y: scroll;
120`,N=()=>{const{data:e,isPending:t}=(0,i.A)(),{detailOpen:r}=(0,l.N)((e=>e.detail)),o=(0,l.Y)(),[a,u]=(0,s.useState)([]),[m,j]=(0,s.useState)([]),{category:N}=(0,x.g)(),[A,C]=(0,s.useState)(),[O,z]=(0,s.useState)("\uc804\uccb4"),[R,J]=(0,s.useState)(!1);if((0,s.useEffect)((()=>{if(e){const t=(0,g.ln)(e);z("\uc804\uccb4"),C(t),u(e.slice(0,10)),j([])}}),[e]),"apt"!==N&&"officetel"!==N&&"onetwo"!==N)return(0,d.jsx)(S,{children:(0,d.jsx)(p,{})});const T=t=>{if(z(t),"\uc804\uccb4"===t&&e)u(e.slice(0,10)),j([]);else{const e=null===A||void 0===A?void 0:A.find((e=>e.key===t));e&&(j(e.SiseData.slice(0,10)),u([]))}};if(t)return(0,d.jsxs)(S,{children:[(0,d.jsx)(h,{}),(0,d.jsx)(h,{}),(0,d.jsx)(h,{}),(0,d.jsx)(h,{}),(0,d.jsx)(h,{}),(0,d.jsx)(h,{}),(0,d.jsx)(h,{}),(0,d.jsx)(h,{}),(0,d.jsx)(h,{})]});const E="\uc804\uccb4"===O?a:m;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(k,{children:[(0,d.jsx)(b,{isActive:"\uc804\uccb4"===O,onClick:()=>T("\uc804\uccb4"),children:"\uc804\uccb4"}),null===A||void 0===A?void 0:A.slice(0,R?A.length:6).map((e=>(0,d.jsx)(b,{isActive:O===e.key,onClick:()=>T(e.key),children:e.key},e.key))),A&&A.length>6&&(0,d.jsx)(v,{onClick:()=>{J(!R)},children:R?"\uc811\uae30":"\ub354\ubcf4\uae30"})]}),(0,d.jsx)($,{children:"\uc804\uccb4"===O?(0,d.jsx)(w,{children:"\uc804\uccb4\ubcf4\uae30"}):null===A||void 0===A?void 0:A.filter((e=>e.key===O)).map((e=>(0,d.jsxs)(w,{children:[e.key,": \ud3c9\uade0"," ",(0,f.$)(e.averageDeposit),"/"," ",(0,f.$)(e.averageMonthlyRent)]},e.key)))}),(0,d.jsxs)(S,{onScroll:t=>{const r=t.target;r.scrollHeight-r.scrollTop<=r.clientHeight+5&&(()=>{if("\uc804\uccb4"===O&&e&&a.length<e.length){const t=a.length,r=e.slice(t,t+10);u((e=>[...e,...r]))}else if("\uc804\uccb4"!==O){const e=null===A||void 0===A?void 0:A.find((e=>e.key===O));if(e){const t=m.length,r=e.SiseData.slice(t,t+10);j((e=>[...e,...r]))}}})()},children:[E.map(((e,t)=>(0,d.jsx)(n.A,{house:e,index:t,onClick:()=>(e=>{o((0,c.G9)(!0)),o((0,c.ou)(e))})(e)},`${e.umdNum}-${t}`))),r&&(0,d.jsx)(s.Suspense,{fallback:(0,d.jsx)(d.Fragment,{}),children:(0,d.jsx)(y,{})})]})]})}},6783:(e,t,r)=>{r.d(t,{A:()=>l,T:()=>i});var n=r(5464),o=r(1901),s=r(579);const i=n.Ay.div`
121    display: flex;
122    gap: 10px;
123    padding: 10px;
124    border-bottom: 1px solid ${e=>{let{theme:t}=e;return t.colors.border}};
125    &:hover {
126        background: ${e=>{let{theme:t}=e;return t.colors.hover}};
127    }
128
129    img {
130        width: 100px;
131        height: 100px;
132    }
133
134    .content {
135        display: flex;
136        flex-direction: column;
137        gap: 10px;
138        padding: 10px;
139        cursor: pointer;
140        color: ${e=>{let{theme:t}=e;return t.colors.text}};
141
142        h3 {
143            margin: 0;
144        }
145        span {
146            font-size: 0.875rem;
147        }
148    }
149`,l=e=>{let{house:t,index:r,onClick:n}=e;return(0,s.jsxs)(i,{onClick:()=>n(t),children:[(0,s.jsx)("img",{src:`/dummyImg/dummy_${r%20}.jpeg`,alt:t.mhouseNm,width:100,height:100}),(0,s.jsxs)("div",{className:"content",children:[(0,s.jsx)("h3",{children:0===t.contracts[0].monthlyRent?`\uc804\uc138 ${(0,o.$)(t.contracts[0].deposit)}`:`\uc6d4\uc138 ${(0,o.$)(t.contracts[0].deposit)}/${(0,o.$)(t.contracts[0].monthlyRent)}`}),(0,s.jsx)("span",{children:t.mhouseNm}),(0,s.jsx)("span",{children:t.houseType})]})]})}},1145:(e,t,r)=>{r.d(t,{Q1:()=>n,gp:()=>s,iP:()=>l,qw:()=>i});const n=()=>{try{const e=localStorage.getItem("bookmark");return e?JSON.parse(e):[]}catch(e){return console.error("Failed to parse bookmarks:",e),[]}},o=e=>{localStorage.setItem("bookmark",JSON.stringify(e))},s=e=>n().some((t=>JSON.stringify(t)===JSON.stringify(e))),i=e=>{const t=n();if(!s(e)){const r=[...t,e];o(r)}},l=e=>{const t=n().filter((t=>JSON.stringify(t)!==JSON.stringify(e)));o(t)}}}]);
150//# sourceMappingURL=618.5c3b2ffb.chunk.js.map

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.