1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4387],{6524:(e,t,a)=>{a.d(t,{$m:()=>d,As:()=>c,nD:()=>o,ub:()=>m});var i=a(85047),s=a(31615),r=a(40212),n=a(26345),l=a(34961);let o=r.bL,c=s.forwardRef(({className:e,...t},a)=>(0,i.jsx)(r.q7,{ref:a,className:(0,l.cn)("border-b",e),...t}));c.displayName="AccordionItem";let d=s.forwardRef(({className:e,children:t,...a},s)=>(0,i.jsx)(r.Y9,{className:"flex",children:(0,i.jsxs)(r.l9,{ref:s,className:(0,l.cn)("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...a,children:[t,(0,i.jsx)(n.A,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));d.displayName=r.l9.displayName;let m=s.forwardRef(({className:e,children:t,...a},s)=>(0,i.jsx)(r.UC,{ref:s,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...a,children:(0,i.jsx)("div",{className:(0,l.cn)("pb-4 pt-0",e),children:t})}));m.displayName=r.UC.displayName},15659:(e,t,a)=>{a.r(t),a.d(t,{AdvisorMatchingDialog:()=>w});var i=a(85047),s=a(31615),r=a(18534),n=a(21410),l=a(96968),o=a(866),c=a(21582),d=a(82520),m=a(60373),u=a(38187),h=a(41178),x=a(15139),f=a(18569),p=a(34619),g=a(57321),v=a(93674),y=a(46711);function b(e,t,a){let i=t.budgetMax?Number(t.budgetMax):void 0,s=t.minRating&&"0"!==t.minRating?Number(t.minRating):void 0;return e.filter(e=>(!t.specialty||!!(e.specialties||[]).includes(t.specialty))&&(!t.area||!!(e.serviceAreas||[]).includes(t.area))&&(void 0===i||!((e.fee??0)>i))&&(void 0===s||!((e.rating??0)<s))).slice().sort((e,t)=>(t.rating??0)-(e.rating??0)||(t.reviews??0)-(e.reviews??0)).slice(0,a)}let j={specialty:"",area:"",budgetMax:"",minRating:"0",consultationMethod:""};function w({open:e,onOpenChange:t,advisors:a,onSelectAdvisor:N,bookingContext:C,onTrackOpen:k,onTrackSelect:S,autoRecommend:D=!1,maxResults:A=5}){let{toast:I}=(0,h.dj)(),[L,_]=(0,s.useState)(j),[E,M]=(0,s.useState)([]),[O,$]=(0,s.useState)(!D),F=(0,s.useMemo)(()=>Array.from(new Set(a.flatMap(e=>e.specialties))),[a]),B=(0,s.useMemo)(()=>Array.from(new Set(a.flatMap(e=>e.serviceAreas))),[a]);(0,s.useEffect)(()=>{e&&k&&k()},[e,k]),(0,s.useEffect)(()=>{if(!e){_(j),M([]),$(!D);return}D&&(M(b(a,j,A)),$(!1))},[e,D,a,A]);let T=()=>{_(j),M([]),$(!0)};return(0,i.jsx)(r.lG,{open:e,onOpenChange:t,children:(0,i.jsxs)(r.Cf,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[(0,i.jsxs)(r.c7,{children:[(0,i.jsxs)(r.L3,{className:"flex items-center gap-2",children:[(0,i.jsx)(x.A,{className:"h-5 w-5 text-blue-500"}),D&&!O?"æ¨è¦é¡§å":"篩é¸é¡§å"]}),(0,i.jsx)(r.rr,{children:D&&!O?"ä¾è©åèè©å¹æ¸çºæ¨ååºæç¬¦åçåå¹¾ä½é¡§å":"填寫æ¨çéæ±æ¢ä»¶ï¼æåæä¾æ¢ä»¶çºæ¨ååºç¬¦åçé¡§å"})]}),(0,i.jsxs)("div",{className:"space-y-6 py-4",children:[O&&(0,i.jsxs)("div",{className:"grid gap-4",children:[(0,i.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(l.J,{htmlFor:"specialty",children:"å°é·é å"}),(0,i.jsxs)(c.l6,{value:L.specialty||void 0,onValueChange:e=>_(t=>({...t,specialty:e})),children:[(0,i.jsx)(c.bq,{id:"specialty",children:(0,i.jsx)(c.yv,{placeholder:"鏿å°é·é åï¼å¯é¸ï¼"})}),(0,i.jsx)(c.gC,{children:F.map(e=>(0,i.jsx)(c.eb,{value:e,children:e},e))})]})]}),(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(l.J,{htmlFor:"area",children:"æåå°å"}),(0,i.jsxs)(c.l6,{value:L.area||void 0,onValueChange:e=>_(t=>({...t,area:e})),children:[(0,i.jsx)(c.bq,{id:"area",children:(0,i.jsx)(c.yv,{placeholder:"鏿æåå°åï¼å¯é¸ï¼"})}),(0,i.jsx)(c.gC,{children:B.map(e=>(0,i.jsx)(c.eb,{value:e,children:e},e))})]})]}),(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(l.J,{htmlFor:"budgetMax",children:"æé«é ç®"}),(0,i.jsx)(o.p,{id:"budgetMax",type:"number",placeholder:"ä¾å¦ï¼5000",value:L.budgetMax,onChange:e=>_(t=>({...t,budgetMax:e.target.value}))})]}),(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(l.J,{htmlFor:"minRating",children:"æä½è©å"}),(0,i.jsxs)(c.l6,{value:L.minRating,onValueChange:e=>_(t=>({...t,minRating:e})),children:[(0,i.jsx)(c.bq,{id:"minRating",children:(0,i.jsx)(c.yv,{})}),(0,i.jsxs)(c.gC,{children:[(0,i.jsx)(c.eb,{value:"0",children:"ææè©å"}),(0,i.jsx)(c.eb,{value:"4",children:"4 æä»¥ä¸"}),(0,i.jsx)(c.eb,{value:"4.5",children:"4.5 æä»¥ä¸"})]})]})]}),(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(l.J,{htmlFor:"consultationMethod",children:"諮詢æ¹å¼"}),(0,i.jsxs)(c.l6,{value:L.consultationMethod||void 0,onValueChange:e=>_(t=>({...t,consultationMethod:e})),children:[(0,i.jsx)(c.bq,{id:"consultationMethod",children:(0,i.jsx)(c.yv,{placeholder:"é¸æè«®è©¢æ¹å¼ï¼å¯é¸ï¼"})}),(0,i.jsx)(c.gC,{children:["é¢å°é¢è«®è©¢","ç·ä¸è«®è©¢","é»è©±è«®è©¢"].map(e=>(0,i.jsx)(c.eb,{value:e,children:e},e))})]})]})]}),(0,i.jsxs)("div",{className:"flex gap-2 justify-end",children:[(0,i.jsx)(n.$,{variant:"outline",onClick:T,children:"éç½®"}),(0,i.jsxs)(n.$,{onClick:()=>
1{if(0===a.length)return void I({variant:"destructive",title:"é¯èª¤",description:"ç®åæ²æå¯ç¨çé¡§å"});let e=b(a,L,A);if(0===e.length){I({title:"æ²ææ¾å°ç¬¦åæ¢ä»¶çé¡§å",description:"è«åè©¦èª¿æ´æå°æ¢ä»¶"}),M([]);return}M(e),$(!1),I({title:"篩é¸å®æ",description:`å·²çºæ¨æ¾å° ${e.length} ä½ç¬¦åæ¢ä»¶çé¡§å`})},children:[(0,i.jsx)(x.A,{className:"mr-2 h-4 w-4"}),"å¥ç¨ç¯©é¸"]})]})]}),!O&&(0,i.jsxs)("div",{className:"space-y-4",children:[(0,i.jsxs)("div",{className:"flex items-center justify-between",children:[(0,i.jsx)("h3",{className:"text-lg font-semibold",children:E.length>0?`å ${E.length} ä½ç¬¦åé¡§å`:"ç®åæ²æç¬¦åçé¡§å"}),!D&&(0,i.jsx)(n.$,{variant:"outline",size:"sm",onClick:T,children:"éæ°æå°"})]}),(0,i.jsx)("div",{className:"grid gap-4",children:E.map(e=>(0,i.jsx)(d.Zp,{className:"hover:shadow-md transition-shadow",children:(0,i.jsx)(d.Wu,{className:"p-6",children:(0,i.jsxs)("div",{className:"flex flex-col lg:flex-row gap-6",children:[(0,i.jsxs)("div",{className:"flex items-start gap-4 flex-1 min-w-0",children:[(0,i.jsxs)(m.eu,{className:"h-16 w-16 flex-shrink-0",children:[(0,i.jsx)(m.BK,{src:e.avatar,alt:e.name}),(0,i.jsx)(m.q5,{children:e.name.substring(0,2)})]}),(0,i.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,i.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[(0,i.jsx)("div",{className:"font-semibold text-lg",children:e.name}),(0,i.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:e.serviceAreas.map((e,t)=>(0,i.jsxs)(u.E,{variant:"outline",className:"text-xs",children:[(0,i.jsx)(f.A,{className:"h-3 w-3 mr-1"}),e]},t))}),e.certifications&&e.certifications.length>0&&(0,i.jsx)("div",{className:"flex flex-wrap items-center gap-1.5",children:e.certifications.map(e=>{let t=(0,v.Bu)(e);return t?(0,i.jsx)(u.E,{variant:"outline",className:"text-xs",children:t.abbreviation},e):null})})]}),(0,i.jsxs)("div",{className:"flex flex-wrap gap-1.5 mb-3",children:[e.specialties.slice(0,3).map((e,t)=>(0,i.jsx)(u.E,{variant:"secondary",className:"text-xs",children:e},t)),e.specialties.length>3&&(0,i.jsxs)(u.E,{variant:"secondary",className:"text-xs",children:["+",e.specialties.length-3]})]}),(0,i.jsxs)("div",{className:"flex items-center gap-4 text-sm",children:[(0,i.jsxs)("div",{className:"flex items-center gap-1",children:[(0,i.jsx)(p.A,{className:"h-4 w-4 fill-yellow-400 text-yellow-400"}),(0,i.jsx)("span",{className:"font-medium",children:e.rating}),(0,i.jsxs)("span",{className:"text-muted-foreground",children:["(",e.reviews," åè©å¹)"]})]}),(0,i.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,i.jsx)(g.A,{className:"h-4 w-4 text-muted-foreground"}),(0,i.jsx)("span",{className:"font-medium",children:e.fee})]})]})]})]}),(0,i.jsx)("div",{className:"flex items-center",children:(0,i.jsx)(n.$,{onClick:()=>{let a;return a=C?.source??"matching",void((0,y.jh)("matching",e.id),S?.(e.id,a),N&&N(e),t(!1))},children:"ç«å³é ç´"})})]})})},e.id))})]})]})]})})}},29222:(e,t,a)=>{a.d(t,{R:()=>s});var i=a(31615);function s(e=null){let[t,a]=(0,i.useState)({isLoading:!1,error:null,data:e}),r=(0,i.useCallback)(e=>{a(t=>({...t,isLoading:e}))},[]),n=(0,i.useCallback)(e=>{a(t=>({...t,error:e,isLoading:!1}))},[]),l=(0,i.useCallback)(e=>{a(t=>({...t,data:e,error:null,isLoading:!1}))},[]);return{state:t,setLoading:r,setError:n,setData:l,execute:(0,i.useCallback)(async e=>{try{a(e=>({...e,isLoading:!0,error:null}));let t=await e();return a(e=>({...e,data:t,isLoading:!1,error:null})),t}catch(t){let e=t instanceof Error?t.message:"ç¼çæªç¥é¯èª¤";return a(t=>({...t,error:e,isLoading:!1})),null}},[]),reset:(0,i.useCallback)(()=>{a({isLoading:!1,error:null,data:e})},[e])}}},46955:(e,t,a)=>{a.d(t,{L:()=>c});var i=a(31615),s=a(71931),r=a(76458),n=a(41178),l=a(18654),o=a(87777);function c(){let[e,t]=(0,i.useState)(!1),{toast:a}=(0,n.dj)();return{isPaymentLoading:e,startPayment:async e=>{if(!r.functions)return void a({variant:"destructive",title:"ç¡æ³å»ºç«ä»æ¬¾",description:"Firebase Functions å°æªåå§åï¼è«éæ°æ´çå¾å試ã"});try{t(!0);let a=(0,s.httpsCallable)(r.functions,"createBookingPayment"),i=(await a({bookingId:e.id})).data;if(!i?.success)throw Error(i?.error||"建ç«ä»æ¬¾é£çµå¤±æ");if(i.formHtml){let e=document.createElement("div");e.innerHTML=i.formHtml,document.body.appendChild(e);let t=e.querySelector("form");if(t)return void t.submit()}if(i.paymentUrl){window.location.href=i.paymentUrl;return}throw Error("ç¡ææç仿¬¾é£çµ")}catch(t){(0,l.vV)("建ç«ä»æ¬¾é£çµå¤±æ",t);let e="建ç«ä»æ¬¾é£çµå¤±æï¼è«ç¨å¾å試ã";t instanceof o.g?"functions/not-found"===t.code?e="仿¬¾æåå°æªé¨ç½²æç¡æ³ä½¿ç¨ï¼è«éç¥ç³»çµ±ç®¡çå¡ã":"functions/internal"===t.code?e="仿¬¾æåæ«æç¡æ³ä½¿ç¨ï¼å·¥ç¨åéå·²æ¶å°é¯
1誤åå ±ã":t.message&&(e=t.message):t instanceof Error&&(e=t.message),a({variant:"destructive",title:"建ç«ä»æ¬¾é£çµå¤±æ",description:e})}finally{t(!1)}}}}},56785:(e,t,a)=>{a.r(t),a.d(t,{AdvisorBookingDialog:()=>eh});var i=a(85047),s=a(31615),r=a(46377),n=a(18534),l=a(21410),o=a(54306),c=a(41178),d=a(73521),m=a(85084),u=a(4963);async function h(e){if(window.crypto?.subtle){let t=new TextEncoder().encode(e);return Array.from(new Uint8Array(await window.crypto.subtle.digest("SHA-256",t))).map(e=>e.toString(16).padStart(2,"0")).join("")}try{let{createHash:t}=await Promise.all([a.e(7466),a.e(4923)]).then(a.t.bind(a,80895,23));return t("sha256").update(e).digest("hex")}catch{let t=0;for(let a=0;a<e.length;a+=1)t=(t<<5)-t+e.charCodeAt(a)|0;return t.toString(16)}}let x=e=>e.toISOString().replace(/[-:]/g,"").split(".")[0]+"Z";var f=a(2134),p=a(74265),g=a(71931),v=a(76458),y=a(15418),b=a(67316),j=a(31283),w=a(42165),N=a(87777),C=a(18654),k=a(44832),S=a(8058),D=a(54611),A=a(45762),I=a(24571),L=a(29222),_=a(46955),E=a(92788),M=a(26345),O=a(96968),$=a(866),F=a(21582),B=a(10892),T=a(34961);function R({query:e,title:t="Google Map",className:a}){let s=e.trim();if(!s)return null;let r=`https://www.google.com/maps?q=${encodeURIComponent(s)}&output=embed`,n=`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(s)}`;return(0,i.jsxs)("div",{className:(0,T.cn)("space-y-2",a),children:[(0,i.jsx)("div",{className:"flex justify-end",children:(0,i.jsx)(l.$,{asChild:!0,variant:"outline",size:"sm",className:"gap-2",children:(0,i.jsxs)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:[(0,i.jsx)(j.A,{className:"h-4 w-4"}),"å¨ Google å°åéå"]})})}),(0,i.jsx)("div",{className:"overflow-hidden rounded-lg border bg-muted/20",children:(0,i.jsx)("iframe",{title:t,src:r,className:"h-[220px] w-full",loading:"lazy",referrerPolicy:"no-referrer-when-downgrade"})})]})}var U=a(24385),V=a(80746),G=a(66592),P=a(77405);function W(e){let{children:t,className:a,calendarMonth:r,displayIndex:n,...l}=e,o=s.Children.toArray(t),c=o.slice(0,3),d=o.slice(3);return(0,i.jsxs)("div",{className:(0,T.cn)("space-y-3",a),...l,children:[(0,i.jsx)("div",{className:"flex flex-row flex-nowrap items-center justify-between w-full gap-2 pt-1",children:c}),d]})}function Y({selectedDate:e,onDateChange:t,minDate:a,maxDate:r,availableDates:n,availableSlotsCount:l,isLoading:o=!1,showWeekNumber:c=!1,embeddedInCard:d=!1}){let m=(0,P.a)(),[u,h]=(0,s.useState)(e?(0,f.SD)(e):void 0);(0,s.useEffect)(()=>{e?h((0,f.SD)(e)):h(void 0)},[e]),(0,s.useMemo)(()=>{if(!n||0===n.size)return[];let t=[],i=(0,f.SD)(a),s=r?(0,f.SD)(r):(0,f.SD)((0,f.o0)(30)),l=new Date(i);for(;l<=s;){let a=(0,U.GP)(l,"yyyy-MM-dd");n.has(a)||a===e||t.push(new Date(l)),l.setUTCDate(l.getUTCDate()+1)}return t},[n,a,r,e]);let x=(0,s.useMemo)(()=>{let e={};n&&n.forEach(t=>{e.hasAvailable||(e.hasAvailable=[]),e.hasAvailable.push((0,f.SD)(t))});let t=l?Object.values(l):[],a=t.length>0?Math.max(...t):0;return a>0&&l?Object.entries(l).forEach(([t,i])=>{if(i<=0)return;let s=Math.min(4,Math.max(1,Math.ceil(i/a*4))),r=`heat${s}`;e[r]||(e[r]=[]),e[r].push((0,f.SD)(t))}):n&&n.forEach(t=>{e.heat2||(e.heat2=[]),e.heat2.push((0,f.SD)(t))}),e},[n,l]);return m?(0,i.jsx)($.p,{type:"date",value:e,onChange:e=>{let i=e.target.value;i>=a&&(!r||i<=r)&&t(i)},min:a,max:r,className:"w-full",disabled:o}):(0,i.jsx)("div",{className:d?"":"space-y-4",children:(0,i.jsx)("div",{className:(0,T.cn)(d?"p-1":"border border-border/50 rounded-lg p-3","booking-date-picker-calendar"),children:(0,i.jsx)(G.V,{mode:"single",selected:u,onSelect:e=>{if(!e)return;let i=(0,U.GP)(e,"yyyy-MM-dd");i<a||r&&i>r||(h(e),t(i))},showWeekNumber:c,navLayout:"around",components:{Month:W},startMonth:(0,f.SD)(a),endMonth:r?(0,f.SD)(r):void 0,defaultMonth:u??(0,f.SD)(a),disabled:e=>{let t=(0,U.GP)(e,"yyyy-MM-dd");return t<a||!!r&&t>r||!!n&&n.size>0&&!n.has(t)},modifiers:x,modifiersClassNames:{hasAvailable:"has-available-slot",heat1:"slot-heat-1",heat2:"slot-heat-2",heat3:"slot-heat-3",heat4:"slot-heat-4"},locale:V.G,classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:sp
1ace-x-4 sm:space-y-0",month:"space-y-3",month_caption:"flex flex-row flex-nowrap items-center justify-between w-full pt-1 px-0 gap-2",caption_label:"text-sm font-medium shrink-0 order-2",nav:"contents",button_previous:(0,T.cn)("order-1 h-7 w-7 shrink-0 bg-transparent p-0 opacity-50 hover:opacity-100 transition-opacity rounded-md"),button_next:(0,T.cn)("order-3 h-7 w-7 shrink-0 bg-transparent p-0 opacity-50 hover:opacity-100 transition-opacity rounded-md"),chevron:"h-4 w-4",month_grid:"w-full border-collapse table-fixed",weekdays:"w-full",weekday:"text-muted-foreground rounded-md h-9 font-normal text-[0.8rem] text-center align-middle w-[14.28%]",week:"w-full mt-0.5",day:(0,T.cn)("h-9 w-[14.28%] text-center text-sm p-0 relative align-middle group","[&:has([aria-selected].day-range-end)]:rounded-r-md","[&:has([aria-selected].day-outside)]:bg-accent/50","[&:has([aria-selected])]:bg-accent","first:[&:has([aria-selected])]:rounded-l-md","last:[&:has([aria-selected])]:rounded-r-md","focus-within:relative focus-within:z-20","[.has-available-slot&]:[&:has([aria-selected])]:!bg-transparent"),day_button:(0,T.cn)("h-8 w-8 p-0 font-normal aria-selected:opacity-100 transition-colors rounded-full flex items-center justify-center","[&[aria-selected]]:bg-primary [&[aria-selected]]:text-primary-foreground [&[aria-selected]]:font-semibold","group-[.has-available-slot]:text-foreground","group-[.slot-heat-1]:bg-blue-500/20 group-[.slot-heat-2]:bg-blue-500/40","group-[.slot-heat-3]:bg-blue-500/65 group-[.slot-heat-4]:bg-blue-500/90","group-[.has-available-slot]:hover:bg-blue-400/50 group-[.has-available-slot]:hover:text-foreground","group-[.has-available-slot]:[&[aria-selected]]:!bg-white group-[.has-available-slot]:[&[aria-selected]]:!text-gray-900"),day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground font-semibold",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50 cursor-not-allowed hover:bg-transparent",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...c&&{week_number:"text-muted-foreground text-[0.8rem] w-8 text-center align-middle"}}})})})}let q=["é¢å°é¢è«®è©¢","ç·ä¸è«®è©¢","é»è©±è«®è©¢"],z=["é¡§å辦å
¬å®¤","æå®å°é»"],J=["éä¼è¦å","æè³çç¥","ç¨
åè¦å","ä¿éªè¦å","風éªç®¡ç","å®¶åºè²¡å","è³ç¢é
ç½®","è¡ç¥¨æè³","ETFçç¥","峿¿è¦å","財å¯å³æ¿","åµå管ç","ç¾éæµè¦å","é ç®ç·¨å¶","è·æ¶¯è²¡å","æè³å
¥é"];function K({formState:e,onFormStateChange:t,availableTimeOptions:a,isSlotLoading:r,minDate:n,maxDate:l,advisorOfficeAddress:o,onDateChange:c,onTimeChange:d,availableDates:m,availableSlotsCount:u}){let h=(0,s.useRef)(null),[x,f]=(0,s.useState)({canScrollUp:!1,canScrollDown:!1}),p=(0,s.useCallback)(()=>{let e=h.current;if(!e)return;let{scrollTop:t,scrollHeight:a,clientHeight:i}=e,s=t>0,r=t+i<a-1;f(e=>e.canScrollUp!==s||e.canScrollDown!==r?{canScrollUp:s,canScrollDown:r}:e)},[]);(0,s.useEffect)(()=>{p();let e=h.current;if(!e)return;let t=new ResizeObserver(p);return t.observe(e),()=>t.disconnect()},[a.length,p]);let g="é¢å°é¢è«®è©¢"!==e.method?"":"é¡§å辦å
¬å®¤"===e.locationChoice?(o||"").trim():"æå®å°é»"===e.locationChoice?(e.customLocation||"").trim():"",v="é¢å°é¢è«®è©¢"===e.method&&e.locationChoice?"é¡§å辦å
¬å®¤"!==e.locationChoice||(o||"").trim()?"æå®å°é»"!==e.locationChoice||(e.customLocation||"").trim()?"":"è«å
輸å
¥æå®å°é»ä»¥é¡¯ç¤ºå°åã":"æ¤é¡§åå°æªè¨å®è¾¦å
¬å®¤å°åï¼è«æ¹é¸ãæå®å°é»ãæç¨å¾å試ã":"";return(0,i.jsxs)("div",{className:"space-y-6 py-4",children:[(0,i.jsxs)("div",{className:"space-y-3",children:[(0,i.jsx)("h3",{className:"text-sm font-medium",children:"é¸åé ç´ææ®µ"}),(0,i.jsx)("div",{className:"border border-border/50 rounded-lg p-4",children:(0,i.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 md:gap-8",children:[(0,i.jsx)("div",{children:(0,i.jsx)(Y,{selectedDate:e.date,onDateChange:e=>{t({date:e,time:""}),c&&c(e),d&&d("")},minDate:n,maxDate:l,availableDates:m,availableSlotsCount:u,isLoading:r,embeddedInCard:!0})}),(0,i.jsx)("div",{className:"flex flex-col md:border-l md:border-border/50 md:pl-6",children:e.date?r?(0,i.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"è¼å
¥å¯é ç´ææ®µä¸..."}):0===a.length?(0,i.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"æ¤æ¥æå·²ç¡å¯é ç´ææ®µ"}):(0,i.jsxs)("div",{className:"flex flex-col min-h-0 max-h-[360px]",children:[x.canScrollUp&&(0,i.jsx)("div",{className:"flex shrink-0 justify-center py-1.5",children:(0,i.jsx)(E.A,{className:"h-5 w-5 text-muted-foreground","aria-hidden":!0})}),(0,i.jsx)("div",{ref:h,onScroll:p,className:"flex flex-col gap-2 overflow-y-auto min-h-0 flex-1 pr-1 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:a.map(a=>(0,i.jsx)("button",{type:"button",onClick:()=>{t({time:a}),d&&d(a)},className:(0,T.cn)("rounded-md border px-3 py-2 text-sm font-medium transition-colors",e.time===a?"bg-primary text-primary-foreground border-primary":"bg-background hover:bg-accent border-border"),children:a},a))}),x.canScrollDown&&(0,i.jsx)("div",{className:"flex shrink-0 justify-center py-1.5",children:(0,i.jsx)(M.A,{className:"h-5 w-5 text-muted-foreground","aria-hidden":!0})})]}):(0,i.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"è«å
é¸ææ¥æ"})})]})})]}),(0,i.jsxs)("div",{className:"space-y-4",children:[(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(O.J,{htmlFor:"method",className:"text-sm font-medium",children:"諮詢æ¹å¼"}),(0,i.jsxs)(F.l6,{value:e.method,onValueChange:a=>{t({method:a,locationChoice:"é¢å°é¢è«®è©¢"===a?e.locationChoice:"",customLocation:"é¢å°é¢è«®è©¢"===a?e.customLocation:""})},children:[(0,i.jsx)(F.bq,{children:(0,i.jsx)(F.yv,{placeholder:"è«é¸æè«®è©¢æ¹å¼"})}),(0,i.jsx)(F.gC,{children:q.map(e=>(0,i.jsx)(F.eb,{value:e,children:e},e))})]})]}),"é¢å°é¢è«®è©¢"===e.method&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(O.J,{htmlFor:"locationChoice",className:"text-sm font-medium",children:"å°é»é¸æ"}),(0,i.jsxs)(F.l6,{value:e.locationChoice,onValueChange:a=>{t({locationChoice:a,customLocation:"æå®å°é»"===a?e.customLocation:""})},children:[(0,i.jsx)(F.bq,{children:(0,i.jsx)(F.yv,{placeholder:"è«é¸æå°é»"})}),(0,i.jsx)(F.gC,{children:z.map(e=>(0,i.jsx)(F.eb,{value:e,children:e},e))})]})]}),"æå®å°é»"===e.locationChoice&&(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(O.J,{htmlFor:"customLocation",className:"text-sm font-medium",children:"æå®å°é»"}),(0,i.jsx)($.p,{id:"customLocation",value:e.customLocation,onChange:e=>t({customLocation:e.target.value}),placeholder:"è«è¼¸å
¥å°é»"})]}),e.locationChoice&&(0,i.jsxs)("div",{className:"space-y-2",children:[v&&(0,i.jsx)("div",{className:"rounded-md border border-destructive/30 bg-destructive/10 px-3 py-2 text-sm text-destructive",children:v}),!v&&(0,i.jsx)(R,{query:g,title:"é¢å°é¢è«®è©¢å°å"})]})]})]}),(0,i.jsxs)("div",{className:"space-y-4",children:[(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(O.J,{htmlFor:"topic",className:"text-sm font-medium",children:"諮詢é
ç®"}),(0,i.jsxs)(F.l6,{value:e.topic,onValueChange:e=>t({topic:e}),children:[(0,i.jsx)(F.bq,{children:(0,i.jsx)(F.yv,{placeholder:"è«é¸æè«®è©¢é
ç®"})}),(0,i.jsx)(F.gC,{children:J.map(e=>(0,i.jsx)(F.eb,{value:e,children:e},e))})]})]}),(0,i.jsxs)("div",{className:"space-y-2",children:[(0,i.jsx)(O.J,{htmlFor:"note",className:"text-sm font-medium",children:"å註"}),(0,i.jsx)(B.T,{id:"note",value:e.note,onChange:e=>t({note:e.target.value}),placeholder:"å¯é¸å¡«ï¼èªªææ¨çéæ±æç¹æ®æ
æ³",rows:4,maxLength:800})]})]})]})}var H=a(62557),X=a(21016),Z=a(6524),Q=a(75123),ee=a(99307),et=a(25450),ea=a(90612),ei=a(63533);let es=[{key:"personal",title:"åäººè³æéç¨åç¥",icon:Q.A,summary:"說æè
1éé
ç®ã使ç¨ç®çãä¿çæéè使ç¨è
æ¬å©è¡ä½¿ç®¡éã",details:["èéé
ç®å
éå§åãè¯çµ¡æ¹å¼ãé ç´ç´éèå¿
è¦èå¥è³æï¼ç¨æ¼é¡§åæåã帳èå®å
¨ç¨½æ ¸èæ³è¦éµå¾ªã","è³ææ¼å¸³èå卿é忳令æå¥ç´è¦æ±çä¿çå¹´éå¾ï¼æä»¥å¿ååæåªé¤æ¹å¼é²è¡èçã","æ¨å¯ééãè¨å® > è³æç®¡çãæå®¢æï¼ç³è«æ¥è©¢ãä¸è¼ãæ´æ£æåªé¤åäººè³æã"],checkboxLabel:"æå·²è©³è®ä¸¦åæå¹³å°ä¾ä¸è¿°æ¹å¼èéãèçèå©ç¨æçåäººè³æã",required:!0},{key:"financial",title:"財åè³æææ¬",icon:ee.A,summary:"ææ¬é¡§åè¨æååå¿
è¦ç財åè³æï¼å
便¬æ¬¡è«®è©¢èè¨ç®ä½¿ç¨ã",details:["ææ¬è³æå
å
嫿¨ä¸»å鏿å享ç財åè³è¨ï¼æ¶å
¥ãæ¯åºãè³ç¢è² åµãæè³æç´°çï¼ã","é¡§åä¸å¾ä¸è¼ãè½äº¤ç¬¬ä¸æ¹æå¦ä½ä»ç¨ï¼å
è½å¨æ¬å¹³å°ä»é¢é±è®ä¸¦å建è°ç´éã","æ¨å¯é¨ææ¤åææ¬ï¼æ¤åå¾ 24 å°æå
§ç³»çµ±å³åæ¢å
±ç¨ä¸¦å®æåªé¤ã"],checkboxLabel:"æåæå¨æ¬æ¬¡é ç´æéææ¬é¡§åååææå®ç財åè³æä¸¦æä¾å»ºè°ã",required:!0},{key:"financialEdit",title:"財åè³æä»£çºä¿®æ¹ææ¬",icon:et.A,summary:"ææ¬é¡§åå¨è«®è©¢éç¨ä¸ä»£çºæ°å¢ãä¿®æ¹æåªé¤æ¨ç財åè³æã",details:["é¡§åå
å¯å¨æ¨ææ¬çç¯åå
§ä»£çºæä½å¸³æ¶ãè³ç¢ãè² åµãæè³ãç®æ¨ç財åè³æã","ææä¿®æ¹çæçä¸å®æ´ç¨½æ ¸ç´éï¼æä½è
ãæéãä¿®æ¹å/å¾å
§å®¹ï¼ï¼æ¨å¯é¨æå¨ãè¨å® > ä¿®æ¹ç´éã䏿¥çã","æ¨å¯é¨ææ¤åæ¤ææ¬ï¼æ¤åå¾é¡§åå°ç¡æ³ç¹¼çºä»£çºä¿®æ¹æ¨ç財åè³æã"],checkboxLabel:"æåæææ¬é¡§å卿¬æ¬¡é ç´æéä»£çºæ°å¢ãä¿®æ¹æåªé¤æç財åè³æã",required:!1},{key:"privacy",title:"é±ç§æ¬æ¢æ¬¾",icon:ea.A,summary:"äºè§£å¹³å°å¦ä½ä¿è·è³æãç¬¬ä¸æ¹åä½åååè¯ç¹«çªå£ã",details:["ææè³æå³è¼¸åæ¡ TLS 1.2 以ä¸å å¯ï¼ä¸¦ä»¥å¤å±¤éé°èæ¬éæ§ç®¡ä¿è·åæ¾æ¼å°ç£/äºæ´²åæ©æ¿ã","è¥éèéæµæé²ç«¯åæçç¬¬ä¸æ¹åä½ï¼å
æä¾å®ææåæéçæå°è³æä¸¦è¦æ±çåä¿è·ã","å¦éé±ç§ç¸éåå©ï¼å¯éé [email protected] æå®¢æä¸å¿èæåè¯ç¹«ã"],checkboxLabel:"æå·²é±è®ä¸¦åæä¾é±ç§æ¬æ¿çèçèä¿è·æçè³æã",required:!0}];function er({consentState:e,onConsentStateChange:t,onConfirm:a,onBack:r,isSubmitting:n}){let o=e.personal&&e.financial&&e.privacy,c=(0,s.useMemo)(()=>es.map(e=>e.key),[]),[d,m]=(0,s.useState)(()=>new Set),u=d.size>=c.length,h=(0,s.useMemo)(()=>u?[]:es.filter(e=>!d.has(e.key)).map(e=>e.title),[u,d]),x=o&&u&&!n;return(0,i.jsxs)("div",{className:"space-y-6 py-4",children:[(0,i.jsxs)(X.Fc,{className:"border-border/50",children:[(0,i.jsx)(ei.A,{className:"h-4 w-4"}),(0,i.jsx)(X.TN,{className:"text-sm",children:"æ¯é
ææ¬å¯åå¥å±éæ¥ç詳細å
§å®¹ãçºç¢ºä¿æ¨è³å°ææ©æçéæææ¢æ¬¾å
§å®¹ï¼éå°æ¯ä¸æ®µå
§å®¹å±éé䏿¬¡å¾ï¼æå¯åå¾ä»æ¬¾ï¼æ¨ç¤ºãé¸å¡«ãè
çºå¯é¸ææ¬ã"})]}),!u&&(0,i.jsx)(X.Fc,{className:"border-border/50",children:(0,i.jsxs)(X.TN,{className:"text-sm",children:["å°æªå±éï¼",h.join("ã")]})}),(0,i.jsx)(Z.nD,{type:"multiple",className:"space-y-3",onValueChange:e=>{m(t=>{let a=new Set(t);return e.forEach(e=>a.add(String(e))),a})},children:es.map(a=>{let s=a.icon;return(0,i.jsxs)(Z.As,{value:a.key,className:"border-border/50",children:[(0,i.jsx)(Z.$m,{className:"text-left py-3",children:(0,i.jsxs)("div",{className:"flex items-center gap-2",children:[(0,i.jsx)(s,{className:"h-4 w-4 text-primary"}),(0,i.jsx)("span",{className:"text-sm font-medium",children:a.title}),!a.required&&(0,i.jsx)("span",{className:"text-xs text-muted-foreground bg-muted px-1.5 py-0.5 rounded",children:"é¸å¡«"})]})}),(0,i.jsxs)(Z.ub,{className:"space-y-3 pt-2 text-sm text-muted-foreground",children:[(0,i.jsx)("p",{children:a.summary}),(0,i.jsx)("ul",{className:"list-disc space-y-1.5 pl-5",children:a.details.map((e,t)=>(0,i.jsx)("li",{children:e},`${a.key}-detail-${t}`))}),(0,i.jsxs)("div",{className:"mt-4 flex items-start gap-3 rounded-md border border-border/50 p-3 bg-muted/30",children:[(0,i.jsx)(H.S,{id:`${a.key}-checkbox`,checked:e[a.key],onCheckedChange:e=>t({[a.key]:!!e}),className:"mt-0.5"}),(0,i.jsx)(O.J,{htmlFor:`${a.key}-checkbox`,className:"text-sm leading-relaxed cursor-pointer",children:a.checkboxLabel})]})]})]},a.key)})}),(0,i.jsx)("div",{className:"sticky bottom-0 bg-background border-t pt-4 mt-6 -mx-4 sm:-mx-6 px-4 sm:px-6 pb-0",children:(0,i.jsxs)("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[(0,i.jsx)(l.$,{variant:"outline",onClick:r,className:"w-full sm:w-auto",children:"ä¸ä¸æ¥"}),(0,i.jsx)(l.$,{onClick:a,disabled:!x,className:"w-full sm:w-auto",children:n?"èçä¸...":"åå¾ä»æ¬¾"})]})})]})}var en=a(10250);let el=[{id:"form",label:"填寫é ç´",icon:ei.A},{id:"consent",label:"ææ¬åæ",icon:Q.A},{id:"summary",label:"確èªä»æ¬¾",icon:en.A}];function eo({currentStep:e}){let t=el.findIndex(t=>t.id===e);return(0,i.jsx)("div",{className:"w-full py-4",children:(0,i.jsx)("div",{className:"flex items-center justify-between",children:el.map((e,a)=>{let s=e.icon,r=a<t,n=a===t,l=a>t;return(0,i.jsxs)("div",{className:"flex items-center flex-1",children:[(0,i.jsxs)("div",{className:"flex flex-col items-center flex-1",children:[(0,i.jsx)("div",{className:(0,T.cn)("flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors",r&&"bg-primary border-primary text-primary-foreground",n&&"bg-primary border-primary text-primary-foreground",l&&"bg-background border-muted-foreground
1/30 text-muted-foreground"),children:r?(0,i.jsx)(en.A,{className:"h-5 w-5"}):(0,i.jsx)(s,{className:"h-5 w-5"})}),(0,i.jsx)("span",{className:(0,T.cn)("mt-2 text-xs font-medium transition-colors",r&&"text-primary",n&&"text-primary font-semibold",l&&"text-muted-foreground"),children:e.label})]}),a<el.length-1&&(0,i.jsx)("div",{className:(0,T.cn)("h-0.5 flex-1 mx-2 transition-colors",r?"bg-primary":"bg-muted-foreground/30")})]},e.id)})})})}var ec=a(33700);let ed=["é¡§å辦å
¬å®¤","æå®å°é»"],em=y.Ik({date:y.Yj().min(1,"è«é¸ææ¥æ"),time:y.Yj().min(1,"è«é¸ææé"),method:y.k5(["é¢å°é¢è«®è©¢","ç·ä¸è«®è©¢","é»è©±è«®è©¢"]),locationChoice:y.Yj().optional(),customLocation:y.Yj().optional(),topic:y.Yj().min(1,"è«é¸æè«®è©¢é
ç®"),note:y.Yj().max(800).optional()}),eu=[{key:"personal",title:"åäººè³æéç¨åç¥",summary:"說æèéé
ç®ã使ç¨ç®çãä¿çæéè使ç¨è
æ¬å©è¡ä½¿ç®¡éã",details:["èéé
ç®å
éå§åãè¯çµ¡æ¹å¼ãé ç´ç´éèå¿
è¦èå¥è³æï¼ç¨æ¼é¡§åæåã帳èå®å
¨ç¨½æ ¸èæ³è¦éµå¾ªã","è³ææ¼å¸³èå卿é忳令æå¥ç´è¦æ±çä¿çå¹´éå¾ï¼æä»¥å¿ååæåªé¤æ¹å¼é²è¡èçã","æ¨å¯ééãè¨å® > è³æç®¡çãæå®¢æï¼ç³è«æ¥è©¢ãä¸è¼ãæ´æ£æåªé¤åäººè³æã"],checkboxLabel:"æå·²è©³è®ä¸¦åæå¹³å°ä¾ä¸è¿°æ¹å¼èéãèçèå©ç¨æçåäººè³æã"},{key:"financial",title:"財åè³æææ¬",summary:"ææ¬é¡§åè¨æååå¿
è¦ç財åè³æï¼å
便¬æ¬¡è«®è©¢èè¨ç®ä½¿ç¨ã",details:["ææ¬è³æå
å
嫿¨ä¸»å鏿å享ç財åè³è¨ï¼æ¶å
¥ãæ¯åºãè³ç¢è² åµãæè³æç´°çï¼ã","é¡§åä¸å¾ä¸è¼ãè½äº¤ç¬¬ä¸æ¹æå¦ä½ä»ç¨ï¼å
è½å¨æ¬å¹³å°ä»é¢é±è®ä¸¦å建è°ç´éã","æ¨å¯é¨ææ¤åææ¬ï¼æ¤åå¾ 24 å°æå
§ç³»çµ±å³åæ¢å
±ç¨ä¸¦å®æåªé¤ã"],checkboxLabel:"æåæå¨æ¬æ¬¡é ç´æéææ¬é¡§åååææå®ç財åè³æä¸¦æä¾å»ºè°ã"},{key:"financialEdit",title:"財åè³æä»£çºä¿®æ¹ææ¬",summary:"ææ¬é¡§åå¨è«®è©¢éç¨ä¸ä»£çºæ°å¢ãä¿®æ¹æåªé¤æ¨ç財åè³æã",details:["é¡§åå
å¯å¨æ¨ææ¬çç¯åå
§ä»£çºæä½å¸³æ¶ãè³ç¢ãè² åµãæè³ãç®æ¨ç財åè³æã","ææä¿®æ¹çæçä¸å®æ´ç¨½æ ¸ç´éï¼æä½è
ãæéãä¿®æ¹å/å¾å
§å®¹ï¼ï¼æ¨å¯é¨æå¨ãè¨å® > ä¿®æ¹ç´éã䏿¥çã","æ¨å¯é¨ææ¤åæ¤ææ¬ï¼æ¤åå¾é¡§åå°ç¡æ³ç¹¼çºä»£çºä¿®æ¹æ¨ç財åè³æã"],checkboxLabel:"æåæææ¬é¡§å卿¬æ¬¡é ç´æéä»£çºæ°å¢ãä¿®æ¹æåªé¤æç財åè³æã"},{key:"privacy",title:"é±ç§æ¬æ¢æ¬¾",summary:"äºè§£å¹³å°å¦ä½ä¿è·è³æãç¬¬ä¸æ¹åä½åååè¯ç¹«çªå£ã",details:["ææè³æå³è¼¸åæ¡ TLS 1.2 以ä¸å å¯ï¼ä¸¦ä»¥å¤å±¤éé°èæ¬éæ§ç®¡ä¿è·åæ¾æ¼å°ç£/äºæ´²åæ©æ¿ã","è¥éèéæµæé²ç«¯åæçç¬¬ä¸æ¹åä½ï¼å
æä¾å®ææåæéçæå°è³æä¸¦è¦æ±çåä¿è·ã","å¦éé±ç§ç¸éåå©ï¼å¯éé [email protected] æå®¢æä¸å¿èæåè¯ç¹«ã"],checkboxLabel:"æå·²é±è®ä¸¦åæä¾é±ç§æ¬æ¿çèçèä¿è·æçè³æã"}];function eh({advisor:e,open:t,onOpenChange:a,presetDate:y,embedded:E=!1,showCloseButton:M=!0,bookingContext:O}){let $=(0,r.useRouter)(),{toast:F}=(0,c.dj)(),{user:B}
1=(0,d.A)(),[T,R]=(0,s.useState)(e),U=T||e,[V,G]=(0,s.useState)("form"),[P,W]=(0,s.useState)({date:"",time:"",method:"",locationChoice:"",customLocation:"",topic:"",note:""}),[Y,q]=(0,s.useState)({personal:!1,financial:!1,financialEdit:!1,privacy:!1}),[z,J]=(0,s.useState)(null),[H,X]=(0,s.useState)(!1),[Z,Q]=(0,s.useState)(!1),[ee,et]=(0,s.useState)({}),[ea,ei]=(0,s.useState)(!1),{minDate:es,maxDate:en}=(0,s.useMemo)(()=>{let e=U?.advanceBookingDays??p.X.ADVANCE_BOOKING_DAYS,t=U?.bookingWindowDays??p.X.BOOKING_WINDOW_DAYS;return{minDate:(0,f.ll)(e),maxDate:(0,f.ll)(t)}},[U?.advanceBookingDays,U?.bookingWindowDays]),{availableTimeOptions:el}=function({advisor:e,selectedDate:t,bookedSlotsByDate:a,isOpen:i=!0}){let r=(0,s.useMemo)(()=>Array.from({length:48},(e,t)=>{let a=Math.floor(t/2);return`${String(a).padStart(2,"0")}:${String(t%2*30).padStart(2,"0")}`}),[]);return{availableTimeOptions:(0,s.useMemo)(()=>{if(!i||!e||!t)return[];let s=a[t]||{},n=new Date,l=(0,f.ri)(),o=60*n.getHours()+n.getMinutes(),[c,d,m]=t.split("-").map(Number),u=new Date(Date.UTC(c,d-1,m,0,0,0,0)).getUTCDay(),h=e.specificDates?.[t]||[],x=e.weeklySchedule||{},p=[];if(x[u]&&Array.isArray(x[u]))p=x[u];else{let e=String(u);if(x[e]&&Array.isArray(x[e]))p=x[e];else for(let e in x){let t=Number(e);if(!isNaN(t)&&t===u&&Array.isArray(x[e])){p=x[e];break}}}let g=h.length>0?h:p;return 0===g.length?[]:r.filter(e=>!(!g.includes(e)||s[e]||t===l&&(e=>
1{let[t,a]=e.split(":").map(Number);return 60*t+a})(e)<=o)&&!0)},[r,a,t,e,i]),allTimeSlots:r}}({advisor:U,selectedDate:P.date,bookedSlotsByDate:ee,isOpen:t}),{availableDates:ex,availableSlotsCount:ef}=(0,s.useMemo)(()=>{let e=new Set,t={};if(!U)return{availableDates:e,availableSlotsCount:t};let a=U.weeklySchedule||{},i=U.specificDates||{},s=U.advanceBookingDays??p.X.ADVANCE_BOOKING_DAYS,r=U.bookingWindowDays??p.X.BOOKING_WINDOW_DAYS,n=(0,f.ll)(s),l=(0,f.ll)(r),o=(0,f.ri)(),c=(0,f.SD)(o);for(let d=0;d<=r-s;d++){let r=new Date(Date.UTC(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()+s+d)),m=r.toISOString().split("T")[0];if(m<n||m>l)continue;let u=r.getUTCDay(),h=[];if((h=i[m]?i[m]:a[u]||a[String(u)]||[]).length>0){let a=ee[m]||{},i=h.filter(e=>!a[e]).length;if(m===o){let e=new Date,t=60*e.getHours()+e.getMinutes();i=h.filter(e=>{if(a[e])return!1;let[i,s]=e.split(":").map(Number);return 60*i+s>t}).length}i>0&&(e.add(m),t[m]=i)}}return{availableDates:e,availableSlotsCount:t}},[U,ee]),{activeBooking:ep,isLoading:eg,loadPendingBooking:ev,setBooking:ey,clearBooking:eb,checkBookingExpired:ej}=function({onBookingLoaded:e,onBookingExpired:t}={}){let{user:a}=(0,d.A)(),{toast:i}=(0,c.dj)(),{state:r,setLoading:n,setError:l,setData:o}=(0,L.R)(null),m=(0,s.useRef)(!1),u=(0,s.useRef)(null),h=(0,s.useCallback)(async t=>{if(!a||!t)return null;try{n(!0),l(null);let s=await A.y.getBookingById(t);if(!s)return i({variant:"destructive",title:"æ¾ä¸å°é ç´è³æ",description:"é ç´å¯è½å·²è¢«åæ¶æä¸åå¨ã"}),localStorage.removeItem("pendingBookingId"),null;if(s.userId!==a.uid)return i({variant:"destructive",title:"ç¡æ¬é",description:"æ¤é ç´ä¸å±¬æ¼æ¨ã"}),null;if("cancelled"===s.status)return i({variant:"destructive",title:"é ç´å·²åæ¶",description:"æ¤é ç´å·²è¢«åæ¶ã"}),localStorage.removeItem("pendingBookingId"),null;if("paid"===s.status)return i({title:"é ç´å·²å®æ",description:"æ¤é ç´å·²å®æä»æ¬¾ã"}),localStorage.removeItem("pendingBookingId"),null;if(!v.db)return i({variant:"destructive",title:"系統é¯èª¤",description:"è³æåº«å°æªåå§åã"}),null;let r=(0,I.doc)(v.db,v.ADVISORS,s.advisorId),c=await (0,I.getDoc)(r);if(!c.exists())return i({variant:"destructive",title:"æ¾ä¸å°é¡§åè³æ",description:"é¡§åå¯è½å·²è¢«åç¨ã"}),localStorage.removeItem("pendingBookingId"),null;let d=c.data(),m={id:c.id,...d};if(!1===m.isActive)return i({variant:"destructive",title:"é¡§åå·²åç¨",description:"æ¤é¡§åå·²åç¨ï¼ç¡æ³ç¹¼çºé ç´æµç¨ã"}),localStorage.removeItem("pendingBookingId"),null;return o(s),e&&e(s,m),s}catch(t){(0,C.vV)("è¼å
¥å¾
宿é ç´å¤±æ:",t);let e="ç¡æ³è¼å
¥é ç´è³æï¼è«ç¨å¾å試ã";return t?.message?e=t.message:t?.code==="permission-denied"?e="æ¨æ²ææ¬éæ¥çæ¤é ç´ã":t?.code==="not-found"&&(e="æ¾ä¸å°é ç´è³æï¼é ç´å¯è½å·²è¢«åªé¤ã"),l(e),i({variant:"destructive",title:"è¼å
¥å¤±æ",description:e}),localStorage.removeItem("pendingBookingId"),null}finally{n(!1)}},[a,i,n,l,o,e]),x=(0,s.useCallback)(e=>{if(!e.createdAt)return!1;let a=new Date(e.createdAt);return new Date>new Date(a.getTime()+15e3)&&(t&&t(e.id),!0)},[t]),f=(0,s.useCallback)(e=>{o(e),e?localStorage.setItem("pendingBookingId",e.id):localStorage.removeItem("pendingBookingId")},[o]),p=(0,s.useCallback)(()=>{o(null),l(null),localStorage.removeItem("pendingBookingId"),m.current=!1,u.current=null},[o,l]);return{activeBooking:r.data||null,isLoading:r.isLoading,error:r.error,loadPendingBooking:h,setBooking:f,clearBooking:p,checkBookingExpired:x}}({onBookingLoaded:(0,s.useCallback)((e,t)=>{t&&R(t),W({date:e.date,time:e.time,method:e.method,locationChoice:e.location?ed.includes(e.location)?e.location:"æå®å°é»":"",customLocation:e.location&&!ed.includes(e.location)?e.location:"",topic:e.topic||"",note:e.note||""}),"pending"===e.status?(G("consent"),q({personal:!1,financial:!1,financialEdit:!1,privacy:!1})):"authorized"===e.status&&(G("summary"),e.calendarLink&&J(e.calendarLink))},[R,W,G,q,J])}),ew=(0,s.useCallback)(()=>{G("form"),W({date:"",time:"",method:"",locationChoice:"",customLocation:"",topic:"",note:""}),q({personal:!1,financial:!1,financialEdit:!1,privacy:!1}),eb(),J(null),X(!1),Q(!1)},[eb,G,W,q,J,X,Q]),{isPaymentLoading:eN,startPayment:eC}=(0,_.L)();(0,s.useEffect)(()=>
1{if(!U||!t)return;let e=!1;return ei(!0),(0,m.GB)(U.id).then(t=>{if(e)return;let a={};t.forEach(e=>{if(!e.date||!Array.isArray(e.times))return;let t=e.date.includes("T")?e.date.split("T")[0]:e.date;a[t]||(a[t]=new Set),e.times.forEach(e=>{e&&a[t].add(e)})});let i={},s=U.weeklySchedule||{},r=U.specificDates||{};Object.keys(r).forEach(e=>{let t=e.includes("T")?e.split("T")[0]:e,s=r[e]||[],n=a[t]||new Set;i[t]||(i[t]={}),s.forEach(e=>{n.has(e)||(i[t][e]=!0)})});let n=new Date;n.setUTCHours(0,0,0,0);for(let e=0;e<30;e++){let t=new Date(Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()+e)),l=t.toISOString().split("T")[0];if(r[l])continue;let o=t.getUTCDay(),c=s[o]||s[String(o)]||[];if(0===c.length)continue;let d=a[l]||new Set;i[l]||(i[l]={}),c.forEach(e=>{d.has(e)||(i[l][e]=!0)})}et(i)}).catch(e=>{(0,C.vV)("è¼å
¥é¡§åé ç´ææ®µå¤±æ:",e),F({variant:"destructive",title:"è¼å
¥é ç´ææ®µå¤±æ",description:"æ«æç¡æ³åå¾é¡§åç¾æææ®µï¼è«ç¨å¾å試ã"})}).finally(()=>{e||ei(!1)}),()=>{e=!0}},[U,t,F]);let ek=(0,r.useSearchParams)(),eS=(0,s.useRef)(!1),eD=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(!t){let e=ep?.id;e&&("pending"===ep.status||"authorized"===ep.status)?localStorage.setItem("pendingBookingId",e):localStorage.removeItem("pendingBookingId"),ew(),eS.current=!1,eD.current=null;return}let e=ek?.get("bookingId"),a=localStorage.getItem("pendingBookingId"),i=e||a;if((!i||eD.current!==i)&&(!eS.current||!i))if(i&&B&&t){eS.current=!0,eD.current=i;let t=setTimeout(()=>{ev(i).then(t=>{if(t&&e){let e=window.location.pathname+(window.location.search.replace(/[?&]bookingId=[^&]*/,"").replace(/^&/,"?")||"");window.history.replaceState({},"",e)}}).catch(e=>{(0,C.vV)("è¼å
¥é ç´å¤±æ:",e),eS.current=!0})},100);return()=>clearTimeout(t)}else y&&!i&&W(e=>({...e,date:y}))},[t,y,ek,B,ev,ep?.id,ep?.status,ew]),(0,s.useEffect)(()=>{e&&R(e)},[e]),(0,s.useEffect)(()=>{ep&&"consent"===V&&ej(ep)&&eb()},[ep,V,ej,eb,G,q,F]);let eA=(0,s.useMemo)(()=>"é¢å°é¢è«®è©¢"!==P.method?"":"é¡§å辦å
¬å®¤"===P.locationChoice?(U?.officeAddress||"").trim():"æå®å°é»"===P.locationChoice?(P.customLocation||"").trim():"",[U?.officeAddress,P.method,P.locationChoice,P.customLocation]),eI=async()=>{if(U&&(B||(F({variant:"destructive",title:"è«å
ç»å
¥",description:"é ç´é¡§åæåéè¦ç»å
¥å¸³èï¼å°çºæ¨å°åç»å
¥é é¢ã"}),$.push("/auth"),a(!1),0)))try{X(!0);let e=U.advanceBookingDays??p.X.ADVANCE_BOOKING_DAYS,t=U.bookingWindowDays??p.X.BOOKING_WINDOW_DAYS,a=(0,f.ll)(e),i=(0,f.ll)(t);if(P.date<a)return void F({variant:"destructive",title:"æ¥æä¸ç¬¦åæåé ç´è¦æ±",description:`æ¤é¡§åè¦æ±æå ${e} 天é ç´ï¼ææ©å¯é ç´æ¥æçº ${a}ã`});if(P.date>i)return void F({variant:"destructive",title:"æ¥æè¶
åºéæ¾ç¯å",description:`æ¤é¡§ååªéæ¾æªä¾ ${t} 天å
§çé ç´ï¼ææå¯é ç´æ¥æçº ${i}ã`});let s=em.safeParse({...P,locationChoice:"é¢å°é¢è«®è©¢"===P.method?P.locationChoice:"",customLocation:P.customLocation});if(!s.success){let e=s.error.issues[0]?.message??"è«æª¢æ¥è¡¨å®æ¬ä½";F({variant:"destructive",title:"表å®é©è失æ",description:e});return}if("é¢å°é¢è«®è©¢"===P.method){if(!P.locationChoice)return void F({variant:"destructive",title:"è«é¸æè«®è©¢å°é»",description:"é¢å°é¢è«®è©¢éè¦é¸æè«®è©¢å°é»ã"});if("é¡§å辦å
¬å®¤"===P.locationChoice&&!eA)return void F({variant:"destructive",title:"é¡§å辦å
¬å®¤å°åæªè¨å®",description:"æ¤é¡§åå°æªè¨å®è¾¦å
¬å®¤å°åï¼è«æ¹é¸ãæå®å°é»ãæç¨å¾å試ã"});if("æå®å°é»"===P.locationChoice&&!P.customLocation.trim())return void F({variant:"destructive",title:"è«è¼¸å
¥æå®å°é»",description:"è«æä¾è©³ç´°ç諮詢å°é»ä»¥ä¾¿é¡§å宿ã"})}if(P.date&&P.time&&!el.includes(P.time))return void F({variant:"destructive",title:"ææ®µå·²è¢«é ç´",description:"æ¤ææ®µå·²ç¡æ³é ç´ï¼è«éæ°é¸æå
¶ä»ææ®µã"});if(ep&&("pending"===ep.status||"authorized"===ep.status)){let e=ep.date!==P.date,t=ep.time!==P.time;if(e||t)try{await m.yZ.cancelBooking(ep.id),F({title:"已忶èé ç´",description:"已忶åé ç´ï¼å°å»ºç«æ°çé ç´ã"}),eb()}catch(t){(0,C.vV)("åæ¶èé ç´å¤±æ:",t);let e="ç¡æ³åæ¶èé ç´ï¼è«ç¨å¾å試ã";if(t instanceof N.g&&("permission-denied"===t.code?e="æ¨æ²ææ¬éåæ¶æ¤é ç´ã":"not-found"===t.code?e="æ¾ä¸å°èé ç´è³æï¼å°ç´æ¥å»ºç«æ°é ç´ã":"failed-precondition"===t.code&&(e="èé ç´çæ
å·²æ¹è®ï¼ç¡æ³åæ¶ã")),F({variant:"destructive",title:"åæ¶èé ç´å¤±æ",description:e}),!(t instanceof N.g&&"not-found"===t.code))return}}let r=(B?.uid?await (0,D.L)(B.uid):null)||B?.displayName||B?.email?.split("@")[0]||"æªå½åç¨æ¶",n=u.jg.parse({userId:B?.uid,userEmail:B?.email,userDisplayName:r,advisorId:U.id,advisorName:U.name,advisorEmail:U.email||"",advisorFee:Number(U.fee||0),date:P.date,time:P.time,method:P.method,location:eA,topic:P.topic,note:P.note,status:"pending",...O&&{bookingContext:O}});if(!v.functions)throw Error("Firebase Functions æªåå§å");let l=(0,g.httpsCallable)(v.functions,"createBookingAtomic"),o=await l({bookingData:n});if(!o.data.success)throw Error("é ç´å»ºç«å¤±æ");let c={id:o.data.bookingId,...o.data.booking};
1if(et(e=>({...e,[n.date]:{...e[n.date]||{},[n.time]:!0}})),ey(c),G("consent"),F({title:"é ç´è³æå·²å»ºç«",description:"è«å®æææ¬ç¢ºèªä»¥é²å ¥ä»æ¬¾æµç¨ã"}),B?.uid&&c)try{let e=await k.M.createChatRoom(B.uid,U.id,U.name,U.avatar??null,c.userDisplayName??r,c.userEmail??B.email??null),t=c.method??"",a=c.location?`ï¼${c.location}`:"",i=`æå·²é ç´æ¨ç諮詢ï¼${c.date} ${c.time}ï¼ï¼${t}${a}ï¼${c.topic??""}ã`;await S.s.sendMessage(e.id,B.uid,"user",c.userDisplayName??r,i)}catch(e){(0,C.vV)("建ç«è天室æç¼éé è¨è¨æ¯å¤±æ",e),F({variant:"destructive",title:"è天室建ç«å¤±æ",description:"æ¨ä»å¯å¾ãè天ãæåéåèé¡§åçå°è©±ã"})}}catch(t){(0,C.vV)("é ç´æäº¤æç¼çé¯èª¤:",t);let e="é ç´å»ºç«å¤±æï¼è«ç¨å¾å試ã";if(t instanceof b.G)e=t.issues[0]?.message||e;else if(t instanceof N.g){let a=t.code,i=t.message;e="failed-precondition"===a?i||"é ç´æ¢ä»¶ä¸ç¬¦ï¼è«æª¢æ¥é¡§åçæ æææ®µå¯ç¨æ§ã":"not-found"===a?i||"æ¾ä¸å°é¡§åè³æã":"permission-denied"===a?i||"æ²ææ¬éå»ºç«æ¤é ç´ã":"invalid-argument"===a?i||"é ç´è³ææ ¼å¼é¯èª¤ã":i||e}else t instanceof Error&&(e=t.message||e);F({variant:"destructive",title:"建ç«é ç´å¤±æ",description:e})}finally{X(!1)}},eL=async()=>{if(ep&&U&&B){if(!Y.personal||!Y.financial||!Y.privacy)return void F({variant:"destructive",title:"å°æªå®æææ¬",description:"è«ç¢ºèªä¸é ææ¬å §å®¹å¾åç¹¼çºã"});try{var e;let t;Q(!0);let a=JSON.stringify({advisorId:U.id,advisorName:U.name,userId:B.uid,clauses:eu.map(e=>e.summary)}),i=await h(a),s=await m.c$.addConsent({bookingId:ep.id,userId:B.uid,advisorId:U.id,userEmail:B.email||"",advisorEmail:U.email||"",personalDataAgreement:Y.personal,financialDataAgreement:Y.financial,financialDataEditAgreement:Y.financialEdit,privacyAgreement:Y.privacy,consentVersion:"2025-11-24",consentContentHash:i,acceptedAt:new Date().toISOString()}),r=new Date(`${ep.date}T${ep.time}:00`),n=new Date(r.getTime()+36e5),l=(e={title:`財å諮詢æåé ç´ - ${U.name}`,details:`諮詢主é¡ï¼${ep.topic} 2注æäºé ï¼${ep.note||"ç¡"}`,location:eA||"ç·ä¸",start:r,end:n},t=new URLSearchParams({action:"TEMPLATE",text:e.title,details:e.details,dates:`${x(e.start)}/${x(e.end)}`}),e.location&&t.set("location",e.location),`https://calendar.google.com/calendar/render?${t.toString()}`),o=await m.yZ.updateBooking(ep.id,{consentId:s.id,calendarLink:l,status:"authorized"});ey(o),J(l),await eC(o)}catch(e){F({variant:"destructive",title:"ææ¬å¤±æ",description:e instanceof Error?e.message:"系統ç¼çé¯èª¤ï¼è«ç¨å¾å試ã"})}finally{Q(!1)}}},e_=()=>(0,i.jsxs)(i.Fragment,{children:[M&&(0,i.jsxs)(n.HM,{className:"absolute right-4 top-4 roun
2ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,i.jsx)(w.A,{className:"h-4 w-4"}),(0,i.jsx)("span",{className:"sr-only",children:"Close"})]}),(0,i.jsxs)(n.c7,{children:[(0,i.jsx)(n.L3,{children:"é ç´é¡§å諮詢"}),(0,i.jsx)(n.rr,{children:"è«ç¢ºèªé¡§åè³è¨å¾å®æé ç´ãææ¬è仿¬¾æµç¨ã"})]}),(0,i.jsx)(eo,{currentStep:V}),eg&&(0,i.jsx)(o.default,{className:"py-8",size:64}),!eg&&!U&&!ep&&(0,i.jsx)("div",{className:"py-8 text-center",children:(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:"ç¡æ³è¼å
¥é¡§åè³æï¼è«ééå°è©±æ¡å¾éæ°é¸æé¡§åã"})}),!eg&&U&&(0,i.jsxs)(i.Fragment,{children:["form"===V&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(K,{formState:P,onFormStateChange:e=>W(t=>({...t,...e})),availableTimeOptions:el,isSlotLoading:ea,minDate:es,maxDate:en,advisorOfficeAddress:U?.officeAddress,availableDates:ex,availableSlotsCount:ef}),(0,i.jsx)("div",{className:"sticky bottom-0 bg-background border-t pt-4 mt-6 -mx-4 sm:-mx-6 px-4 sm:px-6 pb-0",children:(0,i.jsxs)("div",{className:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",children:[(0,i.jsx)(l.$,{variant:"outline",onClick:()=>a(!1),className:"w-full sm:w-auto",children:"åæ¶"}),(0,i.jsx)(l.$,{onClick:eI,disabled:H,className:"w-full sm:w-auto",children:H?"æäº¤ä¸...":"ä¸ä¸æ¥ï¼ææ¬"})]})})]}),"consent"===V&&(0,i.jsx)(er,{consentState:Y,onConsentStateChange:e=>q(t=>({...t,...e})),onConfirm:eL,onBack:()=>G("form"),isSubmitting:Z}),"summary"===V&&(0,i.jsxs)("div",{className:"space-y-4 py-4",children:[(0,i.jsxs)("div",{className:"rounded-lg border p-4 bg-muted/30 space-y-2",children:[(0,i.jsx)("h3",{className:"font-semibold",children:"é ç´æè¦"}),(0,i.jsxs)("div",{className:"grid gap-2 text-sm text-muted-foreground",children:[(0,i.jsxs)("div",{className:"flex justify-between",children:[(0,i.jsx)("span",{children:"æé"}),(0,i.jsxs)("span",{children:[ep?.date," ",ep?.time]})]}),(0,i.jsxs)("div",{className:"flex justify-between",children:[(0,i.jsx)("span",{children:"諮詢æ¹å¼"}),(0,i.jsx)("span",{children:ep?.method})]}),(0,i.jsxs)("div",{className:"flex justify-between",children:[(0,i.jsx)("span",{children:"主é¡"}),(0,i.jsx)("span",{children:ep?.topic})]}),(0,i.jsxs)("div",{className:"flex justify-between",children:[(0,i.jsx)("span",{children:"è²»ç¨"}),(0,i.jsxs)("span",{children:["NT$ ",Number(U?.fee||0).toLocaleString()]})]})]})]}),z&&(0,i.jsx)(l.$,{asChild:!0,variant:"outline",className:"w-full",children:(0,i.jsxs)("a",{href:z,target:"_blank",rel:"noreferrer",children:[(0,i.jsx)(j.A,{className:"h-4 w-4 mr-2"}),"å å
¥ Google è¡äºæ"]})})]})]}),!eg&&!U&&!ep&&(0,i.jsxs)("div",{className:"py-8 text-center space-y-4",children:[(0,i.jsx)("p",{className:"text-sm text-muted-foreground",children:"ç¡æ³è¼å
¥é¡§åè³æï¼è«ééå°è©±æ¡å¾éæ°é¸æé¡§åã"}),(0,i.jsx)(l.$,{variant:"outline",onClick:()=>a(!1),children:"éé"})]})]});return E?(0,i.jsx)(i.Fragment,{children:e_()}):(0,i.jsx)(n.lG,{open:t,onOpenChange:a,children:(0,i.jsx)(n.Cf,{className:"w-[calc(100%-1.5rem)] sm:max-w-[640px] max-h-[90vh] overflow-y-auto overflow-x-hidden p-4 sm:p-6 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",asChild:!0,children:(0,i.jsx)("div",{children:(0,i.jsx)(ec.P.div,{initial:{opacity:0,x:100},animate:{opacity:1,x:0},transition:{duration:.3,delay:.3,ease:"easeInOut"},children:e_()})})})})}},57381:(e,t,a)=>{a.d(t,{n:()=>r});var i=a(31615),s=a(85084);function r(e={}){let{enabled:t=!0}=e,[a,n]=(0,i.useState)([]),[l,o]=(0,i.useState)(!1),[c,d]=(0,i.useState)(null);return(0,i.useEffect)(()=>{if(!t)return;let e=!1;return d(null),o(!0),s.advisorOperations.getAllAdvisors().then(t=>{e||n(t??[])}).catch(t=>{e||d(t instanceof Error?t:Error(String(t)))}).finally(()=>{e||o(!1)}),()=>{e=!0}},[t]),{advisors:a,isLoading:l,error:c}}},66592:(e,t,a)=>{a.d(t,{V:()=>c});var i=a(85047);a(31615);var s=a(13144),r=a(95513),n=a(51237),l=a(34961),o=a(21410);function c({className:e,classNames:t,showOutsideDays:a=!0,components:d,...m}){return(0,i.jsx)(n.h,{showOutsideDays:a,className:(0,l.cn)("p-3",e),components:{...d,Chevron:({...e})=>"left"===e.orientation?(0,i.jsx)(s.A,{className:"h-4 w-4"}):(0,i.jsx)(r.A,{className:"h-4 w-4"})}
2,classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:(0,l.cn)((0,o.r)({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",month_grid:"w-full border-collapse table-fixed",weekdays:"w-full",weekday:"text-muted-foreground rounded-md h-9 font-normal text-[0.8rem] text-center align-middle w-[14.28%]",week:"w-full mt-0.5",day:"h-9 w-[14.28%] text-center text-sm p-0 relative align-middle [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",day_button:(0,l.cn)((0,o.r)({variant:"ghost"}),"h-9 w-9 p-0 font-normal aria-selected:opacity-100"),day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...t},...m})}c.displayName="Calendar"},74265:(e,t,a)=>{a.d(t,{X:()=>i});let i={ADVANCE_BOOKING_DAYS:7,BOOKING_WINDOW_DAYS:90,MIN_ADVANCE_BOOKING_DAYS:0,MIN_BOOKING_WINDOW_DAYS:7}},77405:(e,t,a)=>{a.d(t,{a:()=>s});var i=a(31615);function s(){let[e,t]=i.useState(void 0);return i.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}},93674:(e,t,a)=>{a.d(t,{Bu:()=>s,L2:()=>r});let i={CFP:{id:"CFP",name:"èªèç財è¦åé¡§å",abbreviation:"CFP\xae",color:"bg-blue-600",textColor:"text-white",icon:"/certifications/cfp.svg"},RFP:{id:"RFP",name:"註å財åè¦å師",abbreviation:"RFP\xae",color:"bg-green-600",textColor:"text-white",icon:"/certifications/rfp.svg"},RFC:{id:"RFC",name:"註å財åé¡§å",abbreviation:"RFC\xae",color:"bg-purple-600",textColor:"text-white",icon:"/certifications/rfc.svg"},CFA:{id:"CFA",name:"ç¹è¨±è²¡ååæå¸«",abbreviation:"CFA",color:"bg-amber-600",textColor:"text-white",icon:"/certifications/cfa.svg"},CWM:{id:"CWM",name:"èªè財å¯ç®¡ç師",abbreviation:"CWM",color:"bg-indigo-600",textColor:"text-white",icon:"/certifications/cwm.svg"},ChFC:{id:"ChFC",name:"ç¹è¨±è²¡åé¡§å",abbreviation:"ChFC\xae",color:"bg-teal-600",textColor:"text-white",icon:"/certifications/chfc.svg"},CLU:{id:"CLU",name:"ç¹è¨±äººå£½ä¿éªå¸«",abbreviation:"CLU\xae",color:"bg-red-600",textColor:"text-white",icon:"/certifications/clu.svg"},CPA:{id:"CPA",name:"æè¨å¸«",abbreviation:"CPA",color:"bg-slate-600",textColor:"text-white",icon:"/certifications/cpa.svg"}};function s(e){return i[e.toUpperCase()]||null}function r(){return Object.values(i)}}}]);
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.