PageSourceSearch

https://dandanhomes.com/_next/static/chunks/app/layout-8bc63fb34d7d2c4b.js

js dandanhomes.com collected 2026-10-07 06:01:42 UTC 69,297 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3185,1927],{73930:function(e,t,s){Promise.resolve().then(s.t.bind(s,88003,23)),Promise.resolve().then(s.bind(s,81523)),Promise.resolve().then(s.bind(s,70049)),Promise.resolve().then(s.bind(s,4334)),Promise.resolve().then(s.bind(s,71488)),Promise.resolve().then(s.bind(s,39451)),Promise.resolve().then(s.bind(s,82785)),Promise.resolve().then(s.bind(s,27928)),Promise.resolve().then(s.bind(s,98819)),Promise.resolve().then(s.bind(s,91364)),Promise.resolve().then(s.bind(s,81131)),Promise.resolve().then(s.bind(s,97497)),Promise.resolve().then(s.bind(s,9069)),Promise.resolve().then(s.bind(s,51444)),Promise.resolve().then(s.bind(s,20267)),Promise.resolve().then(s.t.bind(s,69268,23))},71927:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createAirbridge=void 0;var n=s(52995),r=s(26252),a=function(){throw Error("Airbridge can not be runned on server side")},l={init:a,get isSDKEnabled(){return window.airbridge.isSDKEnabled},startTracking:a,stopTracking:a,fetchResource:a,openBanner:a,setBanner:a,setDownloads:a,setDeeplinks:a,openDeeplink:a,sendWeb:a,createTouchpoint:a,setUserID:a,clearUserID:a,setUserEmail:a,clearUserEmail:a,setUserPhone:a,clearUserPhone:a,setUserAttribute:a,removeUserAttribute:a,clearUserAttributes:a,setUserAlias:a,removeUserAlias:a,clearUserAlias:a,clearUser:a,setUserId:a,setUserAttributes:a,setDeviceAlias:a,removeDeviceAlias:a,clearDeviceAlias:a,createTrackingLink:a,events:{send:a,signIn:a,signUp:a,signOut:a,purchased:a,addedToCart:a,productDetailsViewEvent:a,homeViewEvent:a,productListViewEvent:a,searchResultViewEvent:a,wait:a}};"undefined"!=typeof window&&function(){(0,n.default)();for(var e=(0,r.FlatKeys)(l),t=function(e){var t=e.pop();if(!t||"isSDKEnabled"===t)return"continue";e.reduce(function(e,t){return e[t]},l)[t]=function(){var s=e.reduce(function(e,t){return e[t]},window.airbridge);s[t].apply(s,arguments)}},s=0;s<e.length;s++)t(e[s])}(),t.default=l,t.createAirbridge=window.createAirbridge},52995:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return function(e,t,s,n,r,a,l,i,c){function o(n,r){function a(){var a;!function(s){if("complete"===t.readyState)t.head.appendChild(s);else{var n=function(){e.removeEventListener("load",n),t.head.appendChild(s)};e.addEventListener("load",n)}}(((a=t.createElement(s)).async=!0,a.src=r,a.onerror=function(){return function(e){e.queue.filter(function(e){return 0<=l.indexOf(e[0])}).forEach(function(e){"function"==typeof(e=(e=e[1])[e.length-1])&&e("Failed to load Airbridge SDK.")})}(n)},a))}if(0<i){var c,o=new(null!=(c=e.XDomainRequest)?c:e.XMLHttpRequest);c=function(){},o.open("GET",r),o.timeout=i,o.onload=a,o.onerror=c,o.onprogress=c,o.ontimeout=c,o.send()}else a()}function d(e){var t={queue:null!=e?e:[],get isSDKEnabled(){return!1}};return a.concat(l).forEach(function(e){var s=e.split("."),n=s.pop();s.reduce(function(e,t){var s;return e[t]=null!=(s=e[t])?s:{}},t)[n]=function(){t.queue.push([e,arguments])}}),t}null!=e.__AIRBRIDGE__||(e.__AIRBRIDGE__={mocks:[]}),void 0!==t.documentMode&&(r=r.replace(/^https:/,"")),e.createAirbridge=function(){var t,s=d();return null==(t=e.__AIRBRIDGE__)||t.mocks.push(s),o(s,r),s},e[n]||(c=d(c),e[n]=c,o(c,r))}(window,document,"script","airbridge","https://static.airbridge.io/sdk/latest/airbridge.min.js","init startTracking stopTracking openBanner setBanner setDownload setDownloads openDeeplink setDeeplinks sendWeb setUserAgent setMobileAppData setUserID clearUserID setUserEmail clearUserEmail setUserPhone clearUserPhone setUserAttribute removeUserAttribute clearUserAttributes setUserAlias removeUserAlias clearUserAlias clearUser setUserId setUserAttributes addUserAlias setDeviceAlias removeDeviceAlias clearDeviceAlias setDeviceIFV setDeviceIFA setDeviceGAID events.send events.signIn events.signUp events.signOut events.purchased events.addedToCart events.productDetailsViewEvent events.homeViewEvent events.productListViewEvent events.searchResultViewEvent".split(" "),["events.wait","fetchResource","createTouchpoint","createTrackingLink"],0)}},26252:function(e,t){"use strict";var s=this&&this.__spreadArray||function(e,t,s){if(s||2==arguments.length)for(var n,r=0,a=t.length;r<a;r++)!n&&r in t||(n||(n=Array.prototype.slice.call(t,0,r)),n[r]=t[r]);return e.concat(n||Array.prototype.slice.call(t))};
1Object.defineProperty(t,"__esModule",{value:!0}),t.FlatKeys=void 0;var n=function(e){for(var t=[],r=0,a=Object.keys(e);r<a.length;r++){var l=a[r],i=e[l];if("object"==typeof i&&null!==i&&i.constructor===Object)for(var c=n(i),o=0;o<c.length;o++){var d=c[o];t.push(s([l],d,!0))}else t.push([l])}return t};t.FlatKeys=n},81523:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return r}});let n=s(18993);function r(e){let{reason:t,children:s}=e;if("undefined"==typeof window)throw new n.BailoutToCSRError(t);return s}},70049:function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadCss",{enumerable:!0,get:function(){return a}});let n=s(57437),r=s(20544);function a(e){let{moduleIds:t}=e;if("undefined"!=typeof window)return null;let s=(0,r.getExpectedRequestStore)("next/dynamic css"),a=[];if(s.reactLoadableManifest&&t){let e=s.reactLoadableManifest;for(let s of t){if(!e[s])continue;let t=e[s].files.filter(e=>e.endsWith(".css"));a.push(...t)}}return 0===a.length?null:(0,n.jsx)(n.Fragment,{children:a.map(e=>(0,n.jsx)("link",{precedence:"dynamic",rel:"stylesheet",href:s.assetPrefix+"/_next/"+encodeURI(e),as:"style"},e))})}},4334:function(e,t,s){"use strict";s.d(t,{default:function(){return a}});var n=s(99376),r=s(2265);function a(){let e=(0,n.usePathname)(),t=(0,n.useSearchParams)();return(0,r.useEffect)(()=>{let e=!1,t=()=>!!e||"function"==typeof window.wcs_do&&(window.wcs_add||(window.wcs_add={}),window.wcs_add.wa="s_282de4f653cf",window.wcs&&window.wcs.inflow("dnadnahomes.com"),window.wcs_do(),!0);if(t())return;let s=setInterval(()=>{t()&&clearInterval(s)},100),n=setTimeout(()=>clearInterval(s),5e3);return()=>{e=!0,clearInterval(s),clearTimeout(n)}},[e,t]),null}},15666:function(e,t,s){"use strict";s.d(t,{Z:function(){return o}});var n=s(57437);s(2265);var r=s(27648),a=s(81201),l=s(65913),i=s(98086),c=s(98604);function o(e){let{data:t}=e,s=async()=>{try{await i.Z.read(t.notificationIdx)}catch(e){(0,c.l)(e)}};return(0,n.jsxs)(r.default,{href:t.url,onClick:s,className:(0,a.cn)("flex flex-col px-5 py-4 md:px-4 md:py-3","N"===t.isRead&&"bg-component-green50"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 self-stretch",children:[(0,n.jsx)("span",{className:"flex-1 text-sm font-bold text-gray-800",children:t.title}),(0,n.jsx)("span",{className:"flex-shrink-0 text-[11px] text-gray-500",children:function(e){let t=new Date(e),s=new Date;if(t.getFullYear()===s.getFullYear()&&t.getMonth()===s.getMonth()&&t.getDate()===s.getDate()){let e=t.getHours(),s=t.getMinutes(),n=String(0===e?12:e>12?e-12:e).padStart(2,"0"),r=String(s).padStart(2,"0");return"".concat(e<12?"오전":"오후"," ").concat(n,":").concat(r)}let n=new Date(s.getFullYear(),s.getMonth(),s.getDate()),r=new Date(t.getFullYear(),t.getMonth(),t.getDate()),a=Math.floor((n.getTime()-r.getTime())/864e5);return a>=1&&a<=6?"".concat(a,"일 전"):a>=7&&a<=27?"".concat(Math.floor(a/7),"주 전"):(0,l.sP)(t)}(t.createTime)})]}),(0,n.jsx)("p",{className:"whitespace-pre-line pb-1 pt-2 text-sm text-gray-700",children:t.body})]})}},71488:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return a}});
1var n=s(2265),r=s(71927);function a(){return(0,n.useEffect)(()=>{try{r.default.init({app:"dandanhomes",webToken:"47eb32bc113648cb9611a9fddaf504ed",utmParsing:!0})}catch(e){console.error("Airbridge 초기화 실패:",e)}},[]),null}},20267:function(e,t,s){"use strict";s.d(t,{default:function(){return i}});var n=s(57437),r=s(2265),a=s(99376),l=s(50668);function i(){let e=(0,a.usePathname)();return(0,r.useEffect)(()=>{(0,l.I)()},[]),(0,r.useEffect)(()=>{(0,l.W)({ty:"Home"})},[e]),(0,n.jsx)("div",{id:"wp_tg_cts",style:{display:"none"}})}},39451:function(e,t,s){"use strict";s.d(t,{default:function(){return l}});var n=s(57437),r=s(35258),a=s(94816);function l(){let{variant:e,message:t,subMessage:s,confirmText:l,onConfirm:i,hide:c}=(0,r.E)();return t?(0,n.jsx)(a.Z,{variant:e,confirmText:l,onClose:()=>{c(),null==i||i()},children:(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:["string"==typeof t?(0,n.jsx)("p",{className:"whitespace-pre-line text-center text-xl font-bold text-gray-900",children:t}):t,s&&(0,n.jsx)("p",{className:"whitespace-pre-line text-center text-gray-500",children:s})]})}):null}},40366:function(e,t,s){"use strict";s.d(t,{Z:function(){return i}});var n=s(57437);s(2265);var r=s(33852),a=s(94816),l=s(95438);function i(e){var t,s;let{children:i,onClose:c,leftButton:o,rightButton:d,variant:x}=e;return(0,n.jsx)(r.Z,{widthClassName:"w-[420px]",hasClose:!1,onClose:c,children:(0,n.jsxs)("div",{className:"flex flex-col px-5 py-8 md:px-6",children:[(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4 pb-8",children:[x&&(0,n.jsx)(a.t,{variant:x}),i]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[o&&(0,n.jsx)(l.Z,{variant:null!==(t=o.variant)&&void 0!==t?t:"gray",onClick:o.onClick,disabled:o.disabled,className:"flex-1 rounded-lg py-3",children:o.label}),(0,n.jsx)(l.Z,{variant:null!==(s=d.variant)&&void 0!==s?s:"primary",onClick:d.onClick,disabled:d.disabled,className:"flex-1 rounded-lg py-3",children:d.label})]})]})})}},82785:function(e,t,s){"use strict";s.d(t,{default:function(){return l}});var n=s(57437),r=s(40366),a=s(79726);function l(){let{open:e,message:t,subMessage:s,variant:l,leftButton:i,rightButton:c,onClose:o,hide:d}=(0,a.V)();return e&&c?(0,n.jsx)(r.Z,{variant:l,onClose:()=>{d(),null==o||o()},leftButton:i?{...i,onClick:()=>{var e;d(),null===(e=i.onClick)||void 0===e||e.call(i)}}:void 0,rightButton:{...c,onClick:()=>{var e;d(),null===(e=c.onClick)||void 0===e||e.call(c)}},children:(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:["string"==typeof t?(0,n.jsx)("p",{className:"whitespace-pre-line text-center text-xl font-bold text-gray-900",children:t}):t,s&&("string"==typeof s?(0,n.jsx)("p",{className:"whitespace-pre-line text-center text-gray-500",children:s}):s)]})}):null}},27928:function(e,t,s){"use strict";s.d(t,{default:function(){return l}});var n=s(57437),r=s(2265),a=s(89723);function l(e){let{children:t}=e,{setAuth:s}=(0,a.t)();return(0,r.useEffect)(()=>{let e=localStorage.getItem("accessToken"),t=localStorage.getItem("type");e&&t&&s(t,e)},[]),(0,n.jsx)(n.Fragment,{children:t})}},98819:function(e,t,s){"use strict";s.d(t,{default:function(){return d}});var n=s(99376),r=s(2265),a=s(89723),l=s(56547);let i=s(9703).Fl.map(e=>e.split("?")[0]),c=e=>i.some(t=>e===t||e.startsWith(t+"/")),o=()=>{try{var e,t,s;let n=localStorage.getItem("auth");if(!n)return null;return null!==(s=null===(t=JSON.parse(n))||void 0===t?void 0:null===(e=t.state)||void 0===e?void 0:e.accessToken)&&void 0!==s?s:null}catch(e){return null}};function d(){let e=(0,n.usePathname)(),t=(0,n.useRouter)(),{accessToken:s}=(0,a.t)(),{onOpen:i}=(0,l.a)();return(0,r.useEffect)(()=>{c(e)&&!s&&(o()||(i("LOGIN"),t.replace("/")))},[e,s]),null}},77659:function(e,t,s){"use strict";var n=s(57437),r=s(99376),a=s(65586);t.default=function(e){let{className:t,onClick:s}=e,l=(0,r.useRouter)();return(0,n.jsx)("button",{type:"button",onClick:()=>{if(s){s();return}window.history.length>1?l.back():l.replace("/")},className:t,children:(0,n.jsx)(a.ArrowIcon,{})})}},95438:function(e,t,s){"use strict";var n=s(57437);s(2265);var r=s(81201),a=s(63980);t.Z=e=>{let{children:t,className:s,variant:l="default",disabled:i,...c}=e;return(0,n.jsx)("button",{className:(0,r.cn)((0,a.j)({variant:l}),s),disabled:i,...c,children:t})}},63980:function(e,t,s){"use strict";s.d(t,{j:function(){return n}});let n=(0,s(90535).j)("flex items-center justify-center  transition-colors duration-200 disabled:cursor-not-allowed",{variants:{variant:{default:"bg-transparent text-gray-900",outline:"border border-gray-200 bg-white text-gray-800 md:hover:bg-gray-50",primary:"bg-primary-500 text-white md:hover:bg-primary-600 disabled:bg-component-green-100",ghost:"bg-transparent text-gray-900 md:hover:bg-gray-100",black:"bg-gray-900 text-white",gray:"bg-grayOpacity-100 text-gray-600 md:hover:bg-grayOpacity-200",success:"bg-component-greenOpactiy50 text-primary-500",warning:"bg-component-redOpactiy100 text-state-red md:hover:bg-component-redOpactiy200",error:"bg-state-red text-white"}},defaultVariants:{variant:"default"}})},52507:function(e,t,s){"use strict";var n=s(57437),r=s(2265),a=s(81201),l=s(65586);t.Z=function(e){let{id:t,value:s,onChange:i,maxLength:c,placeholder:o,showLengthInner:d,className:x,error:u}=e,[f,p]=(0,r.useState)(!1),m=!!u;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:(0,a.cn)("flex h-40 w-full flex-col rounded-2xl bg-white px-4 py-5 text-sm md:px-6 md:text-base","transition-colors duration-150",!m&&!f&&"border border-[#
1EBEBEB]",!m&&!f&&"border hover:border-primary",f&&"border border-primary shadow-[0_0_8px_0_rgba(0,157,117,0.20)]",m&&"border border-state-red",x),children:[(0,n.jsx)("textarea",{id:t,value:s,maxLength:c,onChange:e=>i(e.target.value),onFocus:()=>p(!0),onBlur:()=>p(!1),placeholder:o,className:(0,a.cn)("flex-1 resize-none text-gray-900","outline-none placeholder:text-gray-400")}),d&&(0,n.jsx)("div",{className:"flex justify-end gap-2",children:(0,n.jsxs)("span",{className:"text-primary transition-colors duration-150",children:[s.length," ",(0,n.jsxs)("span",{className:"text-gray-400",children:["/ ",c]})]})})]}),m&&(0,n.jsxs)("p",{className:"flex items-center gap-1 text-[13px] text-state-red",children:[(0,n.jsx)(l.ErrorIcon,{}),u]})]})}},91364:function(e,t,s){"use strict";s.d(t,{default:function(){return h}});var n=s(57437),r=s(81201),a=s(27648),l=s(99376);s(2265);var i=s(65586),c=s(89618),o=s(9703),d=s(21350),x=s(46703),u=s(96311),f=s(90031);let p=[{href:"/",label:"홈",Icon:i.HomeIcon},{href:"/map",label:"지도",Icon:i.MapOutlineIcon},{href:"/booking",label:"계약",Icon:i.DocumentIcon,openInApp:!0},{href:"/chat",label:"채팅",Icon:i.ChatIcon,openInApp:!0},{href:"/mypage",label:"마이페이지",Icon:i.UserIcon,openInApp:!0}],m=[{href:"/",label:"홈",Icon:i.HomeIcon},{href:"/host/rooms",label:"방관리",Icon:i.RoomDoorIcon,openInApp:!0},{href:"/host/booking",label:"계약",Icon:i.DocumentIcon,openInApp:!0},{href:"/chat",label:"채팅",Icon:i.ChatIcon,openInApp:!0},{href:"/host/mypage",label:"마이페이지",Icon:i.UserIcon,openInApp:!0}];function h(){let e=(0,l.usePathname)(),{mode:t}=(0,c._)(),{visible:s}=(0,d.g)(),{guardLink:i}=(0,x.x)(),h="host"===t?m:p;if(!h.some(t=>e===t.href)||!s)return null;let g=(e,t,s,n)=>{if(s&&(0,f.og)()){e.preventDefault(),(0,u.A)(t);return}n&&i()(e)};return(0,n.jsx)("nav",{className:"fixed bottom-0 z-50 w-full bg-white shadow-[0_-2px_6px_0_rgba(0,0,0,0.12)] md:hidden",children:(0,n.jsx)("ul",{className:"flex w-full items-center",children:h.map(t=>{let{href:s,label:l,Icon:i,openInApp:c}=t,d=e===s,x=o.Fl.includes(s);return(0,n.jsx)("li",{className:"flex-1",children:(0,n.jsxs)(a.default,{href:s,onClick:e=>g(e,s,!!c,x),className:(0,r.cn)("flex flex-col items-center justify-center gap-0.5 py-[10
1px]","text-[11px] font-semibold leading-[14px]",d?"text-primary-500":"text-gray-500"),"aria-current":d?"page":void 0,children:[(0,n.jsx)(i,{className:(0,r.cn)("size-6",d?"text-primary-500":"text-gray-500")}),(0,n.jsx)("span",{children:l})]})},s)})})})}},81131:function(e,t,s){"use strict";s.d(t,{default:function(){return m}});var n=s(57437),r=s(99376),a=s(27648),l=s(89618),i=s(65586),c=s(52583),o=s(81201),d=s(89723),x=s(46703),u=s(90031),f=s(96311);let p=[e=>/^\/login$/.test(e),e=>/^\/settings\/notifications$/.test(e),e=>/^\/chat$/.test(e),e=>/^\/chat\/[^/]+$/.test(e)];function m(){let e=(0,r.usePathname)(),{mode:t}=(0,l._)(),{type:s,accessToken:m}=(0,d.t)(),{guardLink:h}=(0,x.x)();if("/map"===e)return;let g=p.some(t=>t(e)),y="H"===s&&"host"===t?"/host/mypage":"/mypage",b="".concat(y,"?tab=support");return(0,n.jsx)("footer",{className:(0,o.cn)("relative overflow-x-hidden border-t border-gray-200 bg-white",g&&"hidden md:block"),children:(0,n.jsxs)("div",{className:"flex flex-col gap-8 px-4 py-6 pb-[60px] md:px-0",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-2 md:gap-6",children:[(0,n.jsxs)("div",{className:"container flex justify-between self-stretch text-sm font-semibold text-gray-800 md:justify-start md:gap-6",children:[(0,n.jsx)(a.default,{href:"/company",className:"py-2 text-sm md:text-base",children:"회사소개"}),(0,n.jsx)(a.default,{href:"/notice",className:"py-2 text-sm md:text-base",children:"공지사항"}),(0,n.jsx)(a.default,{href:"/terms/service",className:"py-2 text-sm md:text-base",children:"이용약관"}),(0,n.jsx)(a.default,{href:"/terms/privacy",className:"py-2 text-sm md:text-base",children:"개인정보처리방침"})]}),(0,n.jsx)("div",{className:"h-px self-stretch bg-gray-200"})]}),(0,n.jsxs)("div",{className:"container flex flex-col gap-6 self-stretch md:flex-row md:justify-between md:gap-20",children:[(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-2 self-stretch",children:[(0,n.jsx)("div",{className:"flex flex-col text-lg font-bold md:text-2xl",children:(0,n.jsx)("p",{className:"font-bold text-gray-800 md:text-lg",children:"고객센터"})}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 self-stretch",children:[(0,n.jsx)("p",{className:"text-xs text-gray-600",children:"평일 10:00~18:00 (주말 및 공휴일 휴무)"}),(0,n.jsx)("span",{className:"h-2 w-px bg-gray-600"}),(0,n.jsx)("p",{className:"text-xs text-gray-600",children:"대표 번호 : 1800-6925"})]}),(0,n.jsx)("p",{className:"text-xs text-gray-600",children:"주말\xb7공휴일에는 전화 상담이 어려우니 1:1 문의하기를 이용해 주세요."}),(0,n.jsxs)("div",{className:"flex items-center gap-0.5 text-[13px] leading-[19px] text-gray-600",children:[(0,n.jsx)(i.EmailIcon,{className:"size-4"}),"[email protected]"]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 text-[15px] leading-[16px] text-gray-600 md:flex-row",children:[(0,n.jsxs)(c.default,{href:"/faq?target=host",variant:"outline",className:"flex items-center justify-center gap-2 rounded-[5px] px-[14px] py-2 text-body-md text-gray-600",children:["호스트 자주 하는 질문",(0,n.jsx)(i.SmallChevronIcon,{})]}),(0,n.jsxs)(c.default,{href:"/faq?target=guest",variant:"outline",className:"flex items-center justify-center gap-2 rounded-[5px] px-[14px] py-2 text-body-md text-gray-600",children:["게스트 자주 하는 질문",(0,n.jsx)(i.SmallChevronIcon,{})]}),(0,n.jsxs)(c.default,{variant:"outline",href:"".concat(y,"?tab=support"),onClick:e=>{if((0,u.og)()){e.preventDefault(),(0,f.A)(b);return}h()(e)},className:"flex items-center justify-center gap-2 rounded-[5px] px-[14px] py-2 text-body-md text-gray-600",children:["1:1 문의하기",(0,n.jsx)(i.SmallChevronIcon,{})]})]})]}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-6 self-stretch",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-2 self-stretch text-[13px] leading-[19px] text-gray-600",children:[(0,n.jsx)("p",{className:"text-base font-bold text-gray-800 md:text-lg",children:"사업자 정보"}),(0,n.jsx)("p",{children:"상호 : 주식회사 단단홈즈"}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 self
1-stretch",children:[(0,n.jsx)("p",{children:"대표 : 유하용"}),(0,n.jsx)("span",{className:"h-2 w-px bg-gray-600"}),(0,n.jsx)("p",{children:" 주소 : 서울특별시 중구 세종대로21길 22, 204호(태평로1가, 태성빌딩)"})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 self-stretch",children:[(0,n.jsx)("p",{children:"사업자등록번호 : 102-81-48459"}),(0,n.jsx)("span",{className:"h-2 w-px bg-gray-600"}),(0,n.jsx)("p",{children:" 통신판매업 신고번호 : 2026-서울중구-526"})]})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 self-stretch",children:[(0,n.jsx)("p",{className:"font-bold text-gray-800 md:text-lg",children:"제휴 문의"}),(0,n.jsxs)("div",{className:"flex items-center text-[13px] text-xs leading-[19px] text-gray-600",children:[(0,n.jsx)(i.EmailIcon,{className:"size-4"}),"[email protected]"]})]})]})]}),(0,n.jsxs)("div",{className:"container flex flex-col gap-4 border-t border-gray-200 pt-[33px] text-gray-600",children:[(0,n.jsx)("p",{className:"text-xs font-normal",children:"단단홈즈는 통신판매 중개자로서 통신판매의 당사자가 아닙니다. 상품, 상품정보, 거래에 관한 의무와 책임은 개인 당사자에게 있습니다."}),(0,n.jsx)("p",{className:"text-sm font-normal",children:"\xa9 2026 DANDANHOMES. All rights reserved."})]})]})})}},97497:function(e,t,s){"use strict";s.d(t,{default:function(){return T}});var n=s(57437),r=s(99376),a=s(27648),l=s(95438),i=s(89618),c=s(2265),o=s(89723),d=s(10901);function x(){let e=(0,d.q)(e=>e.isDirty);return{confirmLeaveIfDirty:()=>!e||window.confirm("작성 중인 내용이 있어요. 정말 나갈까요?")}}var u=s(9703),f=s(56547);function p(e){let{onClose:t}=e,{logout:s,type:r,accessToken:l}=(0,o.t)(),{mode:c,setMode:d}=(0,i._)(),{confirmLeaveIfDirty:p}=x(),{onOpen:m}=(0,f.a)(),h="H"===r&&"host"===c?"host":"guest",g=e=>"guest"===h?"/mypage?tab=".concat(e):"/host/mypage?tab=".concat(e),y=e=>e.map(e=>{let{href:s,label:r,icon:i,alt:c,isExternal:o}=e,x=o?s:g(s),f=(e,s)=>{u.Fl.includes(s)&&!l&&(e.preventDefault(),m("LOGIN_START")),d(h),t()};return(0,n.jsx)("li",{children:(0,n.jsxs)(a.default,{href:x,onClick:e=>f(e,x),className:"flex w-full gap-2 self-stretch rounded-lg bg-white px-4 py-3 hover:bg-gray-50",children:[(0,n.jsx)("img",{src:i,width:20,height:20,alt:c}),(0,n.jsx)("span",{className:"text-sm text-gray-900",children:r})]})},s)}),b="host"===h?u.C:u.Zm;return(0,n.jsxs)("div",{className:"absolute right-0 top-full z-50 mt-1 w-[265px] rounded-[12px] bg-white p-2 shadow-[0px_4px_8px_0px_rgba(0,0,0,0.2)]",children:[(0,n.jsx)("div",{className:"self-stretch px-4 pb-1 pt-3",children:(0,n.jsx)("span",{className:"text-[11px] leading-[16px] text-gray-500",children:"마이페이지"})}),(0,n.jsx)("ul",{children:y(b)}),(0,n.jsx)("div",{className:"my-[7px] h-px w-[249px] bg-gray-200"}),(0,n.jsx)("div",{className:"flex h-[32px] w-[249px] items-center px-[16px] pb-[4px] pt-[12px]",children:(0,n.jsx)("span",{className:"font-pretendard text-[11px] font-medium leading-[16px] text-[#999999]",children:"고객센터"})}),(0,n.jsx)("ul",{children:y((0,u.sX)(h))}),(0,n.jsx)("div",{className:"my-[7px] h-px w-[249px] bg-gray-200"}),(0,n.jsx)("button",{onClick:()=>{p()&&(t(),s())},className:"flex w-full gap-2 rounded-lg bg-white px-4 py-3 text-sm text-gray-700 hover:bg-gray-50",children:"로그아웃"})]})}var m=s(33145),h=s(81201),g=s(40337),y=s(65586),b=s(98086),v=s(41509),j=s(15666);function w(){let e=(0,c.useRef)(null),[t,s]=(0,c.useState)([]),[r,a]=(0,c.useState)(1),[l,i]=(0,c.useState)(0),[o,d]=(0,c.useState)(!1),x=(0,c.useRef)(!1),u=(0,c.useCallback)(async e=>{if(!x.current){x.current=!0,d(!0);try{let t=await b.Z.list(10,e);s(s=>1===e?t.list:[...s,...t.list]),i(t.totalCount),a(e)}catch(e){console.log(e)}finally{x.current=!1,d(!1)}}},[]);(0,c.useEffect)(()=>{u(1)},[u]),(0,c.useEffect)(()=>()=>{b.Z.readAll().catch(e=>{console.log(e)})},[]);let f=t.length<l,p=(0,c.useCallback)(()=>{f&&!x.current&&u(r+1)},[f,r,u]),m=(0,v.M)({onIntersect:p,enabled:f&&!o,rootRef:e});return(0,n.jsx)("div",{ref:e,className:"absolute right-0 top-full mt-2 max-h-[480px] w-[320px] overflow-y-auto rounded-xl bg-white p-2 pr-0 shadow-[0_4px_8px_0_rgba(0,0,0,0.2)] [
1scrollbar-gutter:stable]",children:(0,n.jsxs)("div",{className:"flex flex-col",children:[t.map(e=>(0,n.jsx)(j.Z,{data:e},e.notificationIdx)),0===t.length&&!o&&(0,n.jsx)("p",{className:"py-10 text-center text-sm text-gray-700",children:"알림이 없습니다"}),f&&(0,n.jsx)("div",{ref:m,"aria-hidden":"true"})]})})}var N=s(90031),k=s(96311);function C(){let{accessToken:e}=(0,o.t)(),[t,s]=(0,c.useState)(0),r=(0,c.useRef)(null),[i,d]=(0,c.useState)(!1),x=async()=>{if(e)try{let e=await b.Z.unreadCount();s(e.count)}catch(e){console.log(e)}};return((0,c.useEffect)(()=>{x()},[e]),(0,c.useEffect)(()=>{let e=e=>{r.current&&!r.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),e)?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.default,{href:"/notifications",onClick:e=>{(0,N.og)()&&(e.preventDefault(),(0,k.A)("/notifications"))},className:"p-[10px] text-gray-800 md:hidden",children:t>0?(0,n.jsx)(y.BellWithDotIcon,{}):(0,n.jsx)(y.BellIcon,{})}),(0,n.jsxs)("div",{ref:r,className:"relative",children:[(0,n.jsx)(l.Z,{variant:"outline",onClick:()=>d(e=>!e),className:"hidden rounded-lg p-2 text-gray-800 md:block",children:t>0?(0,n.jsx)(y.BellWithDotIcon,{}):(0,n.jsx)(y.BellIcon,{})}),i&&(0,n.jsx)(w,{})]})]}):null}var E=s(46703),I=s(38819),_=s(31592);function A(e){let{onClose:t}=e,s=(0,r.useRouter)(),{mode:c,setMode:d,toggle:x}=(0,i._)(),{name:p,type:m,accessToken:y,logout:b,email:v}=(0,o.t)(),{onOpen:j}=(0,f.a)(),w="H"===m&&"host"===c?"host":"guest",N=e=>"guest"===w?"/mypage?tab=".concat(e):"/host/mypage?tab=".concat(e),k=e=>e.map(e=>{let{href:s,label:r,icon:l,alt:i,isExternal:c}=e,o=c?s:N(s),x=(e,s)=>{u.Fl.includes(s)&&!y&&(e.preventDefault(),j("LOGIN_START")),d(w),t()};return(0,n.jsx)("li",{children:(0,n.jsxs)(a.default,{href:o,onClick:e=>x(e,o),className:"flex w-full gap-2 self-stretch rounded-lg bg-white px-4 py-3 hover:bg-gray-50",children:[(0,n.jsx)("img",{src:l,width:20,height:20,alt:i}),(0,n.jsx)("span",{className:"text-sm text-gray-900",children:r})]})},s)}),C="host"===w?u.C:u.Zm;return(0,n.jsxs)(_.Z,{onClose:t,hasCloseButton:!0,hasHomeButton:!0,hasHeaderBorder:!1,children:[(0,n.jsxs)("div",{className:(0,h.cn)("flex w-full flex-col px-4 pb-4",y?"gap-4":"gap-2"),children:[y?(0,n.jsxs)("div",{className:"flex items-center justify-between self-stretch",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(g.Z,{}),(0,n.jsxs)("div",{className:"flex flex-col justify-between",children:[(0,n.jsx)("p",{className:"font-bold text-gray-800",children:p}),(0,n.jsx)("p",{className:"text-sm text-gray-500",children:v})]})]}),(0,n.jsx)("span",{className:"rounded-full bg-gray-100 px-[7px] text-[11px] font-semibold leading-5 text-gray-600",children:"host"===w?"호스트":"게스트"})]}):(0,n.jsx)(l.Z,{variant:"primary",onClick:()=>{j("LOGIN_START"),t()},className:"rounded-lg px-[14px] py-4 font-semibold",children:"로그인/회원가입"}),(0,n.jsx)(l.Z,{variant:"outline",className:"rounded-lg px-[14px] py-4",onClick:()=>{x(),t(),s.push("/")},children:"guest"===c?"호스트 모드로 전환":"게스트 모드로 전환"})]}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col px-4 pb-2",children:["host"===w&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"px-4 pb-1 pt-3 text-[11px] leading-4 text-gray-500",children:"정산"}),(0,n.jsx)("ul",{children:k([{href:"/host/settle",label:"정산",icon:"/images/icon/coin.svg",alt:"정산",isExternal:!0}])}),(0,n.jsx)("div",{className:"my-[7px] h-px self-stretch bg-gray-200"})]}),y&&(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"px-4 pb-1 pt-3 text-[11px] leading-4 text-gray-500",children:"마이페이지"}),(0,n.jsx)("ul",{children:k(C)})]}),(0,n.jsx)("div",{className:"my-[7px] h-px self-stretch bg-gray-200"}),(0,n.jsx)("p",{className:"px-4 pb-1 pt-3 text-[11px] leading-4 text-gray-500",children:"고객센터"}),(0,n.jsx)("ul",{children:k((0,u.sX)(w).filter(e=>!e.requiresAuth||y))}),y&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"my-[7px] h-px self-stretch bg-gray-200"}),(0,n.jsx)("button",{type:"button",onClick:()=>{t(),b()},className:"flex gap-2 rounded-lg px-4 py-3 text-sm text-gray-700 hover:bg-gray-100",children:"로그아웃"})]})]})]})}var L=s(77659);function S(){(0,r.useRouter)();let e=(0,r.usePathname)(),{title:t,showLogo:s,showMenu:i,showBorder:o}=(0,I.L)(),[d,x]=(0,c.useState)(!1),[u,f]=(0,c.useState)(!1),[p,g]=(0,c.useState)(!1);(0,c.useEffect)(()=>{g((0,N.og)())},[]);let b=p&&"/"===e&&!u,v=()=>x(e=>!e),j=()=>
1{if((0,N.og)()){(0,k.A)();return}v()};return(0,n.jsxs)(n.Fragment,{children:[b&&(0,n.jsxs)("div",{className:"fixed left-0 top-0 z-50 flex h-headerMobile w-full items-center gap-[7px] bg-white py-2.5 pl-3 pr-2 md:hidden",children:[(0,n.jsx)(m.default,{src:"/images/favicon.png",alt:"logo",width:48,height:48}),(0,n.jsxs)("p",{className:"flex-1 text-sm font-semibold text-gray-700",children:["단기임대 계약은 ",(0,n.jsx)("br",{}),"앱에서 편하게 시작하세요!"]}),(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsx)(l.Z,{variant:"primary",onClick:()=>(0,k.A)(),className:"rounded-[3px] px-[11px] py-[5px] text-sm font-bold",children:"앱 열기"}),(0,n.jsx)("button",{onClick:()=>f(!0),className:"p-2.5",children:(0,n.jsx)(y.CloseIcon,{className:"size-5 text-gray-700"})})]})]}),!b&&(0,n.jsxs)("header",{className:(0,h.cn)("fixed left-0 top-0 z-50 h-headerMobile w-full bg-white md:hidden",o&&"border-b border-gray-200"),children:[s&&(0,n.jsxs)("div",{className:"flex w-full items-center justify-between py-1.5 pl-5 pr-2",children:[(0,n.jsx)(a.default,{href:"/",className:"block",children:(0,n.jsx)(m.default,{src:"/images/logo.svg",alt:"단단홈즈 로고",width:112,height:20,priority:!0})}),(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsx)(C,{}),(0,n.jsx)("button",{type:"button","aria-label":"메뉴",onClick:j,className:"p-2.5",children:(0,n.jsx)(y.MenuIcon,{})})]})]}),!s&&(0,n.jsxs)("div",{className:"flex w-full items-center px-2 py-1.5",children:[(0,n.jsx)(L.default,{className:"p-[10px]"}),(0,n.jsx)("h1",{className:"flex-1 text-center font-bold text-gray-800",children:t}),i?(0,n.jsx)("button",{type:"button","aria-label":"메뉴",onClick:j,className:"p-2.5",children:(0,n.jsx)(y.MenuIcon,{})}):(0,n.jsx)("div",{className:"size-[44px]"})]})]}),(0,n.jsx)("div",{className:"h-headerMobile md:hidden"}),d&&(0,n.jsx)(A,{onClose:v})]})}let Z=[{label:"방관리",href:"/host/rooms"},{label:"계약",href:"/host/booking"},{label:"채팅",href:"/chat"},{label:"정산",href:"/host/settle"}],D=[{label:"방검색",href:"/rooms"},{label:"지도",href:"/map"},{label:"계약",href:"/booking"},{label:"채팅",href:"/chat"}];function P(){let{mode:e,toggle:t}=(0,i._)(),[s,d]=(0,c.useState)(!1),y=(0,c.useRef)(null),{name:b,type:v,accessToken:j}=(0,o.t)(),{confirmLeaveIfDirty:w}=x(),N=(0,r.usePathname)(),k=(0,r.useRouter)(),{onOpen:I}=(0,f.a)(),{requireAuth:_}=(0,E.x)();return!function(){let e=(0,r.usePathname)(),{mode:t,setMode:s}=(0,i._)();(0,c.useEffect)(()=>{e.startsWith("/host")&&"host"!==t&&s("host")},[e])}(),(0,c.useEffect)(()=>{let e=e=>{y.current&&!y.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(S,{}),(0,n.jsx)("header",{className:"fixed left-0 top-0 z-50 hidden w-full border-b border-gray-200 bg-white md:flex md:h-header",children:(0,n.jsx)("div",{className:"hidden h-full w-full md:block",children:(0,n.jsxs)("div",{className:"container flex h-full items-center justify-between py-4",children:[(0,n.jsx)(a.default,{href:"/",className:"block",children:(0,n.jsx)(m.default,{src:"/images/logo.svg",alt:"단단홈즈 로고",width:135,height:24,className:"h-auto w-[135px]",priority:!0})}),(0,n.jsx)("nav",{className:"",children:(0,n.jsx)("ul",{className:"absolute left-1/2 top-0 flex h-full -translate-x-1/2 items-center justify-center",children:("host"===e?Z:D).map(e=>{let t=N===e.href,s=u.Fl.includes(e.href);return(0,n.jsx)("li",{className:(0,h.cn)("flex h-full cursor-pointer items-center justify-center border-b-[3px] border-transparent px-4 text-xl font-semibold text-gray-900","hover:border-gray-900",t&&"border-gray-900"),children:(0,n.jsx)(a.default,{href:e.href,onClick:e=>{s&&!_()&&e.preventDefault()},children:e.label})},e.label)})})}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)(l.Z,{variant:"outline",className:"rounded-lg px-[14px] py-[10px] text-sm",onClick:()=>{w()&&(t(),k.push("/"))},children:"guest"===e?"호스트 모드로 전환":"게스트 모드로 전환"}),(0,n.jsx)(C,{}),j?(0,n.jsxs)("div",{ref:y,className:"relative",children:[(0,n.jsxs)(l.Z,{variant:"outline",onClick:()=>d(e=>!e),className:"flex h-[40px] items-center justify-center gap-[6px] rounded-lg px-3 py-2",children:[(0,n.jsx)(g.Z,{size:24}),(0,n.jsxs)("div",{className:"flex flex-col gap-px text-right",children:[(0,n.jsx)("span",{className:"text-gary-800 text-[12px] font-semibold leading-[14px]",children:b}),(0,n.jsx)("span",{className:"text-[10px] font-medium leading-[10px] text-gray-600",children:"H"===v&&"host"===e?"호스트":"게스트"})]}),(0,n.jsx)("img",{src:"/images/icon/menubar.svg",alt:"menu",width:18,height:18})]}),s&&(0,n.jsx)(p,{onClose:()=>d(!1)})]}):(0,n.jsx)(l.Z,{type:"button",variant:"primary",className:"rounded-lg px-[14px] py-[10px] text-sm",onClick:()=>I("LOGIN_START"),children:"로그인/회원가입"})]})]})})}),(0,n.jsx)("div",{className:"hidden md:flex md:h-header"})]})}
1let O=[/^\/notifications$/,/^\/map$/,/^\/booking\/[^/]+\/payment\/success$/,/^\/room\/[^/]+/];function T(){let e=(0,r.usePathname)();return O.some(t=>t.test(e))?(0,n.jsx)("div",{className:"hidden md:block",children:(0,n.jsx)(P,{})}):(0,n.jsx)(P,{})}},9069:function(e,t,s){"use strict";s.d(t,{default:function(){return S}});var n=s(57437),r=s(56547),a=s(76897),l=s(43570),i=s(95438),c=s(10242),o=s(65586),d=s(24729),x=s(33852),u=s(23187),f=s(58819),p=s(12333),m=s(35258),h=s(65913),g=s(2265),y=function(e){let{bookingIdx:t,isOpen:s,isExtension:r=!1,onClose:a}=e,l=(0,m.E)(e=>e.show),y=(0,f.Z)(),[b,v]=(0,g.useState)(""),[j,w]=(0,g.useState)(),N=async()=>{if(!t){console.error("bookingIdx 없음");return}try{let e=await p.Z.detailHost(t);v(e.jibun_address),w(e)}catch(e){console.log(e)}},k=async()=>{if(!t){console.error("bookingIdx 없음");return}if(r){try{await p.Z.extensionApprove(t,"Y"),a(),l({message:"연장 계약이 승인되었습니다.",onConfirm:()=>{window.location.reload()},variant:"success"})}catch(e){console.log(e)}return}try{await p.Z.approveOrReject(t,"Y"),a(),l({message:"계약이 승인되었습니다.",onConfirm:()=>{window.location.reload()},variant:"success"})}catch(e){console.log(e)}};if((0,g.useEffect)(()=>{N()},[]),!j||!s)return null;let C=(0,h.yp)(j.check_in),E=(0,h.yp)(j.check_out),I=C&&E?(0,h.bX)(C,E):0;return y?(0,n.jsx)(d.Z,{onClose:a,height:"auto",children:e=>{let{close:t}=e;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"h-[56px] border-b border-gray-200 px-5 py-1.5",children:(0,n.jsxs)("h1",{className:"font-bold text-gray-900",children:[r?"연장":"","계약 승인"]})}),(0,n.jsxs)("div",{className:"flex flex-col gap-4 p-5",children:[(0,n.jsx)("span",{className:"text-primary-500",children:"계약 내용을 확인해주세요."}),(0,n.jsxs)("div",{className:"flex flex-col",children:[(0,n.jsx)("p",{className:"text-lg font-bold text-gray-900",children:j.name}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 text-sm text-gray-600",children:[(0,n.jsx)("p",{children:b}),(0,n.jsx)(c.default,{label:"주소복사",text:b})]})]}),(0,n.jsxs)("div",{className:"relative inline-flex items-start justify-start self-stretch rounded-xl border border-gray-200",children:[(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-0.5 border-r border-r-gray-200 px-5 py-4",children:[(0,n.jsx)("p",{className:"text-sm text-gray-600",children:"체크인"}),(0,n.jsx)("p",{className:"font-bold text-gray-900",children:(0,h.o3)(j.check_in)})]}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-0.5 py-4 pl-7 pr-5",children:[(0,n.jsx)("p",{className:"text-sm text-gray-600",children:"체크아웃"}),(0,n.jsx)("p",{className:"font-bold text-gray-900",children:(0,h.o3)(j.check_out)})]}),(0,n.jsx)("div",{className:"absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full border border-component-green200 bg-white px-2",children:(0,n.jsxs)("span",{className:"text-xs font-bold leading-[18px] text-primary-400",children:[I,"주"]})})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 rounded-xl border border-gray-200 bg-gray-100 p-5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-sm font-bold text-gray-800",children:[(0,n.jsx)(o.InfoIcon,{}),"주의사항"]}),(0,n.jsx)(u.Z,{textClassName:"text-[13px] leading-[19px]",bulletAlignClassName:"h-[19px]",textColor:"text-gray-700",bulletColor:"bg-gray-400",list:["계약 승인 이후 게스트가 결제하면 계약이 자동 확정됩니다.","호스트는 계약 확정 이후 취소가 불가합니다.","입주일 전에 입주 안내사항과 출입문 비밀번호 등을 게스트에게 전달해 주세요."]})]})]}),(0,n.jsxs)("div",{className:"flex gap-2 px-5 pb-5",children:[(0,n.jsx)(i.Z,{variant:"gray",type:"button",onClick:t,className:"flex items-center justify-center rounded-lg px-6 py-4 text-sm font-semibold text-gray-700",children:"닫기"}),(0,n.jsx)(i.Z,{variant:"primary",type:"button",onClick:k,className:"flex flex-1 items-center justify-center rounded-lg px-6 py-4 text-sm font-semibold",children:"계약 승인"})]})]})}}):(0,n.jsxs)(x.Z,{onClose:a,children:[(0,n.jsxs)("div",{className:"flex flex-col gap-4 px-10 pb-2 pt-8",children:[(0,n.jsxs)("h1",{className:"text-xl font-bold text-gray-900",children:[r?"연장":"","계약 승인"]}
1),(0,n.jsx)("span",{className:"text-primary-500",children:"계약 내용을 확인해주세요."})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-6 self-stretch px-10 pb-8 pt-6",children:[(0,n.jsxs)("div",{className:"flex flex-col",children:[(0,n.jsx)("p",{className:"text-lg font-bold text-gray-900",children:j.name}),(0,n.jsxs)("div",{className:"flex gap-2 text-sm text-gray-600",children:[(0,n.jsx)("p",{children:b}),(0,n.jsx)(c.default,{text:b})]})]}),(0,n.jsxs)("div",{className:"relative inline-flex items-start justify-start self-stretch rounded-xl border border-gray-200",children:[(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-0.5 border-r border-r-gray-200 px-5 py-4",children:[(0,n.jsx)("p",{className:"text-sm text-gray-600",children:"체크인"}),(0,n.jsx)("p",{className:"font-bold text-gray-900",children:(0,h.o3)(j.check_in)})]}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-0.5 py-4 pl-7 pr-5",children:[(0,n.jsx)("p",{className:"text-sm text-gray-600",children:"체크아웃"}),(0,n.jsx)("p",{className:"font-bold text-gray-900",children:(0,h.o3)(j.check_out)})]}),(0,n.jsx)("div",{className:"absolute left-1/2 top-1/2 flex -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full border border-component-green200 bg-white px-2",children:(0,n.jsxs)("span",{className:"text-xs font-bold leading-[18px] text-primary-400",children:[I,"주"]})})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 rounded-xl border border-gray-200 bg-gray-100 p-5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 font-bold text-gray-800",children:[(0,n.jsx)(o.InfoIcon,{}),"주의사항"]}),(0,n.jsx)(u.Z,{textColor:"text-gray-700",bulletColor:"bg-gray-400",list:["계약 승인 이후 게스트가 결제하면 계약이 자동 확정됩니다.","호스트는 계약 확정 이후 취소가 불가합니다.","입주일 전에 입주 안내사항과 출입문 비밀번호 등을 게스트에게 전달해 주세요."]})]})]}),(0,n.jsxs)("div",{className:"flex gap-2 self-stretch px-10 pb-8",children:[(0,n.jsx)(i.Z,{variant:"gray",type:"button",onClick:a,className:"flex flex-1 items-center justify-center rounded-lg py-3 text-sm font-semibold text-gray-700",children:"취소"}),(0,n.jsx)(i.Z,{variant:"primary",type:"button",onClick:k,className:"flex flex-1 items-center justify-center rounded-lg py-3 text-sm font-semibold",children:"계약 승인"})]})]})},b=s(52507),v=s(98604),j=function(e){let{bookingIdx:t,isOpen:s,isExtension:r,onClose:a}=e,l=(0,f.Z)(),c=(0,m.E)(e=>e.show),[o,u]=(0,g.useState)(""),[y,j]=(0,g.useState)(""),[w,N]=(0,g.useState)(),k=async()=>{if(!t){console.error("bookingIdx 없음");return}try{let e=await p.Z.detailHost(t);j(e.jibun_address),N(e)}catch(e){console.log(e)}},C=async()=>{if(!t){console.error("bookingIdx 없음");return}if(r){try{await p.Z.extensionApprove(t,"N",o),a(),c({message:"연장 계약이 거절되었습니다.",onConfirm:()=>{window.location.reload()}})}catch(e){(0,v.l)(e)}return}try{await p.Z.approveOrReject(t,"N",o),a(),c({message:"계약이 거절되었습니다.",subMessage:"게스트에게 해당 내용이 전달됩니다.",onConfirm:()=>{window.location.reload()}})}catch(e){(0,v.l)(e)}};if((0,g.useEffect)(()=>{k()},[]),!w||!s)return null;let E=(0,h.yp)(w.check_in),I=(0,h.yp)(w.check_out);return(E&&I&&(0,h.bX)(E,I),l)?(0,n.jsx)(d.Z,{onClose:a,children:e=>{let{close:t}=e;return(0,n.jsxs)("div",{className:"flex h-full flex-col",children:[(0,n.jsx)("div",{className:"h-[56px] border-b border-gray-200 px-5 py-1.5",children:(0,n.jsxs)("h1",{className:"font-bold text-gray-900",children:[r?"연장":"","계약 거절"]})}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-3 p-5",children:[(0,n.jsxs)("p",{className:"font-semibold text-gray-900",children:["계약 거절 사유를 입력해 주세요.",(0,n.jsx)("span",{className:"text-sm text-gray-400",children:" (선택)"})]}),(0,n.jsx)(b.Z,{value:o,onChange:u,maxLength:100,showLengthInner:!0,placeholder:"게스트에게 전할 내용을 입력해 주세요."})]}),(0,n.jsx)("div",{className:"px-5 pb-5",children:(0,n.jsx)(i.Z,{variant:"primary",type:"button",onClick:C,className:"w-full rounded-lg px-6 py-4 font-semibold",children:"계약 거절"})})]})}}):(0,n.jsxs)(x.Z,{onClose:a,children:[(0,n.jsx)("div",{className:"px-10 pb-2 pt-8",children:(0,n.jsxs)("h1",{className:"text-xl font-bold text-gray-900",children:[r?"연장":"","계약 거절"]})}),(0,n.jsxs)("div",{className:"flex flex-col gap-3 px-10 pb-8 pt-6",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("p",{className:"font-semibold text-gray-900",children:"계약 거절 사유를 입력해 주세요."}),(0,n.jsx)("span",{className:"text-sm text-gray-400",children:" (선택)"})]}),(0,n.jsx)(b.Z,{value:o,onChange:u,maxLength:100,showLengthInner:!0,placeholder:"게스트에게 전할 내용을 입력해 주세요."})]}
1),(0,n.jsxs)("div",{className:"flex gap-2 self-stretch px-10 pb-8",children:[(0,n.jsx)(i.Z,{variant:"gray",type:"button",onClick:a,className:"flex flex-1 items-center justify-center rounded-lg py-3 text-sm font-semibold text-gray-700",children:"취소"}),(0,n.jsx)(i.Z,{variant:"primary",type:"button",onClick:C,className:"flex flex-1 items-center justify-center rounded-lg py-3 text-sm font-semibold",children:"계약 거절"})]})]})},w=function(e){let{bookingIdx:t,isOpen:s,onClose:r}=e,a=(0,f.Z)(),[l,c]=(0,g.useState)(""),o=async()=>{if(!t){console.error("bookingIdx 없음");return}try{await p.Z.checkoutHold(t,l),r(),window.location.reload()}catch(e){(0,v.l)(e)}};return s?a?(0,n.jsx)(d.Z,{onClose:r,children:e=>{let{close:t}=e;return(0,n.jsxs)("div",{className:"flex h-full flex-col",children:[(0,n.jsx)("div",{className:"h-[56px] border-b border-gray-200 px-5 py-1.5",children:(0,n.jsx)("h1",{className:"font-bold text-gray-900",children:"보증금 반환보류 의견"})}),(0,n.jsxs)("div",{className:"flex flex-1 flex-col gap-3 p-5",children:[(0,n.jsxs)("p",{className:"font-semibold text-gray-900",children:["보증금 반환보류에 관한 메모를 기입해 주세요.",(0,n.jsx)("span",{className:"text-sm text-gray-400",children:" (선택)"})]}),(0,n.jsx)(b.Z,{value:l,onChange:c,maxLength:100,showLengthInner:!0,placeholder:"게스트에게 전할 내용을 입력해 주세요.\n예) 관리비가 기준치를 초과하여 보증금 지급을 보류합니다."})]}),(0,n.jsx)("div",{className:"px-5 pb-5",children:(0,n.jsx)(i.Z,{variant:"primary",type:"button",onClick:o,className:"w-full rounded-lg px-6 py-4 font-semibold",children:"보증금 반환보류"})})]})}}):(0,n.jsxs)(x.Z,{onClose:r,children:[(0,n.jsx)("div",{className:"px-10 pb-2 pt-8",children:(0,n.jsx)("h1",{className:"text-xl font-bold text-gray-900",children:"보증금 반환보류 의견"})}),(0,n.jsx)("div",{className:"flex flex-col gap-8 px-10 pb-8 pt-6",children:(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsxs)("p",{className:"font-semibold text-gray-900",children:["보증금 반환보류에 관한 메모를 기입해 주세요.",(0,n.jsx)("span",{className:"text-sm text-gray-400",children:" (선택)"})]}),(0,n.jsx)(b.Z,{value:l,onChange:c,maxLength:100,showLengthInner:!0,placeholder:"게스트에게 전할 내용을 입력해 주세요.\n예) 관리비가 기준치를 초과하여 보증금 지급을 보류합니다."})]})}),(0,n.jsxs)("div",{className:"flex gap-2 self-stretch px-10 pb-8",children:[(0,n.jsx)(i.Z,{variant:"gray",type:"button",onClick:r,className:"flex flex-1 items-center justify-center rounded-lg py-3 text-sm font-semibold",children:"취소"}),(0,n.jsx)(i.Z,{variant:"primary",type:"button",onClick:()=>o(),className:"flex flex-1 items-center justify-center rounded-lg py-3 text-sm font-semibold",children:"보증금 반환보류"})]})]}):null},N=s(99376),k=s(31592),C=s(81201);let E=[{type:"G",title:"집을 찾고 있어요.",img:"/images/icon/main-room.svg",list:[{title:"빠르게 계약이 가능합니다.",desc:"계약요청 > 승인 > 결제 3단계\n절차만으로 계약할 수 있습니다."},{title:"안전하게 계약할 수 있습니다.",desc:"단단홈즈 모든 계약의 안전한\n입주 여부를 확인합니다."}],buttonText:"게스트로 시작하기"},{type:"H",title:"집을 내놓고 싶어요.",img:"/images/icon/main-room-complete.svg",list:[{title:"빠르게 공실을 줄여보세요.",desc:"등록 즉시 계약이 가능합니다.\n공실 고민에서 벗어나세요."}
1,{title:"쉽게 임대관리 하세요.",desc:"복잡하고 번거로운 절차 없이도\n바로 계약할 수 있습니다."}],buttonText:"호스트로 시작하기"}];function I(e){let{onClose:t}=e,s=(0,N.useRouter)(),r=(0,f.Z)(),[a,l]=(0,g.useState)("G"),c=e=>{t(),setTimeout(()=>{s.push("/login?role=".concat(e))},0)};return null===r?null:(0,n.jsx)(n.Fragment,{children:r?(0,n.jsxs)(k.Z,{hasBackButton:!0,title:"회원 유형 선택",onClose:t,children:[(0,n.jsx)("div",{className:"flex flex-col gap-3 px-5 py-6",children:E.map(e=>{let t=e.type===a;return(0,n.jsxs)("button",{onClick:()=>l(e.type),className:(0,C.cn)("flex flex-col gap-4 self-stretch rounded-lg border border-gray-200 p-5",t&&"border-primary-500"),children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)("div",{className:(0,C.cn)("flex size-6 items-center justify-center rounded-full bg-gray-200 text-white",t&&"bg-primary-500"),children:(0,n.jsx)(o.CheckIcon,{className:"size-5"})}),(0,n.jsxs)("div",{className:"flex flex-col items-start gap-1",children:[(0,n.jsx)("p",{className:"font-bold text-gray-900",children:e.buttonText}),(0,n.jsx)("p",{className:"text-sm text-gray-700",children:e.title})]})]}),t&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"h-px self-stretch bg-gray-100"}),(0,n.jsx)("ol",{className:"space-y-4",children:e.list.map((e,t)=>(0,n.jsxs)("li",{className:"flex flex-col gap-2 self-stretch",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 self-stretch",children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"flex size-[18px] items-center justify-center rounded-full bg-gray-800 text-xs font-semibold text-white",children:t+1}),(0,n.jsx)("p",{className:"text-sm font-semibold text-gray-800",children:e.title})]}),(0,n.jsx)("p",{className:"whitespace-pre-line text-left text-xs text-gray-600",children:e.desc})]},t))})]})]},e.type)})}),(0,n.jsx)("div",{className:"fixed bottom-0 w-full px-4 py-5",children:(0,n.jsx)(i.Z,{variant:"primary",className:"h-[56px] w-full rounded-xl",onClick:()=>c(a),children:"다음"})})]}):(0,n.jsxs)(x.Z,{scrollable:!1,onClose:t,children:[(0,n.jsx)("div",{className:"flex items-center justify-center self-stretch px-10 pt-8",children:(0,n.jsxs)("h1",{className:"text-center text-h1 text-gray-900",children:["어떤 계정으로 ",(0,n.jsx)("br",{}),"시작 하시겠어요?"]})}),(0,n.jsx)("div",{className:"flex gap-6 self-stretch px-6 py-8",children:E.map(e=>(0,n.jsxs)("section",{className:"flex flex-1 flex-col gap-6 rounded-lg border border-gray-200 p-5",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-2 self-stretch",children:[(0,n.jsx)("img",{src:e.img,alt:"",width:42,he
1ight:42,"aria-hidden":"true"}),(0,n.jsx)("h2",{className:"text-lg font-bold text-gray-900",children:e.title}),(0,n.jsx)("div",{className:"h-px self-stretch bg-gray-200"})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-5 self-stretch",children:[(0,n.jsx)("ol",{className:"space-y-5",children:e.list.map((e,t)=>(0,n.jsxs)("li",{className:"flex flex-col gap-2 self-stretch",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 self-stretch",children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"flex size-5 items-center justify-center rounded-full bg-gray-800 text-sm font-semibold text-white",children:t+1}),(0,n.jsx)("p",{className:"text-base font-semibold text-gray-800",children:e.title})]}),(0,n.jsx)("p",{className:"whitespace-pre-line text-sm text-gray-600",children:e.desc})]},t))}),(0,n.jsx)(i.Z,{type:"button",variant:"primary",onClick:()=>c(e.type),className:"self-stretch rounded-lg py-3 font-semibold",children:e.buttonText})]})]},e.type))})]})})}var _=s(40366),A=s(89618);function L(e){let{onClose:t}=e,{mode:s}=(0,A._)(),r=(0,N.useRouter)();return(0,n.jsx)(_.Z,{onClose:t,leftButton:{label:"취소",onClick:t,variant:"gray"},rightButton:{label:"로그인",onClick:()=>{r.push("/login?role=".concat("guest"===s?"G":"H")),t()},variant:"primary"},children:(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center gap-4",children:[(0,n.jsx)("p",{className:"text-center text-xl font-bold text-gray-900",children:"로그인이 필요합니다."}),(0,n.jsx)("p",{className:"text-gray-600",children:"로그인 페이지로 이동하시겠습니까? "})]})})}var S=function(){let{type:e,onClose:t,payload:s}=(0,r.a)(),i=async(e,n)=>{if(!(null==s?void 0:s.bookingIdx)){console.error("bookingIdx 없음");return}try{await a.Z.create(s.bookingIdx,n,e),t(),window.location.reload()}catch(e){console.error("리뷰 등록 실패",e),(0,v.l)(e)}};if(!e)return null;switch(e){case"LOGIN":return(0,n.jsx)(L,{onClose:t});case"LOGIN_START":return(0,n.jsx)(I,{onClose:t});case"REVIEW":if(!s)return null;return(0,n.jsx)(l.Z,{onClose:t,onSubmit:e=>{let{text:t,score:s}=e;i(s,t)},data:null==s?void 0:s.room});case"APPROVEBOOKING":return(0,n.jsx)(y,{bookingIdx:null==s?void 0:s.bookingIdx,isOpen:null!==e,onClose:t});case"APPROVE_EXTENSION_BOOKING":return(0,n.jsx)(y,{bookingIdx:null==s?void 0:s.bookingIdx,isExtension:!0,isOpen:null!==e,onClose:t});case"REJECTBOOKING":return(0,n.jsx)(j,{bookingIdx:null==s?void 0:s.bookingIdx,isOpen:null!==e,onClose:t});case"REJECT_EXTENSION_BOOKING":return(0,n.jsx)(j,{bookingIdx:null==s?void 0:s.bookingIdx,isExtension:!0,isOpen:null!==e,onClose:t});case"HOLD_CHECKOUT":return(0,n.jsx)(w,{bookingIdx:null==s?void 0:s.bookingIdx,isOpen:null!==e,onClose:t});default:return null}}},24729:function(e,t,s){"use strict";s.d(t,{Z:function(){return o}});var n=s(57437),r=s(2265),a=s(54887),l=s(81201),i=s(65586),c=s(25084);function o(e){let{onClose:t,children:s,height:o="90vh",scrollable:d=!0,hasCloseButton:x=!1,className:u,zIndexClassName:f="z-[9999]"}=e,p=(0,r.useRef)(null),m=(0,r.useRef)(null),[h,g]=(0,r.useState)("enter"),y=(0,r.useRef)(null),b=(0,r.useRef)(0),[v,j]=(0,r.useState)(0),[w,N]=(0,r.useState)(!1),k=(0,r.useRef)(!1),C=()=>{"exit"!==h&&g("exit")};(0,r.useEffect)(()=>{let e=window.setTimeout(()=>g("open"),0);return()=>window.clearTimeout(e)},[]),(0,r.useEffect)(()=>{let e=e=>{"Escape"===e.key&&C()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,c.Z)(),(0,r.useEffect)(()=>{let e=p.current;if(!e)return;let s=e=>{"transform"===e.propertyName&&"exit"===h&&t()};return e.addEventListener("transitionend",s),()=>e.removeEventListener("transitionend",s)},[h,t]);let E=()=>{y.current=null,b.current=0,k.current=!1,N(!1)},I=()=>{k.current=!0,N(!0),j(0)},_=e=>{if(null==y.current)return;let t=Math.max(0,e-y.current);b.current=t,j(t)},A=()=>{let e=b.current;E(),e>120?C():j(0)},L=e=>!e||e.scrollTop<=8,S=(0,r.useRef)(null),Z=(0,r.useRef)(!1),D=(e,t)=>{let s=e instanceof HTMLElement?e:null;for(;s&&s!==t;){let e=window.getComputedStyle(s).overflowY;if(("auto"===e||"scroll"===e)&&s.scrollHeight>s.clientHeight)return s;s=s.parentElement}return t};(0,r.useEffect)(()=>{let e=m.current;if(!e||!d)return;let t=t=>{if("exit"===h)return;let s=D(t.target,e);S.current=s,y.current=t.touches[0].clientY,b.current=0,k.current=!1,Z.current=L(s)},s=e=>{if("exit"===h||null==y.current)return;let t=e.touches[0].clientY,s=t-y.current;if(!k.current){if(!Z.current||!(s>0))return;I()}e.cancelable&&e.preventDefault(),_(t)}
1,n=()=>{if(S.current=null,Z.current=!1,"exit"!==h){if(!k.current){E();return}A()}};return e.addEventListener("touchstart",t,{passive:!0}),e.addEventListener("touchmove",s,{passive:!1}),e.addEventListener("touchend",n),e.addEventListener("touchcancel",n),()=>{e.removeEventListener("touchstart",t),e.removeEventListener("touchmove",s),e.removeEventListener("touchend",n),e.removeEventListener("touchcancel",n)}},[h,d]);let P="open"===h?"0%":"100%",O="open"===h?1:0;return(0,a.createPortal)((0,n.jsx)("div",{className:(0,l.cn)("fixed inset-0 flex w-screen items-end justify-center bg-component-dim",f),style:{opacity:O,transition:"opacity ".concat(250,"ms ease")},onMouseDown:e=>{e.target===e.currentTarget&&C()},role:"dialog","aria-modal":"true",children:(0,n.jsxs)("div",{ref:p,className:(0,l.cn)("flex max-h-[90dvh] w-full flex-col rounded-t-2xl bg-white will-change-transform",u),style:{height:o,transform:"translateY(".concat(w?"".concat(v,"px"):P,")"),transition:w?"none":"transform ".concat(250,"ms cubic-bezier(0.2, 0.8, 0.2, 1)")},children:[(0,n.jsx)("div",{className:"flex w-full touch-none items-center justify-center py-[6px]",onPointerDown:e=>{var t,s;"exit"!==h&&(y.current=e.clientY,b.current=0,I(),null===(t=(s=e.currentTarget).setPointerCapture)||void 0===t||t.call(s,e.pointerId))},onPointerMove:e=>{"exit"!==h&&null!=y.current&&k.current&&_(e.clientY)},onPointerUp:()=>{"exit"!==h&&k.current&&A()},children:(0,n.jsx)("div",{className:"h-1 w-[56px] rounded-full bg-grayOpacity-200"})}),(0,n.jsxs)("div",{ref:m,className:(0,l.cn)("relative min-h-0 flex-1",d&&"touch-pan-y overflow-y-auto overscroll-contain"),children:[x&&(0,n.jsx)("button",{type:"button",onClick:C,className:"absolute right-2 top-[6px] p-[10px] text-black md:hidden",children:(0,n.jsx)(i.CloseIcon,{})}),"function"==typeof s?s({close:C}):s]})]})}),document.body)}},31592:function(e,t,s){"use strict";s.d(t,{Z:function(){return d}});var n=s(57437),r=s(81201),a=s(2265),l=s(54887),i=s(65586),c=s(25084),o=s(27648);function d(e){let{onClose:t,title:s,children:d,zIndexClassName:x="z-[9999]",className:u,hasCloseButton:f=!1,hasBackButton:p=!1,hasHomeButton:m=!1,hasHeaderBorder:h=!0}=e,g=(0,a.useId)(),y=f||p||!!s;return(0,a.useEffect)(()=>{let e=e=>{"Escape"===e.key&&t()};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[t]),(0,c.Z)(),(0,l.createPortal)((0,n.jsx)("div",{className:(0,r.cn)("fixed inset-0 h-screen w-screen",x),role:"dialog","aria-modal":"true","aria-labelledby":s?g:void 0,children:(0,n.jsxs)("div",{className:(0,r.cn)("relative h-full w-full bg-white outline-none",u),children:[y&&(0,n.jsxs)("div",{className:(0,r.cn)("flex w-full items-center justify-between bg-white px-2 py-[6px]",h&&"border-b border-gray-200"),children:[p&&(0,n.jsx)("button",{onClick:t,className:"p-[10px] text-black",children:(0,n.jsx)(i.ArrowIcon,{className:"size-6"})}),f&&(0,n.jsx)("button",{onClick:t,className:"p-[10px] text-gray-800",children:(0,n.jsx)(i.CloseIcon,{className:"size-6"})}),s&&(0,n.jsx)("div",{className:"flex h-[44px] flex-1 items-center justify-center",children:(0,n.jsx)("h1",{className:"font-bold text-black",children:s})}),m?(0,n.jsx)(o.default,{href:"/",onClick:t,className:"p-[10px] text-gray-800",children:(0,n.jsx)(i.HomeIcon,{className:"size-6"})}):(0,n.jsx)("div",{className:"size-[44px] bg-white"})]}),(0,n.jsx)("div",{className:(0,r.cn)(y?"h-[calc(100%-56px)]":"h-full","overflow-y-auto"),children:d})]})}),document.body)}},51444:function(e,t,s){"use strict";s.d(t,{D:function(){return d},SnackbarProvider:function(){return o}});var n=s(57437),r=s(29),a=s.n(r),l=s(2265),i=s(81201);let c=(0,l.createContext)(null);function o(e){let{children:t}=e,[s,r]=(0,l.useState)(!1),[o,d]=(0,l.useState)(null),[x,u]=(0,l.useState)("success"),[f,p]=(0,l.useState)(""),[m,h]=(0,l.useState)(void 0),[g,y]=(0,l.useState)(null),b=(0,l.useRef)(null),v=(0,l.useRef)(null),j=()=>{b.current&&clearTimeout(b.current),v.current&&clearTimeout(v.current),b.current=null,v.current=null},w=(0,l.useCallback)(e=>{let{type:t="success",message:s,durationMs:n=3e3,msgClassName:a,icon:l}=e;j(),u(t),p(s),r(!0),d("enter"),h(a),y(l),b.current=setTimeout(()=>{d("exit"),v.current=setTimeout(()=>{r(!1)},250)},n)},[]);(0,l.useEffect)(()=>()=>j(),[]);let N=(0,l.useMemo)(()=>({show:w}),[w]);return(0,n.jsxs)(c.Provider,{value:N,children:[t,s&&(0,n.jsx)("div",{className:"jsx-133d4dd7932e2bbd pointer-events-none fixed inset-x-0 bottom-6 z-50 flex justify-center px-5",children:(0,n.jsxs)("div",{className:"jsx-133d4dd7932e2bbd "+((0,i.cn)("inline-flex w-max max-w-[calc(100vw-20px)] rounded-lg px-6 py-[11px] text-sm font-semibold text-white shadow-lg","success"===x?"bg-grayOpacity-900":"bg-state-red","enter"===o&&"animate-snackbar-enter","exit"===o&&"animate-snackbar-exit",m)||""),children:[g&&(0,n.jsx)("span",{className:"jsx-133d4dd7932e2bbd flex shrink-0 items-center",children:g}),f]})}),(0,n.jsx)(a(),{id:"133d4dd7932e2bbd",children:"@-webkit-keyframes snackbarEnter{0%{opacity:0;-webkit-transform:translatey(20px);transform:translatey(20px)}100%{opacity:1;-webkit-transform:translatey(0);transform:translatey(0)}}@-moz-keyframes snackbarEnter{0%{opacity:0;-moz-transform:translatey(20px);transform:translatey(20px)}100%{opacity:1;-moz-transform:translatey(0);transform:translatey(0)}}@-o-keyframes snackbarEnter{0%{opacity:0;-o-transform:translatey(20px);transform:translatey(20px)}100%{opacity:1;-o-transform:translatey(0);transform:translatey(0)}}@keyframes snackbarEnter{0%{opacity:0;-webkit-transform:translatey(20px);-moz-transform:translatey(20px);-o-transform:translatey(20px);transform:translatey(20px)}100%{opacity:1;-webkit-transform:translatey(0);-moz-transform:translatey(0);-o-transform:translatey(0);transform:translatey(0)}}@-webkit-keyframes snackbarExit{0%{opacity:1;-webkit-transform:translatey(0);transform:translatey(0)}100%{opacity:0;-webkit-transform:translatey(20px);transform:translatey(20px)}}@-moz-keyframes snackbarExit{0%{opacity:1;-moz-transform:translatey(0);transform:translatey(0)}100%{opacity:0;-moz-transform:translatey(20px);transform:translatey(20px)}}@-o-keyframes snackbarExit{0%{opacity:1;-o-transform:translatey(0);transform:translatey(0)}100%{opacity:0;-o-transform:translatey(20px);transform:translatey(20px)}}@keyframes snackbarExit{0%{opacity:1;-webkit-transform:translatey(0);-moz-transform:translatey(0);-o-transform:translatey(0);transform:translatey(0)}100%{opacity:0;-webkit-transform:translatey(20px);-moz-transform:translatey(20px);-o-transform:translatey(20px);transform:translatey(20px)}}.animate-snackbar-enter.jsx-133d4dd7932e2bbd{-webkit-animation:snackbarEnter.25s ease-out forwards;-moz-animation:snackbarEnter.25s ease-out forwards;-o-animation:snackbarEnter.25s ease-out forwards;animation:snackbarEnter.25s ease-out forwards}.animate-snackbar-exit.jsx-133d4dd7932e2bbd{-webkit-animation:snackbarExit.25s ease-in forwards;-moz-animation:snackbarExit.25s ease-in forwards;-o-animation:snackbarExit.25s ease-in forwards;animation:snackbarExit.25s ease-in forwards}"})]})}function d(){let e=(0,l.useContext)(c);if(!e)throw Error("useSnackbar must be used within SnackbarProvider");return e}},23187:function(e,t,s){"use strict";var n=s(57437),r=s(81201);s(2265),t.Z=function(e){let{list:t,textClassName:s="text-[16px] leading-[24px]",textColor:a="text-gray-600",bulletColor:l="bg-gray-600",bulletAlignClassName:i="h-6"}=e;if(t&&0!==t.length)return(0,n.jsx)("ul",{className:"space-y-2",children:t.map((e,t)=>(0,n.jsxs)("li",{className:"flex items-start",children:[(0,n.jsx)("div",{className:(0,r.cn)("flex w-5 shrink-0 items-center justify-center",null!=i?i:"h-6"),children:(0,n.jsx)("span",{className:(0,r.cn)("size-1 rounded-full",l)})}),(0,n.jsx)("div",{className:(0,r.cn)("whitespace-pre-line font-medium",s,a),children:e})]},t))})}},46703:function(e,t,s){"use strict";s.d(t,{x:function(){return a}});var n=s(89723),r=s(56547);let a=()=>{let{accessToken:e}=(0,n.t)(),{onOpen:t}=(0,r.a)(),s=()=>!!e||(t("LOGIN"),!1);return{requireAuth:s,withAuth:e=>function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];if(s())return e(...n)},guardLink:s=>
1n=>{if(!e){n.preventDefault(),t("LOGIN");return}null==s||s(n)},isAuthenticated:!!e}}},41509:function(e,t,s){"use strict";s.d(t,{M:function(){return r}});var n=s(2265);function r(e){let{onIntersect:t,enabled:s=!0,threshold:r=.5,rootMargin:a="0px 0px 200px 0px",rootRef:l}=e,i=(0,n.useRef)(null),c=(0,n.useCallback)(e=>{let[s]=e;s.isIntersecting&&t()},[t]);return(0,n.useEffect)(()=>{var e;if(!s)return;let t=i.current;if(!t)return;let n=new IntersectionObserver(c,{root:null!==(e=null==l?void 0:l.current)&&void 0!==e?e:null,threshold:r,rootMargin:a});return n.observe(t),()=>n.disconnect()},[s,c,r,a]),i}},58819:function(e,t,s){"use strict";s.d(t,{Z:function(){return r}});var n=s(2265);function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:768,[t,s]=(0,n.useState)(()=>window.matchMedia("(max-width: ".concat(e-1,"px)")).matches);return(0,n.useEffect)(()=>{let t=window.matchMedia("(max-width: ".concat(e-1,"px)")),n=e=>{s(e.matches)};return s(t.matches),t.addEventListener("change",n),()=>{t.removeEventListener("change",n)}},[e]),t}},25084:function(e,t,s){"use strict";s.d(t,{Z:function(){return l}});var n=s(2265);let r=0,a="";function l(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];(0,n.useEffect)(()=>{if(e)return 0===r&&(a=document.body.style.overflow,document.body.style.overflow="hidden"),r+=1,()=>void(0===(r=Math.max(0,r-1))&&(document.body.style.overflow=a))},[e])}},12333:function(e,t,s){"use strict";s.d(t,{Z:function(){return r}});var n=s(94632);class r{}r.create=async e=>(await n.L.post("/booking",e)).data,r.extension=async(e,t)=>(await n.L.post("/booking/extension/".concat(e),t)).data,r.extensionPrice=async(e,t)=>(await n.L.get("/booking/extension/".concat(e,"/price"),{params:{check_out:t}})).data,r.list=async e=>(await n.L.get("/booking",{params:e})).data,r.detail=async e=>(await n.L.get("/booking/".concat(e))).data,r.checkIn=async e=>(await n.L.patch("/booking/checkin/".concat(e),{})).data,r.checkoutGuest=async e=>(await n.L.patch("/booking/checkout/".concat(e),{})).data,r.cancelByGuest=async e=>(await n.L.post("/booking/cancel/".concat(e),{})).data,r.cancleExtensionByGuest=async e=>(await n.L.patch("/booking/extension/".concat(e),{})).data,r.listHost=async e=>(await n.L.get("/booking/host",{params:e})).data,r.detailHost=async e=>(await n.L.get("/booking/host/".concat(e))).data,r.approveOrReject=async(e,t,s)=>(await n.L.patch("/booking/".concat(e),{status:t,rejectReason:s})).data,r.approveExtension=async(e,t)=>(await n.L.patch("/booking/".concat(e),{status:t})).data,r.cancleByHost=async e=>(await n.L.patch("/booking/host/cancel/".concat(e),{})).data,r.approveCancel=async e=>(await n.L.patch("/booking/cancel/approve/".concat(e),{})).data,r.complete=async(e,t)=>(await n.L.patch("/booking/host/complete/".concat(e),{status:t,message:""})).data,r.checkoutHold=async(e,t)=>{let s=""===t.trim()?{}:{message:t};return(await n.L.patch("/booking/host/checkout-hold/".concat(e),s)).data},r.extensionApprove=async(e,t,s)=>(await n.L.patch("/booking/extension/".concat(e,"/approval"),{status:t,rejectReason:s})).data,r.payComplete=async e=>(await n.L.patch("/booking/temp/payment/".concat(e),{})).data,r.insurance=async e=>(await n.L.patch("/booking/host/insurance/".concat(e),{})).data,r.cancleCheckoutHold=async e=>(await n.L.patch("/booking/host/cancel-checkout-hold/".concat(e),{})).data,r.bookingStatusCount=async()=>(await n.L.get("/booking/host/status-count")).data},76897:function(e,t,s){"use strict";s.d(t,{Z:function(){return r}});var n=s(94632);class r{static async review(e,t,s,r){try{return(await n.L.get("/room/review/".concat(e),{params:{limit:t,page:s},headers:r?{Authorization:"Bearer ".concat(r)}:void 0})).data}catch(e){var a;if((null==e?void 0:null===(a=e.response)||void 0===a?void 0:a.status)===404)return{list:[],totalCount:0,avgRating:0};throw e}}}r.create=async(e,t,s)=>(await n.L.post("/booking/review/".concat(e),{description:t,rating:s})).data,r.mainList=async()=>(await n.L.get("/room/main/review")).data,r.report=async(e,t)=>{await n.L.post("/booking/review/".concat(e,"/report"),{reason:t})}},56547:function(e,t,s){"use strict";s.d(t,{a:function(){return n}});let n=(0,s(3011).U)(e=>({type:null,payload:void 0,onOpen:(t,s)=>e({type:t,payload:s}),onClose:()=>e({type:null,payload:void 0})}))},90031:function(e,t,s){"use strict";s.d(t,{og:function(){return l},s2:function(){return a}});let n=["Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1","Mozilla/5.0 (Linux; Android 8.0.0; SM-G935S Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Mobile Safari/537.36"],r=()=>"undefined"!=typeof navigator&&n.includes(navigator.userAgent),a=()=>"undefined"!=typeof navigator&&/Android|iPhone|iPad|iPod/i.test(navigator.userAgent),l=()=>
1a()&&!r()},96311:function(e,t,s){"use strict";s.d(t,{A:function(){return n}});let n=async e=>{let t=(await s.e(1927).then(s.bind(s,71927))).default,n=e?e.replace(/^\//,""):window.location.pathname.replace(/^\//,"")+window.location.search,r="".concat("dandan","://").concat(n);history.replaceState(null,"","/"),t.openDeeplink({type:"click",deeplinks:{android:r,ios:r,desktop:window.location.href},fallbacks:{android:"google-play",ios:"itunes-appstore"}})}},98604:function(e,t,s){"use strict";s.d(t,{l:function(){return r}});var n=s(35258);function r(e){var t,s,r;if(null==e?void 0:e.handled)return;let a=null==e?void 0:null===(t=e.response)||void 0===t?void 0:t.status,l=null==e?void 0:null===(r=e.response)||void 0===r?void 0:null===(s=r.data)||void 0===s?void 0:s.message;if(403===a){n.E.getState().show({variant:"error",message:"잘못된 접근경로입니다.",confirmText:"홈으로",onConfirm:()=>{window.location.href="/"}});return}let i="string"==typeof l&&l.trim().length>0,c=a>=500||!i;n.E.getState().show({variant:"error",message:c?"일시적인 오류가 발생했습니다.":l,subMessage:c?"잠시 후 다시 시도해 주세요.":void 0})}},50668:function(e,t,s){"use strict";s.d(t,{I:function(){return x},W:function(){return u}});var n=s(89723),r=s(90031),a=s(96975);let l="widerplanet-loader",i=()=>!!window.__DANDAN_APP__||"undefined"!=typeof navigator&&navigator.userAgent.includes("DandanHomesApp/"),c=()=>!!(0,a.EL)()&&!i(),o=[],d=!1,x=()=>{if(c())return;let e=window;if(e.wptg_tagscript_vars=e.wptg_tagscript_vars||[],e.wptg_tagscript_exec_auto=!1,document.getElementById(l))return;let t=document.createElement("script");t.id=l,t.async=!0,t.src="https://cdn-aitg.widerplanet.com/js/wp_astg_4.0.js",t.onload=()=>{d=!0;let e=o;o=[],e.forEach(e=>void f(e))},document.body.appendChild(t)},u=async e=>{if(!c()){if(!d){o.push(e);return}await f(e)}},f=async e=>{var t;let s=window;if("function"!=typeof(null===(t=s.wptg_tagscript)||void 0===t?void 0:t.exec))return;let n={wp_hcuid:await p(),ti:"56237",ty:e.ty,device:(0,r.s2)()?"mobile":"web",...e.items?{items:e.items}:{}},a=s.wptg_tagscript_history;a&&(a.history_ty={},a.history_peak={});let l=s.wptg_tagscript_vars;l.splice(0,l.length),l.push(()=>n);try{s.wptg_tagscript.exec()}catch(e){console.error("WiderPlanet exec 실패",e)}},p=async()=>{let e=n.t.getState().accessToken;if(!e)return"";let t=m(e);if(!t)return"";try{let e=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(t));return Array.from(new Uint8Array(e)).map(e=>e.toString(16).padStart(2,"0")).join("")}catch(e){return""}},m=e=>{try{var t;let s=e.split(".")[1];if(!s)return null;let n=atob(s.replace(/-/g,"+").replace(/_/g,"/"));return null!==(t=JSON.parse(n).userKey)&&void 0!==t?t:null}catch(e){return null}}},69268:function(){}},function(e){e.O(0,[7825,6137,57,7648,5878,5427,2653,5586,1124,1168,2971,2117,1744],function(){return e(e.s=73930)}),_N_E=e.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.