restore reposts to feeds

This commit is contained in:
Martti Malmi 2023-08-17 19:47:33 +03:00
parent e5e9e893fb
commit e8748fc807
5 changed files with 18 additions and 7 deletions

View File

@ -13,6 +13,7 @@ import EventDB from '@/nostr/EventDB.ts';
import {
getEventReplyingTo,
getEventRoot,
getLikedEventId,
getNoteReplyingTo,
getOriginalPostEventId,
getRepostedEventId,
@ -124,7 +125,7 @@ const Events = {
}
},
handleReaction(event: Event) {
const id = event.tags?.reverse().find((tag: any) => tag[0] === 'e')?.[1]; // last e tag is the liked post
const id = getLikedEventId(event);
if (!id) return;
if (!this.likesByMessageId.has(id)) {
this.likesByMessageId.set(id, new Set());

View File

@ -74,3 +74,13 @@ export function getEventRoot(event: Event) {
// first e tag
return event?.tags?.find((t) => t[0] === 'e')?.[1];
}
export function getLikedEventId(event: Event) {
if (!event.tags) {
return undefined;
}
return event.tags
.slice()
.reverse()
.find((tag: any) => tag[0] === 'e')?.[1];
}

View File

@ -134,13 +134,13 @@ class Profile extends View {
filterOptions={[
{
name: t('posts'),
filter: { authors: [this.state.hexPub], kinds: [1], limit: 10 },
filter: { authors: [this.state.hexPub], kinds: [1, 6], limit: 10 },
filterFn: (event) => !getEventReplyingTo(event),
eventProps: { showRepliedMsg: true },
},
{
name: t('posts_and_replies'),
filter: { authors: [this.state.hexPub], kinds: [1], limit: 5 },
filter: { authors: [this.state.hexPub], kinds: [1, 6], limit: 5 },
eventProps: { showRepliedMsg: true, fullWidth: false },
},
{

View File

@ -30,13 +30,13 @@ class Feed extends View {
filterOptions={[
{
name: t('posts'),
filter: { kinds: [1], limit: 10 },
filter: { kinds: [1, 6], limit: 10 },
filterFn: (event) => !getEventReplyingTo(event),
eventProps: { showRepliedMsg: true },
},
{
name: t('posts_and_replies'),
filter: { kinds: [1], limit: 5 },
filter: { kinds: [1, 6], limit: 5 },
eventProps: { showRepliedMsg: true, fullWidth: false },
},
]}

View File

@ -57,13 +57,13 @@ class Feed extends View {
filterOptions={[
{
name: t('posts'),
filter: { kinds: [1], authors: this.state.followedUsers, limit: 10 },
filter: { kinds: [1, 6], authors: this.state.followedUsers, limit: 10 },
filterFn: (event) => !getEventReplyingTo(event),
eventProps: { showRepliedMsg: true },
},
{
name: t('posts_and_replies'),
filter: { kinds: [1], authors: this.state.followedUsers, limit: 5 },
filter: { kinds: [1, 6], authors: this.state.followedUsers, limit: 5 },
eventProps: { showRepliedMsg: true, fullWidth: false },
},
]}