2 lines
28 KiB
JavaScript
2 lines
28 KiB
JavaScript
(()=>{var a={};a.id=974,a.ids=[974],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},517:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,3991,23)),Promise.resolve().then(c.bind(c,6359))},597:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,5169,23)),Promise.resolve().then(c.bind(c,2446))},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},1181:(a,b,c)=>{"use strict";c.d(b,{Q:()=>f});var d=c(5338),e=c(5952);function f(){return(0,d.jsx)("section",{id:"locations",className:"bg-white py-10 sm:py-12 md:py-16 border-t border-slate-200",children:(0,d.jsxs)("div",{className:"mx-auto max-w-6xl px-4 md:px-6",children:[(0,d.jsxs)("div",{className:"mb-6 grid gap-6 md:grid-cols-[minmax(0,2fr),minmax(0,3fr)] md:items-start",children:[(0,d.jsxs)("div",{className:"max-w-2xl",children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold tracking-tight text-slate-900 sm:text-3xl",children:"Visit one of our offices"}),(0,d.jsx)("p",{className:"mt-3 text-sm text-slate-600 sm:text-base",children:"Convenient locations in Virginia and Maryland, with options for virtual appointments if you prefer to meet online."})]}),(0,d.jsx)("div",{className:"hidden overflow-hidden rounded-3xl border border-slate-200 bg-slate-100 shadow-sm md:block",children:(0,d.jsx)("iframe",{title:"Sample map showing Ghion Financial locations",src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d6209.810247424868!2d-77.135!3d38.848!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x0!2zMzjCsDUwJzUxLjAiTiA3N8KwMDgnMDYuMCJX!5e0!3m2!1sen!2sus!4v1700000000000",loading:"lazy",referrerPolicy:"no-referrer-when-downgrade",className:"h-64 w-full border-0"})})]}),(0,d.jsx)("div",{className:"grid gap-4 md:grid-cols-2",children:e.UU.map(a=>(0,d.jsxs)("article",{className:"rounded-2xl border border-slate-200 bg-slate-50/70 p-5 shadow-sm",children:[(0,d.jsx)("h3",{className:"text-lg font-semibold text-slate-900",children:a.label}),(0,d.jsx)("div",{className:"mt-2 text-sm text-slate-700",children:a.addressLines.map(a=>(0,d.jsx)("div",{children:a},a))}),(0,d.jsx)("div",{className:"mt-2 text-sm",children:(0,d.jsx)("a",{href:a.phoneHref,className:"font-medium text-slate-900 hover:text-sky-700",children:a.phone})}),(0,d.jsx)("div",{className:"mt-1 text-sm",children:(0,d.jsx)("a",{href:a.emailHref,className:"text-slate-700 hover:text-sky-700",children:a.email})}),(0,d.jsx)("div",{className:"mt-3 text-xs",children:(0,d.jsx)("a",{href:a.mapUrl,target:"_blank",rel:"noreferrer",className:"font-medium text-sky-700 hover:underline",children:"View on map"})})]},a.id))})]})})}},2446:(a,b,c)=>{"use strict";c.r(b),c.d(b,{Button:()=>e,buttonVariants:()=>f});var d=c(7954);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call Button() from the server but Button is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/kirukib/Desktop/Ghion Finance/src/components/ui/button.tsx","Button"),f=(0,d.registerClientReference)(function(){throw Error("Attempted to call buttonVariants() from the server but buttonVariants is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/kirukib/Desktop/Ghion Finance/src/components/ui/button.tsx","buttonVariants")},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4801:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>o});var d=c(5338),e=c(5169),f=c.n(e),g=c(2446);function h(){return(0,d.jsx)("section",{className:"bg-gradient-to-b from-slate-900 via-slate-950 to-slate-900 -mt-20 pt-6",children:(0,d.jsxs)("div",{className:"mx-auto flex min-h-screen max-w-6xl flex-col gap-10 px-4 pb-16 pt-24 md:flex-row md:items-center md:px-6 md:pb-20 md:pt-28",children:[(0,d.jsxs)("div",{className:"max-w-xl space-y-7",children:[(0,d.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-full bg-slate-800/70 px-3 py-1 text-[0.65rem] font-semibold uppercase tracking-[0.18em] text-sky-200",children:[(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400"}),"Tax & insurance experts for the DMV"]}),(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsxs)("h1",{className:"font-serif text-4xl font-bold leading-tight tracking-tight text-white sm:text-[2.75rem]",children:["Strategic tax help for"," ",(0,d.jsx)("span",{className:"text-sky-300",children:"smarter business"})," and family finances."]}),(0,d.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-slate-200 sm:text-base",children:"Join clients across Virginia and Maryland who rely on Ghion Financial for accurate tax preparation, insurance guidance, and bookkeeping that keeps them a step ahead all year long."})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center",children:[(0,d.jsx)(g.Button,{className:"h-11 rounded-full bg-sky-500 px-6 text-sm font-semibold text-slate-950 hover:bg-sky-400",children:(0,d.jsx)(f(),{href:"/appointment",children:"Book your appointment"})}),(0,d.jsx)(g.Button,{variant:"outline",className:"h-11 rounded-full border-sky-400 bg-transparent px-6 text-sm font-semibold text-sky-200 hover:bg-slate-800",children:(0,d.jsx)("a",{href:"#services",children:"Explore services"})})]}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-4 text-xs text-slate-300",children:[(0,d.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-full bg-slate-800/70 px-3 py-1",children:[(0,d.jsx)("span",{className:"font-semibold text-amber-300",children:"★★★★★"}),(0,d.jsx)("span",{children:"Clients across the DMV"})]}),(0,d.jsx)("span",{children:"Individuals & families"}),(0,d.jsx)("span",{children:"Small businesses"}),(0,d.jsx)("span",{children:"In‑person & virtual"})]})]}),(0,d.jsxs)("div",{className:"flex w-full max-w-md flex-col gap-4 rounded-3xl bg-slate-800 p-5 shadow-lg shadow-slate-950/40 md:ml-auto",children:[(0,d.jsx)("p",{className:"text-xs font-semibold uppercase tracking-[0.2em] text-slate-300",children:"Why clients choose us"}),(0,d.jsxs)("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-3xl font-bold text-white",children:"15Y+"}),(0,d.jsx)("div",{className:"mt-1 text-slate-300",children:"Experience in tax & CPA services"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-3xl font-bold text-white",children:"150+"}),(0,d.jsx)("div",{className:"mt-1 text-slate-300",children:"Businesses & families supported"})]})]}),(0,d.jsxs)("div",{className:"mt-2 grid gap-3 rounded-2xl bg-slate-900/60 p-3 text-xs text-slate-200",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-[0.7rem] uppercase tracking-[0.16em] text-slate-400",children:"Google rating"}),(0,d.jsxs)("div",{className:"mt-1 flex items-center gap-1",children:[(0,d.jsx)("span",{className:"text-base font-semibold text-white",children:"4.9"}),(0,d.jsx)("span",{className:"text-[0.7rem] text-slate-300",children:"/ 5.0"})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-0.5 text-amber-300",children:[(0,d.jsx)("span",{children:"★"}),(0,d.jsx)("span",{children:"★"}),(0,d.jsx)("span",{children:"★"}),(0,d.jsx)("span",{children:"★"}),(0,d.jsx)("span",{children:"★"})]})]}),(0,d.jsx)("button",{className:"mt-1 inline-flex items-center justify-center rounded-full border border-sky-400 bg-slate-900 px-3 py-1 text-[0.7rem] font-semibold text-sky-200 hover:bg-slate-800",children:"See client reviews"})]}),(0,d.jsx)("p",{className:"text-xs text-slate-400",children:"Serving clients across Virginia and Maryland with in‑person and virtual appointments."})]})]})})}function i(){return(0,d.jsx)("section",{id:"services",className:"bg-white py-10 sm:py-12 md:py-16 border-b border-slate-200",children:(0,d.jsxs)("div",{className:"mx-auto max-w-6xl px-4 md:px-6",children:[(0,d.jsxs)("div",{className:"mb-6 max-w-2xl",children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold tracking-tight text-slate-900 sm:text-3xl",children:"Services tailored to your financial life"}),(0,d.jsx)("p",{className:"mt-3 text-sm text-slate-600 sm:text-base",children:"Whether you are filing as an individual, supporting your family, or running a business, Ghion Financial provides services designed to meet you where you are."})]}),(0,d.jsx)("div",{className:"grid gap-5 sm:grid-cols-2 lg:grid-cols-3",children:[{id:"tax",title:"Income Tax Preparation",description:"Accurate, timely filing for individuals, families, and small businesses with a focus on maximizing your refund and staying compliant.",bullets:["Personal & business returns","Multi‑state and amended returns"]},{id:"insurance",title:"Insurance Services",description:"Guidance on selecting health, life, and other insurance coverage that fits your needs and budget.",bullets:["Health & ObamaCare guidance","Coverage tailored to your situation"]},{id:"bookkeeping",title:"Bookkeeping Services",description:"Reliable bookkeeping that keeps your records organized and ready when tax time comes.",bullets:["Monthly reports","Small business friendly"]}].map(a=>(0,d.jsxs)("article",{className:"flex flex-col justify-between rounded-2xl border border-slate-200 bg-slate-50/60 p-5 shadow-sm",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-base font-semibold text-slate-900 sm:text-lg",children:a.title}),(0,d.jsx)("p",{className:"mt-2 text-sm text-slate-600",children:a.description}),(0,d.jsx)("ul",{className:"mt-3 space-y-1.5 text-sm text-slate-700",children:a.bullets.map(a=>(0,d.jsxs)("li",{children:["• ",a]},a))})]}),(0,d.jsx)("div",{className:"mt-4 text-sm font-semibold text-sky-800",children:"Book an appointment to get started →"})]},a.id))})]})})}var j=c(5952);function k(){return(0,d.jsx)("section",{className:"bg-slate-900 py-10 sm:py-12 md:py-16",children:(0,d.jsxs)("div",{className:"mx-auto max-w-6xl px-4 text-slate-50 md:px-6",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:items-end md:justify-between",children:[(0,d.jsxs)("div",{className:"max-w-xl",children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold tracking-tight sm:text-3xl",children:"Book an appointment in minutes"}),(0,d.jsx)("p",{className:"mt-3 text-sm text-slate-300 sm:text-base",children:"Choose the office that is most convenient for you. We offer in‑person and virtual appointments for tax preparation, insurance, and bookkeeping."})]}),(0,d.jsx)("p",{className:"text-xs text-slate-400",children:"Serving Virginia & Maryland clients year‑round."})]}),(0,d.jsx)("div",{className:"mt-6 grid gap-4 md:grid-cols-2",children:j.UU.map(a=>(0,d.jsxs)("article",{className:"flex flex-col justify-between rounded-2xl border border-slate-700 bg-slate-900/60 p-5",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-lg font-semibold text-sky-300",children:a.label}),(0,d.jsx)("div",{className:"mt-2 text-sm text-slate-200",children:a.addressLines.map(a=>(0,d.jsx)("div",{children:a},a))}),(0,d.jsx)("div",{className:"mt-2 text-sm",children:(0,d.jsx)("a",{href:a.phoneHref,className:"font-medium text-sky-300 hover:underline",children:a.phone})}),(0,d.jsx)("div",{className:"mt-1 text-xs text-slate-300",children:"In‑person & virtual appointments available"})]}),(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[(0,d.jsx)(g.Button,{className:"rounded-full bg-sky-500 px-5 text-xs font-semibold text-slate-950 hover:bg-sky-400",children:(0,d.jsxs)(f(),{href:`/appointment#${a.id}`,children:["Book ",a.label.split(" ")[0]," Appointment"]})}),(0,d.jsx)(g.Button,{variant:"outline",size:"sm",className:"rounded-full border-slate-500 bg-transparent text-xs text-slate-100 hover:bg-slate-800",children:(0,d.jsx)("a",{href:a.mapUrl,target:"_blank",rel:"noreferrer",children:"View on map"})})]})]},a.id))})]})})}var l=c(1181);function m({count:a}){return(0,d.jsx)("div",{"aria-label":`${a} out of 5 stars`,className:"flex gap-0.5",children:Array.from({length:5}).map((b,c)=>(0,d.jsx)("span",{className:c<a?"text-amber-400":"text-slate-300",children:"★"},c))})}function n(){return(0,d.jsx)("section",{id:"reviews",className:"bg-slate-50 py-10 sm:py-12 md:py-16 border-t border-slate-200",children:(0,d.jsxs)("div",{className:"mx-auto max-w-6xl px-4 md:px-6",children:[(0,d.jsxs)("div",{className:"mb-6 flex flex-col gap-3 md:flex-row md:items-end md:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold tracking-tight text-slate-900 sm:text-3xl",children:"Trusted by clients across the DMV"}),(0,d.jsx)("p",{className:"mt-3 max-w-xl text-sm text-slate-600 sm:text-base",children:"Clients choose Ghion Financial for our responsiveness, attention to detail, and clear explanations at every step of the process."})]}),(0,d.jsx)("a",{href:j.gp,target:"_blank",rel:"noreferrer",className:"text-xs font-semibold text-sky-700 hover:underline",children:"Read more reviews on Google →"})]}),(0,d.jsx)("div",{className:"grid gap-4 md:grid-cols-3",children:j.Yq.map(a=>(0,d.jsxs)("figure",{className:"flex h-full flex-col justify-between rounded-2xl border border-slate-200 bg-white p-5 shadow-sm",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(m,{count:a.rating}),(0,d.jsxs)("blockquote",{className:"text-sm text-slate-700",children:["“",a.quote,"”"]})]}),(0,d.jsx)("figcaption",{className:"mt-4 text-sm font-semibold text-slate-900",children:a.name})]},a.id))})]})})}function o(){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h,{}),(0,d.jsx)(i,{}),(0,d.jsx)(k,{}),(0,d.jsx)(n,{}),(0,d.jsx)(l.Q,{})]})}},6016:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(9754),e=c(9117),f=c(6595),g=c(2324),h=c(9326),i=c(8928),j=c(175),k=c(12),l=c(4290),m=c(2696),n=c(2802),o=c(7533),p=c(5229),q=c(2822),r=c(261),s=c(6453),t=c(2474),u=c(6713),v=c(1356),w=c(2685),x=c(6225),y=c(3446),z=c(2762),A=c(5742),B=c(6439),C=c(1170),D=c.n(C),E=c(2506),F=c(1203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H={children:["",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,4801)),"/Users/kirukib/Desktop/Ghion Finance/src/app/page.tsx"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,8059))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,9844)),"/Users/kirukib/Desktop/Ghion Finance/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,1170,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,7028,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,2768,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,8059))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,I=["/Users/kirukib/Desktop/Ghion Finance/src/app/page.tsx"],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/page",pathname:"/",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(9902).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
||
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},8354:a=>{"use strict";a.exports=require("util")},9121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9902:a=>{"use strict";a.exports=require("path")}};var b=require("../webpack-runtime.js");b.C(a);var c=b.X(0,[331,985,851],()=>b(b.s=6016));module.exports=c})(); |