/**
 * VendorWelcomeWrapper - checks if vendor has any deals.
 * If none, shows VendorWelcome. Otherwise shows VendorDashboard.
 *
 * Provides its own QueryClient so the island works without a parent provider.
 */

'use client';

import { useLayoutEffect } from 'react';
import { HydratedIsland } from '@/components/HydratedIsland';
import { useVendorDashboardData } from './useVendorDashboardData';
import { VendorDashboard } from './VendorDashboard';
import { VendorWelcome } from '../vendor-welcome/VendorWelcome';
import { useBrowserHref } from '@/lib/hooks/useHydrated';

function VendorWelcomeWrapperInner() {
  useLayoutEffect(() => {
    document.getElementById('vendor-dashboard-static-skeleton')?.remove();
  }, []);

  const { data } = useVendorDashboardData();
  const href = useBrowserHref();

  // Check if URL signals skip-welcome (coming from the modal "Not now" path)
  const skipWelcome =
    new URL(href || 'https://multideal.invalid/').searchParams.get('skipWelcome') === '1';

  if (!data?.hasAnyDeals && !skipWelcome) {
    return <VendorWelcome />;
  }

  return <VendorDashboard />;
}

export function VendorWelcomeWrapper() {
  return (
    <HydratedIsland>
      <VendorWelcomeWrapperInner />
    </HydratedIsland>
  );
}
