'use client';

import { DealerInfo } from '@/types/dealer';
import { DealerTemplate } from './DealerTemplate';
import { LanguageProvider } from './LanguageProvider';
import { Language } from '@/lib/translations/dealer-template';

interface DealerTemplateClientProps {
  dealer: DealerInfo;
  dealerNumber?: string;
  leadFormEnabled?: boolean;
  turnstileSiteKey?: string | null;
  defaultLanguage: Language;
  allowLanguageSwitch?: boolean;
}

/**
 * Client wrapper for DealerTemplate that provides language context.
 * This allows the template to be rendered with ISR while supporting
 * client-side language switching.
 */
export function DealerTemplateClient({
  dealer,
  dealerNumber,
  leadFormEnabled,
  turnstileSiteKey,
  defaultLanguage,
  allowLanguageSwitch = true,
}: DealerTemplateClientProps) {
  return (
    <LanguageProvider defaultLanguage={defaultLanguage} subdomain={dealer.subdomain}>
      <DealerTemplate
        dealer={dealer}
        dealerNumber={dealerNumber}
        leadFormEnabled={leadFormEnabled}
        turnstileSiteKey={turnstileSiteKey}
        allowLanguageSwitch={allowLanguageSwitch}
      />
    </LanguageProvider>
  );
}
