Merge pull request 'add follow buttons in people search results' (#715) from w3irdrobot/snort:follow-buttons-people-search into main
Some checks are pending
continuous-integration/drone/push Build is running

Reviewed-on: #715
This commit is contained in:
Kieran 2023-12-02 21:34:34 +00:00
commit 7deae68884
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,31 @@
import { useCallback, useMemo } from "react";
import { TaggedNostrEvent } from "@snort/system";
import useTimelineFeed, { TimelineFeed } from "@/Feed/TimelineFeed";
import FollowListBase from "@/Element/User/FollowListBase";
import PageSpinner from "@/Element/PageSpinner";
import useModeration from "@/Hooks/useModeration";
export default function UsersFeed({ keyword, sortPopular = true }: { keyword: string; sortPopular?: boolean }) {
const feed: TimelineFeed = useTimelineFeed(
{
type: "profile_keyword",
items: [keyword + (sortPopular ? " sort:popular" : "")],
discriminator: keyword,
},
{ method: "LIMIT_UNTIL" },
);
const { muted, isEventMuted } = useModeration();
const filterPosts = useCallback(
(nts: readonly TaggedNostrEvent[]) => {
return nts.filter(a => !isEventMuted(a));
},
[muted],
);
const usersFeed = useMemo(() => filterPosts(feed.main ?? []).map(p => p.pubkey), [feed, filterPosts]);
if (!usersFeed) return <PageSpinner />;
return <FollowListBase pubkeys={usersFeed} showAbout={true} />;
}

View File

@ -8,6 +8,7 @@ import { router } from "@/index";
import TrendingUsers from "@/Element/Trending/TrendingUsers";
import TrendingNotes from "@/Element/Trending/TrendingPosts";
import UsersFeed from "@/Element/Feed/UsersFeed";
const NOTES = 0;
const PROFILES = 1;
@ -49,6 +50,11 @@ const SearchPage = () => {
return null;
}
if (tab.value == PROFILES ) {
// render UsersFeed
return <UsersFeed keyword={keyword} />;
}
const pf = tab.value == PROFILES;
return (
<>