import React, { useEffect, useState, useMemo } from 'react'; import GenericCarousel from '@/components/content/carousels/GenericCarousel'; import { parseEvent, parseCourseEvent } from '@/utils/nostr'; import { useResources } from '@/hooks/nostr/useResources'; import { useWorkshops } from '@/hooks/nostr/useWorkshops'; import { useCourses } from '@/hooks/nostr/useCourses'; import { TabMenu } from 'primereact/tabmenu'; import 'primeicons/primeicons.css'; import { InputText } from 'primereact/inputtext'; import { Button } from 'primereact/button'; import { useRouter } from 'next/router'; const MenuTab = ({ items, selectedTopic, onTabChange }) => { const router = useRouter(); const allItems = ['All', ...items]; const menuItems = allItems.map((item, index) => { let icon = 'pi pi-tag'; if (item === 'All') icon = 'pi pi-eye'; else if (item === 'Resources') icon = 'pi pi-file'; else if (item === 'Workshops') icon = 'pi pi-video'; else if (item === 'Courses') icon = 'pi pi-desktop'; const queryParam = item === 'all' ? '' : `?tag=${item.toLowerCase()}`; const isActive = router.asPath === `/content${queryParam}`; return { label: (