import React from 'react'
import { Link, router, usePage } from '@inertiajs/react'
import SeoHead from '../../components/seo/SeoHead'
import NovaSelect from '../../components/ui/NovaSelect'
function CourseCard({ course, variant = 'default' }) {
const isFeatured = variant === 'featured'
const progress = course?.progress || null
const cover = course?.cover_image_url || course?.teaser_image_url || course?.cover_image || course?.teaser_image || ''
return (
{cover ?

:
}
{course.difficulty}
{course.access_level}
{course.is_featured ? Featured : null}
{course.title}
{course.subtitle ?
{course.subtitle}
: null}
{course.excerpt || course.description || 'Structured Academy course.'}
Lessons
{course.lessons_count || 0}
Duration
{course.estimated_minutes ? `${course.estimated_minutes} min` : 'Flexible'}
Progress
{progress ? `${progress.percent}%` : 'Start fresh'}
)
}
export default function AcademyCoursesIndex({ seo, title, description, items, featuredCourses = [], filters = {}, pricingUrl }) {
const flash = usePage().props.flash || {}
const difficultyOptions = [
{ value: '', label: 'All levels' },
{ value: 'beginner', label: 'Beginner' },
{ value: 'intermediate', label: 'Intermediate' },
{ value: 'advanced', label: 'Advanced' },
]
const accessOptions = [
{ value: '', label: 'All access' },
{ value: 'free', label: 'Free' },
{ value: 'premium', label: 'Premium' },
{ value: 'mixed', label: 'Mixed' },
]
return (
Skinbase AI Academy
{title}
{description}
See Academy plans
{flash.success ?
{flash.success}
: null}
{flash.error ?
{flash.error}
: null}
{featuredCourses.length ? (
{featuredCourses.slice(1, 3).map((course) => )}
) : null}
router.get(window.location.pathname, { ...filters, difficulty: nextValue || undefined }, { preserveScroll: true, preserveState: true })}
options={difficultyOptions}
searchable={false}
className="rounded-2xl bg-white/[0.04]"
/>
router.get(window.location.pathname, { ...filters, access: nextValue || undefined }, { preserveScroll: true, preserveState: true })}
options={accessOptions}
searchable={false}
className="rounded-2xl bg-white/[0.04]"
/>
{(items?.data || []).length === 0 ? (
No published Academy courses matched these filters.
) : (
{items.data.map((course) => )}
)}
)
}