import React, { useState, useEffect } from 'react'; import { Card } from 'primereact/card'; import { Avatar } from 'primereact/avatar'; import { Tag } from 'primereact/tag'; import { Button } from 'primereact/button'; import { ProgressSpinner } from 'primereact/progressspinner'; import { useDiscordQuery } from '@/hooks/communityQueries/useDiscordQuery'; import { useRouter } from 'next/router'; import { highlightText } from '@/utils/text'; const DiscordFeed = ({ searchQuery }) => { const router = useRouter(); const { data, error, isLoading } = useDiscordQuery({page: router.query.page}); if (isLoading) { return (
); } if (error) { return
Failed to load messages. Please try again later.
; } const header = (message) => (

{message.author}

); const footer = (message) => (
{new Date(message.timestamp).toLocaleString()}
); const filteredData = data.filter(message => message.content.toLowerCase().includes(searchQuery.toLowerCase()) ); return (
{filteredData && filteredData.length > 0 ? ( filteredData.map(message => ( header(message)} footer={() => footer(message)} className="w-full bg-gray-700 shadow-lg hover:shadow-xl transition-shadow duration-300 mb-4" >

{highlightText(message.content, searchQuery)}

)) ) : (
No messages available.
)}
); }; export default DiscordFeed;