import InputError from '@/components/input-error'; import LoadingButton from '@/components/loading-button'; import { Button } from '@/components/ui/button'; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog'; import { Label } from '@/components/ui/label'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { cn } from '@/lib/utils'; import { Link, router, useForm, usePage } from '@inertiajs/react'; import { useState } from 'react'; import { Editor } from 'richtor'; import 'richtor/styles'; import { CourseUpdateProps } from '../update'; const CourseUpdateHeader = () => { const [open, setOpen] = useState(false); const { props } = usePage(); const { translate } = props; const { dashboard, button, input, common } = translate; const user = props.auth.user; const { course, watchHistory, approvalStatus } = props; const statuses = props.statuses.filter((status) => status !== course.status); const { approve_able, validation_messages, counts } = approvalStatus; const { data, put, setData, processing, errors, reset } = useForm({ status: '', feedback: '', }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); put(route('course.status', { id: course.id }), { onSuccess: () => { reset(); setOpen(false); }, }); }; return (
{watchHistory ? ( ) : approve_able ? ( ) : ( )} {approve_able ? ( user.role === 'instructor' ? ( course.status !== 'approved' && course.status !== 'pending' && ( ) ) : (
setData((prev) => ({ ...prev, feedback: value as string, })) } />
{button.submit}
) ) : ( {dashboard.course_approval_status} {approve_able ? (
{dashboard.course_ready_approval}
) : (

{dashboard.course_needs_attention}

    {validation_messages.map((message: string, index: number) => (
  • {message}
  • ))}
)}

{dashboard.course_content_summary}

{dashboard.sections}: {counts.sections_count}

{dashboard.lessons}: {counts.lessons_count}

{dashboard.quizzes}: {counts.quizzes_count}

{dashboard.total_content_items}: {counts.total_content_count}

)}
); }; export default CourseUpdateHeader;