import DeleteModal from '@/components/inertia/delete-modal'; import InputError from '@/components/input-error'; import LoadingButton from '@/components/loading-button'; import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Separator } from '@/components/ui/separator'; import { onHandleChange } from '@/lib/inertia'; import { CoursePlayerProps } from '@/types/page'; import { useForm, usePage } from '@inertiajs/react'; import { format } from 'date-fns'; import { EllipsisVertical, MessageCircle, SquarePen, Trash } from 'lucide-react'; import { Editor, Renderer } from 'richtor'; import 'richtor/styles'; import ForumEdit from '../forms/forum-edit'; import ForumReply from '../forms/forum-reply'; const Forum = () => { const { props, url } = usePage(); const { translate } = props; const { button, input, frontend } = translate; const lesson = props.watching as SectionLesson; const { data, setData, post, errors, processing, reset } = useForm({ url, title: '', description: '', user_id: props.auth.user.id, course_id: props.course.id, section_lesson_id: props.watching.id, }); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); post(route('course-forums.store'), { onSuccess: () => { reset(); }, }); }; return (
onHandleChange(e, setData)} />
setData('description', value as string)} />
{button.submit}
{lesson.forums.map((forum) => (
{forum.user.name.charAt(0)}

{forum.user.name}

{format(new Date(forum.created_at), 'MMM d, yyyy h:mm a')}

{forum.user_id === props.auth.user.id && ( {button.delete} } /> )}

{forum.title}

{button.reply} } />

{forum.replies.length} {frontend.replies}

{forum.replies.map((reply) => (
{reply.user.name.charAt(0)}

{reply.user.name}

{format(new Date(reply.created_at), 'MMM d, yyyy h:mm a')}

{reply.user_id === props.auth.user.id && ( {button.edit} } /> Delete } /> )}
))}
))}
); }; export default Forum;