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 { InputText } from 'primereact/inputtext'; import { useDiscordQuery } from '@/hooks/communityQueries/useDiscordQuery'; import { useRouter } from 'next/router'; import CommunityMenuTab from '@/components/menutab/CommunityMenuTab'; const GlobalFeed = () => { const [selectedTopic, setSelectedTopic] = useState('global'); const [searchQuery, setSearchQuery] = useState(''); const allTopics = ['global', 'nostr', 'discord', 'stackernews']; const router = useRouter(); const { data, error, isLoading } = useDiscordQuery({page: router.query.page}); const handleTopicChange = (topic) => { setSelectedTopic(topic); }; 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()}
); return (

Community

setSearchQuery(e.target.value)} placeholder="Search" icon="pi pi-search" className="w-full mb-2" />
{data && data.length > 0 ? ( data.map(message => ( header(message)} footer={() => footer(message)} className="w-full bg-gray-700 shadow-lg hover:shadow-xl transition-shadow duration-300 mb-4" >

{message.content}

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