import React from 'react'; import { Card } from 'primereact/card'; import { Avatar } from 'primereact/avatar'; import { Tag } from 'primereact/tag'; import GenericButton from '@/components/buttons/GenericButton'; import { highlightText } from '@/utils/text'; import NostrIcon from '../../../../public/images/nostr.png'; import Image from 'next/image'; import { nip19 } from 'nostr-tools'; const StackerNewsIconComponent = () => ( ); const CommunityMessage = ({ message, searchQuery, windowWidth, platform }) => { const header = (

{message.author}

); const footer = (
{new Date(message.timestamp).toLocaleString()} 768 ? `View in ${platform}` : null} icon="pi pi-external-link" outlined size="small" className='my-2' onClick={() => window.open(getPlatformLink(platform, message.id), '_blank')} tooltip={windowWidth < 768 ? `View in ${platform}` : null} tooltipOptions={{ position: 'left' }} />
); return (

{highlightText(message.content, searchQuery)}

); }; const getPlatformLink = (platform, id) => { switch (platform) { case 'discord': return "https://discord.gg/t8DCMcq39d"; case 'stackernews': return `https://stacker.news/items/${id}`; case 'nostr': return `https://nostr.band/${nip19.noteEncode(id)}`; default: return "#"; } }; const getPlatformIcon = (platform) => { switch (platform) { case 'stackernews': return ; case 'nostr': return Nostr; default: return `pi pi-${platform}`; } }; export default CommunityMessage;