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) => )}
)}
) }