diff --git a/src/agent/user.ts b/src/agent/user.ts index 583573fc..fed76c6f 100644 --- a/src/agent/user.ts +++ b/src/agent/user.ts @@ -116,28 +116,6 @@ export default { getPetnames: () => profileCopy.petnames, petnamePubkeys: derived(petnames, map(nth(1))) as Readable>, getPetnamePubkeys: () => profileCopy.petnames.map(nth(1)), - updatePetnames(f) { - const $petnames = f(profileCopy.petnames) - - profile.update(assoc("petnames", $petnames)) - - if (get(keys.canSign)) { - return cmd.setPetnames($petnames).publish(profileCopy.relays) - } - }, - addPetname(pubkey, url, name) { - const tag = ["p", pubkey, url, name || ""] - - return this.updatePetnames( - pipe( - reject(t => t[1] === pubkey), - concat([tag]) - ) - ) - }, - removePetname(pubkey) { - return this.updatePetnames(reject(t => t[1] === pubkey)) - }, // Relays diff --git a/src/app/shared/PersonActions.svelte b/src/app/shared/PersonActions.svelte index 4246c3d5..906a6e92 100644 --- a/src/app/shared/PersonActions.svelte +++ b/src/app/shared/PersonActions.svelte @@ -6,7 +6,7 @@ import {modal} from "src/partials/state" import Popover from "src/partials/Popover.svelte" import OverflowMenu from "src/partials/OverflowMenu.svelte" - import {keys} from "src/system" + import {keys, social} from "src/system" import {sampleRelays, getPubkeyWriteRelays} from "src/agent/relays" import user from "src/agent/user" import pool from "src/agent/pool" @@ -65,12 +65,10 @@ const follow = async () => { const [{url}] = sampleRelays(getPubkeyWriteRelays(person.pubkey)) - user.addPetname(person.pubkey, url, displayPerson(person)) + social.follow(person.pubkey, url, displayPerson(person)) } - const unfollow = async () => { - user.removePetname(person.pubkey) - } + const unfollow = () => social.unfollow(person.pubkey) const mute = async () => { user.addMute("p", person.pubkey) diff --git a/src/app/shared/PersonInfo.svelte b/src/app/shared/PersonInfo.svelte index af15bb8c..5a19756e 100644 --- a/src/app/shared/PersonInfo.svelte +++ b/src/app/shared/PersonInfo.svelte @@ -1,32 +1,31 @@
@@ -49,12 +48,11 @@
{#if $canSign} {#if isFollowing} - removePetname(person)}> + unfollow(person)}> Following {:else} - addPetname(person)} - >Follow + follow(person)}>Follow {/if} {/if} diff --git a/src/app/shared/PersonSummary.svelte b/src/app/shared/PersonSummary.svelte index 1f95eef2..46c38bfb 100644 --- a/src/app/shared/PersonSummary.svelte +++ b/src/app/shared/PersonSummary.svelte @@ -2,7 +2,7 @@ import {last, nth} from "ramda" import {displayPerson} from "src/util/nostr" import Anchor from "src/partials/Anchor.svelte" - import {keys} from "src/system" + import {keys, social} from "src/system" import user from "src/agent/user" import {sampleRelays, getPubkeyWriteRelays} from "src/agent/relays" import {getPersonWithFallback} from "src/agent/db" @@ -24,10 +24,10 @@ const follow = () => { const [{url}] = getRelays() - user.addPetname(pubkey, url, displayPerson($person)) + social.follow(pubkey, url, displayPerson($person)) } - const unfollow = () => user.removePetname(pubkey) + const unfollow = () => social.unfollow(pubkey) const unmute = () => user.removeMute(pubkey) diff --git a/src/app/views/Onboarding.svelte b/src/app/views/Onboarding.svelte index 4db496ca..eb9e1107 100644 --- a/src/app/views/Onboarding.svelte +++ b/src/app/views/Onboarding.svelte @@ -45,7 +45,7 @@ user.updateRelays(() => user.getRelays()), cmd.updateUser(profile).publish(user.getRelays()), note && cmd.createNote(note).publish(user.getRelays()), - user.updatePetnames(() => + social.updatePetnames( user.getPetnamePubkeys().map(pubkey => { const [{url}] = sampleRelays(getPubkeyWriteRelays(pubkey)) const name = displayPerson(getPersonWithFallback(pubkey)) diff --git a/src/app/views/OnboardingFollows.svelte b/src/app/views/OnboardingFollows.svelte index 211e0ca2..a37b79be 100644 --- a/src/app/views/OnboardingFollows.svelte +++ b/src/app/views/OnboardingFollows.svelte @@ -6,7 +6,7 @@ import Heading from "src/partials/Heading.svelte" import Content from "src/partials/Content.svelte" import PersonInfo from "src/app/shared/PersonInfo.svelte" - import {DEFAULT_FOLLOWS} from "src/system" + import {DEFAULT_FOLLOWS, social} from "src/system" import {getPersonWithFallback, searchPeople} from "src/agent/db" import {sampleRelays, getPubkeyWriteRelays} from "src/agent/relays" import {modal} from "src/partials/state" @@ -15,7 +15,7 @@ const {petnamePubkeys} = user if ($petnamePubkeys.length === 0) { - user.updatePetnames(() => + social.updatePetnames( DEFAULT_FOLLOWS.map(pubkey => { const [{url}] = sampleRelays(getPubkeyWriteRelays(pubkey)) const name = displayPerson(getPersonWithFallback(pubkey)) diff --git a/src/system/social.ts b/src/system/social.ts index ac3583f7..98515f7e 100644 --- a/src/system/social.ts +++ b/src/system/social.ts @@ -72,7 +72,6 @@ export default ({keys, sync, cmd, getUserWriteRelays}) => { const getUserKey = () => keys.getPubkey() || "anonymous" const getUserPetnames = () => getPetnames(getUserKey()) - const getUserPetnamePubkeys = () => getPetnamePubkeys(getUserKey()) const getUserFollows = () => getFollows(getUserKey()) const getUserNetwork = () => getNetwork(getUserKey()) const isUserFollowing = pubkey => isFollowing(getUserKey(), pubkey) @@ -106,10 +105,10 @@ export default ({keys, sync, cmd, getUserWriteRelays}) => { getNetwork, isFollowing, getUserPetnames, - getUserPetnamePubkeys, getUserFollows, getUserNetwork, isUserFollowing, + updatePetnames, follow, unfollow, sortByGraph,