import React, { useMemo } from 'react'; import { ProgressSpinner } from 'primereact/progressspinner'; import { useDiscordQuery } from '@/hooks/communityQueries/useDiscordQuery'; import { useRouter } from 'next/router'; import CommunityMessage from '@/components/feeds/messages/CommunityMessage'; import useWindowWidth from '@/hooks/useWindowWidth'; const DiscordFeed = ({ searchQuery }) => { const router = useRouter(); const { data, error, isLoading } = useDiscordQuery({page: router.query.page}); const windowWidth = useWindowWidth(); // Memoize the filtered data const filteredData = useMemo(() => { if (!data) return []; return data .filter(message => message.content.toLowerCase().includes(searchQuery.toLowerCase()) ) .sort((a, b) => new Date(b.timestamp) - new Date(a.timestamp)); }, [data, searchQuery]); if (isLoading) { return (
); } if (error) { return
Failed to load messages. Please try again later.
; } return (
{filteredData.length > 0 ? ( filteredData.map(message => ( )) ) : (
No messages available.
)}
); }; export default DiscordFeed;