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 = (
);
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 ;
default:
return `pi pi-${platform}`;
}
};
export default CommunityMessage;