diff --git a/package.json b/package.json index 153bc40d..760054fc 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "dependencies": { "@floating-ui/react": "^0.23.1", "@headlessui/react": "^1.7.14", - "@preact/signals-react": "1.2.2", "@supabase/supabase-js": "^2.21.0", "@tanstack/react-query": "^4.29.5", "@tanstack/react-virtual": "3.0.0-beta.54", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68fbbf0e..7fad8452 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,9 +7,6 @@ dependencies: '@headlessui/react': specifier: ^1.7.14 version: 1.7.14(react-dom@18.2.0)(react@18.2.0) - '@preact/signals-react': - specifier: 1.2.2 - version: 1.2.2(react@18.2.0) '@supabase/supabase-js': specifier: ^2.21.0 version: 2.21.0(encoding@0.1.13) @@ -752,22 +749,6 @@ packages: { integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== } dev: true - /@preact/signals-core@1.3.0: - resolution: - { integrity: sha512-M+M3ZOtd1dtV/uasyk4SZu1vbfEJ4NeENv0F7F12nijZYedB5wSgbtZcuACyssnTznhF4ctUyrR0dZHuHfyWKA== } - dev: false - - /@preact/signals-react@1.2.2(react@18.2.0): - resolution: - { integrity: sha512-GoESQ9n1bns2FD+8yqH7lBvQMavboKLCNEW+s0hs3Wcp5B1VHvVxwJo6aFs6rpxoh1/q8Tvwbi4vIeehBD2mzA== } - peerDependencies: - react: 17.x || 18.x - dependencies: - '@preact/signals-core': 1.3.0 - react: 18.2.0 - use-sync-external-store: 1.2.0(react@18.2.0) - dev: false - /@rollup/plugin-virtual@3.0.1: resolution: { integrity: sha512-fK8O0IL5+q+GrsMLuACVNk2x21g3yaw+sG2qn16SnUd3IlBsQyvWxLMGHmCmXRMecPjGRSZ/1LmZB4rjQm68og== } diff --git a/src/app/newsfeed/components/note/base.tsx b/src/app/newsfeed/components/note/base.tsx index ae42a125..3055d24a 100644 --- a/src/app/newsfeed/components/note/base.tsx +++ b/src/app/newsfeed/components/note/base.tsx @@ -3,10 +3,9 @@ import NoteMetadata from '@lume/app/newsfeed/components/note/metadata'; import { NoteParent } from '@lume/app/newsfeed/components/note/parent'; import { NoteDefaultUser } from '@lume/app/newsfeed/components/user/default'; -import { memo } from 'react'; import { navigate } from 'vite-plugin-ssr/client/router'; -export const NoteBase = memo(function NoteBase({ event }: { event: any }) { +export default function NoteBase({ event }: { event: any }) { const content = contentParser(event.content, event.tags); const parentNote = () => { @@ -44,4 +43,4 @@ export const NoteBase = memo(function NoteBase({ event }: { event: any }) { ); -}); +} diff --git a/src/app/newsfeed/components/note/metadata.tsx b/src/app/newsfeed/components/note/metadata.tsx index 4716cdc2..4d84a9cf 100644 --- a/src/app/newsfeed/components/note/metadata.tsx +++ b/src/app/newsfeed/components/note/metadata.tsx @@ -5,16 +5,15 @@ import ZapIcon from '@lume/shared/icons/zap'; import { RelayContext } from '@lume/shared/relayProvider'; import { READONLY_RELAYS } from '@lume/stores/constants'; -import { useSignal } from '@preact/signals-react'; -import { useContext } from 'react'; +import { useContext, useState } from 'react'; import useSWRSubscription from 'swr/subscription'; export default function NoteMetadata({ id, eventPubkey }: { id: string; eventPubkey: string }) { const pool: any = useContext(RelayContext); - const replies = useSignal(0); - const likes = useSignal(0); - const reposts = useSignal(0); + const [replies, setReplies] = useState(0); + const [reposts, setReposts] = useState(0); + const [likes, setLikes] = useState(0); useSWRSubscription(id ? ['note-metadata', id] : null, ([, key], {}) => { const unsubscribe = pool.subscribe( @@ -30,14 +29,14 @@ export default function NoteMetadata({ id, eventPubkey }: { id: string; eventPub (event: any) => { switch (event.kind) { case 1: - replies.value++; + setReplies((replies) => replies + 1); break; case 6: - reposts.value++; + setReposts((reposts) => reposts + 1); break; case 7: if (event.content === '🤙' || event.content === '+') { - likes.value++; + setLikes((likes) => likes + 1); } break; default: @@ -53,9 +52,9 @@ export default function NoteMetadata({ id, eventPubkey }: { id: string; eventPub return (
- - - + + +