chore: added initial post
461bddf7
1 file(s) · +17 −3
| 34 | 34 | const [selectedFeedId, setSelectedFeedId] = React.useState<string | null>( |
|
| 35 | 35 | null, |
|
| 36 | 36 | ); |
|
| 37 | - | const [selectedPostId, setSelectedPostId] = React.useState<string | null>( |
|
| 38 | - | null, |
|
| 39 | - | ); |
|
| 40 | 37 | const mainContentRef = React.useRef<HTMLDivElement>(null); |
|
| 41 | 38 | ||
| 42 | 39 | const evolu = useEvolu(); |
|
| 45 | 42 | const allReadStatuses = useQuery(allReadStatusesQuery); |
|
| 46 | 43 | const allReadStatusesWithUnread = useQuery(allReadStatusesWithUnreadQuery); |
|
| 47 | 44 | console.log(allPosts); |
|
| 45 | + | ||
| 46 | + | // Get the first post (most recent) to use as default |
|
| 47 | + | const firstPostId = React.useMemo(() => { |
|
| 48 | + | if (allPosts.length === 0) return null; |
|
| 49 | + | ||
| 50 | + | const sortedPosts = [...allPosts].sort((a, b) => { |
|
| 51 | + | if (!a.publishedDate) return 1; |
|
| 52 | + | if (!b.publishedDate) return -1; |
|
| 53 | + | return b.publishedDate.localeCompare(a.publishedDate); |
|
| 54 | + | }); |
|
| 55 | + | ||
| 56 | + | return sortedPosts[0]?.id || null; |
|
| 57 | + | }, [allPosts]); |
|
| 58 | + | ||
| 59 | + | const [selectedPostId, setSelectedPostId] = React.useState<string | null>( |
|
| 60 | + | firstPostId, |
|
| 61 | + | ); |
|
| 48 | 62 | ||
| 49 | 63 | const selectedFeed = selectedFeedId |
|
| 50 | 64 | ? allFeeds.find((f) => f.id === selectedFeedId) |
|