import Tabs from '@/components/tabs'; import { Separator } from '@/components/ui/separator'; import { TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import LandingLayout from '@/layouts/landing-layout'; import { systemCurrency } from '@/lib/utils'; import { ExamPreviewProps } from '@/types/page'; import { Head, Link } from '@inertiajs/react'; import { ReactNode } from 'react'; import Details from './partials/details'; import ExamHeader from './partials/exam-header'; import CoursePreview from './partials/exam-preview'; import Instructor from './partials/instructor'; import Overview from './partials/overview'; import CourseReviews from './partials/reviews'; const Show = ({ tab, exam, system, translate }: ExamPreviewProps) => { const { button } = translate; const tabs = [ { value: 'overview', label: button.overview, Component: , }, { value: 'details', label: button.details, Component:
, }, { value: 'instructor', label: button.instructor, Component: , }, { value: 'reviews', label: button.reviews, Component: , }, ]; // Generate meta information for the exam const pageTitle = exam.meta_title || `${exam.title} | ${system.fields?.name}`; const pageDescription = exam.meta_description || exam.short_description || exam.description || 'Professional certification exam'; const pageKeywords = exam.meta_keywords || `${exam.title}, certification exam, professional test, ${system.fields?.keywords || 'LMS'}`; const ogTitle = exam.og_title || exam.title; const ogDescription = exam.og_description || pageDescription; const examImage = exam.thumbnail || exam.banner || ''; const siteName = system.fields?.name; const siteUrl = typeof window !== 'undefined' ? window.location.href : ''; const currency = systemCurrency(system.fields['selling_currency']); return ( <> {pageTitle} {/* Open Graph Tags */} {/* Open Graph Image */} {/* Twitter Card Tags */} {examImage && } {/* Exam-specific meta */} {exam.instructor && } {/* Schema.org structured data */}
{tabs.map(({ label, value }) => ( {label} ))}
{tabs.map(({ value, Component }) => ( {Component} ))}
); }; Show.layout = (page: ReactNode) => ; export default Show;