mirror of
https://github.com/PrimalHQ/primal-web-app.git
synced 2024-10-01 17:31:13 +00:00
Remove the ability to unfollow yourself
This commit is contained in:
parent
af70930b35
commit
cca4ab5949
@ -1,5 +1,6 @@
|
|||||||
import { A } from '@solidjs/router';
|
import { A } from '@solidjs/router';
|
||||||
import { Component, For, Show } from 'solid-js';
|
import { Component, For, Show } from 'solid-js';
|
||||||
|
import { useAccountContext } from '../../contexts/AccountContext';
|
||||||
import { hookForDev } from '../../lib/devTools';
|
import { hookForDev } from '../../lib/devTools';
|
||||||
import { authorName, nip05Verification, truncateNpub } from '../../stores/profile';
|
import { authorName, nip05Verification, truncateNpub } from '../../stores/profile';
|
||||||
import { PrimalUser } from '../../types/primal';
|
import { PrimalUser } from '../../types/primal';
|
||||||
@ -10,6 +11,8 @@ import styles from './PeopleList.module.scss';
|
|||||||
|
|
||||||
|
|
||||||
const PeopleList: Component<{ people: PrimalUser[], label: string, id?: string }> = (props) => {
|
const PeopleList: Component<{ people: PrimalUser[], label: string, id?: string }> = (props) => {
|
||||||
|
const account = useAccountContext();
|
||||||
|
|
||||||
const people = () => props.people;
|
const people = () => props.people;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -44,7 +47,9 @@ const PeopleList: Component<{ people: PrimalUser[], label: string, id?: string }
|
|||||||
{truncateNpub(person?.npub)}
|
{truncateNpub(person?.npub)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<FollowButton person={person} />
|
<Show when={account?.publicKey !== person.pubkey}>
|
||||||
|
<FollowButton person={person} />
|
||||||
|
</Show>
|
||||||
</A>
|
</A>
|
||||||
}
|
}
|
||||||
</For>
|
</For>
|
||||||
|
@ -14,6 +14,7 @@ import Avatar from '../Avatar/Avatar';
|
|||||||
import FollowButton from '../FollowButton/FollowButton';
|
import FollowButton from '../FollowButton/FollowButton';
|
||||||
import { A } from '@solidjs/router';
|
import { A } from '@solidjs/router';
|
||||||
import { humanizeNumber } from '../../lib/stats';
|
import { humanizeNumber } from '../../lib/stats';
|
||||||
|
import { useAccountContext } from '../../contexts/AccountContext';
|
||||||
|
|
||||||
|
|
||||||
const ProfileContact: Component<{
|
const ProfileContact: Component<{
|
||||||
@ -24,6 +25,7 @@ const ProfileContact: Component<{
|
|||||||
}> = (props) => {
|
}> = (props) => {
|
||||||
|
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
|
const account = useAccountContext();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div id={props.id} class={styles.profileContact}>
|
<div id={props.id} class={styles.profileContact}>
|
||||||
@ -57,7 +59,9 @@ const ProfileContact: Component<{
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Show>
|
</Show>
|
||||||
<FollowButton person={props.profile} postAction={props.postAction} />
|
<Show when={account?.publicKey !== props.profile?.pubkey}>
|
||||||
|
<FollowButton person={props.profile} postAction={props.postAction} />
|
||||||
|
</Show>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -757,7 +757,11 @@ export function AccountProvider(props: { children: JSXElement }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const removeFollow = (pubkey: string, cb?: (remove: boolean, pubkey: string) => void) => {
|
const removeFollow = (pubkey: string, cb?: (remove: boolean, pubkey: string) => void) => {
|
||||||
if (!store.publicKey || !store.following.includes(pubkey)) {
|
if (
|
||||||
|
!store.publicKey ||
|
||||||
|
!store.following.includes(pubkey) ||
|
||||||
|
store.publicKey === pubkey
|
||||||
|
) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,14 +210,19 @@ const CreateAccount: Component = () => { const intl = useIntl();
|
|||||||
toast?.sendSuccess(intl.formatMessage(tToast.updateProfileSuccess));
|
toast?.sendSuccess(intl.formatMessage(tToast.updateProfileSuccess));
|
||||||
pubkey && getUserProfiles([pubkey], `user_profile_${APP_ID}`);
|
pubkey && getUserProfiles([pubkey], `user_profile_${APP_ID}`);
|
||||||
|
|
||||||
const tags = followed.map(pk => ['p', pk]);
|
let tags = followed.map(pk => ['p', pk]);
|
||||||
const date = Math.floor((new Date()).getTime() / 1000);
|
const date = Math.floor((new Date()).getTime() / 1000);
|
||||||
|
|
||||||
|
if (pubkey) {
|
||||||
|
// Follow himself
|
||||||
|
tags.push(['p', pubkey]);
|
||||||
|
}
|
||||||
|
|
||||||
const sendResult = await sendContacts(tags, date, '', account.relays, relaySettings);
|
const sendResult = await sendContacts(tags, date, '', account.relays, relaySettings);
|
||||||
|
|
||||||
if (sendResult.success && sendResult.note) {
|
if (sendResult.success && sendResult.note) {
|
||||||
triggerImportEvents([sendResult.note], `import_contacts_${APP_ID}`, () => {
|
triggerImportEvents([sendResult.note], `import_contacts_${APP_ID}`, () => {
|
||||||
getProfileContactList(account?.publicKey, `user_contacts_${APP_ID}`);
|
getProfileContactList(pubkey, `user_contacts_${APP_ID}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,7 +230,7 @@ const CreateAccount: Component = () => { const intl = useIntl();
|
|||||||
|
|
||||||
if (relayResult.success && relayResult.note) {
|
if (relayResult.success && relayResult.note) {
|
||||||
triggerImportEvents([relayResult.note], `import_relays_${APP_ID}`, () => {
|
triggerImportEvents([relayResult.note], `import_relays_${APP_ID}`, () => {
|
||||||
getRelays(account?.publicKey, `user_relays_${APP_ID}`);
|
getRelays(pubkey, `user_relays_${APP_ID}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -603,7 +603,9 @@ const Profile: Component = () => {
|
|||||||
</ButtonSecondary>
|
</ButtonSecondary>
|
||||||
</Show>
|
</Show>
|
||||||
|
|
||||||
<FollowButton person={profile?.userProfile} large={true} />
|
<Show when={account?.publicKey !== profile?.profileKey}>
|
||||||
|
<FollowButton person={profile?.userProfile} large={true} />
|
||||||
|
</Show>
|
||||||
|
|
||||||
<Show when={isCurrentUser()}>
|
<Show when={isCurrentUser()}>
|
||||||
<div class={styles.editProfileButton}>
|
<div class={styles.editProfileButton}>
|
||||||
|
Loading…
Reference in New Issue
Block a user