'use client';

import { NotFoundScreen } from '@/components/errors/NotFoundScreen';
import { ViewData } from '@/lib/contracts/view-data/ViewData';

export interface NotFoundViewData extends ViewData {
  errorCode: string;
  title: string;
  message: string;
  actionLabel: string;
}

interface NotFoundTemplateProps {
  viewData: NotFoundViewData;
  onHomeClick: () => void;
}

/**
 * NotFoundTemplate
 * 
 * Template for the 404 page.
 * Composes semantic components to build the page layout.
 */
export function NotFoundTemplate({ viewData, onHomeClick }: NotFoundTemplateProps) {
  return (
    <NotFoundScreen
      errorCode={viewData.errorCode}
      title={viewData.title}
      message={viewData.message}
      actionLabel={viewData.actionLabel}
      onActionClick={onHomeClick}
    />
  );
}
