'use client' import { useMediaQuery } from 'usehooks-ts' import { BookOpenCheck, Check, FileText, Folder, Layers, ListTree, Video, X, StickyNote, Backpack, ArrowRight } from 'lucide-react' import { getUriWithOrg } from '@services/config/config' import Link from 'next/link' import React from 'react' interface ActivityChapterDropdownProps { course: any currentActivityId: string orgslug: string trailData?: any } export default function ActivityChapterDropdown(props: ActivityChapterDropdownProps): React.ReactNode { const [isOpen, setIsOpen] = React.useState(false); const dropdownRef = React.useRef(null); const isMobile = useMediaQuery('(max-width: 768px)'); // Clean up course UUID by removing 'course_' prefix if it exists const cleanCourseUuid = props.course.course_uuid?.replace('course_', ''); // Close dropdown when clicking outside React.useEffect(() => { function handleClickOutside(event: MouseEvent) { if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) { setIsOpen(false); } } document.addEventListener('mousedown', handleClickOutside); return () => { document.removeEventListener('mousedown', handleClickOutside); }; }, []); const toggleDropdown = () => { setIsOpen(!isOpen); }; // Function to get the appropriate icon for activity type const getActivityTypeIcon = (activityType: string) => { switch (activityType) { case 'TYPE_VIDEO': return