Files
ember-market-frontend/components/layout/NotificationProviderWrapper.tsx
g c704ceed1d Add year selection to admin analytics and split product table
AdminAnalytics now supports selecting historical years and updates available years dynamically from the API. The product table is refactored to display enabled and disabled products in separate tables, improving clarity. Minor formatting and code style improvements are also included.
2026-01-05 21:55:55 +00:00

36 lines
1.0 KiB
TypeScript

"use client";
import { usePathname } from "next/navigation";
import dynamic from "next/dynamic";
import type { ReactNode } from "react";
// Lazy load NotificationProvider - only needed on dashboard pages
// This saves ~5-10KB from initial bundle since it includes polling logic and API calls
const NotificationProvider = dynamic(
() => import("@/lib/notification-context").then(mod => ({ default: mod.NotificationProvider })),
{
ssr: false,
loading: () => null
}
);
interface NotificationProviderWrapperProps {
children: ReactNode;
}
export function NotificationProviderWrapper({ children }: NotificationProviderWrapperProps) {
const pathname = usePathname();
// Only load NotificationProvider on dashboard pages (but not admin pages)
const isDashboardPage = pathname?.includes("/dashboard") && !pathname?.includes("/dashboard/admin");
if (isDashboardPage) {
return <NotificationProvider>{children}</NotificationProvider>;
}
// On non-dashboard pages, render children without provider
return <>{children}</>;
}