import React, { useEffect, useMemo, useRef, useState } from 'react' import { Head, Link, router, useForm } from '@inertiajs/react' import AdminLayout from '../../../Layouts/AdminLayout' import DateTimePicker from '../../../components/ui/DateTimePicker' import NovaSelect from '../../../components/ui/NovaSelect' import LessonEditor from './LessonEditor' function normalizePayload(fields, data) { const payload = { ...data } fields.forEach((field) => { if (field.type === 'csv') { payload[field.name] = String(payload[field.name] || '') .split(/[,\n]/) .map((item) => item.trim()) .filter(Boolean) } if (field.type === 'json') { try { payload[field.name] = payload[field.name] ? JSON.parse(payload[field.name]) : {} } catch { payload[field.name] = {} } } }) return payload } function getField(fields, name) { return fields.find((field) => field.name === name) || null } function SectionCard({ eyebrow, title, description, children, className = '' }) { return (
{eyebrow ?

{eyebrow}

: null}

{title}

{description ?

{description}

: null}
{children}
) } function TextField({ label, value, onChange, error, ...rest }) { return ( ) } function TextAreaField({ label, value, onChange, error, rows = 6, hint }) { return (