From f8de44fe9fd2c6a67e04e272b19368b1e361b6fe Mon Sep 17 00:00:00 2001 From: Ren Amamiya <123083837+reyamir@users.noreply.github.com> Date: Fri, 16 Jun 2023 10:01:20 +0700 Subject: [PATCH] add trending notes --- src/app/channel/components/messages/item.tsx | 6 +- src/app/chat/components/messages/item.tsx | 6 +- src/app/chat/pages/index.page.tsx | 3 +- src/app/space/components/blocks/feed.tsx | 6 +- src/app/space/components/blocks/following.tsx | 6 +- src/app/space/components/blocks/thread.tsx | 16 +-- src/app/space/components/notes/wrapper.tsx | 34 ------- src/app/space/components/user/default.tsx | 97 ------------------- src/app/space/components/user/quote.tsx | 41 -------- src/app/space/components/user/reply.tsx | 41 -------- src/app/trending/components/profile.tsx | 2 - src/app/trending/components/trendingNotes.tsx | 40 ++++++++ .../trending/components/trendingProfiles.tsx | 2 +- src/app/trending/pages/index.page.tsx | 2 + .../components => shared}/notes/base.tsx | 33 ++++--- .../components => shared}/notes/kind1.tsx | 8 +- .../components => shared}/notes/kind1063.tsx | 3 +- .../notes/mentions/note.tsx | 19 ++-- .../notes/mentions/user.tsx | 0 .../components => shared}/notes/metadata.tsx | 8 +- .../notes/metadata/reply.tsx | 0 .../notes/metadata/repost.tsx | 0 .../notes/metadata/zap.tsx | 0 .../components => shared}/notes/parent.tsx | 12 +-- .../notes/preview/image.tsx | 0 .../notes/preview/link.tsx | 2 +- .../notes/preview/video.tsx | 0 .../notes/quoteRepost.tsx | 9 +- .../notes/replies/form.tsx | 0 .../notes/replies/item.tsx | 8 +- .../notes/replies/list.tsx | 2 +- .../components => shared}/notes/rootNote.tsx | 17 ++-- .../components => shared}/notes/skeleton.tsx | 0 .../user/repost.tsx => shared/user.tsx} | 25 +++-- src/stores/constants.tsx | 2 +- src/utils/parser.tsx | 2 +- src/utils/transform.tsx | 5 +- src/utils/types.ts | 6 ++ 38 files changed, 155 insertions(+), 308 deletions(-) delete mode 100644 src/app/space/components/notes/wrapper.tsx delete mode 100644 src/app/space/components/user/default.tsx delete mode 100644 src/app/space/components/user/quote.tsx delete mode 100644 src/app/space/components/user/reply.tsx create mode 100644 src/app/trending/components/trendingNotes.tsx rename src/{app/space/components => shared}/notes/base.tsx (53%) rename src/{app/space/components => shared}/notes/kind1.tsx (78%) rename src/{app/space/components => shared}/notes/kind1063.tsx (75%) rename src/{app/space/components => shared}/notes/mentions/note.tsx (68%) rename src/{app/space/components => shared}/notes/mentions/user.tsx (100%) rename src/{app/space/components => shared}/notes/metadata.tsx (90%) rename src/{app/space/components => shared}/notes/metadata/reply.tsx (100%) rename src/{app/space/components => shared}/notes/metadata/repost.tsx (100%) rename src/{app/space/components => shared}/notes/metadata/zap.tsx (100%) rename src/{app/space/components => shared}/notes/parent.tsx (77%) rename src/{app/space/components => shared}/notes/preview/image.tsx (100%) rename src/{app/space/components => shared}/notes/preview/link.tsx (96%) rename src/{app/space/components => shared}/notes/preview/video.tsx (100%) rename src/{app/space/components => shared}/notes/quoteRepost.tsx (67%) rename src/{app/space/components => shared}/notes/replies/form.tsx (100%) rename src/{app/space/components => shared}/notes/replies/item.tsx (63%) rename src/{app/space/components => shared}/notes/replies/list.tsx (95%) rename src/{app/space/components => shared}/notes/rootNote.tsx (82%) rename src/{app/space/components => shared}/notes/skeleton.tsx (100%) rename src/{app/space/components/user/repost.tsx => shared/user.tsx} (84%) create mode 100644 src/utils/types.ts diff --git a/src/app/channel/components/messages/item.tsx b/src/app/channel/components/messages/item.tsx index 3d8482e3..96bbc6a0 100644 --- a/src/app/channel/components/messages/item.tsx +++ b/src/app/channel/components/messages/item.tsx @@ -3,9 +3,9 @@ import { MessageMuteButton } from "@app/channel/components/messages/muteButton"; import { MessageReplyButton } from "@app/channel/components/messages/replyButton"; import { ChannelMessageUser } from "@app/channel/components/messages/user"; import { ChannelMessageUserMute } from "@app/channel/components/messages/userMute"; -import { MentionNote } from "@app/space/components/notes/mentions/note"; -import { ImagePreview } from "@app/space/components/notes/preview/image"; -import { VideoPreview } from "@app/space/components/notes/preview/video"; +import { MentionNote } from "@shared/notes/mentions/note"; +import { ImagePreview } from "@shared/notes/preview/image"; +import { VideoPreview } from "@shared/notes/preview/video"; import { parser } from "@utils/parser"; import { useMemo, useState } from "react"; diff --git a/src/app/chat/components/messages/item.tsx b/src/app/chat/components/messages/item.tsx index 7f6be2cb..2dfc26c4 100644 --- a/src/app/chat/components/messages/item.tsx +++ b/src/app/chat/components/messages/item.tsx @@ -1,8 +1,8 @@ import { ChatMessageUser } from "@app/chat/components/messages/user"; import { useDecryptMessage } from "@app/chat/hooks/useDecryptMessage"; -import { MentionNote } from "@app/space/components/notes/mentions/note"; -import { ImagePreview } from "@app/space/components/notes/preview/image"; -import { VideoPreview } from "@app/space/components/notes/preview/video"; +import { MentionNote } from "@shared/notes/mentions/note"; +import { ImagePreview } from "@shared/notes/preview/image"; +import { VideoPreview } from "@shared/notes/preview/video"; import { parser } from "@utils/parser"; import { memo } from "react"; diff --git a/src/app/chat/pages/index.page.tsx b/src/app/chat/pages/index.page.tsx index 103adf37..5e442b1c 100644 --- a/src/app/chat/pages/index.page.tsx +++ b/src/app/chat/pages/index.page.tsx @@ -6,6 +6,7 @@ import { useActiveAccount } from "@stores/accounts"; import { useChatMessages } from "@stores/chats"; import { dateToUnix } from "@utils/date"; import { usePageContext } from "@utils/hooks/usePageContext"; +import { LumeEvent } from "@utils/types"; import { useContext, useEffect } from "react"; import useSWRSubscription from "swr/subscription"; @@ -31,7 +32,7 @@ export function Page() { since: dateToUnix(), }); - sub.addListener("event", (event: any) => { + sub.addListener("event", (event: LumeEvent) => { add(account.pubkey, event); }); diff --git a/src/app/space/components/blocks/feed.tsx b/src/app/space/components/blocks/feed.tsx index be10c6f5..31cb9d5e 100644 --- a/src/app/space/components/blocks/feed.tsx +++ b/src/app/space/components/blocks/feed.tsx @@ -1,8 +1,8 @@ -import { NoteBase } from "@app/space/components/notes/base"; -import { NoteQuoteRepost } from "@app/space/components/notes/quoteRepost"; -import { NoteSkeleton } from "@app/space/components/notes/skeleton"; import { getNotesByAuthor } from "@libs/storage"; import { CancelIcon } from "@shared/icons"; +import { NoteBase } from "@shared/notes/base"; +import { NoteQuoteRepost } from "@shared/notes/quoteRepost"; +import { NoteSkeleton } from "@shared/notes/skeleton"; import { useActiveAccount } from "@stores/accounts"; import { useVirtualizer } from "@tanstack/react-virtual"; import { useEffect, useMemo, useRef } from "react"; diff --git a/src/app/space/components/blocks/following.tsx b/src/app/space/components/blocks/following.tsx index a6281120..a713a5d4 100644 --- a/src/app/space/components/blocks/following.tsx +++ b/src/app/space/components/blocks/following.tsx @@ -1,8 +1,8 @@ -import { NoteBase } from "@app/space/components/notes/base"; -import { NoteQuoteRepost } from "@app/space/components/notes/quoteRepost"; -import { NoteSkeleton } from "@app/space/components/notes/skeleton"; import { createNote, getNotes } from "@libs/storage"; import { NDKEvent } from "@nostr-dev-kit/ndk"; +import { NoteBase } from "@shared/notes/base"; +import { NoteQuoteRepost } from "@shared/notes/quoteRepost"; +import { NoteSkeleton } from "@shared/notes/skeleton"; import { RelayContext } from "@shared/relayProvider"; import { useActiveAccount } from "@stores/accounts"; import { useVirtualizer } from "@tanstack/react-virtual"; diff --git a/src/app/space/components/blocks/thread.tsx b/src/app/space/components/blocks/thread.tsx index 244ca191..ad748294 100644 --- a/src/app/space/components/blocks/thread.tsx +++ b/src/app/space/components/blocks/thread.tsx @@ -1,12 +1,12 @@ -import { Kind1 } from "@app/space/components/notes/kind1"; -import { Kind1063 } from "@app/space/components/notes/kind1063"; -import { NoteMetadata } from "@app/space/components/notes/metadata"; -import { NoteReplyForm } from "@app/space/components/notes/replies/form"; -import { RepliesList } from "@app/space/components/notes/replies/list"; -import { NoteSkeleton } from "@app/space/components/notes/skeleton"; -import { NoteDefaultUser } from "@app/space/components/user/default"; import { getNoteByID } from "@libs/storage"; import { ArrowLeftIcon } from "@shared/icons"; +import { Kind1 } from "@shared/notes/kind1"; +import { Kind1063 } from "@shared/notes/kind1063"; +import { NoteMetadata } from "@shared/notes/metadata"; +import { NoteReplyForm } from "@shared/notes/replies/form"; +import { RepliesList } from "@shared/notes/replies/list"; +import { NoteSkeleton } from "@shared/notes/skeleton"; +import { User } from "@shared/user"; import { useActiveAccount } from "@stores/accounts"; import { parser } from "@utils/parser"; import useSWR from "swr"; @@ -48,7 +48,7 @@ export function ThreadBlock({ params }: { params: any }) { ) : (
- {user?.about} -
-Failed to load...
} + {!data ? ( +