- Added an availability confirmation step in the checkout process for internet orders, ensuring users verify service eligibility before proceeding to payment. - Updated the CheckoutWizard component to conditionally include the new AvailabilityStep based on the order type. - Refactored AddressStep to navigate to the AvailabilityStep for internet orders, improving user flow. - Enhanced the checkout store to track internet availability requests and updated the state management for better handling of checkout steps. - Updated relevant schemas and documentation to reflect the new checkout flow and requirements.
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { headers } from "next/headers";
|
|
import "./globals.css";
|
|
import { QueryProvider } from "@/lib/providers";
|
|
import { SessionTimeoutWarning } from "@/features/auth/components/SessionTimeoutWarning";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Assist Solutions Portal",
|
|
description: "Manage your subscriptions, billing, and support with Assist Solutions",
|
|
};
|
|
|
|
// Disable static generation for the entire app since it uses dynamic features extensively
|
|
// This is the recommended approach for apps with heavy useSearchParams usage
|
|
export const dynamic = "force-dynamic";
|
|
|
|
export default async function RootLayout({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
// Get nonce from proxy.ts for CSP-compliant inline scripts
|
|
const headersList = await headers();
|
|
const nonce = headersList.get("x-nonce") || undefined;
|
|
|
|
return (
|
|
<html lang="en" suppressHydrationWarning>
|
|
<body className="antialiased">
|
|
<QueryProvider nonce={nonce}>
|
|
{children}
|
|
<SessionTimeoutWarning />
|
|
</QueryProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|