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