diff --git a/src/components/sidebar/Sidebar.js b/src/components/sidebar/Sidebar.js index 7507d23..7e6e80f 100644 --- a/src/components/sidebar/Sidebar.js +++ b/src/components/sidebar/Sidebar.js @@ -38,16 +38,16 @@ const Sidebar = () => { className="unstyled border-none bg-transparent">
router.push('/feed')} className={`w-full cursor-pointer py-2 my-2 hover:bg-gray-700 rounded-lg ${isActive('/feed') ? 'bg-gray-700' : ''}`}> -

global

+

global

router.push('/chat/nostr')} className={`w-full cursor-pointer py-2 my-2 hover:bg-gray-700 rounded-lg ${isActive('/chat/nostr') ? 'bg-gray-700' : ''}`}> -

nostr

+

nostr

router.push('/chat/discord')} className={`w-full cursor-pointer py-2 my-2 hover:bg-gray-700 rounded-lg ${isActive('/chat/discord') ? 'bg-gray-700' : ''}`}> -

discord

+

discord

router.push('/chat/stackernews')} className={`w-full cursor-pointer py-2 my-2 hover:bg-gray-700 rounded-lg ${isActive('/chat/stackernews') ? 'bg-gray-700' : ''}`}> -

stackernews

+

stackernews

diff --git a/src/pages/api/discord-messages.js b/src/pages/api/discord-messages.js index 0c8c736..aec9537 100644 --- a/src/pages/api/discord-messages.js +++ b/src/pages/api/discord-messages.js @@ -40,14 +40,20 @@ export default async function handler(req, res) { return []; }); - const messagesArray = await Promise.all(messagesPromises); - const messages = messagesArray.flat(); + const results = await Promise.allSettled(messagesPromises); + const messages = results + .filter(result => result.status === 'fulfilled') + .flatMap(result => result.value); const filteredMessages = messages.filter(msg => msg.content.length > 0); filteredMessages.sort((a, b) => b.timestamp - a.timestamp); - res.setHeader('Cache-Control', 's-maxage=60, stale-while-revalidate'); - res.status(200).json(filteredMessages.slice(0, 50)); + if (filteredMessages.length === 0) { + res.status(204).end(); // No Content + } else { + res.setHeader('Cache-Control', 's-maxage=60, stale-while-revalidate'); + res.status(200).json(filteredMessages.slice(0, 50)); + } } catch (error) { console.error(error); res.status(500).json({ error: 'An error occurred while fetching messages' }); diff --git a/src/pages/feed.js b/src/pages/feed.js index a652baf..ec64387 100644 --- a/src/pages/feed.js +++ b/src/pages/feed.js @@ -133,16 +133,20 @@ const Feed = () => { />
- {data && 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}

-
- ))} + {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.
+ )}
);