From 2656db8992dd416e4986a821292d93293407a2eb Mon Sep 17 00:00:00 2001 From: Jonathan Staab Date: Wed, 28 Jun 2023 16:08:38 -0700 Subject: [PATCH] Replace agent/social --- src/agent/social.ts | 25 --------------- src/app/shared/FeedControls.svelte | 4 +-- src/app/state.ts | 12 ++++---- src/app/views/Feeds.svelte | 5 ++- src/app/views/Onboarding.svelte | 7 ++--- src/app/views/OnboardingFollows.svelte | 4 +-- src/system/index.ts | 1 + src/system/social.ts | 42 ++++++++++++++------------ 8 files changed, 39 insertions(+), 61 deletions(-) delete mode 100644 src/agent/social.ts diff --git a/src/agent/social.ts b/src/agent/social.ts deleted file mode 100644 index d6dc9344..00000000 --- a/src/agent/social.ts +++ /dev/null @@ -1,25 +0,0 @@ -import {uniq, identity, without} from "ramda" -import {Tags} from "src/util/nostr" -import {getPersonWithFallback} from "src/agent/db" -import user from "src/agent/user" - -const {VITE_DEFAULT_FOLLOWS} = import.meta.env - -export const defaultFollows = (VITE_DEFAULT_FOLLOWS || "").split(",").filter(identity) - -export const getFollows = pubkey => - Tags.wrap(getPersonWithFallback(pubkey).petnames).type("p").values().all() - -export const getNetwork = pubkey => { - const follows = getFollows(pubkey) - - return uniq(without(follows, follows.flatMap(getFollows))) -} - -export const getUserFollows = (): Array => Tags.wrap(user.getPetnames()).values().all() - -export const getUserNetwork = () => { - const follows = getUserFollows() - - return uniq(without(follows, follows.flatMap(getFollows))) -} diff --git a/src/app/shared/FeedControls.svelte b/src/app/shared/FeedControls.svelte index 470fc63e..3ba2860c 100644 --- a/src/app/shared/FeedControls.svelte +++ b/src/app/shared/FeedControls.svelte @@ -13,8 +13,8 @@ import SelectButton from "src/partials/SelectButton.svelte" import MultiSelect from "src/partials/MultiSelect.svelte" import PersonBadge from "src/app/shared/PersonBadge.svelte" + import {social} from "src/system" import {searchTopics, searchPeople, getPersonWithFallback} from "src/agent/db" - import {getUserFollows} from "src/agent/social" export let filter export let onChange @@ -138,7 +138,7 @@ $: { scopeOptions = - getUserFollows().length > 0 + social.getUserFollows().length > 0 ? ["follows", "network", "global", "custom"] : ["network", "global", "custom"] } diff --git a/src/app/state.ts b/src/app/state.ts index 02af82da..ab7f08cd 100644 --- a/src/app/state.ts +++ b/src/app/state.ts @@ -15,11 +15,10 @@ import {findReplyId} from "src/util/nostr" import {modal, toast} from "src/partials/state" import {notifications, watch, userEvents, contacts, rooms} from "src/agent/db" import {enableZaps} from "src/agent/settings" -import {keys} from "src/system" +import {DEFAULT_FOLLOWS, keys, social} from "src/system" import network from "src/agent/network" import pool from "src/agent/pool" import {getUserReadRelays, getUserRelays} from "src/agent/relays" -import {getUserFollows, getUserNetwork, defaultFollows} from "src/agent/social" import user from "src/agent/user" // Routing @@ -221,7 +220,7 @@ export const loadAppData = async pubkey => { // Make sure the user and their network is loaded await network.loadPeople([pubkey], {force: true, kinds: userKinds}) - await network.loadPeople(getUserFollows()) + await network.loadPeople(social.getUserFollows()) } } @@ -294,14 +293,15 @@ export const publishWithToast = (relays, thunk) => // Feeds export const compileFilter = (filter: DynamicFilter): Filter => { - const getAuthors = pubkeys => shuffle(pubkeys.length > 0 ? pubkeys : defaultFollows).slice(0, 256) + const getAuthors = pubkeys => + shuffle(pubkeys.length > 0 ? pubkeys : DEFAULT_FOLLOWS).slice(0, 256) if (filter.authors === "global") { filter = omit(["authors"], filter) } else if (filter.authors === "follows") { - filter = {...filter, authors: getAuthors(getUserFollows())} + filter = {...filter, authors: getAuthors(social.getUserFollows())} } else if (filter.authors === "network") { - filter = {...filter, authors: getAuthors(getUserNetwork())} + filter = {...filter, authors: getAuthors(social.getUserNetwork())} } return filter diff --git a/src/app/views/Feeds.svelte b/src/app/views/Feeds.svelte index a6332fa6..f1570a46 100644 --- a/src/app/views/Feeds.svelte +++ b/src/app/views/Feeds.svelte @@ -8,9 +8,8 @@ import Content from "src/partials/Content.svelte" import Popover from "src/partials/Popover.svelte" import Feed from "src/app/shared/Feed.svelte" - import {keys} from "src/system" + import {keys, social} from "src/system" import user from "src/agent/user" - import {getUserFollows} from "src/agent/social" const {canSign} = keys const {lists} = user @@ -19,7 +18,7 @@ let key = Math.random() let filter = { kinds: noteKinds, - authors: getUserFollows().length > 0 ? "follows" : "network", + authors: social.getUserFollows().length > 0 ? "follows" : "network", } as DynamicFilter $: listsByName = indexBy(l => Tags.from(l).getMeta("d"), $lists) diff --git a/src/app/views/Onboarding.svelte b/src/app/views/Onboarding.svelte index 24d44f3c..4db496ca 100644 --- a/src/app/views/Onboarding.svelte +++ b/src/app/views/Onboarding.svelte @@ -1,5 +1,4 @@