about summary refs log tree commit diff
path: root/src/components/FeedInterstitials.tsx
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-08-08 15:49:34 +0100
committerGitHub <noreply@github.com>2024-08-08 15:49:34 +0100
commit2174feed441459448668934015810fe0eb876dde (patch)
tree6e77a24911816b5d139164755e71388dec8c6ebc /src/components/FeedInterstitials.tsx
parentf1031d100b583fa289e654c5dfba6d251ea85272 (diff)
downloadvoidsky-2174feed441459448668934015810fe0eb876dde.tar.zst
Include follow-based suggestions in interstitial (#4889)
Diffstat (limited to 'src/components/FeedInterstitials.tsx')
-rw-r--r--src/components/FeedInterstitials.tsx14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/components/FeedInterstitials.tsx b/src/components/FeedInterstitials.tsx
index eca1c86f0..e37d2c3e0 100644
--- a/src/components/FeedInterstitials.tsx
+++ b/src/components/FeedInterstitials.tsx
@@ -133,16 +133,26 @@ function useExperimentalSuggestedUsersQuery() {
   const {currentAccount} = useSession()
   const userActionSnapshot = userActionHistory.useActionHistorySnapshot()
   const dids = React.useMemo(() => {
-    const {likes, follows, seen} = userActionSnapshot
+    const {likes, follows, followSuggestions, seen} = userActionSnapshot
     const likeDids = likes
       .map(l => new AtUri(l))
       .map(uri => uri.host)
       .filter(did => !follows.includes(did))
+    let suggestedDids: string[] = []
+    if (followSuggestions.length > 0) {
+      suggestedDids = [
+        // It's ok if these will pick the same item (weighed by its frequency)
+        followSuggestions[Math.floor(Math.random() * followSuggestions.length)],
+        followSuggestions[Math.floor(Math.random() * followSuggestions.length)],
+        followSuggestions[Math.floor(Math.random() * followSuggestions.length)],
+        followSuggestions[Math.floor(Math.random() * followSuggestions.length)],
+      ]
+    }
     const seenDids = seen
       .sort(sortSeenPosts)
       .map(l => new AtUri(l.uri))
       .map(uri => uri.host)
-    return [...new Set([...likeDids, ...seenDids])].filter(
+    return [...new Set([...suggestedDids, ...likeDids, ...seenDids])].filter(
       did => did !== currentAccount?.did,
     )
   }, [userActionSnapshot, currentAccount])