diff --git a/src/pages/primary/DiscussionsPage/ThreadCard.tsx b/src/pages/primary/DiscussionsPage/ThreadCard.tsx index 84806ee..a144102 100644 --- a/src/pages/primary/DiscussionsPage/ThreadCard.tsx +++ b/src/pages/primary/DiscussionsPage/ThreadCard.tsx @@ -10,6 +10,7 @@ import { DISCUSSION_TOPICS } from './CreateThreadDialog' import Username from '@/components/Username' import UserAvatar from '@/components/UserAvatar' import VoteButtons from '@/components/NoteStats/VoteButtons' +import { useScreenSize } from '@/providers/ScreenSizeProvider' interface ThreadWithRelaySource extends NostrEvent { _relaySource?: string @@ -23,6 +24,7 @@ interface ThreadCardProps { export default function ThreadCard({ thread, onThreadClick, className }: ThreadCardProps) { const { t } = useTranslation() + const { isSmallScreen } = useScreenSize() // Extract title from tags const titleTag = thread.tags.find(tag => tag[0] === 'title' && tag[1]) @@ -68,42 +70,81 @@ export default function ThreadCard({ thread, onThreadClick, className }: ThreadC onClick={onThreadClick} > -
-
- -
-
-

+ {isSmallScreen ? ( +
+
+ +
+

{title}

+
+ + + {topicInfo.label} + +
+ + {timeAgo} +
+
+
+
+
+ + +
{thread._relaySource && ( - + {formatRelayName(thread._relaySource)} )}
-
- - - {topicInfo.label} - -
- - {timeAgo} +
+
+ ) : ( +
+
+ +
+
+

+ {title} +

+ {thread._relaySource && ( + + + {formatRelayName(thread._relaySource)} + + )} +
+
+ + + {topicInfo.label} + +
+ + {timeAgo} +
+
+ + +
-
- - -
-
+ )} diff --git a/src/pages/primary/DiscussionsPage/index.tsx b/src/pages/primary/DiscussionsPage/index.tsx index 19e9323..d9e0ced 100644 --- a/src/pages/primary/DiscussionsPage/index.tsx +++ b/src/pages/primary/DiscussionsPage/index.tsx @@ -1,6 +1,6 @@ import { Button } from '@/components/ui/button' import { Card, CardContent } from '@/components/ui/card' -import { DEFAULT_FAVORITE_RELAYS } from '@/constants' +import { DEFAULT_FAVORITE_RELAYS, FAST_READ_RELAY_URLS } from '@/constants' import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider' import { useNostr } from '@/providers/NostrProvider' import { forwardRef, useEffect, useState } from 'react' @@ -172,8 +172,8 @@ const DiscussionsPage = forwardRef((_, ref) => { const fetchAllThreads = async () => { setLoading(true) try { - // Filter by relay if selected, otherwise use all available relays - const relayUrls = selectedRelay ? [selectedRelay] : availableRelays + // Filter by relay if selected, otherwise use all available relays plus fast read relays + const relayUrls = selectedRelay ? [selectedRelay] : Array.from(new Set([...availableRelays, ...FAST_READ_RELAY_URLS])) // Fetch all kind 11 events (limit 100, newest first) with relay source tracking console.log('Fetching kind 11 events from relays:', relayUrls)