From 0442c3512cac29b2647f4d98b91840182dac6224 Mon Sep 17 00:00:00 2001 From: Kieran Date: Thu, 4 Jan 2024 11:04:52 +0000 Subject: [PATCH] chore: fix more warnings --- packages/app/src/Element/Event/Markdown.tsx | 1 + packages/app/src/Element/Event/NoteFooter.tsx | 1 + packages/app/src/Element/Event/NoteReaction.tsx | 6 +++--- packages/app/src/Element/ProxyImg.tsx | 6 +++--- packages/app/src/Element/Trending/TrendingPosts.tsx | 7 ++++--- packages/app/src/Hooks/useCachedFetch.ts | 2 +- 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/packages/app/src/Element/Event/Markdown.tsx b/packages/app/src/Element/Event/Markdown.tsx index 04a57647..50ff7b5b 100644 --- a/packages/app/src/Element/Event/Markdown.tsx +++ b/packages/app/src/Element/Event/Markdown.tsx @@ -130,3 +130,4 @@ export const Markdown = forwardRef((props: Markdo ); }); +Markdown.displayName = "Markdown"; \ No newline at end of file diff --git a/packages/app/src/Element/Event/NoteFooter.tsx b/packages/app/src/Element/Event/NoteFooter.tsx index d9e24caa..30822e13 100644 --- a/packages/app/src/Element/Event/NoteFooter.tsx +++ b/packages/app/src/Element/Event/NoteFooter.tsx @@ -325,3 +325,4 @@ const AsyncFooterIcon = forwardRef((props: AsyncIconProps & { value: number }, r ); }); +AsyncFooterIcon.displayName = "AsyncFooterIcon"; \ No newline at end of file diff --git a/packages/app/src/Element/Event/NoteReaction.tsx b/packages/app/src/Element/Event/NoteReaction.tsx index a1cfd396..065a12b2 100644 --- a/packages/app/src/Element/Event/NoteReaction.tsx +++ b/packages/app/src/Element/Event/NoteReaction.tsx @@ -21,6 +21,7 @@ export default function NoteReaction(props: NoteReactionProps) { const { isMuted } = useModeration(); const { inView, ref } = useInView({ triggerOnce: true, rootMargin: "2000px" }); const profile = useUserProfile(inView ? ev.pubkey : ""); + const root = useMemo(() => extractRoot(), [ev, props.root, inView]); const refEvent = useMemo(() => { if (ev) { @@ -62,8 +63,6 @@ export default function NoteReaction(props: NoteReactionProps) { return props.root; } - const root = useMemo(() => extractRoot(), [ev, props.root, inView]); - if (!inView) { return
; } @@ -72,6 +71,7 @@ export default function NoteReaction(props: NoteReactionProps) { const opt = { showHeader: ev?.kind === EventKind.Repost || ev?.kind === EventKind.TextNote, showFooter: false, + truncate: true }; return shouldNotBeRendered ? null : ( @@ -86,7 +86,7 @@ export default function NoteReaction(props: NoteReactionProps) { }} /> - {root ? : null} + {root ? : null} {!root && refEvent ? (

diff --git a/packages/app/src/Element/ProxyImg.tsx b/packages/app/src/Element/ProxyImg.tsx index 75d13391..9bc50c4b 100644 --- a/packages/app/src/Element/ProxyImg.tsx +++ b/packages/app/src/Element/ProxyImg.tsx @@ -1,5 +1,5 @@ import useImgProxy from "@/Hooks/useImgProxy"; -import React, { HTMLProps, ReactNode, forwardRef, useState, useMemo, useEffect } from "react"; +import { HTMLProps, ReactNode, forwardRef, useState, useMemo, useEffect } from "react"; import { FormattedMessage } from "react-intl"; import { getUrlHostname } from "@/SnortUtils"; @@ -12,7 +12,7 @@ type ProxyImgProps = HTMLProps & { }; export const ProxyImg = forwardRef( - ({ size, className, promptToLoadDirectly, missingImageElement, sha256, ...props }: ProxyImgProps, ref) => { + function ProxyImg({ size, className, promptToLoadDirectly, missingImageElement, sha256, ...props }: ProxyImgProps, ref) { const { proxy } = useImgProxy(); const [loadFailed, setLoadFailed] = useState(false); const [bypass, setBypass] = useState(CONFIG.media.bypassImgProxyError); @@ -62,4 +62,4 @@ export const ProxyImg = forwardRef( ); }, -); +); \ No newline at end of file diff --git a/packages/app/src/Element/Trending/TrendingPosts.tsx b/packages/app/src/Element/Trending/TrendingPosts.tsx index b8cd9e94..bf9aa2ac 100644 --- a/packages/app/src/Element/Trending/TrendingPosts.tsx +++ b/packages/app/src/Element/Trending/TrendingPosts.tsx @@ -1,5 +1,5 @@ import { useState } from "react"; -import { EventExt, NostrEvent, NostrLink, TaggedNostrEvent } from "@snort/system"; +import { NostrEvent, NostrLink, TaggedNostrEvent } from "@snort/system"; import { useReactions } from "@snort/system-react"; import PageSpinner from "@/Element/PageSpinner"; @@ -16,6 +16,7 @@ import { SpotlightThreadModal } from "@/Element/Spotlight/SpotlightThreadModal"; import useLogin from "@/Hooks/useLogin"; import useCachedFetch from "@/Hooks/useCachedFetch"; import { System } from "@/index"; +import { removeUndefined } from "@snort/shared"; export default function TrendingNotes({ count = Infinity, small = false }: { count: number, small: boolean }) { const api = new NostrBandApi(); @@ -28,7 +29,7 @@ export default function TrendingNotes({ count = Infinity, small = false }: { cou isLoading, error, } = useCachedFetch<{ notes: Array<{ event: NostrEvent }> }, Array>(trendingNotesUrl, storageKey, data => { - return data.notes.map(a => { + return removeUndefined(data.notes.map(a => { const ev = a.event; if (!System.Optimizer.schnorrVerify(ev)) { console.error(`Event with invalid sig\n\n${ev}\n\nfrom ${trendingNotesUrl}`); @@ -36,7 +37,7 @@ export default function TrendingNotes({ count = Infinity, small = false }: { cou } System.HandleEvent(ev as TaggedNostrEvent); return ev; - }); + })); }); const login = useLogin(); diff --git a/packages/app/src/Hooks/useCachedFetch.ts b/packages/app/src/Hooks/useCachedFetch.ts index ab4d8f20..107fdc4a 100644 --- a/packages/app/src/Hooks/useCachedFetch.ts +++ b/packages/app/src/Hooks/useCachedFetch.ts @@ -1,7 +1,7 @@ import { useEffect, useMemo, useState } from "react"; const useCachedFetch = (url: string, storageKey: string, dataProcessor?: (data: T) => R) => { - const cachedData = useMemo(() => { + const cachedData = useMemo<{ data: R; timestamp: number }>(() => { const cached = localStorage.getItem(storageKey); return cached ? JSON.parse(cached) : null; }, [storageKey]);