PageSourceSearch

https://niho.life/_next/static/chunks/7388.4e23a7df41664b30.js

js niho.life collected 2026-10-08 06:33:49 UTC 138,380 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7388],{4143:(e,t,n)=>{n.d(t,{F:()=>l});class a extends Error{constructor(e){super("CURSOR_CYCLE"===e.code?`${e.label}のページングカーソルが循環しています (${e.cursor})`:`${e.label}のページングが最大${e.maxPages}ページを超えました`),this.name="CursorPageCollectionError",this.code=e.code,this.cursor=e.cursor,this.pageCount=e.pageCount}}async function l(e){let t;if(!Number.isInteger(e.maxPages)||e.maxPages<1)throw RangeError("maxPages must be a positive integer");let n=[],l=new Set;for(let s=1;s<=e.maxPages;s+=1){let r=await e.fetchPage(t);n.push(...r.items);let i=r.nextCursor||void 0;if(!i)return{items:n,lastPage:r,pageCount:s};if(l.has(i))throw new a({code:"CURSOR_CYCLE",cursor:i,label:e.label,maxPages:e.maxPages,pageCount:s});if(s===e.maxPages)throw new a({code:"MAX_PAGES_EXCEEDED",cursor:i,label:e.label,maxPages:e.maxPages,pageCount:s});l.add(i),t=i}throw Error("unreachable cursor collection state")}},7388:(e,t,n)=>{n.r(t),n.d(t,{AdminDashboardTab:()=>tM,DASHBOARD_CAMERA_AT_PARAM:()=>tw,DASHBOARD_CAMERA_MODAL_PARAM:()=>tp,DASHBOARD_CAMERA_MODAL_VALUE:()=>tg,DASHBOARD_CAMERA_MODE_PARAM:()=>tv,DASHBOARD_CAMERA_MODE_RECORDING_VALUE:()=>ty,DashboardActivePresenceCard:()=>e5,DashboardSectionHeading:()=>e2,UPCOMING_DASHBOARD_BOOKINGS_LIMIT:()=>eX,buildCameraViewerTabs:()=>tt,buildDashboardAttentionEntries:()=>tR,buildDashboardBillingTransactionHref:()=>tc,buildDashboardBookingDetailHref:()=>tu,buildDashboardCameraHistoryHref:()=>tb,buildDashboardCameraModalClosedHref:()=>tA,buildDashboardCameraModalHref:()=>tk,buildDashboardMemberDetailHref:()=>th,buildDashboardPaymentSettingsHref:()=>tf,buildDashboardUnsettledUsageHref:()=>tx,buildDashboardUsageRecordHref:()=>tm,buildHostLaunchDashboardSummary:()=>tr,buildUpcomingDashboardBookingsRange:()=>tD,canOpenDashboardDiaryCompose:()=>eY,canUseCameraRecording:()=>tn,decideCameraModalUrlSync:()=>td,decideDashboardNotificationClickAction:()=>to,fetchAllDashboardBookingsInRange:()=>tE,fetchAllDashboardMembers:()=>tI,formatCameraHistoryTimestampJst:()=>eW,formatRecentCheckoutSubtitle:()=>e3,formatUpcomingBookingStartLabel:()=>e1,handleDashboardRecentUsageEntryPress:()=>tF,isDashboardCameraModalParam:()=>tN,isTodayJst:()=>eJ,isTodayOrTomorrowJst:()=>eQ,readDashboardCameraRecordingAtParam:()=>tj,resolveCameraSnapshotAgeState:()=>eZ,selectUpcomingDashboardBookings:()=>e0,shouldEnableDashboardCameraLiveQuery:()=>e6,shouldEnableDashboardCameraMediaQuery:()=>e9,shouldEnableDashboardChatMetaQuery:()=>e8,shouldEnableDashboardDiaryQuery:()=>e7,shouldShowCameraRecordingToggle:()=>te});var a=n(95155),l=n(12115),s=n(37206),r=n(73321),i=n(35625),o=n(26708),d=n(48934),u=n(57465),c=n(24551),m=n(11012),h=n(25879),x=n(76721),b=n(52427),f=n(2125),p=(n(15298),n(16294)),g=n(6923),v=n(78780),y=n(81425),w=n(24407),N=n(69657),j=n(98500),C=n.n(j),k=n(59877),A=n(92552);function E(e){let{pendingCount:t,earliestDueDate:n,disputeListHref:l,language:s}=e;if(t<=0)return null;let r=1===t?(0,A.fp)(s,{ja:"異議申し立てがあります",en:"A chargeback needs attention"}):(0,A.fp)(s,{ja:`${t} 件の異議申し立てがあります`,en:`${t} chargebacks need attention`}),i=(0,A.fp)(s,{ja:"対応する",en:"Take action"});return(0,a.jsx)(C(),{href:l,className:"block rounded-2xl bg-[#FDECEC] border border-[#F0B4B4] shadow-[0_2px_12px_rgba(190,40,40,0.06)] transition-transform hover:-translate-y-[1px] active:scale-[0.99]",children:(0,a.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,a.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-[#FFD4D4] text-[#B53030]","aria-hidden":!0,children:(0,a.jsx)(k.A,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"text-sm font-bold text-[#7A1F1F]",children:r}),n?(0,a.jsx)("div",{className:"mt-0.5 flex items-center gap-1.5",children:(0,a.jsx)("span",{className:"inline-flex items-center rounded-full bg-white px-2 py-0.5 text-fine font-bold tracking-[0.06em] text-[#B53030]",children:function(e,t){let n=new Date(e);if(!Number.isFinite(n.getTime()))return e;let a=new Intl.DateTimeFormat("en-US",{month:"numeric",day:"numeric",timeZone:"Asia/Tokyo"}).format(n);return"en"===t?`Due ${a}`:`${a} まで`}(n,s)})}):null]}),(0,a.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-full bg-[#B53030] px-3 py-1.5 text-xs font-bold text-white shadow-sm",children:[i,(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"})]})]})})}var D=n(64577),I=n(35484),S=n(59103);function R(e){let{status:t}=e;return"DONE"===t?(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#E0EFCC] text-[#3E7A1F]","aria-hidden":!0,
1children:(0,a.jsx)(D.A,{className:"h-4 w-4"})}):"ACTION_REQUIRED"===t?(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#FFF1D6] text-[#8A5A00]","aria-hidden":!0,children:(0,a.jsx)(I.A,{className:"h-4 w-4"})}):(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[#EEE9DD] text-[#8A897F]","aria-hidden":!0,children:(0,a.jsx)(S.A,{className:"h-4 w-4"})})}function T(e,t){switch(e){case"DONE":return(0,A.fp)(t,{ja:"完了",en:"Done"});case"ACTION_REQUIRED":return(0,A.fp)(t,{ja:"要対応",en:"Action required"});case"WAITING":return(0,A.fp)(t,{ja:"待機中",en:"Waiting"})}}function F(e){let t,{label:n,status:l,language:s,actionLabel:r,actionHref:i,onAction:o,detail:d,ariaListItem:u=!0}=e,c="DONE"===l,m="ACTION_REQUIRED"===l,h=m&&!!r,b=h&&!!(i||o),f=(0,a.jsxs)("span",{className:["flex w-full items-center gap-3 rounded-2xl px-3 py-2.5 transition-colors",c?"bg-white/55":"bg-white/85",m?"ring-1 ring-[#F0C97A]/40":""].join(" "),children:[(0,a.jsx)(R,{status:l}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:["block truncate text-sm font-bold",c?"text-[#7A7A6F]":"text-niho-text"].join(" "),children:n}),d?(0,a.jsx)("span",{className:"mt-0.5 block truncate text-xs font-bold text-[#8A897F]",children:d}):null]}),h?(0,a.jsxs)("span",{className:["inline-flex items-center gap-0.5 rounded-full px-3 py-1.5 text-xs font-bold shadow-sm",b?"bg-[#D68B00] text-white":"border border-[#DDD4C2] bg-[#EEE9DD] text-[#7A7A6F]"].join(" "),"aria-hidden":!0,children:[r,b?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5"}):null]}):(0,a.jsx)("span",{className:"sr-only",children:T(l,s)})]}),p=h&&r?`${n}: ${r}`:`${n}: ${T(l,s)}`;return t=b&&i?(0,a.jsx)(C(),{href:i,className:"block rounded-2xl transition-transform hover:-translate-y-[1px] active:scale-[0.99] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#BCD499]","aria-label":p,children:f}):b&&o?(0,a.jsx)("button",{type:"button",onClick:o,className:"block w-full rounded-2xl text-left transition-transform hover:-translate-y-[1px] active:scale-[0.99] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#BCD499]","aria-label":p,children:f}):(0,a.jsx)("div",{"aria-label":p,"aria-disabled":!!h||void 0,children:f}),u?(0,a.jsx)("li",{children:t}):t}let M=["payment_ready","stripe_ready","agreement_consent","plan_created"];function $(e){let{items:t,language:n,tone:s="default",actionOverrides:r}=e,i=(0,l.useMemo)(()=>{let e,n;return e=new Map(M.map((e,t)=>[e,t])),n=e=>"ACTION_REQUIRED"===e?0:"WAITING"===e?1:2,[...t].sort((t,a)=>{let l=n(t.status)-n(a.status);return 0!==l?l:(e.get(t.key)??99)-(e.get(a.key)??99)})},[t]),o=(0,l.useMemo)(()=>i.filter(e=>"DONE"!==e.status),[i]),d=o.length;if(0===d)return null;let u=(0,A.fp)(n,{ja:"公開準備",en:"Publish readiness"}),c=(0,A.fp)(n,{ja:`あと ${d} 項目`,en:`${d} left`}),m="hero"===s;return(0,a.jsxs)("section",{className:["w-full rounded-[22px] border shadow-[0_2px_12px_rgba(0,0,0,0.06)] backdrop-blur-xl",m?"border-[#CBE3A8] bg-[#F9FCF5] p-5":"border-white/80 bg-white/[0.92] p-4"].join(" "),"data-tone":s,"aria-label":(0,A.fp)(n,{ja:"拠点公開準備チェックリスト",en:"Spot publish readiness checklist"}),children:[(0,a.jsxs)("div",{className:"flex w-full items-center gap-2 text-left",children:[(0,a.jsx)("span",{className:["flex h-5 w-5 shrink-0 items-center justify-center rounded-full text-fine font-bold",m?"bg-[#E0EFCC] text-[#3E7A1F]":"bg-[#FFF1D6] text-[#8A5A00]"].join(" "),children:"!"}),(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block text-body font-bold text-niho-text",children:u}),(0,a.jsx)("span",{className:`mt-0.5 block text-xs font-bold ${m?"text-[#3E7A1F]":"text-[#8A5A00]"}`,children:c})]})]}),(0,a.jsx)("ul",{role:"list",className:"mt-3 space-y-1.5",children:o.map(e=>(0,a.jsx)("li",{"data-readiness-status":e.status,children:(0,a.jsx)(F,{label:e.label,status:e.status,actionLabel:e.actionLabel??null,actionHref:(null==r?void 0:r[e.key])?null:e.actionHref??null,onAction:(null==r?void 0:r[e.key])??null,detail
1:e.detail??null,language:n,ariaListItem:!1})},e.key))})]})}let _=new Set(["payment_ready","stripe_ready","plan_created","agreement_consent"]);var P=n(36483);function L(e){let{agreementHref:t,onReview:n,reviewDisabled:l=!1,language:s="ja"}=e,r=(0,A.fp)(s,{ja:"規約が更新されました",en:"The terms have been updated"}),i=(0,A.fp)(s,{ja:"内容をご確認のうえ、同意をお願いします。",en:"Please review the latest terms and agree to continue."}),o=(0,A.fp)(s,{ja:"規約を確認する",en:"Review terms"}),d=(0,A.fp)(s,{ja:"販売者規約の更新のお知らせ",en:"Seller agreement update notice"}),u="inline-flex min-h-11 shrink-0 items-center justify-center gap-0.5 rounded-full bg-[#63A109] px-5 text-body font-bold text-white shadow-sm transition hover:bg-[#588F08] active:scale-[0.98] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#BCD499] motion-reduce:transition-none motion-reduce:active:scale-100";return(0,a.jsx)("section",{className:"w-full rounded-[22px] border border-[#E7E3D8] bg-white/[0.94] p-5 shadow-[0_2px_12px_rgba(0,0,0,0.06)] backdrop-blur-xl","aria-label":d,children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-[#EEF3E6] text-[#5B7A3A]","aria-hidden":!0,children:(0,a.jsx)(P.A,{className:"h-4 w-4"})}),(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h3",{className:"text-base font-bold text-niho-text",children:r}),(0,a.jsx)("p",{className:"mt-1 text-sub leading-relaxed text-niho-text-sub",children:i})]}),n?(0,a.jsxs)("button",{type:"button",onClick:n,disabled:l,"aria-busy":l,className:`${u} disabled:cursor-wait disabled:opacity-60`,children:[o,(0,a.jsx)(x.A,{className:"h-4 w-4","aria-hidden":!0})]}):(0,a.jsxs)(C(),{href:t,className:u,children:[o,(0,a.jsx)(x.A,{className:"h-4 w-4","aria-hidden":!0})]})]})})]})})}var O=n(85489),U=n(48354),K=n(78516),q=n(2004),B=n(22402),H=n(74350),Q=n(95885),Y=n(91041),V=n(17984),G=n(60935),z=n(72594),J=n(93485),W=n(87503),Z=n(57744),X=n(47669),ee=n(76210);function et(e){return`niho:free-invite-card-confirmed:${e}`}var en=n(44069),ea=n(4143),el=n(15577),es=n(19583),er=n(18423),ei=n(18553),eo=n(38158),ed=n(19805),eu=n(70232),ec=n(91337),em=n(27931);let eh="own_site";function ex(e){var t,n;let{spotId:s}=e,i=(0,r.usePathname)(),d=(0,r.useSearchParams)(),u=(0,l.useMemo)(()=>(function(e){let t=new URLSearchParams(e.searchParams.toString());for(let e of["record","modal","mode","at"])t.delete(e);let n=(0,es.Rr)(t,"usage");return n.set("usageSheet","web"),(0,K.IC)({routeKey:(0,K.qS)(e.pathname),hostTab:"usage",searchParams:n})})({pathname:i,searchParams:d}),[i,d]),c=(null==(n=(0,o.I)({queryKey:q.l.admin.webAnalytics.connection(s),queryFn:()=>eu.L.getConnection(s),enabled:!!s,staleTime:6e4}).data)||null==(t=n.connection)?void 0:t.state)??null,m=null!==c&&"disconnected"!==c,h=(0,o.I)({queryKey:q.l.admin.webAnalytics.overview(s,eh,"d7"),queryFn:()=>eu.L.getOverview(s,{surface:eh,window:"d7"}),enabled:!!s&&m,staleTime:6e4}).data;if(!m||!h)return null;let{current:b,previous:f}=h.totals;return(0,a.jsxs)(C(),{href:u,"aria-label":"今週の Web を開く","data-testid":"dashboard-web-analytics-card",className:"mt-3 flex items-center gap-3 rounded-2xl border border-white/70 bg-white/90 p-4 shadow-sm backdrop-blur-sm transition-all hover:shadow-md active:scale-[0.98]",children:[(0,a.jsxs)("div",{className:"grid min-w-0 flex-1 grid-cols-2 gap-x-3 gap-y-2 md:grid-cols-[8rem_minmax(0,1fr)_minmax(0,1fr)] md:items-center",children:[(0,a.jsxs)("div",{className:"col-span-2 flex items-baseline gap-2 md:col-span-1 md:block",children:[(0,a.jsx)("p",{className:"text-sub font-bold text-niho-text",children:"今週の Web"}),(0,a.jsx)("p",{className:"text-fine text-niho-text-muted tabular-nums md:mt-0.5",children:(0,em.J0)(h.range)})]}),(0,a.jsx)(eb,{label:"検索に表示",current:b.impressions,previous:f.impressions}),(0,a.jsx)(eb,{label:"サイトに来た",current:b.sessions,previous:f.sessions})]}
1),(0,a.jsx)(x.A,{"aria-hidden":!0,className:"h-4 w-4 shrink-0 text-niho-text-muted"})]})}function eb(e){let t=(0,em.l4)(e.current,e.previous);return(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("p",{className:"text-xs font-bold text-niho-text-sub",children:e.label}),(0,a.jsxs)("p",{className:"mt-0.5 flex flex-wrap items-baseline gap-x-1.5 tabular-nums",children:[(0,a.jsx)("span",{className:"text-lg font-bold text-niho-text",children:(0,em.$U)(e.current)}),t?(0,a.jsxs)("span",{"data-change":t.direction,className:(0,ec.cn)("inline-flex items-center gap-0.5 text-xs font-bold",em.r4[t.direction]),children:["up"===t.direction?(0,a.jsx)(eo.A,{"aria-hidden":!0,className:"h-3 w-3"}):null,"down"===t.direction?(0,a.jsx)(ed.A,{"aria-hidden":!0,className:"h-3 w-3"}):null,(0,a.jsx)("span",{"aria-hidden":!0,children:t.label}),(0,a.jsx)("span",{className:"sr-only",children:t.srLabel.replace("前の期間","前の7日")})]}):null]})]})}var ef=n(97240),ep=n(45434),eg=n(60710),ev=n(30051),ey=n(59680),ew=n(18986),eN=n(2534),ej=n(76715),eC=n(37652),ek=n(60684),eA=n(27808),eE=n(23519),eD=n(62868),eI=n(4927),eS=n(15343),eR=n(37377),eT=n(88077);function eF(e){let[t,n]=(0,l.useState)(!1),s=(0,l.useRef)(null);(0,l.useEffect)(()=>{if(!t)return;let e=e=>{s.current&&!s.current.contains(e.target)&&n(!1)},a=e=>{"Escape"===e.key&&n(!1)};return document.addEventListener("pointerdown",e),document.addEventListener("keydown",a),()=>{document.removeEventListener("pointerdown",e),document.removeEventListener("keydown",a)}},[t]);let r=!!e.editDisabledReason;return(0,a.jsxs)("div",{ref:s,className:"absolute right-12 top-3.5 z-20",children:[(0,a.jsx)("button",{type:"button","aria-haspopup":"menu","aria-expanded":t,"aria-label":"その他の操作",onClick:()=>n(e=>!e),className:"flex h-8 w-8 items-center justify-center rounded-none border-0 bg-transparent text-niho-text-muted transition-colors hover:text-niho-text focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-[rgba(188,212,153,0.75)]",children:(0,a.jsx)(ey.A,{className:"h-[18px] w-[18px]","aria-hidden":"true"})}),t&&(0,a.jsxs)("div",{role:"menu",className:"absolute right-0 top-[calc(100%+4px)] z-20 min-w-[168px] overflow-hidden rounded-2xl border border-[rgba(230,230,224,0.9)] bg-white py-1.5 shadow-[0_12px_36px_rgba(0,0,0,0.14)]",children:[(0,a.jsxs)("button",{role:"menuitem",type:"button",disabled:r,title:e.editDisabledReason??void 0,onClick:()=>{n(!1),e.onEdit()},className:"flex w-full items-center gap-2.5 px-4 py-2.5 text-left text-sub font-bold text-niho-text transition-colors hover:bg-[#F4F7EF] disabled:cursor-not-allowed disabled:font-normal disabled:text-niho-text-muted disabled:hover:bg-transparent",children:[(0,a.jsx)(ew.A,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,a.jsx)("span",{className:"min-w-0 flex-1",children:"編集"})]}),(0,a.jsxs)("button",{role:"menuitem",type:"button",disabled:e.deleteBusy,onClick:()=>{n(!1),e.onDelete()},className:"flex w-full items-center gap-2.5 px-4 py-2.5 text-left text-sub font-bold text-[#B3261E] transition-colors hover:bg-[#FCEFEC] disabled:opacity-60",children:[(0,a.jsx)(h.A,{className:"h-4 w-4 shrink-0","aria-hidden":"true"}),(0,a.jsx)("span",{className:"min-w-0 flex-1",children:"削除"})]})]})]})}function eM(e){var t,n;let{spotId:s,bookingId:r,open:d,canEdit:u=!1,onOpenChange:c}=e,m=(0,i.jE)(),[h,x]=(0,l.useState)(null),[b,f]=(0,l.useState)(!1),[p,g]=(0,l.useState)(!1),[v,y]=(0,l.useState)(null),N=(0,l.useRef)(!1),j=(0,o.I)({queryKey:eC.Y.bookingDetail(s??"",r??""),queryFn:()=>w.ic.getBookingDetail(s,r),enabled:!!(d&&s&&r)}),C=(0,o.I)({queryKey:eC.Y.bookingNotes(s??"",r??""),queryFn:()=>w.ic.getBookingStaffNotes(s,r),enabled:!!(d&&s&&r)}),k=j.data??null,A=(null==k?void 0:k.bookingType)==="EVENT",E=(0,o.I)({queryKey:eC.Y.bookingParticipants(s??"",r??""),queryFn:()=>eI.h.getBookingParticipants(s,r),enabled:!!(d&&s&&r&&A)}),{guestItems:D,cancelledItems:I,registration:S}=(0,eS.m)(E.data),R=u&&!!k&&!(0,eE.uu)((null==k?void 0:k.id)??""),T=(0,l.useCallback)(()=>{k&&(x(k),c(!1))},[k,c]),F=(0,l.useCallback)(()=>{y(null),g(!0)},[]),M=(0,l.useCallback)(async()=>
1{if(s&&k&&!N.current){N.current=!0,f(!0),y(null);try{await w.ic.deleteBooking(s,k.id),await (0,eD.c)(m,{spotId:s,bookingId:k.id}),g(!1),c(!1)}catch(e){y((0,Z.Hw)(e,"削除に失敗しました"))}finally{N.current=!1,f(!1)}}},[s,k,m,c]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(H.lG,{open:d,onOpenChange:c,children:(0,a.jsxs)(H.Cf,{className:"w-[calc(100vw-2rem)] max-w-[calc(100vw-2rem)] sm:max-w-md lg:max-w-[820px] max-h-[90vh] overflow-y-auto overflow-x-hidden !p-0 !gap-0 rounded-2xl !border-[rgba(230,230,224,0.5)] !shadow-[0_24px_64px_rgba(0,0,0,0.16),0_4px_16px_rgba(0,0,0,0.08)] !bg-white",closeButtonClassName:"top-3.5 right-3.5 flex h-8 w-8 items-center justify-center rounded-none border-0 bg-transparent opacity-100 shadow-none text-niho-text-muted transition-colors hover:bg-transparent hover:text-niho-text data-[state=open]:bg-transparent focus:outline-none focus:ring-0 focus:ring-offset-0 focus-visible:ring-2 focus-visible:ring-offset-1 focus-visible:ring-[rgba(188,212,153,0.75)]",children:[(0,a.jsx)(H.c7,{className:"sr-only",children:(0,a.jsx)(H.L3,{children:"予約詳細"})}),R&&k&&(0,a.jsx)(eF,{editDisabledReason:(0,eE.BR)(k,u),deleteBusy:b,onEdit:T,onDelete:F}),(0,a.jsx)("div",{"data-slot":"dashboard-booking-detail-dialog",children:j.isLoading&&!k?(0,a.jsx)("div",{className:"px-5 py-8 text-body text-niho-text-muted",children:"読み込み中..."}):j.isError&&!k?(0,a.jsx)("div",{className:"px-5 py-5",children:(0,a.jsx)(eN.g,{error:j.error,onRetry:()=>void j.refetch()})}):k?(0,a.jsx)(ek.z,{booking:k,isEvent:A,participants:(null==(t=E.data)?void 0:t.items)??[],cancelledParticipants:I,participantsRegistration:S,guestParticipants:D,participantsLoading:E.isLoading,participantsError:E.isError,onRetryParticipants:()=>void E.refetch(),paymentStatus:k.paymentStatus??null,notes:{isLoading:C.isLoading,isError:C.isError,error:C.error,onRetry:()=>void C.refetch(),items:(null==(n=C.data)?void 0:n.items)??[]}}):(0,a.jsx)("div",{className:"px-5 py-8 text-body text-niho-text-muted",children:"予約が見つかりませんでした"})})]})}),(0,a.jsx)(eA.k,{open:!!h,booking:h,canEdit:u,onClose:()=>x(null)}),k&&(0,a.jsx)(ej.T,{open:p,onOpenChange:e=>{e||(g(!1),y(null))},variant:"danger",title:"この予定を削除しますか?",description:"削除すると元に戻せません。利用者・参加者の画面からも表示されなくなります。",confirmLabel:"削除する",isPending:b,errorMessage:v??void 0,onConfirm:()=>void M(),children:(0,a.jsxs)("div",{className:"rounded-2xl border border-[#ECE6D8] bg-white/60 px-4 py-3",children:[(0,a.jsx)("div",{className:"text-sub font-bold leading-snug text-niho-text",children:(0,eR.D)({bookingType:k.bookingType,title:k.title,requesterName:k.requesterName,creatorDisplayNameSnapshot:k.creatorDisplayNameSnapshot,spaceScope:k.spaceScope,useZone:k.useZone??[],headCount:k.headCount??0,source:k.source??null,externalHeadCount:k.externalHeadCount??null})}),(0,a.jsxs)("div",{className:"mt-0.5 text-sub tabular-nums text-niho-text-muted",children:[(0,eT.mo)(k.startAt)," 〜 ",(0,eT.mo)(k.endAt)]})]})})]})}var e$=n(12787),e_=n(30201),eP=n(24219),eL=n(16067),eO=n(88115);let eU=(0,s.default)(()=>Promise.all([n.e(768),n.e(43179),n.e(82259)]).then(n.bind(n,82259)).then(e=>e.AdminUsageRecordEditDialog),{loadableGenerated:{webpack:()=>[82259]},ssr:!1,loading:()=>(0,a.jsx)(H.lG,{open:!0,children:(0,a.jsxs)(H.Cf,{className:"w-full max-w-md rounded-2xl p-5 md:max-w-[640px]",children:[(0,a.jsx)(H.L3,{className:"text-body font-bold text-niho-text",children:"利用履歴の修正"}),(0,a.jsx)(H.rr,{className:"text-sub text-niho-text-muted",children:"編集内容を読み込んでいます..."})]})})}),eK=(0,s.default)(()=>n.e(83722).then(n.bind(n,83722)).then(e=>e.BillingTransactionDetailDialog),{loadableGenerated:{webpack:()=>[83722]},ssr:!1});function eq(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now();return eB(new Date(e))}function eB(e){return e.toLocaleDateString("en-CA",{timeZone:"Asia/Tokyo",year:"numeric",month:"2-digit",day:"2-digit"})}function eH(e,t){let n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!n)return e;let a=Number(n[1]),l=Number(n[2]),s=Number(n[3]);return Number.isInteger(a)&&Number.isInteger(l)&&Number.isInteger(s)?new Date(Date.UTC(a,l-1,s+t)).toISOString().slice(0,10):e}function eQ(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),a=e&&Number.isFinite((t=new Date(e)).getTime())?eB(t):null;if(!a)return!1;let l=eq(n),s=eH(l,1);return a===l||a===s}function eY(e){return e.diaryEnabled&&e.canEdit}function eV(e){let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleTimeString("ja-JP",{timeZone:"Asia/Tokyo",hour:"2-digit",minute:"2-digit"}):e}function eG(e){let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleDateString("ja-JP",{timeZone:"Asia/Tokyo",month:"numeric",day:"numeric"}):e}function ez(e){let t=new Date(e);
1return Number.isFinite(t.getTime())?t.toLocaleString("ja-JP",{timeZone:"Asia/Tokyo",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1}):e}function eJ(e){if(!e)return!1;let t=new Date(e);if(!Number.isFinite(t.getTime()))return!1;let n=eq();return t.toLocaleDateString("ja-JP",{timeZone:"Asia/Tokyo",year:"numeric",month:"2-digit",day:"2-digit"}).replace(/\//g,"-")===n}function eW(e){return eJ(e)?eV(e):ez(e)}function eZ(e){let t=e.capturedAt?Date.parse(e.capturedAt):NaN;if(!Number.isFinite(t))return"unknown";let n=e.nowMs-t;return n<-3e5?"future":n>6e4*Math.max(60,3*("number"==typeof e.intervalMinutes&&e.intervalMinutes>0?e.intervalMinutes:30))?"stale":"fresh"}let eX=4;function e0(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:eX;return e.filter(e=>{let n=new Date(e.startAt).getTime();return Number.isFinite(n)&&n>=t&&eQ(e.startAt,t)}).sort((e,t)=>new Date(e.startAt).getTime()-new Date(t.startAt).getTime()).slice(0,n)}function e1(e){return eJ(e)?eV(e):ez(e)}function e2(e){let{title:t,trailing:n}=e;return(0,a.jsxs)("div",{className:"flex min-w-0 items-center justify-between gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)("span",{className:"h-4 w-1.5 shrink-0 rounded-full bg-[#BCD499]","aria-hidden":!0}),(0,a.jsx)("span",{className:"truncate text-base font-bold text-niho-text",children:t})]}),n?(0,a.jsx)("div",{className:"shrink-0",children:n}):null]})}function e5(e){let{total:t,isLoading:n,items:l,todayUsageCount:s,onClick:r}=e,i=l.slice(0,4),o=l.slice(4),d=o.some(e=>"STAFF_DUTY"===e.usageIntent);return(0,a.jsxs)("button",{type:"button",onClick:r,className:"flex min-h-[112px] flex-col justify-start overflow-hidden rounded-[18px] border border-white/70 bg-white/80 p-3 text-left shadow-sm backdrop-blur-sm transition-all hover:shadow-md active:scale-[0.98]",children:[(0,a.jsxs)("div",{"data-slot":"active-presence-heading-row",className:"flex w-full shrink-0 items-center justify-between gap-2",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,a.jsx)("span",{className:"h-1.5 w-1.5 shrink-0 rounded-full bg-niho","aria-hidden":!0}),(0,a.jsx)("span",{className:"truncate text-fine font-bold text-niho-text-muted",children:"在館中"})]}),(0,a.jsxs)("div",{className:"shrink-0 text-3xl font-bold leading-none tabular-nums text-niho-dark",children:[n?"—":t,(0,a.jsx)("span",{className:"ml-1 text-sub font-bold text-niho-text-muted",children:"人"})]})]}),l.length>0&&(0,a.jsxs)("div",{className:"mt-1.5 flex min-h-0 flex-wrap content-start gap-1",children:[i.map(e=>(0,a.jsxs)("span",{className:`max-w-[112px] truncate rounded-full px-1.5 py-0.5 text-fine font-bold ${"STAFF_DUTY"===e.usageIntent?"bg-blue-100 text-blue-700":"bg-[#BCD499]/20 text-niho-dark"}`,children:[e.userDisplayName??"—","STAFF_DUTY"===e.usageIntent&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"hidden md:inline",children:" (スタッフ)"}),(0,a.jsx)("span",{className:"sr-only md:hidden",children:"(スタッフ)"})]})]},e.id)),o.length>0&&(0,a.jsxs)("span",{className:`rounded-full px-1.5 py-0.5 text-fine font-bold ${d?"bg-blue-100 text-blue-700":"bg-[#BCD499]/10 text-niho-text-muted"}`,children:["+",o.length,d?"(スタッフ含む)":""]})]}),!n&&0===l.length&&(0,a.jsx)("div",{className:"mt-1 text-xs text-niho-text-muted",children:"のんびり中 \uD83C\uDF75"}),null!=s&&s>0&&(0,a.jsxs)("div",{className:"mt-auto hidden pt-1 text-xs text-niho-text-muted md:block",children:["今日の利用 のべ",s,"人"]})]})}function e4(e){if(e.isActive){let t=new Date(e.checkinAt).getTime();return Number.isFinite(t)?t:0}let t=e.checkoutAt?new Date(e.checkoutAt).getTime():0;return Number.isFinite(t)?t:0}function e3(e){let{checkinAt:t,checkoutAt:n,durationMinutes:a,isActive:l}=e;if(l){if(!t)return"";let e=eV(t);if(!e)return"在館中";let n=eJ(t)?"":`${eG(t)} `;return`${n}${e}〜 在館中`}if(!t||!n)return"";let s=new Date(t),r=new Date(n);if(!Number.isFinite(s.getTime())||!Number.isFinite(r.getTime()))return"";let i=eV(t),o=eV(n);if(!i||!o)return"";let d=null!=a&&Number.isFinite(a)&&a>0?Math.round(a):null,u=Math.round((r.getTime()-s.getTime())/6e4),c=d??(u>0?u:null),m=null!=c?` ${c}分`:"";if(function(e,t){let n=new Date(e),a=new Date(t);if(!Number.isFinite(n.getTime())||!Number.isFinite(a.getTime()))return!1;let l={timeZone:"Asia/Tokyo",year:"numeric",month:"2-digit",day:"2-digit"};return n.toLocaleDateString("ja-JP",l)===a.toLocaleDateString("ja-JP",l)}(t,n)){let e=eJ(t)?"":`${eG(t)} `;return`${e}${i}-${o}${m}`}return`${eG(t)} ${i}-${eG(n)} ${o}${m}`}function e8(e){return!!(e.spotId&&e.memberContactEnabled)}function e7(e){return!!(e.spotId&&e.diaryEnabled)}function e9(e){return!!(e.spotId&&e.cameraDashboardEnabled)}function e6(e){return!!(e.spotId&&e.cameraDashboardEnabled&&e.devicesEnabled)}function te(e){return e.cameraLiveQueryEnabled&&e.hasAnyEnabledCameraFeed}function tt(e){return e.filter(eO.kQ).map(e=>{var t;return{key:e.cameraKey,label:(null==(t=e.cameraLabel)?void 0:t.trim())||("CAM1"===e.cameraKey?"カメラ1":"カメラ2")}})}function tn(e){return(0,eO.gg)({cameraLiveQueryEnabled:e.cameraLiveQueryEnabled,feed:{recordingEnabled:!!e.recordingEnabled,gatewayUrl:e.gatewayUrl??null}})}function ta(e){let t,n=e.billingSummary.failedAt,a=n?new Date(n).getTime():Number.isFinite(t=new Date(e.createdAt).getTime())?t:0;return Number.isFinite(a)?a:0}function tl(e){let t=e.billingSummary.cancelAt,n=t?new Date(t).getTime():Number.MAX_SAFE_INTEGER;return Number.isFinite(n)?n:Number.MAX_SAFE_INTEGER}function ts(e){var t,n;return(null==(t=e.displayName)?void 0:t.trim())||(null==(n=e.handle)?void 0:n.trim())||"名前未設定"}function tr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.nowMs??Date.now(),a=e.filter(e=>"PAST_DUE"===e.billingSummary.state||"UNPAID"===e.billingSummary.state).sort((e,t)=>
1ta(t)-ta(e)),l=e.filter(e=>(0,X.M)({status:e.status,stripeCancelAt:e.billingSummary.cancelAt,stripeCancelAtPeriodEnd:e.billingSummary.cancelAtPeriodEnd},{nowMs:n})).sort((e,t)=>tl(e)-tl(t));return{activeCount:e.filter(e=>"ACTIVE"===e.status).length,pendingCount:e.filter(e=>"PENDING"===e.status).length,canceledCount:e.filter(e=>"CANCELED"===e.status).length,pastDueCount:a.length,scheduledCancelCount:l.length,paymentFailureMembers:a.slice(0,3),scheduledCancelMembers:l.slice(0,3)}}function ti(e){return(0,a.jsx)("section",{className:"w-full rounded-[22px] border border-[#CBE3A8] bg-[#F9FCF5] p-5 shadow-[0_2px_12px_rgba(0,0,0,0.06)] backdrop-blur-xl","aria-label":"参加リンクの共有",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-[#E0EFCC] text-[#3E7A1F]",children:(0,a.jsx)(u.A,{className:"h-4 w-4","aria-hidden":!0})}),(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h3",{className:"text-base font-bold text-niho-text",children:"参加リンクで仲間を呼ぶ"}),(0,a.jsx)("p",{className:"mt-1 text-sub leading-relaxed text-niho-text-sub",children:"この拠点は無料参加として始められます。支払い準備は不要です。"})]}),(0,a.jsx)("a",{href:e.inviteSettingsHref,onPointerDown:e.onConfirm,className:"inline-flex shrink-0 items-center justify-center rounded-full bg-gradient-to-r from-[#7DBA3A] to-[#63A109] px-4 py-2 text-body font-bold text-white shadow-sm transition-transform active:scale-[0.98] motion-reduce:transition-none motion-reduce:active:scale-100",children:"参加リンクを確認"})]})})]})})}function to(e){let t=(0,ef.iV)(e.type);return{shouldMarkRead:!e.readAt,navigation:t?{kind:"navigate",tab:t}:{kind:"openModal"}}}function td(e){let t=(0,en.i)({requestedKey:e.requestedByUrl?"dashboard-camera":null,consumedKey:e.alreadyConsumed?"dashboard-camera":null,enabled:e.cameraDashboardEnabled});return"handle"===t.kind?{shouldOpen:!0,nextConsumed:!0}:{shouldOpen:!1,nextConsumed:null!==t.nextConsumedKey}}function tu(e){let t=(0,el.SW)(e.searchParams,e.bookingId),n=(0,es.Rr)(t,"dashboard").toString();return n?`${e.pathname}?${n}`:e.pathname}function tc(e){var t;let n=new URLSearchParams(e.searchParams.toString()),a=(null==(t=e.transactionId)?void 0:t.trim())??"";a?n.set("billingTransactionId",a):n.delete("billingTransactionId");let l=n.toString();return l?`${e.pathname}?${l}`:e.pathname}function tm(e){var t;let n=new URLSearchParams(e.searchParams.toString()),a=(null==(t=e.recordId)?void 0:t.trim())??"";a?n.set("record",a):n.delete("record");let l=(0,es.Rr)(n,"dashboard").toString();return l?`${e.pathname}?${l}`:e.pathname}function th(e){let t=new URLSearchParams(e.searchParams.toString());t.set("memberUserId",e.memberUserId);let n=(0,es.Rr)(t,"members");return(0,K.IC)({routeKey:(0,K.qS)(e.pathname),hostTab:"members",searchParams:n})}function tx(e){let t=new URLSearchParams(e.searchParams.toString());t.delete("usageSheet"),t.delete("modal"),t.delete("mode"),t.delete("at");let n=(0,es.Rr)(t,"usage");return(0,K.IC)({routeKey:(0,K.qS)(e.pathname),hostTab:"usage",searchParams:n})}function tb(e){let t=(0,K.qS)(e.pathname)??e.fallbackRouteKey??null,n=(0,K.On)(t);return`${n}/camera-history${"CAM2"===e.cameraKey?"?cameraKey=CAM2":""}`}function tf(e){let t=new URLSearchParams(e.searchParams.toString());t.set("salesSubTab","paymentIntegration");let n=(0,es.Rr)(t,"sales");return(0,K.IC)({routeKey:(0,K.qS)(e.pathname),hostTab:"sales",searchParams:n})}let tp="modal",tg="now",tv="mode",ty="recording",tw="at";function tN(e){return e===tg}function tj(e){if(e.mode!==ty||!e.at)return null;let t=new Date(e.at);return Number.isFinite(t.getTime())?t:null}function tC(e,t){let n=new URLSearchParams(e.searchParams.toString());t(n);let a=n.toString();return`${e.pathname??""}${a?`?${a}`:""}`}function tk(e){return tC(e,t=>{if(t.set(tp,tg),e.recordingAt){let n=e.recordingAt instanceof Date?e.recordingAt:new Date(e.recordingAt);Number.isFinite(n.getTime())&&(t.set(tv,ty),t.set(tw,n.toISOString()))}else t.delete(tv),t.delete(tw)})}function tA(e){return tC(e,e=>{e.delete(tp),e.delete(tv),e.delete(tw)})}async function tE(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:y.ic.getBookings;return(await (0,ea.F)({label:`Admin dashboard bookings for spot ${e}`,maxPages:100,fetchPage:a=>n(e,{...t,cursor:a,limit:200})})).items}function tD(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now(),t=eH(eq(e),2);return{from:new Date(e).toISOString(),to:new Date(`${t}T00:00:00.000+09:00`).toISOString()}}async function tI(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:y.ic.getMembers,a=await (0,ea.F)({label:`Admin dashboard members for spot ${e}`,maxPages:100,fetchPage:a=>n(e,{...t,cursor:a,limit:200})});return{...a.lastPage,items:a.items,nextCursor:null}}function tS(e){let{kind:t}=e;switch(t){case"nihoMessages":case"lineMessages":return(0,a.jsx)(c.A,{className:"w-4 h-4"});case"diary":return(0,a.jsx)("span",{className:"text-body leading-none",children:"\uD83D\uDCD3"});case"usageReview":return(0,a.jsx)(m.A,{className:"w-4 h-4"})}}function tR(e){return[{key:"memberContact",label:"未対応メッセージ",count:e.needsActionChats,tabKey:"memberContact"}
1,{key:"staffDiary",label:"要対応のスタッフ連絡",count:e.unresolvedDiary,tabKey:"diary"},{key:"usageNeedsReview",label:"要確認の利用記録",count:e.needsReviewRecords,tabKey:"usage"},{key:"usageMemberDeletions",label:"会員が削除した記録",count:e.unreviewedMemberDeletions,tabKey:"usage"}].filter(e=>e.count>0)}let tT={memberContact:(0,a.jsx)(c.A,{className:"w-4 h-4"}),staffDiary:(0,a.jsx)("span",{className:"text-body leading-none",children:"\uD83D\uDCD3"}),usageNeedsReview:(0,a.jsx)(m.A,{className:"w-4 h-4"}),usageMemberDeletions:(0,a.jsx)(h.A,{className:"w-4 h-4"})};function tF(e){let{canEdit:t,record:n,onEdit:a,onOpenList:l}=e;t?a(n):l()}function tM(e){var t,n,s,c,h,j,C,k,D,I,S,R,T,F,M,P,X,en,ea,eo,ed,eu,ec,em,eh,eb;let{onNavigateTab:ef,onOpenNotifications:ey,memberContactEnabled:ew,diaryEnabled:eN,cameraDashboardEnabled:ej,devicesEnabled:ek,canEdit:eA,canDeleteUsage:eE,canConsentHostSellerAgreement:eD}=e,eI=(0,r.useRouter)(),eS=(0,r.usePathname)(),eT=(0,r.useSearchParams)(),{spotId:eF}=(0,B.rY)(),eq=(0,i.jE)(),eB=(0,l.useMemo)(()=>{let e,t,n;return t=(e=new Date).toLocaleDateString("ja-JP",{timeZone:"Asia/Tokyo",year:"numeric"}).replace(/[^0-9]/g,""),n=e.toLocaleDateString("ja-JP",{timeZone:"Asia/Tokyo",month:"2-digit"}).replace(/[^0-9]/g,""),`${t}-${n}`},[]),[eH,eQ]=(0,l.useState)(()=>Date.now()),[eV,eX]=(0,l.useState)(!1),[ta,tl]=(0,l.useState)(!1),tg=(null==(t=eT.get("record"))?void 0:t.trim())||null,[ty,tC]=(0,l.useState)(null),tM=(0,el.Ku)(eT),t$=(null==(n=eT.get("billingTransactionId"))?void 0:n.trim())||null,[t_,tP]=(0,l.useState)(!1),[tL,tO]=(0,l.useState)(!1),tU=tN(eT.get(tp)),tK=tj({mode:eT.get(tv),at:eT.get(tw)}),tq=(null==tK?void 0:tK.toISOString())??null,[tB,tH]=(0,l.useState)("CAM1"),[tQ,tY]=(0,l.useState)("LOW"),[tV,tG]=(0,l.useState)(null),[tz,tJ]=(0,l.useState)("live"),[tW,tZ]=(0,l.useState)(()=>(0,eL.r)()),[tX,t0]=(0,l.useState)(()=>(0,eL.r)()[0]),[t1,t2]=(0,l.useState)(null),[t5,t4]=(0,l.useState)(null),t3=(0,l.useRef)(null),t8=(0,l.useRef)(!1),t7=(0,l.useRef)(null),t9=(0,l.useRef)(tB),t6=(0,l.useRef)(0),ne=e9({spotId:eF,cameraDashboardEnabled:ej}),nt=e6({spotId:eF,cameraDashboardEnabled:ej,devicesEnabled:ek}),nn=(0,o.I)({queryKey:q.l.admin.dashboard.bookings(eF,eB),queryFn:()=>y.ic.getBookings(eF,{month:eB,limit:200,dashboardVisibleOnly:!0}),enabled:!!eF,staleTime:6e4}),na=(0,o.I)({queryKey:["admin","dashboard","upcomingBookings",eF],queryFn:()=>{let e=tD();return tE(eF,{from:e.from,to:e.to,dashboardVisibleOnly:!0})},enabled:!!eF,staleTime:6e4,refetchInterval:6e4}),nl=(null==(s=(0,o.I)({queryKey:eC.Y.spotSettings(eF??""),queryFn:()=>y.ic.getSpotSettings(eF),enabled:!!eF&&eV,staleTime:6e4}).data)?void 0:s.provisionalBookingHoldDays)??10;(0,l.useEffect)(()=>{let e=window.setInterval(()=>{eQ(Date.now())},6e4);return()=>window.clearInterval(e)},[]);let ns=(0,o.I)({queryKey:["admin","dashboard","presence","active",eF],queryFn:()=>y.ic.getActivePresence(eF),enabled:!!eF,staleTime:3e4}),nr=(0,o.I)({queryKey:["admin","dashboard","usage-needs-review",eF],queryFn:()=>y.ic.getUsageRecords(eF,{limit:50,activeState:"all",sortBy:"checkoutAt_desc"}),enabled:!!eF,staleTime:3e4}),ni=(null==(c=(0,o.I)({queryKey:(0,eg.jv)(eF),queryFn:()=>w.ic.listUsageMemberDeletions(eF,{unreviewedOnly:!0,limit:1}),enabled:!!eF,staleTime:3e4}).data)?void 0:c.unreviewedCount)??0,no=(0,o.I)({queryKey:["admin","dashboard","recentCheckouts",eF,"includeActive"],queryFn:()=>y.ic.getUsageRecords(eF,{limit:10,includeGuests:!0,sortBy:"checkoutAt_desc",activeState:"all"}),enabled:!!eF,staleTime:3e4}),nd=(0,o.I)({queryKey:["admin","cameraFeeds",eF],queryFn:()=>W.B.getFeeds(eF),enabled:ne,staleTime:3e4}),nu=(0,l.useMemo)(()=>{var e;return(null==(e=nd.data)?void 0:e.feeds)??[]},[null==(h=nd.data)?void 0:h.feeds]),nc=nu.length>0,nm=nu.some(eO.uQ),nh=nu.find(eO.c_),nx=!!nh,nb=nu.find(e=>e.cameraKey===tB)??null,nf=(0,eO.c_)(nb),np=(0,o.I)({queryKey:["admin","dashboard","camera",eF,"host-dashboard",null==nh?void 0:nh.cameraKey],queryFn:()=>(0,U.Q3)(eF,{surface:"host-dashboard",cameraKey:nh.cameraKey}),enabled:ne&&nx,staleTime:12e4,retry:1}),ng=(0,o.I)({queryKey:["admin","dashboard","camera",eF,"host-dashboard",tB],queryFn:()=>(0,U.Q3)(eF,{surface:"host-dashboard",cameraKey:tB}),enabled:ne&&tL&&nf,staleTime:12e4,retry:1}),nv=(0,o.I)({queryKey:["admin","dashboard","cameraHistory",eF,tB],queryFn:()=>(0,U.At)(eF,{windowHours:12,cameraKey:tB}),enabled:ne&&tL&&nf,staleTime:3e4,refetchInterval:!!ne&&!!tL&&6e4,retry:1}),ny=eZ({capturedAt:null==(j=np.data)?void 0:j.capturedAt,intervalMinutes:null==nh?void 0:nh.capturePolicy.intervalMinutes,nowMs:eH}),nw=tn({recordingEnabled:null==nb?void 0:nb.recordingEnabled,cameraLiveQueryEnabled:nt,gatewayUrl:null==nb?void 0:nb.gatewayUrl}
1),nN=nb?nb.recordingEnabled?(null==(C=nb.gatewayUrl)?void 0:C.trim())?"録画を確認できません。":"録画の接続先を確認してください。":"直近24時間録画はOFFです。":"カメラ設定がありません",nj=te({cameraLiveQueryEnabled:nt,hasAnyEnabledCameraFeed:nm});(0,l.useEffect)(()=>{t9.current=tB},[tB]);let nC=(0,d.n)({mutationFn:e=>W.B.createRecordingSession(eF,tB,{from:e.from,to:e.to})}),{config:nk,configQuery:nA,streamUrl:nE,sessionError:nD,isConnecting:nI}=(0,J.E)({spotId:eF,cameraKey:tB,streamProfile:tQ,enabled:nt&&tL&&!!(null==nb?void 0:nb.liveEnabled)&&"live"===tz,autoStart:tL&&!!(null==nb?void 0:nb.liveEnabled)&&"live"===tz});(0,l.useEffect)(()=>{let e=(0,eL.r)();t6.current+=1,tZ(e),t2(null),t4(null),t0(e[0])},[tB,tz]);let nS=async e=>{if(!eF||!nw)return;let t=t6.current+1;t6.current=t,t0(e),t4(null),t2(null);try{let n=await nC.mutateAsync(e);if(t6.current!==t||t9.current!==tB)return;t2(n.playbackUrl)}catch(e){if(t6.current!==t||t9.current!==tB)return;t4((0,Z.Hw)(e,"表示できません"))}};(0,l.useEffect)(()=>{if("recording"!==tz||!nw)return;let e=(0,eL.r)(),t=t7.current;t7.current=null;let n=t?new Date(t):null,a=e[0],l=n?(0,eL.j)(e,n)??a:a;tZ(e),nS(l)},[tz,tB,nw]);let nR=tt(nu),nT=(0,l.useMemo)(()=>nu.filter(eO.kQ),[nu]);(0,l.useEffect)(()=>{if(0===nT.length||nT.some(e=>e.cameraKey===tB))return;let e=nT.find(e=>e.isDefault)??nT[0];e&&tH(e.cameraKey)},[tB,nT]),(0,l.useEffect)(()=>{let e=(0,eO.BM)(tz,nb);e!==tz&&tJ(e)},[nb,tz]),(0,l.useEffect)(()=>{tY((null==nk?void 0:nk.streamProfile)==="HIGH"?"HIGH":"LOW")},[tB,null==nk?void 0:nk.streamProfile,tL]),(0,l.useEffect)(()=>{if(!tL){let e=(0,eL.r)();tG(null),tJ("live"),t6.current+=1,tZ(e),t2(null),t4(null),t0(e[0])}},[tL]),(0,l.useEffect)(()=>{ej||(tO(!1),tG(null))},[ej]);let nF=(0,o.I)({queryKey:["admin","dashboard","chatMeta",eF],queryFn:()=>y.ic.getLineChatMetaList(eF),enabled:e8({spotId:eF,memberContactEnabled:ew}),staleTime:3e4,refetchInterval:!!ew&&15e3}),nM=(0,o.I)({queryKey:q.l.admin.spotSettings(eF),queryFn:()=>y.ic.getSpotSettings(eF),enabled:!!eF&&ew,staleTime:3e4}),n$=(0,o.I)({queryKey:q.l.admin.hostContact.updates(eF),queryFn:()=>y.ic.getHostContactConversationUpdates(eF),enabled:!!eF,staleTime:3e4,refetchInterval:15e3}),n_=(0,o.I)({queryKey:["admin","dashboard","diary",eF],queryFn:()=>y.yM.getEntries(eF,{label:"action_needed",limit:10}),enabled:e7({spotId:eF,diaryEnabled:eN}),staleTime:6e4}),nP=(0,o.I)({queryKey:["admin","dashboard","members",eF],queryFn:()=>tI(eF,{status:"ACTIVE"}),enabled:!!eF,staleTime:3e5}),nL=(0,o.I)({queryKey:["admin","dashboard","members","launch",eF],queryFn:()=>tI(eF),enabled:!!eF,staleTime:3e5}),nO=(0,o.I)({queryKey:["admin","dashboard","recentPlanRegistrations",eF],queryFn:()=>w.ic.getRecentPlanRegistrations(eF),enabled:!!eF,staleTime:3e5}),nU=(0,o.I)({queryKey:["admin","hostOnboardingReadiness",eF],queryFn:()=>y.ic.getHostOnboardingReadiness(eF),enabled:!!eF,staleTime:12e4}),nK=(0,o.I)({queryKey:["admin","dashboard","billing-disputes",eF,"DISPUTED"],queryFn:()=>y.ic.getBillingDisputes(eF,{status:"DISPUTED"}),enabled:!!eF,staleTime:6e4}),nq=(0,o.I)({queryKey:["admin","dashboard","monthUsage",eF,eB],queryFn:()=>y.ic.getUsageRecords(eF,{month:eB,limit:200}),enabled:!!eF,staleTime:12e4}),nB=(0,o.I)({queryKey:["opsNotifications","list",eF],queryFn:()=>y.Wo.getNotifications(eF,{limit:50}),enabled:!!eF,staleTime:3e4}),nH=(0,d.n)({mutationFn:e=>y.Wo.markRead(eF,{mode:"ITEMS",notificationIds:e}),onSuccess:()=>{eq.invalidateQueries({queryKey:["opsNotifications"]})}}),nQ=(0,l.useMemo)(()=>{var e;return((null==(e=nn.data)?void 0:e.items)??[]).filter(e=>eJ(e.startAt)).length},[nn.data]),nY=(0,l.useMemo)(()=>e0(na.data??[],eH),[na.data,eH]),nV=(0,l.useMemo)(()=>{var e;return(null==(e=ns.data)?void 0:e.items)??[]},[ns.data]),nG=(null==(k=ns.data)?void 0:k.totalActiveCount)??0,nz=(0,l.useMemo)(()=>{var e;return((null==(e=no.data)?void 0:e.items)??[]).filter(e=>e.isActive?!!e.checkinAt:!!e.checkoutAt).sort((e,t)=>e4(t)-e4(e)).slice(0,3)},[no.data]);(0,l.useEffect)(()=>{let e=eA?tg:null;tC(t=>e?t&&t.id===e?t:nz.find(t=>
1t.id===e)??null:t?null:t)},[eA,tg,nz]);let nJ=(0,l.useMemo)(()=>{var e;return((null==(e=nr.data)?void 0:e.items)??[]).filter(e=>(0,ep.Y)(e))},[nr.data]),nW=(0,l.useMemo)(()=>nr.data?(nr.data.items??[]).filter(e=>eJ(e.checkinAt)).length:null,[nr.data]),nZ=(0,l.useMemo)(()=>{var e;return ew?((null==(e=nF.data)?void 0:e.items)??[]).filter(e=>"NEEDS_ACTION"===e.status):[]},[nF.data,ew]),nX=(0,l.useMemo)(()=>{var e;return eN?(null==(e=n_.data)?void 0:e.entries)??[]:[]},[eN,n_.data]),n0=(0,l.useMemo)(()=>{var e;return tr((null==(e=nL.data)?void 0:e.items)??[])},[nL.data]),n1=(null==(I=nP.data)||null==(D=I.items)?void 0:D.length)??n0.activeCount,n2=nL.isLoading||nP.isLoading,n5=function(e){switch(e){case"READY_FOR_TRANSFERS":return"決済受付可能";case"REQUIREMENTS_DUE":return"追加対応あり";case"ONBOARDING_REQUIRED":return"登録が必要";case"RESTRICTED":return"制限中";case"NOT_STARTED":return"未開始";default:return"確認中"}}(null==(S=nU.data)?void 0:S.payoutReadiness.state),n4=(null==(R=nU.data)?void 0:R.payoutReadiness.state)==="READY_FOR_TRANSFERS",n3=(0,l.useMemo)(()=>tf({pathname:eS,searchParams:eT}),[eS,eT]),n8=(0,l.useMemo)(()=>{let e=new URLSearchParams(eT.toString()),t=(0,K.qS)(eS),n=(0,es.Rr)(new URLSearchParams(e),"plans"),a=(0,es.Rr)(new URLSearchParams(e),"spot");return a.set("spotSubTab","welcome"),a.set("onboardingSubTab","invite"),{paymentIntegration:n3,plans:(0,K.IC)({routeKey:t,hostTab:"plans",searchParams:n}),spotSettings:(0,K.IC)({routeKey:t,hostTab:"spot",searchParams:a})}},[n3,eS,eT]),n7=(0,l.useMemo)(()=>{let e=(0,K.qS)(eS),t=(0,es.Rr)(new URLSearchParams(eT.toString()),"payments");return t.set("paymentsSubTab","invoice"),(0,K.IC)({routeKey:e,hostTab:"payments",searchParams:t})},[eS,eT]),n9=(0,l.useMemo)(()=>nU.isSuccess?{readiness:nU.data}:null,[nU.data,nU.isSuccess]),n6=(0,l.useMemo)(()=>n9?function(e){var t,n,a,l,s,r,i,o,d,u,c;let m,{readiness:h,hrefs:x,language:b}=e,f=(m=null==h?void 0:h.publishReadiness)?"CHECKLIST"!==m.kind&&"TERMS_RECONSENT"!==m.kind?[]:(m.items??[]).flatMap(e=>{var t,n;return(n=e.key,_.has(n))?[{key:e.key,label:e.label,status:e.status,actionLabel:"DONE"===e.status?null:e.actionLabel,actionHref:"DONE"===e.status?null:e.actionHref,detail:(null==(t=e.detail)?void 0:t.trim())||null}]:[]}):null;if(null!=f)return f;if((null==h?void 0:h.revenueModel)==="EXTERNAL_PAID")return[];let p=null==h||null==(t=h.payoutReadiness)?void 0:t.state,g=null==h||null==(n=h.productPublish)?void 0:n.state,v=(null==h||null==(a=h.productPublish)||a.totalPlanCount,null==h||null==(l=h.productPublish)?void 0:l.activePlanCount),y="READY_FOR_TRANSFERS"===p?"DONE":"ACTION_REQUIRED",w="ACTIVE_PRODUCT"===g||(v??0)>0?"DONE":"ACTION_REQUIRED",j=((null==h||null==(i=h.checklist)?void 0:i.items)??[]).find(e=>"agreement_consent"===e.key)??null,C=(null==j?void 0:j.status)??"ACTION_REQUIRED";return[{key:"stripe_ready",label:(0,A.fp)(b,{ja:"Stripe を接続",en:"Connect Stripe"}),status:y,actionLabel:"ACTION_REQUIRED"===y?(0,A.fp)(b,{ja:"接続する",en:"Connect"}):null,actionHref:"ACTION_REQUIRED"===y?x.paymentIntegration:null,detail:null},{key:"plan_created",label:(0,A.fp)(b,{ja:"有料プランを公開",en:"Publish a paid plan"}),status:w,actionLabel:"ACTION_REQUIRED"===w?(0,A.fp)(b,{ja:"プランを公開する",en:"Publish plan"}):null,actionHref:"ACTION_REQUIRED"===w?x.plans:null,detail:function(e,t,n){if("DRAFT_ONLY"===e){let e=(null==t?void 0:t.draftPlanCount)??0;return(0,A.fp)(n,{ja:`下書き ${e} 件(未公開)`,en:`${e} draft(s) — not yet public`})}if("ACTIVE_PRODUCT"===e){let e=(null==t?void 0:t.activePlanCount)??0;return(0,A.fp)(n,{ja:`公開中 ${e} 件`,en:`${e} active`})}return null}(g,(null==h?void 0:h.productPublish)??null,b)},{key:"agreement_consent",label:(null==j||null==(s=j.label)?void 0:s.trim())||(0,A.fp)(b,{ja:`${N.D}に同意`,en:"Agree to host sales agreement"}),status:C,actionLabel:"ACTION_REQUIRED"===C?(o=null==j?void 0:j.actionLabel,d=(0,A.fp)(b,{ja:"確認する",en:"Review"}),null==o?d:o):null,actionHref:"ACTION_REQUIRED"===C?(u=null==j?void 0:j.actionHref,c=x.spotSettings,null==u?c:u):null,detail
1:(null==j||null==(r=j.detail)?void 0:r.trim())||null}]}({readiness:n9.readiness,hrefs:n8,language:"ja"}):[],[n9,n8]),ae=n6.length>0,at=n6.some(e=>"agreement_consent"===e.key&&"ACTION_REQUIRED"===e.status),[an,aa]=(0,l.useState)(null);(0,l.useEffect)(()=>{aa(eF?!!eF&&"1"===(0,ee._I)(et(eF)):null)},[eF]);let al=(0,l.useCallback)(()=>{eF&&(0,ee.B6)(et(eF),"1"),aa(!0)},[eF]),as=(eb={readinessKindIsInviteCard:nU.isSuccess&&(null==(F=nU.data)||null==(T=F.publishReadiness)?void 0:T.kind)==="INVITE_CARD",confirmed:an}).readinessKindIsInviteCard&&!1===eb.confirmed,ar=(0,l.useMemo)(()=>nU.isSuccess?function(e){var t;let n=null==e?void 0:e.publishReadiness;if(!n||"TERMS_RECONSENT"!==n.kind)return null;let a=(n.items??[]).find(e=>"agreement_consent"===e.key),l=null==a||null==(t=a.actionHref)?void 0:t.trim();return l?{agreementHref:l}:null}(nU.data):null,[nU.isSuccess,nU.data]),[ai,ao]=(0,l.useState)(!1),[ad,au]=(0,l.useState)(null),ac=(0,o.I)({queryKey:["admin","sellerAgreement",eF],queryFn:()=>w.ic.getSellerAgreement(eF),enabled:!!eF&&(null!=ar||at)}),am=(0,d.n)({mutationFn:e=>w.ic.consentSellerAgreement(eF,e),onSuccess:async()=>{au(null),ao(!1),await Promise.all([ac.refetch(),nU.refetch()])},onError:e=>{au((0,Z.Hw)(e,`${N.D}の同意記録に失敗しました`))}}),ah=(0,l.useCallback)(()=>{au(null),ao(!0)},[]);(0,l.useEffect)(()=>{ar||at||(ao(!1),au(null))},[at,ar]);let ax=(0,l.useCallback)(()=>{var e;let t=null==(e=ac.data)?void 0:e.agreementVersion;if(eF&&t&&!am.isPending){if(!eD)return void au(`${N.D}への同意は、この拠点の管理権限を持つご本人のアカウントで記録してください。`);am.mutate(t)}},[eF,eD,null==(M=ac.data)?void 0:M.agreementVersion,am]),ab=((0,l.useMemo)(()=>{var e;return((null==(e=nB.data)?void 0:e.notifications)??[]).filter(e=>!e.type.startsWith("SPOT_")).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()).slice(0,3)},[nB.data]),(0,l.useMemo)(()=>{var e;return((null==(e=nq.data)?void 0:e.items)??[]).reduce((e,t)=>e+(t.durationMinutes??0),0)},[nq.data])),af=(null==(P=n$.data)?void 0:P.needsActionCount)??0,ap=(0,l.useMemo)(()=>{var e,t;let n;return[...(t={nihoNeedsActionCount:af,lineNeedsActionCount:(e={count:nZ.length,lineChannelEnabled:ew,lineMessagingConfigured:(0,ei.b)(nM.data)}).lineChannelEnabled&&!0===e.lineMessagingConfigured?e.count:0,unresolvedDiaryCount:0,needsReviewRecordCount:0},n=[],t.nihoNeedsActionCount>0&&n.push({id:"memberContact:niho",kind:"nihoMessages",label:"要対応ã
1®ä¼šå“¡ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸",count:t.nihoNeedsActionCount,tabKey:"memberContact",params:{[er.CT]:"niho"}}),t.lineNeedsActionCount>0&&n.push({id:"memberContact:line",kind:"lineMessages",label:"LINE の未対応メッセージ",count:t.lineNeedsActionCount,tabKey:"memberContact",params:{[er.CT]:"line"}}),t.unresolvedDiaryCount>0&&n.push({id:"diary",kind:"diary",label:"要対応のスタッフ連絡",count:t.unresolvedDiaryCount,tabKey:"diary"}),t.needsReviewRecordCount>0&&n.push({id:"usage",kind:"usageReview",label:"要確認の利用記録",count:t.needsReviewRecordCount,tabKey:"usage"}),n).map(e=>({key:e.id,id:e.id,label:e.label,count:e.count,tabKey:e.tabKey,params:e.params,kind:e.kind})),...tR({needsActionChats:0,unresolvedDiary:nX.length,needsReviewRecords:nJ.length,unreviewedMemberDeletions:ni}).map(e=>({key:e.key,id:e.key,label:e.label,count:e.count,tabKey:e.tabKey,icon:tT[e.key]}))]},[ew,nM.data,nZ.length,nJ.length,af,ni,nX.length]),ag=ap.reduce((e,t)=>e+t.count,0)+((null==(X=nK.data)?void 0:X.summary.needsResponseCount)??0),av=0===ag,ay=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date;return e.toLocaleDateString("ja-JP",{timeZone:"Asia/Tokyo",year:"numeric",month:"2-digit",day:"2-digit"})}(),aw=nn.isLoading||ns.isLoading||nr.isLoading||no.isLoading||nP.isLoading,aN=!!((null==nb?void 0:nb.liveEnabled)??(null==nk?void 0:nk.liveEnabled)),aj="live"===tz&&aN,aC=aN&&!!nD,ak="live"===tz&&aN&&!!nE,aA=(0,l.useMemo)(()=>{var e;return nf?(null==(e=nv.data)?void 0:e.items)??[]:[]},[null==(en=nv.data)?void 0:en.items,nf]),aE=(0,l.useMemo)(()=>{if(null==tV)return null;let e=aA.findIndex(e=>e.captureId===tV);return e>=0?e:null},[aA,tV]),aD=(0,l.useMemo)(()=>null==aE?null:aA[aE]??null,[aA,aE]),aI=null!=aE&&aE>0,aS=null!=aE&&aE<aA.length-1,aR=(0,l.useCallback)(()=>{tG(e=>{var t;if(null==e)return e;let n=aA.findIndex(t=>t.captureId===e);return n<=0?e:(null==(t=aA[n-1])?void 0:t.captureId)??e})},[aA]),aT=(0,l.useCallback)(()=>{tG(e=>{var t;if(null==e)return e;let n=aA.findIndex(t=>t.captureId===e);return n<0||n>=aA.length-1?e:(null==(t=aA[n+1])?void 0:t.captureId)??e})},[aA]);(0,l.useEffect)(()=>{null==tV||aA.some(e=>e.captureId===tV)||tG(null)},[aA,tV]),(0,l.useEffect)(()=>{if(null==tV)return;let e=e=>{"ArrowLeft"===e.key?(e.preventDefault(),aR()):"ArrowRight"===e.key&&(e.preventDefault(),aT())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[tV,aT,aR]);let aF=(0,l.useCallback)(e=>{if("mouse"!==e.pointerType||0===e.button){t3.current={x:e.clientX,y:e.clientY};try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}}},[]),aM=(0,l.useCallback)(e=>{let t=t3.current;if(t3.current=null,!t)return;let n=e.clientX-t.x,a=e.clientY-t.y;Math.abs(n)>=48&&Math.abs(n)>Math.abs(a)&&(n<0?aT():aR());try{e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId)}catch{}},[aT,aR]),a$=((0,l.useCallback)(e=>{let t=to(e);(t.shouldMarkRead&&!nH.isPending&&nH.mutate([e.id]),"navigate"===t.navigation.kind)?ef(t.navigation.tab,{suppressAutoMarkReadOnArrival:!0}):ey()},[nH,ef,ey]),(0,l.useCallback)(e=>{eI.replace(tu({pathname:eS,searchParams:eT,bookingId:e}),{scroll:!1})},[eS,eI,eT])),a_=(0,l.useCallback)(e=>{let t=tm({pathname:eS,searchParams:eT,recordId:e});e?eI.push(t,{scroll:!1}):eI.replace(t,{scroll:!1})},[eS,eI,eT]),aP=(0,l.useCallback)((e,t)=>{let n=e?tk({pathname:eS,searchParams:eT,recordingAt:null==t?void 0:t.recordingAt}):tA({pathname:eS,searchParams:eT}),a=eT.toString();n!==`${eS??""}${a?`?${a}`:""}`&&eI.replace(n,{scroll:!1})},[eS,eI,eT]),aL=(0,l.useCallback)(e=>{if(!ej)return;let t=nT.find(e=>e.isDefault)??nT[0]??nu.find(e=>e.isDefault)??nu[0];t&&(tH(t.cameraKey),tJ((0,eO.BM)((null==e?void 0:e.recordingAt)?"recording":"live",t))),tO(!0),aP(!0,e)},[ej,nu,nT,aP]),aO=(0,l.useCallback)(e=>{tO(e),aP(e)},[aP]);(0,l.useEffect)(()=>{let{shouldOpen:e,nextConsumed:t}=td({requestedByUrl:tU,cameraDashboardEnabled:ej,alreadyConsumed:t8.current});t8.current=t,e&&!tL&&(t7.current=tq,tJ(tq?"recording":"live"),aL({recordingAt:tq}))},[tU,ej,tL,tq,aL]);let aU=(0,l.useCallback)(()=>{ej&&eI.push(tb({pathname:eS,fallbackRouteKey:eF,cameraKey:tB}))},[tB,ej,eS,eI,eF]),aK=(0,l.useCallback)(()=>{tO(!1),aP(!1),aU()},[aU,aP]),aq=(0,l.useMemo)(()=>[{key:"memberContact",icon:"\uD83D\uDCAC",label:"会員連絡",enabled:!0,onClick:()=>ef("memberContact")},{key:"diary",icon:"\uD83D\uDCD3",label:"スタッフ連絡",enabled:eY({diaryEnabled:eN,canEdit:eA}),onClick:()=>tP(!0)},{key:"billingInvoice",icon:"\uD83E\uDDFE",label:"請求作成",enabled:!0,onClick:()=>eI.push(n7)},{key:"bookings",icon:"\uD83D\uDCC5",label:"予約管理",enabled:!0,onClick:()=>ef("bookings")},{key:"billing",icon:"\uD83D\uDCB3",label:"取引履歴",enabled:!0,onClick:()=>ef("billing")}].filter(e=>e.enabled),[n7,eA,eN,ef,eI]),aB=(0,l.useMemo)(()=>{let e=(0,K.qS)(eS)??eF;return e?`${(0,K.On)(e)}/billing/disputes`:"#"},[eS,eF]);return eF?(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)("h2",{className:"sr-only [&+*]:!mt-0",children:"ホーム"}),ar&&(0,a.jsx)(L,{agreementHref:ar.agreementHref,onReview:ah,reviewDisabled:ac.isLoading,language:"ja"}),ae&&!ar&&(0,a.jsx)($,{items:n6,language:"ja",persistKey:`niho:publish-readiness-dismissed:${eF}
1`,tone:"hero",actionOverrides:{agreement_consent:ah}}),(0,a.jsx)(O.y,{legalSlug:(null==(ea=ac.data)?void 0:ea.agreementLegalSlug)??null,agreementVersion:(null==(eo=ac.data)?void 0:eo.agreementVersion)??null,open:ai,onOpenChange:e=>{ao(e),e||au(null)},canConsent:eD,consentPending:am.isPending,consentError:ad,statusLoading:ac.isLoading,statusError:ac.isError,onRetryStatus:()=>void ac.refetch(),onConsent:ax}),as&&(0,a.jsx)(ti,{inviteSettingsHref:n8.spotSettings,onConfirm:al}),(0,a.jsxs)("section",{className:"space-y-4",children:[(0,a.jsx)(e2,{title:"\uD83C\uDFE1 今日のリビング",trailing:(0,a.jsx)("span",{className:"text-xs font-bold tabular-nums text-niho-text-muted",children:ay})}),(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-sm font-bold text-niho-text-sub tracking-tight",children:"いまのリビング"}),ej&&(0,a.jsxs)("button",{type:"button",onClick:aU,className:"text-xs font-bold text-niho-dark hover:underline flex items-center gap-0.5",children:["画像一覧",(0,a.jsx)(x.A,{className:"w-3 h-3"})]})]}),(0,a.jsxs)("div",{className:`grid gap-3 ${ej?"grid-cols-2":"grid-cols-1"}`,children:[(0,a.jsx)(e5,{total:nG,isLoading:aw,items:nV,todayUsageCount:nW,onClick:()=>ef("usage")}),ej&&(0,a.jsxs)("button",{type:"button",onClick:()=>aL(),className:"relative min-h-[112px] overflow-hidden rounded-[18px] border border-white/70 bg-gradient-to-br from-[#E8EDE4] to-[#D4DFD0] shadow-sm transition-all hover:shadow-md active:scale-[0.98]",children:[nx&&(null==(ed=np.data)?void 0:ed.latestImagePath)?(0,a.jsx)("img",{src:np.data.latestImagePath,alt:"拠点カメラ",className:"absolute inset-0 h-full w-full object-cover"}):(0,a.jsx)("div",{className:"w-full h-full flex items-center justify-center",children:(0,a.jsx)("span",{className:"text-3xl opacity-30",children:"\uD83D\uDCF8"})}),nx&&(null==(eu=np.data)?void 0:eu.latestImagePath)&&(0,a.jsxs)("div",{className:"absolute bottom-1.5 left-1.5 right-1.5 rounded-lg bg-black/40 px-1.5 py-0.5 text-right text-fine font-bold leading-tight text-white backdrop-blur-sm",children:[np.data.capturedAt?`撮影 ${ez(np.data.capturedAt)}`:`反映 ${ez(np.data.publishedAt)}・撮影時刻不明`,"stale"===ny?"・古い写真":"","future"===ny?"・時刻要確認":""]})]})]})]}),(0,a.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 shadow-sm",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4 pb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(b.A,{className:"w-4 h-4 text-niho-dark"}),(0,a.jsx)("span",{className:"text-body font-bold text-niho-text",children:"直近の予定"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[eA&&(0,a.jsxs)("button",{type:"button",onClick:()=>eX(!0),className:"inline-flex items-center gap-0.5 rounded-lg bg-niho-dark/10 px-2 py-1 text-xs font-bold text-niho-dark hover:bg-niho-dark/15 active:scale-[0.97] transition-all",children:[(0,a.jsx)(f.A,{className:"w-3 h-3"}),"予約"]}),(0,a.jsxs)("button",{type:"button",onClick:()=>ef("bookings"),className:"text-xs font-bold text-niho-dark hover:underline flex items-center gap-0.5",children:["一覧",(0,a.jsx)(x.A,{className:"w-3 h-3"})]})]})]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:na.isLoading?(0,a.jsx)("div",{className:"py-6 text-center text-sub text-niho-text-muted",children:"読み込み中..."}):0===nY.length?(0,a.jsxs)("div",{className:"py-6 text-center",children:[(0,a.jsx)("span",{className:"text-2xl opacity-30",children:"\uD83D\uDCC5"}),(0,a.jsx)("div",{className:"text-sub text-niho-text-muted mt-1",children:"直近の予定はありません"})]}):(0,a.jsx)("div",{className:"space-y-2",children:nY.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>a$(e.id),className:"w-full text-left flex items-start gap-3 px-3 py-2.5 rounded-xl bg-[#FAFAF7]/80 border border-[#E6E6E0]/40 active:scale-[0.98] transition-all",children:[(0,a.jsx)("div",{className:"text-body font-bold text-niho-text-sub tabular-nums whitespace-nowrap pt-0.5",children:e1(e.startAt)}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("div",{className:"text-body font-bold text-niho-text truncate",children:(0,eR.D)(e)}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:["EVENT"===e.bookingType&&(0,a.jsx)("span",{className:"text-fine font-bold niho-accent-surface px-1.5 py-0.5 rounded",children:"イベント"}),"ENTIRE_FACILITY"===e.spaceScope&&(0,a.jsx)("span",{className:"text-fine font-bold text-[#7D5E17] bg-[#FFF8E7] px-1.5 py-0.5 rounded",children:"貸切"}),e.requesterName&&(0,a.jsx)("span",{className:"text-xs text-niho-text-muted truncate",children:e.requesterName})]})]})]},e.id))})})]}),(0,a.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 shadow-sm",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4 pb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(u.A,{className:"w-4 h-4 text-niho-dark"}),(0,a.jsx)("span",{className:"text-body font-bold text-niho-text",children:"最近の利用"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[eA&&(0,a.jsxs)("button",{type:"button",onClick:()=>tl(!0),className:"inline-flex items-center gap-0.5 rounded-lg bg-niho-dark/10 px-2 py-1 text-xs font-bold text-niho-dark hover:bg-niho-dark/15 active:scale-[0.97] transition-all",children:[(0,a.jsx)(f.A,{className:"w-3 h-3"}),"記録"]}),(0,a.jsxs)("button",{type:"button",onClick:()=>ef("usage"),className:"text-xs font-bold text-niho-dark hover:underline flex items-center gap-0.5",children:["一覧",(0,a.jsx)(x.A,{className:"w-3 h-3"})]})]})]}),(0,a.jsx)("div",{className:"px-4 pb-4",children:no.isLoading?(0,a.jsx)("div",{className:"py-6 text-center text-sub text-niho-text-muted",children:"読み込み中..."}):0===nz.length?(0,a.jsxs)("div",{className:"py-6 text-center",children:[(0,a.jsx)("span",{className:"text-2xl opacity-30",children:"\uD83D\uDC65"}),(0,a.jsx)("div",{className:"text-sub text-niho-text-muted mt-1",children:"最近の利用記録はまだありません"})]}):(0,a.jsx)("div",{className:"space-y-2",children:nz.map(e=>{let t=(0,G.pf)(e.userProfileImage??null),n=null==e.userId,l=n?(0,ev.EQ)(e.partySize):e.userDisplayName??"—",s=e3({checkinAt:e.checkinAt,checkoutAt:e.checkoutAt,durationMinutes:e.b
1illedMinutes??e.durationMinutes??null,isActive:e.isActive});return(0,a.jsxs)("button",{type:"button",onClick:()=>tF({canEdit:eA,record:e,onEdit:e=>a_(e.id),onOpenList:()=>ef("usage")}),"aria-label":eA?`${l}の利用履歴を修正`:`${l}の利用記録を開く`,className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-xl bg-[#FAFAF7]/80 border border-[#E6E6E0]/40 text-left active:scale-[0.98] transition-all",children:[(0,a.jsxs)(Q.eu,{className:"h-8 w-8 shrink-0",children:[t?(0,a.jsx)(Q.BK,{src:t,alt:l,className:"object-cover"}):null,n?(0,a.jsx)(V.I,{className:"text-sub"}):(0,a.jsx)(Q.q5,{className:"text-sub font-bold bg-[#BCD499]/30 text-niho-dark",children:(0,z.IW)(e.userDisplayName)})]}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-bold text-niho-text truncate",children:l}),s&&(0,a.jsx)("div",{className:"text-xs text-niho-text-muted mt-0.5 truncate tabular-nums",children:s})]})]},e.id)})})})]})]}),(0,a.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 shadow-sm p-4",children:[(0,a.jsx)("div",{className:"text-sub font-bold text-niho-text-muted mb-3",children:"クイックアクセス"}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:aq.map(e=>(0,a.jsxs)("button",{type:"button",onClick:e.onClick,className:"flex items-center gap-2.5 px-3 py-3 rounded-xl bg-[#FAFAF7]/80 border border-[#E6E6E0]/40 hover:bg-[#BCD499]/10 transition-colors active:scale-[0.97]",children:[(0,a.jsx)("span",{className:"text-base leading-none",children:e.icon}),(0,a.jsx)("span",{className:"text-sm font-bold text-niho-text",children:e.label})]},e.key))})]}),(0,a.jsxs)("details",{open:!av,className:"group mt-8 border-t border-[#F0EDE6] pt-4",children:[(0,a.jsx)("summary",{className:`list-none rounded-2xl outline-none focus-visible:ring-2 focus-visible:ring-[#BCD499]/50 [&::-webkit-details-marker]:hidden ${av?"cursor-pointer":"cursor-default"}`,onClick:av?void 0:e=>e.preventDefault(),children:(0,a.jsx)(e2,{title:"\uD83D\uDCCB 運営タスク",trailing:ag>0?(0,a.jsxs)("span",{className:"rounded-full border border-[#F0C97A]/60 bg-[#FFF8E7] px-2.5 py-1 text-fine font-bold text-[#7D5E17]",children:["要対応 ",ag," 件"]}):null})}),(0,a.jsxs)("div",{className:"mt-4 space-y-4",children:[nK.data&&nK.data.summary.needsResponseCount>0?(0,a.jsx)(E,{pendingCount:nK.data.summary.needsResponseCount,earliestDueDate:nK.data.items.map(e=>e.evidenceDueBy).filter(e=>!!e).sort()[0]??null,disputeListHref:aB,language:"ja"}):null,ap.length>0&&(0,a.jsxs)("div",{className:"bg-gradient-to-br from-red-50/80 to-orange-50/60 backdrop-blur-sm rounded-2xl border border-red-100/60 p-4 space-y-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sub font-bold text-red-600/80",children:[(0,a.jsx)("span",{className:"w-2 h-2 rounded-full bg-red-500 animate-pulse"}),"対応が必要(",ap.reduce((e,t)=>e+t.count,0),"件)"]}),(0,a.jsx)("div",{className:"space-y-1.5",children:ap.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>ef(e.tabKey,e.params?{params:e.params}:void 0),className:"w-full flex items-center gap-3 px-3 py-2.5 rounded-xl bg-white/70 hover:bg-white/90 transition-colors text-left active:scale-[0.98]","data-dashboard-attention-item":e.id,children:[(0,a.jsx)("span",{className:"text-red-500/80",children:e.kind?(0,a.jsx)(tS,{kind:e.kind}):e.icon}),(0,a.jsx)("span",{className:"flex-1 text-sm font-bold text-niho-text",children:e.label}),(0,a.jsx)("span",{className:"text-sub font-bold text-red-500 bg-red-50 px-2 py-0.5 rounded-full",children:e.count}),(0,a.jsx)(x.A,{className:"w-3.5 h-3.5 text-niho-text-muted/50"})]},e.key))})]}),!1,(0,a.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 shadow-sm",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 px-4 pt-4 pb-2",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)(p.A,{className:"w-4 h-4 shrink-0 text-niho-dark"}),(0,a.jsx)("span",{className:"truncate text-body font-bold text-niho-text",children:"会員運用"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>ef("members"),className:"flex shrink-0 items-center gap-0.5 text-xs font-bold text-niho-dark hover:underline",children:["会員を見る",(0,a.jsx)(x.A,{className:"w-3 h-3"})]})]}),(0,a.jsxs)("div",{className:"px-4 pb-4 space-y-3",children:[(0,a.jsx)("div",{className:"grid grid-cols-2 gap-2",children:[{key:"active",label:"利用中",value:n1},{key:"pending",label:"申込中",value:n0.pendingCount}].map(e=>(0,a.jsxs)("div",{className:"rounded-xl bg-[#FAFAF7]/80 border border-[#
1E6E6E0]/40 px-3 py-2.5",children:[(0,a.jsx)("div",{className:"text-lg font-bold text-niho-text tabular-nums",children:n2?"—":e.value}),(0,a.jsx)("div",{className:"text-xs font-bold text-niho-text-muted",children:e.label})]},e.key))}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsxs)("div",{className:"space-y-1.5",children:[(0,a.jsx)("span",{className:"block px-0.5 text-sub font-bold text-niho-text",children:"最近のプラン登録"}),nO.isLoading?(0,a.jsx)("div",{className:"rounded-xl border border-[#E6E6E0]/40 bg-[#FAFAF7]/80 px-3 py-2.5 text-xs text-niho-text-muted",children:"読み込み中..."}):((null==(em=nO.data)||null==(ec=em.items)?void 0:ec.length)??0)>0?nO.data.items.map(e=>{var t,n;let l=e.profileImage??void 0,s=(null==(t=e.displayName)?void 0:t.trim())||(null==(n=e.handle)?void 0:n.trim())||"名前未設定",r=e.entries.map(e=>e.planName).join("・")||"プラン",i=!!e.billingTransactionId;return(0,a.jsxs)("button",{type:"button",onClick:()=>{e.billingTransactionId?eI.replace(tc({pathname:eS,searchParams:eT,transactionId:e.billingTransactionId}),{scroll:!1}):ef("members")},"aria-label":`${s}の${r}。${i?"取引詳細を開く":"会員情報を開く"}`,className:"w-full min-w-0 flex items-center gap-3 px-3 py-2.5 rounded-xl bg-[#FAFAF7]/80 border border-[#E6E6E0]/40 text-left active:scale-[0.98] transition-all",children:[(0,a.jsxs)(Q.eu,{className:"h-8 w-8 shrink-0",children:[l?(0,a.jsx)(Q.BK,{src:l,alt:s,className:"object-cover"}):null,(0,a.jsx)(Q.q5,{className:"text-sub font-bold bg-[#BCD499]/30 text-niho-dark",children:(0,z.IW)(s)})]}),(0,a.jsxs)("span",{className:"flex-1 min-w-0",children:[(0,a.jsx)("span",{className:"block text-sm font-bold text-niho-text truncate",children:s}),(0,a.jsxs)("span",{className:"block text-xs text-niho-text-muted mt-0.5 truncate",children:[r," \xb7 ",eG(e.registeredAt)]})]}),(0,a.jsx)("span",{className:"shrink-0 text-fine font-bold text-niho-text-muted",children:i?"取引詳細":"会員情報"}),(0,a.jsx)(x.A,{className:"w-3.5 h-3.5 shrink-0 text-niho-text-muted","aria-hidden":!0})]},`${e.spotMemberId}-${e.registeredAt}`)}):(0,a.jsx)("div",{className:"rounded-xl border border-[#E6E6E0]/40 bg-[#FAFAF7]/80 px-3 py-2.5 text-xs text-niho-text-muted",children:"プラン登録はまだありません"})]}),n0.pastDueCount>0&&(0,a.jsxs)("button",{type:"button",onClick:()=>ef("billing"),className:"w-full min-w-0 flex items-center justify-between gap-3 px-3 py-2.5 rounded-xl bg-[#FAFAF7]/80 border border-[#E6E6E0]/40 text-left active:scale-[0.98] transition-all",children:[(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block text-sub font-bold text-niho-text",children:"支払い要確認"}),(0,a.jsx)("span",{className:"block text-xs text-niho-text-muted truncate",children:n0.paymentFailureMembers.map(e=>`${ts(e)} ${e.billingSummary.state}`).join(" / ")})]}),(0,a.jsx)("span",{className:"shrink-0 rounded-full bg-[#FFF8E7] px-2 py-1 text-fine font-bold text-[#7D5E17]",children:n0.pastDueCount})]}),n0.scheduledCancelCount>0&&(0,a.jsxs)("button",{type:"button",onClick:()=>ef("members"),className:"w-full min-w-0 flex items-center justify-between gap-3 px-3 py-2.5 rounded-xl bg-[#FAFAF7]/80 border border-[#E6E6E0]/40 text-left active:scale-[0.98] transition-all",children:[(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block text-sub font-bold text-niho-text",children:"解約予定"}),(0,a.jsx)("span",{className:"block text-xs text-niho-text-muted truncate",children:n0.scheduledCancelMembers.map(e=>`${ts(e)} ${e.billingSummary.cancelAt?eG(e.billingSummary.cancelAt):"期末"}`).join(" / ")})]}),(0,a.jsx)("span",{className:"shrink-0 rounded-full bg-[#ECE9E0] px-2 py-1 text-fine font-bold text-niho-text",children:n0.scheduledCancelCount})]})]}),!n4&&(0,a.jsxs)("button",{type:"button",onClick:()=>eI.push(n3),className:"flex w-full min-w-0 items-center justify-between gap-2 rounded-xl bg-[#FAFAF7]/80 border border-[#E6E6E0]/40 px-3 py-2.5 text-left active:scale-[0.98] transition-all",children:[(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block text-xs font-bold text-niho-text",children:"決済準備"}),(0,a.jsx)("span",{className:"block truncate text-fine text-niho-text-muted",children:nU.isLoading?"確認中":n5})]}),(0,a.jsx)(x.A,{className:"w-3.5 h-3.5 shrink-0 text-niho-text-muted"})]})]})]}),nX.length>0&&(0,a.jsxs)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 shadow-sm",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4 pb-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-base leading-none",children:"\uD83D\uDCD3"}),(0,a.jsx)("span",{className:"text-body font-bold text-niho-text",children:"要対応ã
1®ã‚¹ã‚¿ãƒƒãƒ•連絡"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>ef("diary"),className:"text-xs font-bold text-niho-dark hover:underline flex items-center gap-0.5",children:["一覧",(0,a.jsx)(x.A,{className:"w-3 h-3"})]})]}),(0,a.jsx)("div",{className:"px-4 pb-4 space-y-2",children:nX.slice(0,3).map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>ef("diary"),className:"w-full flex items-start gap-3 px-3 py-2.5 rounded-xl bg-[#FFF8E7]/50 border border-[#E7D8AF]/40 text-left active:scale-[0.98] transition-all",children:[(0,a.jsx)(m.A,{className:"w-3.5 h-3.5 text-[#C8993A] mt-0.5 shrink-0"}),(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-bold text-niho-text line-clamp-2",children:e.body.replace(/@\[([^\]]+)\]\([^)]+\)/g,"@$1")}),(0,a.jsxs)("div",{className:"text-xs text-niho-text-muted mt-0.5",children:[eG(e.createdAt)," \xb7 ",e.author.displayName??"—"]})]})]},e.id))})]})]})]}),(0,a.jsxs)("section",{className:"mt-8 border-t border-[#F0EDE6] pt-4",children:[(0,a.jsx)(e2,{title:"\uD83D\uDCCA 運営概況"}),(0,a.jsxs)("div",{className:"mt-4 grid grid-cols-3 gap-3",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>ef("usage"),className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 p-4 shadow-sm text-center hover:shadow-md transition-all active:scale-[0.98]",children:[(0,a.jsx)(g.A,{className:"w-4 h-4 text-niho-dark mx-auto mb-1.5"}),(0,a.jsx)("div",{className:"text-lg font-bold text-niho-text tabular-nums",children:nq.isLoading?"—":`${Math.round(ab/60)}h`}),(0,a.jsx)("div",{className:"text-xs font-bold text-niho-text-muted mt-0.5",children:"今月の利用"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>ef("members"),className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 p-4 shadow-sm text-center hover:shadow-md transition-all active:scale-[0.98]",children:[(0,a.jsx)(u.A,{className:"w-4 h-4 text-niho-dark mx-auto mb-1.5"}),(0,a.jsx)("div",{className:"text-lg font-bold text-niho-text tabular-nums",children:nP.isLoading?"—":`${n1}`}),(0,a.jsx)("div",{className:"text-xs font-bold text-niho-text-muted mt-0.5",children:"アクティブ会員"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>ef("bookings"),className:"bg-white/90 backdrop-blur-sm rounded-2xl border border-white/70 p-4 shadow-sm text-center hover:shadow-md transition-all active:scale-[0.98]",children:[(0,a.jsx)(b.A,{className:"w-4 h-4 text-niho-dark mx-auto mb-1.5"}),(0,a.jsx)("div",{className:"text-lg font-bold text-niho-text tabular-nums",children:nn.isLoading?"—":`${nQ}`}),(0,a.jsx)("div",{className:"text-xs font-bold text-niho-text-muted mt-0.5",children:"今日の予約"})]})]}),(0,a.jsx)(ex,{spotId:eF})]}),ej&&(0,a.jsx)(H.lG,{open:tL,onOpenChange:aO,children:(0,a.jsxs)(H.Cf,{hideClose:!0,overlayClassName:"bg-black/40 backdrop-blur-[12px]",className:"flex max-h-[calc(100dvh-24px)] min-w-0 flex-col w-[calc(100vw-24px)] max-w-[calc(100vw-24px)] gap-0 overflow-hidden rounded-[20px] border border-white/80 bg-[rgba(255,255,255,0.85)] p-0 shadow-[0_12px_40px_rgba(0,0,0,0.2)] backdrop-blur-[20px] md:max-w-[760px] lg:max-w-[900px]",children:[(0,a.jsx)(H.L3,{className:"sr-only",children:"拠点カメラ"}),(0,a.jsx)(H.rr,{className:"sr-only",children:"拠点のライブ映像または最新静止画を表示します。"}),(0,a.jsxs)("div",{className:"min-w-0 rounded-t-[20px] border-b border-white/70 bg-white/60 px-4 py-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1.5",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1.5 text-base font-bold text-niho-text",children:[ak&&(0,a.jsx)("span",{"aria-hidden":"true",className:"h-1.5 w-1.5 shrink-0 animate-pulse rounded-full bg-niho-dark motion-reduce:animate-none"}),(0,a.jsx)("span",{children:"recording"===tz?"録画":nA.isLoading?"映像設定を確認中...":aN?"ライブ映像":"最新静止画"})]}),(aj||nj)&&(0,a.jsxs)("div",{className:"ml-auto flex shrink-0 items-center gap-5",children:[aj&&(0,a.jsx)("button",{type:"button","aria-pressed":"HIGH"===tQ,onClick:()=>tY("HIGH"===tQ?"LOW":"HIGH"),className:`min-h-8 shrink-0 rounded-full border px-3 text-xs font-bold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-niho-dark/30 ${"HIGH"===tQ?"border-niho-dark/35 bg-white text-niho-dark shadow-[0_1px_2px_rgba(0,0,0,0.08)]":"border-niho-border bg-white/40 text-niho-text-sub"}`,children:"高画質"}),nj&&(0,a.jsx)(Y.I,{tabs:[{key:"live",label:"ライブ",disabled:!(null==nb?void 0:nb.liveEnabled)},{key:"recording",label:"録画",disabled:!(null==nb?void 0:nb.recordingEnabled)}
1],activeKey:tz,onChange:tJ,distribution:"equal",density:"compact",className:"w-[148px] shrink-0"})]})]}),nR.length>1&&(0,a.jsx)("div",{role:"group","aria-label":"カメラ",className:"mt-2 flex min-w-0 items-center gap-1.5 overflow-x-auto [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:nR.map(e=>{let t=e.key===tB;return(0,a.jsx)("button",{type:"button","aria-pressed":t,onClick:()=>tH(e.key),className:`min-h-8 shrink-0 rounded-full border px-3 text-xs font-bold transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-niho-dark/30 ${t?"border-white/80 bg-white text-niho-dark shadow-[0_1px_2px_rgba(0,0,0,0.08)]":"border-transparent bg-transparent text-niho-text-muted hover:text-niho-text-sub"}`,children:e.label},e.key)})})]}),(0,a.jsxs)("div",{className:"relative min-w-0 shrink-0 bg-[#101010]",children:[(0,a.jsx)("div",{className:"relative aspect-video min-h-[200px] max-h-[clamp(200px,calc(100dvh-260px),720px)] w-full overflow-hidden",children:"recording"===tz?nw?t1?(0,a.jsx)("iframe",{src:t1,className:"absolute inset-0 h-full w-full border-0",title:"Host dashboard camera recording playback",allow:"autoplay; fullscreen",allowFullScreen:!0},t1):(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center px-4 text-center text-sub text-[#E6E6E0]",children:t5??"取得中..."}):(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center px-4 text-center text-sub text-[#E6E6E0]",children:nN}):(0,a.jsx)(a.Fragment,{children:aN&&nE?(0,a.jsx)("iframe",{src:nE,className:"absolute inset-0 h-full w-full border-0",title:"Host dashboard live camera view",allow:"autoplay; fullscreen",allowFullScreen:!0},nE):nf&&(null==(eh=ng.data)?void 0:eh.latestImagePath)?(0,a.jsx)("img",{src:ng.data.latestImagePath,alt:"拠点カメラ静止画",className:"absolute inset-0 h-full w-full object-cover"}):(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center text-sub text-[#E6E6E0]",children:nc?"利用できるカメラ表示がありません":"カメラ設定がありません"})})}),"live"===tz&&aN&&nI&&!nE&&(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20",children:(0,a.jsx)("div",{className:"rounded-full bg-black/50 px-3 py-1 text-xs font-bold text-white",children:"ライブ接続中..."})})]}),"recording"===tz&&nw&&(0,a.jsxs)("div",{className:"min-w-0 border-t border-white/80 bg-[rgba(255,255,255,0.6)] px-4 py-3",children:[(0,a.jsx)("div",{className:"mb-2 text-xs font-bold text-niho-text-sub",children:"時間帯(直近24時間)"}),(0,a.jsx)("div",{className:"flex gap-1.5 overflow-x-auto pb-1 [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden",children:tW.map(e=>{let t=tX.from===e.from&&tX.to===e.to;return(0,a.jsx)("button",{type:"button",disabled:nC.isPending,onClick:()=>void nS(e),className:`inline-flex min-h-[44px] shrink-0 items-center rounded-lg border px-2.5 text-xs font-bold ${nC.isPending?"border-[#E6E6E0] bg-[#F5F5F5] text-[#B0B0B0]":t?"niho-accent-surface border-niho-dark":"border-[#E6E6E0] bg-white text-niho-dark hover:bg-[#FAFAF7]"}`,children:e.label},`${e.from}-${e.to}`)})})]}),(0,a.jsxs)("div",{className:"min-w-0 space-y-2 border-t border-white/80 bg-[rgba(255,255,255,0.6)] px-4 py-3",children:["live"===tz?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"min-w-0 overflow-x-auto pb-1 [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:nv.isLoading?(0,a.jsx)("div",{className:"py-1 text-fine font-bold text-niho-text-muted",children:"直近12時間の画像を読み込み中..."}):aA.length>0?(0,a.jsx)("div",{className:"inline-flex min-w-full gap-2",children:aA.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>tG(e.captureId),className:"w-[74px] shrink-0 text-left md:w-[96px]",children:[(0,a.jsx)("div",{className:`overflow-hidden rounded-xl border bg-[#101010] ${tV===e.captureId?"border-[#7A9A6A]":"border-white/70"}`,children:(0,a.jsx)("img",{src:e.imagePath,alt:`カメラ画像 ${ez(e.capturedAt)}`,className:"aspect-[4/3] w-full object-cover",loading:"lazy"})}),(0,a.jsx)("div",{className:"mt-1 truncate text-fine font-bold text-niho-text-muted",children:eW(e.capturedAt)})]},e.captureId))}):(0,a.jsx)("div",{className:"py-1 text-fine font-bold text-niho-text-muted",children:"直近12時間の画像はありません。"})}),nv.isError&&(0,a.jsx)("div",{className:"text-fine font-bold text-niho-text-muted",children:"画像一覧の取得に失敗しました。再読み込みで復旧しない場合は時間をおいて確認してください。"}),aC&&(0,a.jsx)("div",{className:"text-fine font-bold text-niho-text-muted",children:"ライブ映像取得に失敗したため、静止画を表示中です。"}),nA.isError&&(0,a.jsx)("div",{className:"text-fine font-bold text-niho-text-muted",children:"映像設定の取得に失敗しました。最新静止画で表示しています。"})]}):nw?(0,a.jsx)("div",{className:"text-fine font-bold text-niho-text-muted",children:"選んだ1時間分の録画を再生します。さらに古い静止画は「画像一覧」。"}):null,(0,a.jsxs)("div",{className:"flex justify-end gap-4",children:[ek&&("live"===tz&&!aN&&!nA.isLoading||"recording"===tz&&!nw)&&(0,a.jsx)("button",{type:"button",onClick:()=>{let e=new URLSearchParams(eT.toString());e.delete(tp),e.set("tab","devices"),e.set("devicesSubTab","settings");let t=e.toString();eI.replace(t?`${eS}?${t}`:eS),tO(!1)},className:"text-xs font-bold text-niho-text-muted underline underline-offset-2",children:"接続機器設定へ"}),nf&&(0,a.jsx)("button",{type:"button",onClick:aK,className:"text-fine font-bold text-niho-dark/80 underline underline-offset-2 hover:text-niho-dark",children:"画像一覧"})]})]})]})}),(0,a.jsx)(H.lG,{open:null!=tV,onOpenChange:e=>{e||tG(null)},children:(0,a.jsxs)(H.Cf,{hideClose:!0,overlayClassName:"bg-black/70 backdrop-blur-[8px]",className:"w-[calc(100vw-24px)] max-w-[720px] overflow-hidden rounded-2xl border border-white/20 bg-black/80 p-0",children:[(0,a.jsx)(H.L3,{className:"sr-only",children:"カメラ画像拡大表示"}),(0,a.jsx)(H.rr,{className:"sr-only",children:"選択したカメラ画像を拡大表示します。"}),aD?(0,a.jsxs)("div",{className:"relative",children:[aA.length>1&&null!=aE&&(0,a.jsxs)("div",{className:"absolute left-2 top-2 z-10 rounded-md bg-black/50 px-2 py-1 text-xs font-bold text-white",children:[aE+1," / ",aA.length]}),aA.length>1&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{type:"button",onClick:aR,disabled:!aI,className:"absolute left-2 top-1/2 z-10 -translate-y-1/2 roun
1ded-full bg-black/35 p-2 text-white transition-colors hover:bg-black/50 disabled:cursor-not-allowed disabled:opacity-30","aria-label":"前の画像",children:(0,a.jsx)(v.A,{className:"h-5 w-5"})}),(0,a.jsx)("button",{type:"button",onClick:aT,disabled:!aS,className:"absolute right-2 top-1/2 z-10 -translate-y-1/2 rounded-full bg-black/35 p-2 text-white transition-colors hover:bg-black/50 disabled:cursor-not-allowed disabled:opacity-30","aria-label":"次の画像",children:(0,a.jsx)(x.A,{className:"h-5 w-5"})})]}),(0,a.jsx)("div",{className:"touch-none",onPointerDown:aF,onPointerUp:aM,onPointerCancel:aM,children:(0,a.jsx)("img",{src:aD.imagePath,alt:`カメラ画像 ${ez(aD.capturedAt)}`,className:"max-h-[80vh] w-full object-contain"})}),(0,a.jsx)("div",{className:"absolute bottom-2 right-2 rounded-lg bg-black/50 px-2 py-1 text-xs font-bold text-white",children:ez(aD.capturedAt)})]}):null]})}),(0,a.jsx)(eM,{spotId:eF,bookingId:tM,open:!!tM,canEdit:eA,onOpenChange:e=>{e||a$(null)}}),eV&&(0,a.jsx)(e$.w,{open:eV,canEdit:eA,provisionalHoldDays:nl,onClose:()=>eX(!1)}),(0,a.jsx)(e_.D,{open:ta,canEdit:eA,onClose:()=>tl(!1),completedVisitorNextStep:"unsettled-list",onCreated:e=>{let{isVisitorCreate:t,isActiveCheckinCreate:n}=e;t&&!n&&eI.push(tx({pathname:eS,searchParams:eT}))}}),ty?(0,a.jsx)(eU,{record:ty,open:!0,canEdit:eA,canDelete:eE,onOpenChange:e=>{e||a_(null)}}):null,eF?(0,a.jsx)(eK,{spotId:eF,transactionId:t$,onOpenChange:e=>{e||eI.replace(tc({pathname:eS,searchParams:eT,transactionId:null}),{scroll:!1})},onNavigateToMember:e=>{eI.push(th({pathname:eS,searchParams:eT,memberUserId:e}))},onNavigateToBilling:e=>{let t=new URLSearchParams;t.set("billingTransactionId",e),eI.push((0,K.IC)({routeKey:(0,K.qS)(eS),hostTab:"billing",searchParams:t}))}}):null,(0,a.jsx)(eP.C,{open:t_,canEdit:eA,onClose:()=>tP(!1)})]}):(0,a.jsx)("div",{className:"bg-white/90 backdrop-blur-sm rounded-2xl p-6 border border-white/70 text-body text-niho-text-muted",children:"拠点を選択してください"})}},16067:(e,t,n)=>{function a(e){let t=new Intl.DateTimeFormat("en-US",{timeZone:"Asia/Tokyo",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",hourCycle:"h23",hour12:!1}).formatToParts(e),n=e=>{var n;return Number((null==(n=t.find(t=>t.type===e))?void 0:n.value)??"0")};return{year:n("year"),month:n("month"),day:n("day"),hour:n("hour")%24}}function l(e){return new Date(`${e.year}-${String(e.month).padStart(2,"0")}-${String(e.day).padStart(2,"0")}T${String(e.hour).padStart(2,"0")}:00:00+09:00`)}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Date,t=a(e),n=[];for(let r=0;r<24;r+=1){var s;let i=(s=r,a(new Date(l(t).getTime()-36e5*s))),o=l(i),d=0===r?e:new Date(o.getTime()+36e5),u=0===r?"現在":`${i.hour}時`;n.push({from:o.toISOString(),to:d.toISOString(),label:u})}return n}function r(e,t){let n=t.getTime();return Number.isFinite(n)?e.find(e=>{let t=Date.parse(e.from),a=Date.parse(e.to);return Number.isFinite(t)&&Number.isFinite(a)&&t<=n&&n<a})??null:null}n.d(t,{j:()=>r,r:()=>s})},17984:(e,t,n)=>{n.d(t,{I:()=>r});var a=n(95155),l=n(95885),s=n(91337);function r(e){let{label:t="ビ",className:n}=e;return(0,a.jsx)(l.q5,{className:(0,s.cn)("font-bold bg-[#F0EDE4] text-[#8A8478]",n),children:t})}},18553:(e,t,n)=>{n.d(t,{b:()=>a});function a(e){return e?e.lineMessagingProviderConfigs?e.lineMessagingProviderConfigs.some(e=>!0===e.lineMessagingConfigured):!0===e.lineMessagingConfigured:null}},27931:(e,t,n)=>{n.d(t,{$U:()=>u,BK:()=>N,Bk:()=>g,C_:()=>m,F4:()=>l,J0:()=>p,O3:()=>s,P7:()=>i,S0:()=>$,SV:()=>F,Te:()=>c,b8:()=>r,bQ:()=>h,jJ:()=>f,jk:()=>A,l4:()=>x,m9:()=>w,r4:()=>b,su:()=>a,u:()=>k,v2:()=>T});let a="—",l="d28",s=[{value:"d7",label:"7日"},{value:"d28",label:"28日"},{value:"m3",label:"3ヶ月"},{value:"m12",label:"12ヶ月"}],r=[{key:"own_site",label:"拠点サイト"},{key:"niho_public",label:"NIHO公開ページ"}];function i(e){return"connected"===e||"error"===e||"auth_revoked"===e?"own_site":"niho_public"}let o={d7:"前の7日",d28:"前の28日",m3:"前の3ヶ月",m12:"前の12ヶ月"};function d(e){return"number"==typeof e&&Number.isFinite(e)}
1function u(e){return d(e)?e.toLocaleString("ja-JP"):a}function c(e){return d(e)?`${(100*e).toFixed(1)}%`:a}function m(e){return d(e)?(100*e).toFixed(1):a}function h(e){return d(e)?e.toFixed(1):a}function x(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!d(e)||!d(t)||0===t)return null;let a=Math.round((e-t)/t*100);if(0===a)return{direction:"flat",label:"\xb10%",srLabel:"前の期間と同じ"};let l=Math.abs(a).toLocaleString("ja-JP");return n.lowerIsBetter?a<0?{direction:"up",label:`${l}%`,srLabel:`前の期間より${l}%改善`}:{direction:"down",label:`${l}%`,srLabel:`前の期間より${l}%悪化`}:a>0?{direction:"up",label:`${l}%`,srLabel:`前の期間より${l}%増`}:{direction:"down",label:`${l}%`,srLabel:`前の期間より${l}%減`}}let b={up:"text-niho-accent-ink",down:"text-[#8C3425]",flat:"text-niho-text-sub"};function f(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:u;return`${o[e]} ${n(t)}`}function p(e){let t=E(e.start),n=E(e.end);return t&&n?`${t.month}/${t.day}〜${n.month}/${n.day}`:""}let g="niho.life の中のこの拠点のページ(公開ページ・記事・企画ページ・予約)が Google 検索に出た回数です。毎朝取り込み、3 日前までの数値です。",v=new Set(["niho.life","www.niho.life"]),y=new Set(["booking","dropin","event"]);function w(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;try{t=new URL(e)}catch{return{label:e,path:null}}let a=t.hostname.toLowerCase(),l=function(e){try{return decodeURI(e)}catch{return e}}(`${t.pathname}${t.search}`),s=t.pathname.split("/").filter(Boolean),r={label:l,path:null};if(!v.has(a)){let[e]=s;return e?"articles"===e?{label:`記事(${a})`,path:l}:"pages"===e?{label:`企画ページ(${a})`,path:l}:r:{label:`公開ページ(${a})`,path:null}}let[i,o,d]=s;return i&&o&&(null===n||o.toLowerCase()===n.trim().toLowerCase())?y.has(i)?{label:"予約",path:l}:"living"!==i?r:d?"articles"===d?{label:"記事",path:l}:"pages"===d?{label:"企画ページ",path:l}:"plans"===d?{label:"プラン",path:l}:"equipment"===d?{label:"備品",path:l}:r:{label:"公開ページ",path:l}:r}function N(e){let t=e.totals.current;return[t.impressions,t.clicks,t.ctr,t.positionAvg].every(e=>null==e)&&0===e.series.search.points.length&&0===e.topGscPages.length}let j="その他",C=new Map([["Organic Search","検索"],["Direct","直接"],["Organic Social","SNS"],["Paid Social","SNS"],["Referral","他のサイト"],["Email","メール"],["Paid Search","広告"],["Paid Shopping","広告"],["Display","広告"],["Paid Video","広告"],["Paid Other","広告"],["Cross-network","広告"],["Audio","広告"],["Organic Video","動画"],["Organic Shopping","ショッピング"]].map(e=>{let[t,n]=e;return[t.toLowerCase(),n]}));function k(e){let t=new Map;for(let a of e){var n;if(!d(a.sessions)||a.sessions<=0)continue;let e=(n=a.channel,C.get(n.trim().toLowerCase())??j);t.set(e,(t.get(e)??0)+a.sessions)}let a=[...t.values()].reduce((e,t)=>e+t,0);return[...t.entries()].map(e=>{let[t,n]=e;return{label:t,sessions:n,share:a>0?n/a:0}}).sort((e,t)=>{let n=e.label===j;return n!==(t.label===j)?n?1:-1:t.sessions-e.sessions})}function A(e){return`${Math.round(100*e)}%`}function E(e){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);return t?{year:Number(t[1]),month:Number(t[2]),day:Number(t[3])}:null}function D(e){let t=E(e);return t?Math.round(Date.UTC(t.year,t.month-1,t.day)/864e5):null}function I(e){let t=new Date(864e5*e);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate()}}function S(e){let t=new Date(e.getTime()+324e5);return{year:t.getUTCFullYear(),month:t.getUTCMonth()+1,day:t.getUTCDate(),hour:t.getUTCHours(),minute:t.getUTCMinutes()}}function R(e,t){let n=`${e.month}月${e.day}日`;return e.year===t?n:`${e.year}年${n}`}function T(e){let t=S(e.now),n=[],a=e.dataEndDate?E(e.dataEndDate):null;a&&n.push(`${R(a,t.year)}までのデータ`);let l=e.updatedAt?new Date(e.updatedAt):null;if(l&&Number.isFinite(l.getTime())){let e=S(l),a=`${e.hour}:${String(e.minute).padStart(2,"0")}`,s=e.year===t.year&&e.month===t.month&&e.day===t.day?e.hour<12?"今朝":"今日":R(e,t.year);n.push(`${s} ${a} に更新`)}return n.length>0?n.join("・"):"まだ取り込んでいません"}function F(e,t){let n=D(t.start),a=D(t.end);if(null===n||null===a||a<n)return[];let l=a-n,s=e=>l>0?(e-n)/l:.5,r=e=>{let t=I(e);return{key:`d-${e}`,label:`${t.month}/${t.day}`,position:s(e)}};if("d7"===e||"d28"===e){let t="d7"===e?1:7,s="d7"===e?1:4,i=[];for(let e=0;l-e>=s;e+=t)i.push(r(n+e));
1return i.push(r(a)),i}let i=[],o=n;for(;o<=a;){let e=I(o),t=Math.round(Date.UTC(e.year,e.month,1)/864e5),n=Math.min(a,t-1);n-o+1>=7&&i.push({key:`m-${e.year}-${e.month}`,month:e.month,first:o,last:n}),o=t}return("m12"===e?i.filter((e,t)=>(i.length-1-t)%2==0):i).map(e=>({key:e.key,label:`${e.month}月`,position:s((e.first+e.last)/2)}))}let M=[1,1.5,2,2.5,3,4,5,6,8,10];function $(e){let t=D(e.range.start),n=D(e.range.end);if(null===t||null===n||n<t)return{points:[],max:2,gridValues:[0,1,2]};let a=n-t,l=[];for(let s of e.series){let e=s.value,r=D(s.date);!d(e)||null===r||r<t||r>n||l.push({date:s.date,x:a>0?(r-t)/a:.5,value:e})}l.sort((e,t)=>e.x-t.x);let s=function(e){if(e<=1)return 1;let t=10**Math.floor(Math.log10(e));for(let n of M){let a=n*t;if(a>=e&&Number.isInteger(a))return a}return 10*t}(l.reduce((e,t)=>Math.max(e,t.value),0)/2);return{points:l,max:2*s,gridValues:[0,s,2*s]}}},28238:(e,t,n)=>{n.d(t,{Dm:()=>u,Qj:()=>d,Rv:()=>o,nS:()=>i,ss:()=>r});var a=n(95155),l=n(72594);function s(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(Boolean).join(" ")}function r(e){return{userId:String(e.userId),displayName:e.displayName??null,fullName:e.fullName??null,email:e.email??null}}function i(e){return(0,l.iq)({displayName:e.displayName,fallbackId:e.userId})}function o(e){let t=[e.fullName,e.email].map(e=>(e??"").trim()).filter(Boolean);return t.length>0?t.join(" ・ "):null}function d(e){let{member:t,secondaryFallback:n,primaryClassName:l,secondaryClassName:r}=e,d=i(t),u=o(t);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:s("truncate font-bold text-niho-text",l),children:d}),u?(0,a.jsx)("div",{className:s("truncate text-niho-text-muted",r),children:u}):n?(0,a.jsx)("div",{className:s("truncate text-niho-text-muted",r),children:n}):null]})}function u(e){let{member:t,onChoose:n,className:l,childrenBefore:r,secondaryFallback:i,primaryClassName:o,secondaryClassName:u,...c}=e;return(0,a.jsxs)("button",{...c,type:"button",onClick:()=>n(t),className:s("w-full text-left transition-colors",l),children:[r,(0,a.jsx)("div",{className:"min-w-0 flex-1",children:(0,a.jsx)(d,{member:t,secondaryFallback:i,primaryClassName:o,secondaryClassName:u})})]})}},30051:(e,t,n)=>{n.d(t,{$E:()=>s,EQ:()=>d,QT:()=>h,Rd:()=>u,Tb:()=>i,cd:()=>b,dp:()=>r,lJ:()=>o,n5:()=>m,rM:()=>x,rq:()=>l.rq,ym:()=>c});var a=n(77144),l=n(58268);let s=720;function r(e){if(null==e||!Number.isFinite(e))return"—";if(e<60)return`${e}分`;let t=Math.floor(e/60),n=e%60;return 0===n?`${t}時間`:`${t}時間${n}分`}function i(e){return e?`${(0,a.Ag)(e)} ${(0,a._H)(e)}`:"—"}function o(e,t){if(!e)return null;let n=new Date(e).getTime(),a=t.getTime();return Number.isFinite(n)&&Number.isFinite(a)&&!(a<n)?Math.max(0,Math.floor((a-n)/6e4)):null}function d(e){return null!=e&&e>=2?`ビジター(${e}名)`:"ビジター"}function u(e){return null!=e&&null==e.userId}function c(e){return null==e.userId?d(e.partySize):e.displayName??"(呼び名なし)"}function m(e){return"ACTIVE"===e.kind?e.estimatedAmountYen:e.receivable.amountYen}function h(e){return e&&"RECEIVABLE"===e.kind?e.receivable.id:null}function x(e){return e&&"RECEIVABLE"===e.kind?e.receivable.status:null}function b(e){return"RECEIVABLE"===e.kind?e.receivable.billedMinutes:null}},30201:(e,t,n)=>{n.d(t,{D:()=>B});var a=n(95155),l=n(12115),s=n(73321),r=n(35625),i=n(26708),o=n(48934),d=n(57465),u=n(93744),c=n(9005),m=n(44539),h=n(6923),x=n(61009),b=n(28238),f=n(47456),p=n(52103),g=n(12020),v=n(76715),y=n(74350),w=n(55855),N=n(34626),j=n(81425),C=n(57744),k=n(22402),A=n(31930),E=n(91337),D=n(11523),I=n(719),S=n(30051),R=n(79897),T=n(20368);function F(e){return e.reduce((e,t)=>e+t.count,0)}function M(e){return null==e||e<=0?30:Math.max(30,30*Math.floor(e/30))}function $(e){return(0,T.B)(e,"ja")}function _(e){if(!e.hostCheckinAtIso)return{checkinAt:null,checkoutAt:null,error:"チェックイン時刻を入力してください"};let t=(0,w.t9)(e.group.checkinTime,e.hostCheckinAtIso);if(!t)return{checkinAt:null,checkoutAt:null,error:"入室時刻を入力してください"};if(!e.hostCheckoutAtIso)return new Date(t).getTime()>e.nowMs?{checkinAt:t,checkoutAt:null,error:"入室時刻は未来にできません"}:{checkinAt:t,checkoutAt:null,error:null};let n=e.group.durationMinutes??M(e.hostDurationMinutes);if(n<=0)return{checkinAt:t,checkoutAt:null,error:"退室時刻を入力してください"};let a=new Date(new Date(t).getTime()+6e4*n).toISOString();return(0,w.ZA)({childCheckinAt:t,childCheckoutAt:a,hostCheckinAt:e.hostCheckinAtIso,hostCheckoutAt:e.hostCheckoutAtIso})?{checkinAt:t,checkoutAt:a,error:null}:{checkinAt:t,checkoutAt:a,error:"ゲストの時間は本人の在館時間内にしてください"}}function P(e){let t=e.icon;return(0,a.jsx)("span",{"aria-hidden":"true",className:"flex min-h-11 w-[22px] flex-none items-center justify-center text-[#9A9A90]",children:t?(0,a.jsx)(t,{className:"size-4"}):null})}function L(){return(0,a.jsxs)("div",{className:"inline-flex min-h-11 w-[100px] flex-none items-center justify-center gap-1.5 rounded-xl border border-dashed border-[rgba(75,158,94,0.45)] bg-[rgba(75,158,94,0.10)] text-sm font-extrabold text-[#3F8A50]",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"size-[7px] rounded-full bg-[#4B9E5E]"}),"在館中"]})}function O(e){if(null==e)return null;let t=new Date(e).getTime();return Number.isFinite(t)?t:null}function U(e){let t=O(e.checkinAt);if(null==t)return null;let n=O(e.checkoutAt)??1/0;return n<=t?null:{id:e.id,startMs:t,endMs:n}}var K=n(78443),q=n(79038);function B(e){var t,n,T;let O=(0,s.useRouter)(),B=(0,s.usePathname)(),H=(0,r.jE)(),{spotId:Q}=(0,k.rY)(),[Y,V]=(0,l.useState)("member"),[G,z]=(0,l.useState)(1),[J,W]=(0,l.useState)(""),[Z,X]=(0,l.useState)(null),[ee,et]=(0,l.useState)(""),[en,ea]=(0,l.useState)(""),[el,es]=(0,l.useState)(!1),[er,ei]=(0,l.useState)([]),[eo,ed]=(0,l.useState)(null),[eu,ec]=(0,l.useState)(null),[em,eh]=(0,l.useState)(!1),[ex,eb]=(0,l.useState)(!1),[ef,ep]=(0,l.useState)({status:"loading"}),[eg,ev]=(0,l.useState)(!1),ey=(0,l.useRef)(null);(0,l.useEffect)(()=>
1{if(!e.open)return;let t=new Date;W(""),X(null),et((0,R.Ob)(t.toISOString())),ea(""),es(!1),ei([]),ed(null),V("member"),z(1),eb(!1),ey.current=null},[e.open]);let ew=async()=>{let e=ey.current;if(!e||!Q)return;let t=e.draftKey,n=()=>{var e;return(null==(e=ey.current)?void 0:e.draftKey)===t};ep({status:"loading"});try{let a=await j.ic.previewPostFinalizationUsageRecordCreation(Q,{userId:e.userId,draftKey:t,proposal:e.proposal});if(!n())return;ey.current={...ey.current,previewHash:a.previewHash},ep({status:"ready",preview:a.preview})}catch(e){if(!n())return;ep({status:"error",message:(0,C.Hw)(e,"精算内容を計算できませんでした")})}},eN=async()=>{let t=ey.current;if((null==t?void 0:t.previewHash)&&Q&&!eg){ev(!0);try{var n;await j.ic.confirmPostFinalizationUsageRecordCreation(Q,{userId:t.userId,draftKey:t.draftKey,proposal:t.proposal,previewHash:t.previewHash,reasonCode:"HOST_USAGE_RECORD_CORRECTION"}),await (0,K.k)({queryClient:H,spotId:Q,userId:t.userId}),null==(n=e.onFinalizedMonthRecordCreated)||n.call(e,{successMessage:"利用記録を作成しました。"}),eb(!1),ey.current=null,e.onClose()}catch(e){ep({status:"error",message:(0,C.Hw)(e,"作成と精算を確定できませんでした")})}finally{ev(!1)}}},ej=(0,p.o)(J,300).trim(),eC=J.trim().length>0,ek=(0,i.I)({queryKey:["admin","usageRecordCreate","members",Q,ej],queryFn:()=>j.ic.getMembers(Q,{q:ej||void 0,status:"ACTIVE",includeContactSearchHints:!0,limit:8}),enabled:!!Q&&e.open&&null==Z&&eC&&ej.length>0}),eA=(null==(t=(0,i.I)({queryKey:["admin","usageSettings","spotSettings",Q],queryFn:()=>j.ic.getSpotSettings(Q),enabled:!!Q&&e.open}).data)?void 0:t.crossDayUsageEnabled)===!0,eE=(0,o.n)({mutationFn:e=>j.ic.createUsageRecord(Q,e),onSuccess:async(e,t)=>{await (0,K.k)({queryClient:H,spotId:Q,userId:t.userId})}}),eD=async()=>{if(eu&&!em){eh(!0);try{await eu.onConfirm(),ec(null)}finally{eh(!1)}}},eI=(0,R.lK)(ee),eS=(0,R.yQ)(en)?(0,R.lK)(en):null,eR=null!=eS,eT=!eA&&!el&&(0,A.Py)(ee,en),eF=(0,A.lM)(ee,en),eM=(0,A.WS)(ee,en),e$=(0,I._)({durationMinutes:eM,maxDurationMinutes:1440}),e_=eE.isPending||e$.minusDisabled,eP=eE.isPending||e$.plusDisabled,eL=e=>{let t=!eA&&(0,A.Py)(ee,en),{time:n}=(0,f.o0)(en);et(e),t&&n&&ea((0,A.QC)(e,n))},eO=e=>{ea(eT?(0,A.QC)(ee,e):(0,f.Ip)((0,f.o0)(en).date,e))},eU=e=>{var t;let n,a=(t=(0,f.o0)(ee).time,(n=/^(\d{2}):(\d{2})$/.exec(t))?60*Number(n[1])+Number(n[2]):null);if(null!=a){let t,n;eO((n=Math.floor((t=((a+e)%1440+1440)%1440)/60),`${String(n).padStart(2,"0")}:${String(t%60).padStart(2,"0")}`))}},eK=(e,t)=>{ed(null),ei(n=>n.map((n,a)=>a===e?{...n,count:Math.max(1,t)}:n))},eq=(e,t)=>{ed(null),ei(n=>n.map((n,a)=>a===e?{...n,durationMinutes:Math.max(30,t)}:n))},eB=async()=>{var t;if(ed(null),ex)return;if(!e.canEdit)return void ed("権限がありません(閲覧のみ)");if(!Q)return void ed("拠点が選択されていません");let n="visitor"===Y;if(!n&&!Z)return void ed("利用者を選択してください");let a=(0,R.yQ)(en),l=!a,s=(0,R.lK)(ee),r=a?(0,R.lK)(en):null;if(!s)return void ed("チェックイン時刻を入力してください");if(a&&!r)return void ed("チェックアウト時刻を入力してください");let i=new Date(s).getTime(),o=r?new Date(r).getTime():null;if(!l&&Number.isFinite(i)&&null!=o&&Number.isFinite(o)&&o<=i)return void ed("チェックアウト時刻はチェックイン時刻より後にしてください");if(!l&&null!=o&&Number.isFinite(o)&&o>Date.now())return void ed("未来の日時では利用記録を作成できません(利用が終わってから記録してください)");if(l&&Number.isFinite(i)&&i>Date.now())return void ed("チェックイン時刻は未来時刻では作成できません");let d=l?null:r,u=null;if(!n&&er.length>0){let e=er.map(e=>_({group:e,hostCheckinAtIso:s,hostCheckoutAtIso:d,hostDurationMinutes:eM,nowMs:Date.now()})),t=e.find(e=>e.error||!e.checkinAt);if(t)return void ed(t.error??"ゲストの入力内容を確認してください");u=e.flatMap((e,t)=>Array.from({length:er[t].count},()=>({checkinAt:e.checkinAt,checkoutAt:e.checkoutAt,guestName:null})))}let c=async()=>{var t,a,r,i;try{let r=n?{visitor:{partySize:G},checkinAt:s,...l?{}:{checkoutAt:d??""}}:l?u?{userId:Z.userId,checkinAt:s,guests:u}:{userId:Z.userId,checkinAt:s,headCount:1}:{userId:Z.userId,checkinAt:s,checkoutAt:d??"",...u?{guests:u}:{}},i=await eE.mutateAsync(r),o=(null==(t=i.usageCreditConsumption)?void 0:t.uncoveredMinutes)??0,c=o>0?`利用記録を作成しました。残時間で充当できなかった ${(0,S.dp)(o)} は月次超過請求に回ります。`:"利用記録を作成しました。";null==(a=e.onCreated)||a.call(e,{result:i,isVisitorCreate:n,isActiveCheckinCreate:l,successMessage:c}),e.onClose()}
1catch(t){if(t instanceof N.hD){if(401===t.status)return void O.replace(`/auth/login?returnUrl=${encodeURIComponent(e.loginReturnUrl??(B||"/host"))}`);if(403===t.status)return void ed("権限がありません(スタッフ管理の設定を確認してください)");if(404===t.status)return void ed("対象ユーザーが見つかりませんでした");if(409===t.status&&"ACTIVE_CHECKIN_EXISTS"===t.code)return void ed("この会員はすでに在館中です。利用記録一覧を更新して確認してください。");if(409===t.status&&(null==(r=t.details)?void 0:r.reason)==="FINALIZED_USAGE_MONTH"&&!n&&Z&&d)return void(ey.current={userId:(i={userId:Z.userId,checkinAt:s,checkoutAt:d,guestCheckins:(u??[]).filter(e=>!!e.checkoutAt).map(e=>({checkinAt:e.checkinAt,checkoutAt:e.checkoutAt}))}).userId,draftKey:crypto.randomUUID(),proposal:{checkinAt:i.checkinAt,checkoutAt:i.checkoutAt,guestCheckins:i.guestCheckins},previewHash:null},eb(!0),ew())}ed((0,C.Hw)(t,"利用記録の作成に失敗しました"))}};if(n)return void ec({title:l?"在館中のビジター記録を作成しますか?":"ビジターの利用記録を作成しますか?",description:l?`ビジター${G}名の在館中レコードとして作成します。チェックアウト時刻の入力で精算に進めます。`:"unsettled-list"===e.completedVisitorNextStep?`ビジター${G}名の利用記録を作成し、利用タブの「未精算」へ移動します。`:`ビジター${G}名の利用記録を作成し、続けて精算に進みます。`,confirmLabel:"作成する",onConfirm:c});let m=(t={id:"__new_usage_record__",userId:Z.userId,checkinAt:s,checkoutAt:r},(e.existingRecords??[]).map(e=>({id:e.id,userId:e.userId,checkinAt:e.checkinAt,checkoutAt:e.checkoutAt??null})).some(e=>(function(e,t){if(e.id===t.id||e.userId&&t.userId&&e.userId!==t.userId)return!1;let n=U(e),a=U(t);return!!n&&!!a&&n.startMs<a.endMs&&a.startMs<n.endMs})(t,e)));try{m=(await j.ic.checkUsageRecordTimeOverlap(Q,{userId:Z.userId,checkinAt:s,checkoutAt:r,includeDuty:e.includeDutyForRecords??!1})).hasTimeOverlap}catch(e){ec({title:"日時重複を確認できませんでした",description:`${(0,C.Hw)(e,"日時重複の確認に失敗しました")}。日時重複を確認できない状態ですが、この内容で利用記録を作成しますか?`,confirmLabel:"作成する",variant:"danger",onConfirm:c});return}ec({title:m?"重複する時間帯の利用記録を作成しますか?":l?"在館中のチェックイン記録を作成しますか?":"利用記録を作成しますか?",description:m?"同じ時間帯に別の利用記録があります。内容を確認したうえで作成してください。":l?"チェックアウト未入力の在館中レコードとして作成します。":"入力したチェックイン/チェックアウト時刻で利用記録を作成します。",confirmLabel:"作成する",variant:m?"danger":"default",onConfirm:c})};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.lG,{open:e.open,onOpenChange:t=>!t&&e.onClose(),children:(0,a.jsxs)(y.Cf,{className:"flex max-h-[90vh] w-full max-w-md flex-col gap-0 rounded-2xl p-0 md:max-w-[640px]",children:[(0,a.jsx)(y.c7,{className:"shrink-0 space-y-0 px-5 pb-1 pt-4 text-left",children:(0,a.jsx)(y.L3,{className:"text-body font-bold tracking-tight text-niho-text",children:"利用記録を作成"})}),(0,a.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto px-5 py-4 space-y-3",children:[eo&&(0,a.jsx)("div",{className:"rounded-xl bg-red-50 px-3 py-2 text-sub font-bold text-red-700",children:eo}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(P,{}),(0,a.jsx)(q.I,{name:"usageRecordCreateTargetKind",ariaLabel:"記録の対象",size:"sm",className:"w-fit",value:Y,disabled:eE.isPending,onChange:e=>{ed(null),V(e),"visitor"===e&&ei([])},options:[{value:"member",label:"会員"},{value:"visitor",label:"ビジター"}]})]}),"visitor"===Y?(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(P,{icon:d.A}),(0,a.jsx)(D.C,{variant:"count",value:`${G}名`,onMinus:()=>z(e=>Math.max(1,e-1)),onPlus:()=>z(e=>Math.min(20,e+1)),minusDisabled:eE.isPending||G<=1,plusDisabled:eE.isPending||G>=20,minusLabel:"人数を減らす",plusLabel:"人数を増やす"})]}),(0,a.jsx)("p",{className:"pl-[30px] text-xs text-niho-text-muted",children:"氏名の登録なし。名前を残す場合は QR チェックインへ。"})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(P,{icon:u.A}),Z?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"min-w-0 flex-1 truncate text-body font-bold text-niho-text",children:(0,b.nS)(Z)}),(0,a.jsx)("button",{type:"button",onClick:()=>{X(null),W("")},"aria-label":"選択を解除",className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-full text-niho-text-muted transition hover:bg-niho-pale",children:(0,a.jsx)(c.A,{className:"h-4 w-4","aria-hidden":"true"})})]}):(0,a.jsx)("input",{value:J,onChange:e=>{W(e.target.value),Z&&X(null)},placeholder:"表示名・本名・メールで検索",className:"min-w-0 flex-1 rounded-lg border border-[#
1E6E6E0] bg-white px-2.5 py-1.5 text-body"})]}),!Z&&eC&&ej.length>0?(0,a.jsx)("div",{className:"border border-[#E6E6E0] rounded-xl overflow-hidden bg-white",children:ek.isLoading?(0,a.jsx)("div",{className:"p-3 text-xs text-niho-text-muted",children:"候補を読み込み中..."}):ek.isError?(0,a.jsx)("div",{className:"p-3 text-xs text-niho-text-muted",children:"候補の取得に失敗しました"}):0===((null==(n=ek.data)?void 0:n.items)??[]).length?(0,a.jsx)("div",{className:"p-3 text-xs text-niho-text-muted",children:"候補がありません"}):(0,a.jsx)("div",{className:"divide-y max-h-52 overflow-auto",children:((null==(T=ek.data)?void 0:T.items)??[]).map(e=>{let t=(0,b.ss)(e);return(0,a.jsx)(b.Dm,{member:t,onChoose:e=>{X(e),W((0,b.nS)(e))},className:"px-3 py-2 hover:bg-niho-surface active:bg-niho-border",primaryClassName:"text-body",secondaryClassName:"text-xs"},e.userId)})})}):null]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(P,{icon:m.A}),(0,a.jsx)(g.VY,{value:(0,f.o0)(ee).date,onChange:e=>eL((0,f.Ip)(e,(0,f.o0)(ee).time)),ariaLabel:"利用日",disabled:eE.isPending,widthClassName:"w-[100px]",showIcon:!1})]}),(0,a.jsxs)("div",{className:"space-y-0.5",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-start gap-2",children:[(0,a.jsx)(P,{icon:h.A}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-start gap-2",children:[(0,a.jsx)(g.oY,{value:(0,f.o0)(ee).time,onChange:e=>eL((0,f.Ip)((0,f.o0)(ee).date,e)),ariaLabel:"チェックインの時刻",disabled:eE.isPending,widthClassName:"w-[100px]",showIcon:!1}),(0,a.jsx)("span",{"aria-hidden":"true",className:"flex min-h-11 flex-none items-center text-sub font-bold text-niho-text-muted",children:"〜"}),eT?eR?(0,a.jsxs)("div",{className:"inline-flex flex-col items-center gap-0.5",children:[(0,a.jsx)(g.oY,{value:(0,f.o0)(en).time,onChange:eO,ariaLabel:"チェックアウトの時刻",placeholder:"退室(任意)",disabled:eE.isPending,widthClassName:"w-[100px]",showIcon:!1}),(0,a.jsx)(D.C,{variant:"dial",value:$(eM??0),onMinus:()=>eU(e$.stepDownMinutes),onPlus:()=>eU(e$.stepUpMinutes),minusDisabled:e_,plusDisabled:eP,minusLabel:"利用時間を30分減らす",plusLabel:"利用時間を30分増やす"})]}):(0,a.jsx)(g.oY,{value:(0,f.o0)(en).time,onChange:eO,ariaLabel:"チェックアウトの時刻",placeholder:"退室(任意)",disabled:eE.isPending,widthClassName:"w-[100px]",showIcon:!1}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("input",{type:"date",value:(0,f.o0)(en).date,onChange:e=>{var t;return t=e.target.value,void ea((0,f.Ip)(t,(0,f.o0)(en).time))},"aria-label":"チェックアウトの日付",disabled:eE.isPending,className:"w-[150px] max-w-full rounded-lg border border-[#E6E6E0] bg-white px-2.5 py-1.5 text-body tabular-nums"}),(0,a.jsx)(g.oY,{value:(0,f.o0)(en).time,onChange:eO,ariaLabel:"チェックアウトの時刻",placeholder:"退室(任意)",disabled:eE.isPending,widthClassName:"w-[100px]",showIcon:!1})]}),eF?(0,a.jsx)("span",{className:"shrink-0 self-center rounded-full border border-[#E6E6E0] bg-white/70 px-2 py-0.5 text-xs font-bold text-niho-text-muted tabular-nums",children:eF}):null]})]}),!eA&&!el&&(0,A.Py)(ee,en)?(0,a.jsx)("div",{className:"pl-[30px]",children:(0,a.jsx)("button",{type:"button",onClick:()=>es(!0),disabled:eE.isPending,className:"mt-1 bg-transparent p-0 text-xs font-bold text-niho-text-muted underline decoration-[rgba(0,0,0,0.15)] underline-offset-4 transition-colors hover:text-niho-dark disabled:opacity-50 motion-reduce:transition-none",children:"別の日に退室する"})}):null]}),"visitor"===Y?null:(0,a.jsxs)("section",{className:"mt-1 space-y-3 border-t border-[#EEF1E8] pt-3","aria-labelledby":"usage-create-guests-heading",children:[(0,a.jsx)("h3",{id:"usage-create-guests-heading",className:"text-sm font-bold text-niho-text-sub",children:"ゲスト"}),!eR&&er.length>0?(0,a.jsx)("p",{className:"-mt-2 text-xs font-semibold text-niho-text-muted",children:"退室は本人のチェックアウト時にまとめて確定します"}):null,er.length>0?(0,a.jsx)("div",{className:"space-y-3",children:er.map((e,t)=>{let n=_({group:e,hostCheckinAtIso:eI,hostCheckoutAtIso:eS,hostDurationMinutes:eM,nowMs:Date.now()}),l=e.durationMinutes??M(eM),s=n.checkinAt?new Date(n.checkinAt).getTime():NaN,r=eS?new Date(eS).getTime():NaN,i=(0,I._)({durationMinutes:l,maxDurationMinutes:Number.isFinite(s)&&Number.isFinite(r)?(r-s)/6e4:null}),o=F(er),u=eE.isPending||i.minusDisabled,m=eE.isPending||i.plusDisabled,x=n.checkoutAt?(0,f.o0)((0,R.Ob)(n.checkoutAt)).time:"";return(0,a.jsxs)("div",{className:(0,E.cn)("space-y-2",t>
10&&"border-t border-[#EEF1E8] pt-3"),children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)(P,{icon:d.A}),(0,a.jsx)(D.C,{variant:"count",value:`${e.count}名`,onMinus:()=>eK(t,e.count-1),onPlus:()=>eK(t,e.count+1),minusDisabled:eE.isPending||e.count<=1,plusDisabled:eE.isPending||o>=19,minusLabel:"人数を1名減らす",plusLabel:"人数を1名増やす"}),(0,a.jsx)("button",{type:"button",onClick:()=>{ed(null),ei(e=>e.filter((e,n)=>n!==t))},disabled:eE.isPending,"aria-label":"このゲストを削除",className:"ml-auto flex size-9 shrink-0 items-center justify-center rounded-full text-niho-text-muted transition hover:bg-red-50 hover:text-red-600 disabled:opacity-50 motion-reduce:transition-none",children:(0,a.jsx)(c.A,{className:"size-4","aria-hidden":"true"})})]}),(0,a.jsxs)("div",{className:"flex min-w-0 items-start gap-2",children:[(0,a.jsx)(P,{icon:h.A}),(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-start gap-2",children:[(0,a.jsx)(g.oY,{value:e.checkinTime,onChange:e=>{ed(null),ei(n=>n.map((n,a)=>
1{if(a!==t)return n;if(null==n.durationMinutes||!eI)return{...n,checkinTime:e};let l=(0,w.t9)(n.checkinTime,eI),s=(0,w.t9)(e,eI);if(!l||!s)return{...n,checkinTime:e};let r=Math.round((new Date(l).getTime()+6e4*n.durationMinutes-new Date(s).getTime())/6e4);return{...n,checkinTime:e,durationMinutes:r}}))},ariaLabel:"ゲストの入室時刻",disabled:eE.isPending,widthClassName:"w-[100px]",showIcon:!1}),(0,a.jsx)("span",{"aria-hidden":"true",className:"flex min-h-11 flex-none items-center text-sub font-bold text-niho-text-muted",children:"〜"}),eR?(0,a.jsxs)("div",{className:"inline-flex flex-col items-center gap-0.5",children:[(0,a.jsx)(g.oY,{value:x,onChange:e=>{ed(null),ei(n=>n.map((n,a)=>{if(a!==t||!eI)return n;let l=(0,w.t9)(n.checkinTime,eI);if(!l)return n;let s=(0,w.t9)(e,l);if(!s)return n;let r=Math.round((new Date(s).getTime()-new Date(l).getTime())/6e4);return{...n,durationMinutes:r}}))},ariaLabel:"ゲストの退室時刻",disabled:eE.isPending,widthClassName:"w-[100px]",showIcon:!1}),(0,a.jsx)(D.C,{variant:"dial",value:$(l),onMinus:()=>eq(t,i.stepDownMinutes),onPlus:()=>eq(t,i.stepUpMinutes),minusDisabled:u,plusDisabled:m,minusLabel:"利用時間を30分減らす",plusLabel:"利用時間を30分増やす"})]}):(0,a.jsx)(L,{})]})]}),n.error?(0,a.jsx)("p",{className:"pl-[30px] text-xs font-bold text-red-600",children:n.error}):null]},t)})}):null,(0,a.jsx)("button",{type:"button",onClick:()=>{if(ed(null),F(er)>=19)return;let e=(0,f.o0)(ee).time;ei(t=>[...t,{count:1,checkinTime:e,durationMinutes:eR?M(eM):null}])},disabled:eE.isPending||F(er)>=19,className:"min-h-11 bg-transparent p-0 text-sm font-bold text-niho-dark underline decoration-[rgba(75,158,94,0.35)] underline-offset-4 transition-colors hover:text-[#3F8A50] disabled:cursor-not-allowed disabled:opacity-45 motion-reduce:transition-none",children:"+ ゲストを追加"})]})]}),(0,a.jsx)("div",{className:"shrink-0 bg-white/95 px-5 py-3 backdrop-blur",children:(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:e.onClose,disabled:eE.isPending||ex,className:"inline-flex items-center rounded-full border border-[#D7DFC9] bg-white px-4 py-2 text-sm font-bold text-niho-dark transition hover:bg-niho-pale active:scale-95 disabled:opacity-50",children:"キャンセル"}),(0,a.jsx)("button",{type:"button",onClick:eB,disabled:eE.isPending||ex,className:"inline-flex items-center rounded-full bg-[linear-gradient(135deg,#7FAA3F_0%,#5E8B27_100%)] px-5 py-2 text-sm font-bold text-white shadow-[0_8px_20px_rgba(94,139,39,0.28)] transition hover:shadow-[0_10px_24px_rgba(94,139,39,0.34)] active:scale-95 disabled:cursor-not-allowed disabled:opacity-50",children:eE.isPending?"作成中...":"作成"})]})})]})}),ex?(0,a.jsx)(x.Ug,{open:ex,state:ef,isPending:eg,onOpenChange:e=>{e||eg||(eb(!1),ey.current=null)},onRetry:()=>void ew(),onConfirm:eN}):null,(0,a.jsx)(v.T,{open:null!==eu,onOpenChange:e=>{e||ec(null)},title:(null==eu?void 0:eu.title)??"",description:null==eu?void 0:eu.description,confirmLabel:(null==eu?void 0:eu.confirmLabel)??"実行する",cancelLabel:"キャンセル",isPending:em,variant:(null==eu?void 0:eu.variant)??"default",onConfirm:()=>void eD()})]})}},45434:(e,t,n)=>{n.d(t,{Y:()=>l,u:()=>s});var a=n(11973);function l(e){return!0===e.needsReview&&(e.userEditReviewedAt??null)==null}function s(e){let t=!0===e.isActive,n=null!=e.userEditedAt&&null==e.userEditReviewedAt,s=l(e),r=e.checkoutAt??null,i=e.closedBy??null;return{isActive:t,hasUnreviewedUserEdit:n,needsReviewBadge:s,showUnclosedCheckout:!t&&(0,a.Ny)({closedBy:i,checkoutAt:r,needsReview:s}),isForceClosed:(0,a.xB)({closedBy:i,checkoutAt:r}),reviewReason:s?n?"手入力修正":"force_close_jst_midnight"===i?"退室忘れ":"force_close_month_start"===i?"月次クローズ":"manual_checkout_missing_checkin"===i?"入室記録なし":null:null}}},47669:(e,t,n)=>{n.d(t,{M:()=>i});var a=n(18659);let l=["ONBOARDING_PENDING","ACTIVE","ACTIVE_CANCEL_SCHEDULED","CANCELED","SUSPENDED"],s=["PENDING","ACTIVE","CANCELED"],r=["VOLUNTARY_CANCELLATION","OPERATOR_CANCELLATION","BILLING_DELINQUENCY","ADMIN_ACTION","ACCOUNT_WITHDRAWAL","SYSTEM_CORRECTION","UNSPECIFIED_LEGACY"];function i(e,t){var n,i;if(!e)return!1;let o=(null==t?void 0:t.nowMs)??Date.now(),d=e.lifecycleStateCode;if("string"==typeof d&&l.includes(d))return"ACTIVE_CANCEL_SCHEDULED"===d;let u="string"==typeof(n=e.status)&&s.includes(n)?e.status:null,c="string"==typeof(i=e.statusReason)&&r.includes(i)?e.statusReason:null,m=(0,a.h)({membership:{status:u,statusReason:c,stripeCancelAt:e.stripeCancelAt,stripeCancelAtPeriodEnd:e.stripeCancelAtPeriodEnd},nowMs:o});return null!=m?"ACTIVE_CANCEL_SCHEDULED"===m:function(e,t){if(!e)return!1;let n=Date.parse(e);return Number.isFinite(n)&&n>t}(e.stripeCancelAt,o)||!0===e.stripeCancelAtPeriodEnd&&!e.stripeCancelAt}}
1,48354:(e,t,n)=>{n.d(t,{At:()=>r,Q3:()=>s}),n(86158),n(22999),n(41463);var a=n(34626);class l extends Error{constructor(e,t){super(t),this.status=e,this.name="CameraMediaClientError"}}async function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.surface??"home-now",s=new Headers({Accept:"application/json"});if("host-dashboard"===n){let e=await (0,a.kx)();e&&s.set("Authorization",`Bearer ${e}`)}let r=await fetch(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"home-now",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"CAM1";return`/media/camera/spots/${encodeURIComponent(e)}/latest.json?surface=${encodeURIComponent(t)}${"CAM2"===n?"&cameraKey=CAM2":""}`}(e,n,t.cameraKey),{method:"GET",headers:s,credentials:"same-origin",cache:"no-store",signal:t.signal});if(204===r.status)return null;if(!r.ok){let e=`Camera latest pointer request failed (${r.status})`;try{var i;let t=await r.json();"string"==typeof(null==t||null==(i=t.error)?void 0:i.message)&&t.error.message.trim().length>0&&(e=t.error.message)}catch{}throw new l(r.status,e)}return await r.json()}async function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new Headers({Accept:"application/json"}),s=await (0,a.kx)();s&&n.set("Authorization",`Bearer ${s}`);let r=await fetch(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"CAM1",a=Number.isFinite(t)?Math.max(1,Math.floor(t)):12;return`/media/camera/spots/${encodeURIComponent(e)}/history.json?hours=${a}${"CAM2"===n?"&cameraKey=CAM2":""}`}(e,t.windowHours??12,t.cameraKey),{method:"GET",headers:n,credentials:"same-origin",cache:"no-store"});if(204===r.status)return null;if(!r.ok){let e=`Camera history request failed (${r.status})`;try{var i;let t=await r.json();"string"==typeof(null==t||null==(i=t.error)?void 0:i.message)&&t.error.message.trim().length>0&&(e=t.error.message)}catch{}throw new l(r.status,e)}return await r.json()}},60710:(e,t,n)=>{n.d(t,{Ad:()=>s,NQ:()=>j,RC:()=>f,Y8:()=>b,_H:()=>c,af:()=>h,gR:()=>m,jW:()=>C,jv:()=>i,kI:()=>r,lZ:()=>u,lt:()=>k,od:()=>N,zR:()=>w});var a=n(72594),l=n(88077);let s=100;function r(e){return["admin","usageMemberDeletions",e]}function i(e){return[...r(e),"unreviewedCount"]}function o(e){let t=Date.parse(e);return Number.isFinite(t)?t:0}function d(e){return{kind:"member-deleted",item:e,status:"member-deleted",sortKey:e.checkinAt}}function u(e,t,n){if(0===t.length)return[...e];let a=e.length>0?e[e.length-1]:null,l=n.hasMoreHistory&&a?o(a.sortKey):null,s=t.filter(e=>!n.userId||e.member.userId===n.userId).filter(e=>{var t;return!(null==(t=n.liveRecordIds)?void 0:t.has(e.checkinRecordId))}).filter(e=>null==l||o(e.checkinAt)>=l).map(d).sort((e,t)=>o(t.sortKey)-o(e.sortKey));if(0===s.length)return[...e];let r=[],i=0,u=0;for(;i<e.length||u<s.length;){let t=e[i],n=s[u];n&&(!t||o(n.sortKey)>o(t.sortKey))?(r.push(n),u+=1):(r.push(t),i+=1)}return r}function c(e,t){if(!e)return e;let n=!1,a=0,l=e.items.map(e=>e.recoverableDeletionId!==t.recoverableDeletionId?e:(n=!0,null==e.hostReview&&(a+=1),{...e,hostReview:t.hostReview}));return n?{...e,items:l,unreviewedCount:Math.max(0,e.unreviewedCount-a)}:e}function m(e){return(0,a.iq)({displayName:e.member.displayName,fallbackId:e.member.userId})}function h(e){return null==e?"—":`${e}分`}let x={WIFI:"自動入退室(Wi-Fi)",BEACON:"自動入退室(Bluetooth)",QR:"QR",BUTTON:"アプリ",URL:"リンク",STAFF:"スタッフ",MANUAL:"手入力"};function b(e){return x[e]??e}function f(e){switch(e){case"wifi_owner_auto_checkout":case"presence_auto_checkout":case"external_dropin_scheduled_checkout":return"退室: 自動";case"force_close_jst_midnight":return"退室: 自動(退室忘れ)";case"force_close_month_start":return"退室: 自動(月次クローズ)";default:return null}}let p="Asia/Tokyo";function g(e){let t=new Date(e);return Number.isFinite(t.getTime())?t.toLocaleDateString("en-CA",{timeZone:p,year:"numeric",month:"2-digit",day:"2-digit"}):""}function v(e,t){let n=g(e),a=(0,l.TU)(e);return n&&a?n.slice(0,4)===g(t).slice(0,4)?a:`${n.slice(0,4)}/${a}`:"—"}function y(e,t){let n=new Date(e);if(!Number.isFinite(n.getTime()))return"—";let a=n.toLocaleDateString("ja-JP",{timeZone:p,weekday:"short"});return`${v(e,t)}(${a})`}function w(e,t,n){let a=`${y(e,n)} ${(0,l.HX)(e)}`;return t?g(t)===g(e)?`${a}–${(0,l.HX)(t)}`:`${a} – ${v(t,n)} ${(0,l.HX)(t)}`:`${a} –(退室前に削除)`}function N(e,t){return`${y(e,t)} ${(0,l.HX)(e)}`}function j(e,t){return v(e,t)}function C(e){return e.deletedBy?e.deletedBy.userId===e.member.userId?"本人":(0,a.iq)({displayName:e.deletedBy.displayName,fallbackId:e.deletedBy.userId}):"—"}function k(e,t){let n=["確認済み",`${v(e.reviewedAt,t)} ${(0,l.HX)(e.reviewedAt)}`];return e.reviewedBy&&n.push((0,a.iq)({displayName:e.reviewedBy.displayName,fallbackId:e.reviewedBy.userId})),n.join(" \xb7 ")}},61009:(e,t,n)=>{n.d(t,{Ug:()=>f,sV:()=>h});var a=n(95155),l=n(12115),s=n(92571),r=n(11012),i=n(74350);function o(e){let t=/^(\d{4})-(\d{2})$/.exec(e);return t?`${Number(t[1])}年${Number(t[2])}月`:e}function d(e){let t=Math.max(0,Math.round(e)),n=Math.floor(t/60),a=t%60;return 0===n?`${a}分`:0===a?`${n}時間`:`${n}時間${a}分`}
1function u(e){return`\xa5${Math.abs(Math.round(e)).toLocaleString("ja-JP")}`}function c(e){return 0===e?"\xa50":`${e>0?"+":"−"}${u(e)}`}function m(e){return(0,a.jsxs)("div",{className:"grid grid-cols-[max-content_minmax(0,1fr)] gap-x-4 gap-y-1",children:[(0,a.jsx)("dt",{className:"whitespace-nowrap text-sub font-bold text-niho-text-muted",children:e.label}),(0,a.jsx)("dd",{className:`min-w-0 break-words text-body text-niho-text ${e.emphasize?"font-bold tabular-nums":""}`,children:e.children})]})}function h(e){return e.refundDueYen<=0?null:`受け取り済みの ${u(e.refundDueYen)} を会員へ返してください(拠点で対応)`}function x(e){let{settlement:t}=e,n=function(e){switch(e.kind){case"UPDATE_OPEN":case"CREATE_BASE":return`超過利用分の受け取り予定を ${u(e.openAmountYen)} にします(拠点で受け取り)`;case"CREATE_DIFFERENCE":return`差額 ${u(e.openAmountYen)} を超過利用分(差額)として受け取り予定に追加します`;case"VOID_OPEN":return"超過利用分の受け取り予定を取り消します";case"NOT_TRACKED":return"この月は受け取り予定の対象外のため、金額は変わりません(記録だけを修正します)";case"NO_CHANGE":return"超過利用分の受け取り予定は変わりません";case"RETURN_DUE":return null}}(t),l=h(t);return(0,a.jsxs)(a.Fragment,{children:[n?(0,a.jsx)(m,{label:"受け取り予定",emphasize:!0,children:n}):null,l?(0,a.jsx)(m,{label:"会員への返金",emphasize:!0,children:l}):null]})}function b(e){let{adjustment:t}=e,n="INCREASE_AVAILABLE"===t.direction,l=t.effectiveNowMinutes>0||t.expiredMinutes>0||t.outstandingMinutes>0||t.expirations.length>0;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(m,{label:"利用枠",emphasize:!0,children:[n?"使える時間が増える":"使える時間が減る","(",d(t.minutes),")"]}),l?(0,a.jsx)("div",{className:"col-span-full",children:(0,a.jsxs)("details",{className:"group rounded-xl border border-niho-border bg-niho-surface px-3 py-2",children:[(0,a.jsx)("summary",{className:"flex min-h-11 cursor-pointer list-none items-center text-sub font-bold text-niho-dark focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-niho-dark/30",children:"枠の内訳を確認"}),(0,a.jsxs)("div",{className:"space-y-1 pb-1 text-sub leading-relaxed text-niho-text-sub",children:[t.effectiveNowMinutes>0?(0,a.jsxs)("p",{children:[n?"現在使える枠へ戻る時間":"現在の枠から差し引く時間",": ",d(t.effectiveNowMinutes)]}):null,t.expirations.map(e=>{var t;let n;return(0,a.jsxs)("p",{children:["失効日 ",(t=e.expiresOn,(n=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t))?`${Number(n[1])}/${Number(n[2])}/${Number(n[3])}`:t),": ",d(e.minutes)]},`${e.expiresOn}:${e.minutes}`)}),t.expiredMinutes>0?(0,a.jsxs)("p",{children:["すでに失効した枠のため現在の残高へ戻らない時間: ",d(t.expiredMinutes)]}):null,t.outstandingMinutes>0?(0,a.jsxs)("p",{children:["現在の残高で吸収できない ",d(t.outstandingMinutes)," は、今後付与される利用枠から先に差し引かれます。"]}):null]})]})}):null]})}function f(e){let t=(0,l.useRef)(!1),[n,h]=(0,l.useState)(!1),f=e.isPending||n,p="ready"===e.state.status?e.state.preview:null,g=(null==p?void 0:p.correctionType)==="CREATE",v=(null==p?void 0:p.manualReceivableSettlement)??null,y=null!==v,w=p?g?`${o(p.targetMonth)}の利用記録を追加します`:`${o(p.targetMonth)}の利用記録を修正します`:"精算内容を確認",N=async()=>{if(p&&!t.current&&!f){t.current=!0,h(!0);try{await e.onConfirm()}finally{t.current=!1,h(!1)}}};return(0,a.jsx)(i.lG,{open:e.open,onOpenChange:t=>{f||e.onOpenChange(t)},children:(0,a.jsxs)(i.Cf,{hideClose:f,className:"w-[calc(100vw-1.5rem)] max-w-[560px] gap-0 overflow-hidden p-0 sm:w-full",children:[(0,a.jsxs)(i.c7,{className:"px-5 pb-3 pt-5 pr-12 text-left",children:[(0,a.jsx)(i.L3,{className:"text-base font-bold leading-relaxed text-niho-text",children:w}),(0,a.jsx)(i.rr,{className:"text-sub leading-relaxed text-niho-text-muted",children:y?g?"記録の追加と超過利用分の受け取り予定を同時に確定します。確定後にこの操作を取り消すことはできません。":"記録の修正と超過利用分の受け取り予定を同時に確定します。確定後にこの操作を取り消すことはできません。":g?"記録の追加と精算を同時に確定します。確定後にこの操作を取り消すことはできません。":"記録の修正と精算を同時に確定します。確定後にこの操作を取り消すことはできません。"})]}),(0,a.jsxs)("div",{className:"max-h-[calc(85dvh-168px)] overflow-y-auto overscroll-contain px-5 pb-4",children:["loading"===e.state.status?(0,a.jsxs)("div",{role:"status",className:"flex min-h-36 items-center justify-center gap-2 text-body text-niho-text-muted",children:[(0,a.jsx)(s.A,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}),"精算内容を計算しています"]}):null,"error"===e.state.status?(0,a.jsxs)("div",{role:"alert",className:"space-y-3 rounded-xl border border-niho-border bg-niho-surface p-3",children:[(0,a.jsx)("p",{className:"text-body font-bold text-niho-text",children:"精算内容を確認できませんでした"}),(0,a.jsx)("p",{className:"text-sub leading-relaxed text-niho-text-sub",children:e.state.message}),(0,a.jsx)("button",{type:"button",onClick:e.onRetry,className:"inline-flex min-h-11 items-center rounded-full border border-niho-border bg-white px-4 text-sub font-bold text-niho-dark transition hover:bg-niho-pale",children:"もう一度計算ã
1™ã‚‹"})]}):null,p?(0,a.jsxs)("dl",{className:"space-y-3",children:[(0,a.jsxs)(m,{label:"対象",children:[p.usageMemberDisplayName,"さん"]}),p.billingOwnerDisplayName!==p.usageMemberDisplayName?(0,a.jsxs)(m,{label:"請求者",children:[p.billingOwnerDisplayName,"さん"]}):null,(0,a.jsx)(m,{label:"利用月",children:o(p.targetMonth)}),p.recordChanges.map(e=>(0,a.jsxs)(m,{label:e.label,children:[(0,a.jsx)("span",{className:"tabular-nums",children:e.before}),(0,a.jsx)("span",{"aria-hidden":"true",children:" → "}),(0,a.jsx)("span",{className:"sr-only",children:"から"}),(0,a.jsx)("span",{className:"font-bold tabular-nums",children:e.after})]},e.label)),(0,a.jsxs)(m,{label:"利用時間",emphasize:!0,children:[d(p.beforeUsedMinutes)," → ",d(p.afterUsedMinutes)]}),(0,a.jsxs)(m,{label:"超過",emphasize:!0,children:[d(p.beforeOverageMinutes)," → ",d(p.afterOverageMinutes)]}),(0,a.jsx)(m,{label:"元の精算額",emphasize:!0,children:u(p.beforeAmountYen)}),(0,a.jsx)(m,{label:"訂正後の精算額",emphasize:!0,children:u(p.afterAmountYen)}),(0,a.jsx)(m,{label:"今回の差額",emphasize:!0,children:c(p.settlementAmountDeltaYen)}),p.settlementAmountDeltaYen!==p.amountDeltaYen?(0,a.jsxs)(m,{label:"締め時からの累計",children:[c(p.amountDeltaYen),(0,a.jsx)("span",{className:"ml-1 font-normal text-niho-text-sub",children:"(この月は今回より前にも訂正しています)"})]}):null,v?(0,a.jsx)(x,{settlement:v}):0!==p.settlementAmountDeltaYen?(0,a.jsxs)(m,{label:p.settlementAmountDeltaYen>0?"追加のご請求":"請求額の減額",emphasize:!0,children:[u(p.settlementAmountDeltaYen),(0,a.jsx)("span",{className:"ml-1 font-normal text-niho-text-sub",children:p.settlementAmountDeltaYen>0?"SOURCE_CHARGE"===p.settlementPaymentMethodSource?"(元のご請求と同じお支払い方法)":"REGISTERED"===p.settlementPaymentMethodSource?"(ご登録のお支払い方法)":"":"(元のご請求へ反映)"})]}):null,p.creditAdjustment?(0,a.jsx)(b,{adjustment:p.creditAdjustment}):null,p.overlappingRecordCount>0?(0,a.jsxs)("div",{role:"status",className:"col-span-full flex items-start gap-2 border-t border-niho-border pt-3 text-sub leading-relaxed text-niho-text-sub",children:[(0,a.jsx)(r.A,{className:"mt-0.5 h-4 w-4 shrink-0 text-niho-text","aria-hidden":"true"}),(0,a.jsxs)("p",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("span",{className:"font-bold text-niho-text",children:["時間帯が重なる利用記録が",p.overlappingRecordCount,"件あります。"]})," ","同じ会員の同じ月に既にある記録です。内容を確認してから確定してください。"]})]}):null,p.notifyOwnerAfterStaffExecution?(0,a.jsx)("div",{className:"col-span-full border-t border-niho-border pt-3 text-sub leading-relaxed text-niho-text-sub",children:"スタッフが確定すると、拠点オーナーへ実行結果を通知します。"}):null]}):null]}),(0,a.jsxs)(i.Es,{className:"gap-2 border-t border-niho-border px-5 py-3 sm:space-x-0",children:[(0,a.jsx)("button",{type:"button",onClick:()=>e.onOpenChange(!1),disabled:f,className:"inline-flex min-h-11 items-center justify-center rounded-full border border-niho-border bg-white px-4 text-sm font-bold text-niho-dark transition hover:bg-niho-pale disabled:cursor-not-allowed disabled:opacity-50",children:"キャンセル"}),(0,a.jsxs)("button",{type:"button",onClick:()=>void N(),disabled:!p||f,className:"inline-flex min-h-11 items-center justify-center gap-2 rounded-full niho-primary-surface px-4 text-sm font-bold transition active:scale-95 disabled:cursor-not-allowed disabled:opacity-50",children:[f?(0,a.jsx)(s.A,{className:"h-4 w-4 animate-spin","aria-hidden":"true"}):null,f?y?"確定中":"精算を確定中":y?g?"追加を確定":"修正を確定":g?"追加して精算を確定":"修正して精算を確定"]})]})]})})}},78443:(e,t,n)=>{n.d(t,{k:()=>s});var a=n(2004),l=n(60710);async function s(e){let{queryClient:t,spotId:n,userId:s,userIds:r}=e;await t.invalidateQueries({queryKey:["admin","usageUnified",n]}),await t.invalidateQueries({queryKey:["admin","usageRecords",n]}),await t.invalidateQueries({queryKey:["admin","usageCurrentMonthOverview",n]}),await t.invalidateQueries({queryKey:["admin","dashboard","presence","active",n]}),await t.invalidateQueries({queryKey:["admin","dashboard","recentCheckouts",n]}),await t.invalidateQueries({queryKey:["admin","dashboard","usage-needs-review",n]}),await t.invalidateQueries({queryKey:(0,l.kI)(n)});let i=[...new Set([...r??[],...s?[s]:[]].filter(e=>"string"==typeof e&&e.length>0))];i.length>0?await Promise.all(i.flatMap(e=>[t.invalidateQueries({queryKey:a.l.admin.members.detail(n,e)}),t.invalidateQueries({queryKey:a.l.admin.members.usageHistory(n,e)}),t.invalidateQueries({queryKey:a.l.admin.members.creditSummary(n,e)})])):await Promise.all([t.invalidateQueries({queryKey:a.l.admin.members.detailRoot(n)}),t.invalidateQueries({queryKey:a.l.admin.members.usageHistoryRoot(n)}),t.invalidateQueries({queryKey:a.l.admin.members.creditSummaryRoot(n)})])}},79897:(e,t,n)=>{n.d(t,{Ob:()=>r,lK:()=>i,yQ:()=>s});var a=n(47456),l=n(88077);function s(e){let{date:t,time:n}=(0,a.o0)(e);return t.trim().length>0&&n.trim().length>0}function r(e){return e?(0,l.LF)(new Date(e)):""}function i(e){return(0,l._1)(e.trim())}},88115:(e,t,n)=>{function a(e){return!!((null==e?void 0:e.snapshotEnabled)||(null==e?void 0:e.liveEnabled)||(null==e?void 0:e.recordingEnabled))}function l(e){return!!((null==e?void 0:e.liveEnabled)||(null==e?void 0:e.recordingEnabled))}function s(e){return!!((null==e?void 0:e.snapshotEnabled)&&("CAM1"===e.cameraKey||"FACILITY_SERVER"!==e.snapshotSource))}function r(e){return e.liveEnabled||e.recordingEnabled}function i(e,t,n){return{featureSelectionVersion:2,snapshotEnabled:e.snapshotEnabled,liveEnabled:e.liveEnabled,recordingEnabled:e.recordingEnabled,...t!==n?{snapshotSource:t}:{}}}function o(e){var t,n;return!!((e.cameraLiveQueryEnabled??!0)&&(null==(t=e.feed)?void 0:t.recordingEnabled)&&(null==(n=e.feed.gatewayUrl)?void 0:n.trim()))}function d(e,t){return"live"===e&&!(null==t?void 0:t.liveEnabled)&&(null==t?void 0:t.recordingEnabled)?"recording":"recording"===e&&!(null==t?void 0:t.recordingEnabled)&&(null==t?void 0:t.liveEnabled)?"live":e}n.d(t,{BM:()=>d,Xx:()=>r,c_:()=>s,fh:()=>i,gg:()=>o,kQ:()=>a,uQ:()=>l})},93485:(e,t,n)=>{n.d(t,{E:()=>u});var a=n(12115),l=n(26708),s=n(48934),r=n(87503),i=n(57744);function o(e){let{expiresAtIso:t,nowMs:n=Date.now(),refreshLeadMs:a=3e4,minDelayMs:l=1e3}=e;if("string"!=typeof t||0===t.trim().length||!Number.isFinite(n))return null;let s=Date.parse(t);if(!Number.isFinite(s))return null;let r=Number.isFinite(a)?Math.max(0,Math.floor(a)):3e4,i=Number.isFinite(l)?Math.max(0,Math.floor(l)):1e3,o=s-r;if(!Number.isFinite(o))return null;let d=o-n;return Number.isFinite(d)?Math.max(i,d):null}let d=[5e3,1e4,2e4];function u(e){var t;let{spotId:n,cameraKey:u,streamProfile:c,enabled:m=!0,autoStart:h=!0,retryDelaysMs:x=d}=e,b=!!n&&m,f=(0,l.I)({queryKey:["admin","cameraFeeds",n],queryFn:()=>r.B.getFeeds(n),enabled:b}),p=(null==(t=f.data)?void 0:t.feeds.find(e=>e.cameraKey===u))??null,g=`${n??""}:${u}:${(null==p?void 0:p.gatewayUrl)??""}:${(null==p?void 0:p.streamProfile)??""}:${(null==p?void 0:p.liveEnabled)??""}:${c??""}`,v=(0,s.n)({mutationFn:e=>r.B.createFeedSession(e.spotId,e.cameraKey,e.streamProfile?{streamProfile:e.streamProfile}:void 0)}),[y,w]=(0,a.useState)(null),[N,j]=(0,a.useState)(null),[C,k]=(0,a.useState)(null),[A,E]=(0,a.useState)(null),[D,I]=(0,a.useState)(null),[S,R]=(0,a.useState)(null),[T,F]=(0,a.useState)(0),[M,$]=(0,a.useState)(!1),[_,P]=(0,a.useState)(!1),L=(0,a.useRef)(null),O=(0,a.useRef)(null),U=(0,a.useRef)(m),K=(0,a.useRef)(null),q=(0,a.useRef)(0),B=(0,a.useRef)(null),H=(0,a.useCallback)(()=>{null!==L.current&&(window.clearTimeout(L.current),L.current=null),I(null)},[]),Q=(0,a.useCallback)(()=>{null!==O.current&&(window.clearTimeout(O.current),O.current=null),R(null)},[]),Y=(0,a.useCallback)(()=>{q.current+=1,B.current=null,w(null),j(null),k(null),E(null),F(0),$(!1),P(!1),H(),Q()},[Q,H]),V=(0,a.useCallback)(()=>{F(e=>{if(e>=x.length)return e;let t=x[e];return H(),I(new Date(Date.now()+t).toISOString()),L.current=window.setTimeout(()=>{if(I(null),!U.current)return;let e=K.current;e&&e("retry")},t),e+1})},[H,x]),G=(0,a.useCallback)(e=>{Q();let t=o({expiresAtIso:e,refreshLeadMs:3e4});null==t||(R(new Date(Date.now()+t).toISOString()),O.current=window.setTimeout(()=>{if(R(null),!U.current)return;let e=K.current;e&&e("refresh")},t))},[Q]),z=(0,a.useCallback)(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"manual";if(!n||!m||B.current===g)return;if(!(null==p?void 0:p.liveEnabled)||!p.gatewayUrl){j("ライブ表示がOFF、またはURLが未設定です。"),w(null);return}"retry"!==e&&F(0),j(null),P(!0),H();let t=q.current+1;q.current=t,B.current=g;try{let e=await v.mutateAsync({spotId:n,cameraKey:u,streamProfile:c}
1);if(t!==q.current)return;w(e.streamUrl),k(new Date().toISOString()),E(e.expiresAt),F(0),G(e.expiresAt)}catch(n){if(t!==q.current)return;"refresh"!==e&&w(null),j((0,i.Hw)(n,"カメラへの接続に失敗しました。")),V()}finally{t===q.current&&(B.current=null,P(!1))}},[H,u,null==p?void 0:p.gatewayUrl,null==p?void 0:p.liveEnabled,g,m,G,V,v,n,c]);(0,a.useEffect)(()=>{Y()},[g,m,Y]),(0,a.useEffect)(()=>{U.current=m},[m]),(0,a.useEffect)(()=>{K.current=z},[z]),(0,a.useEffect)(()=>{m&&h&&(null==p?void 0:p.liveEnabled)&&p.gatewayUrl&&(M||($(!0),z("auto")))},[h,M,null==p?void 0:p.gatewayUrl,null==p?void 0:p.liveEnabled,m,z]),(0,a.useEffect)(()=>()=>{H(),Q()},[Q,H]),(0,a.useEffect)(()=>{if(!m)return;let e=()=>{let e=o({expiresAtIso:A,refreshLeadMs:3e4});if(null==e||e>2e3)return;let t=K.current;t&&t("refresh")};return document.addEventListener("visibilitychange",e),window.addEventListener("focus",e),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("focus",e)}},[m,A]);let J=!!((null==p?void 0:p.liveEnabled)&&p.gatewayUrl);return{configQuery:f,config:p,streamUrl:y,sessionError:N,lastSuccessAt:C,sessionExpiresAt:A,nextRetryAt:D,nextRefreshAt:S,retryAttempt:T,isConnecting:_,canConnect:J,sessionPending:_,startSession:z,resetSessionState:Y}}}}]);

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.