diff --git a/packages/app/src/Components/Event/Thread.tsx b/packages/app/src/Components/Event/Thread.tsx
index 6a190383..10df9fc2 100644
--- a/packages/app/src/Components/Event/Thread.tsx
+++ b/packages/app/src/Components/Event/Thread.tsx
@@ -2,7 +2,7 @@ import "./Thread.css";
import { EventExt, NostrPrefix, parseNostrLink, TaggedNostrEvent, u256 } from "@snort/system";
import classNames from "classnames";
-import { Fragment, ReactNode, useContext, useMemo, useState } from "react";
+import { Fragment, ReactNode, useCallback, useContext, useMemo, useState } from "react";
import { useIntl } from "react-intl";
import { useNavigate, useParams } from "react-router-dom";
@@ -233,10 +233,13 @@ export function Thread(props: { onBack?: () => void; disableSpotlight?: boolean
[props.disableSpotlight],
);
- function navigateThread(e: TaggedNostrEvent) {
- thread.setCurrent(e.id);
- //router.navigate(`/${NostrLink.fromEvent(e).encode()}`, { replace: true })
- }
+ const navigateThread = useCallback(
+ (e: TaggedNostrEvent) => {
+ thread.setCurrent(e.id);
+ // navigate(`/${NostrLink.fromEvent(e).encode()}`, { replace: true });
+ },
+ [thread],
+ );
const parent = useMemo(() => {
if (thread.root) {
diff --git a/packages/app/src/Db/FuzzySearch.ts b/packages/app/src/Db/FuzzySearch.ts
index 5b559ebb..64558334 100644
--- a/packages/app/src/Db/FuzzySearch.ts
+++ b/packages/app/src/Db/FuzzySearch.ts
@@ -1,5 +1,5 @@
-import Fuse from "fuse.js";
import { CachedMetadata } from "@snort/system";
+import Fuse from "fuse.js";
export type FuzzySearchResult = {
pubkey: string;
diff --git a/packages/app/src/Pages/DeckLayout.tsx b/packages/app/src/Pages/DeckLayout.tsx
index d74eed75..e561383f 100644
--- a/packages/app/src/Pages/DeckLayout.tsx
+++ b/packages/app/src/Pages/DeckLayout.tsx
@@ -1,7 +1,7 @@
import "./Deck.css";
import { NostrLink, TaggedNostrEvent } from "@snort/system";
-import { createContext, useEffect, useState } from "react";
+import { createContext, useCallback, useEffect, useState } from "react";
import { FormattedMessage } from "react-intl";
import { Link, Outlet, useNavigate } from "react-router-dom";
@@ -176,6 +176,13 @@ function ArticlesCol() {
}
function MediaCol({ setThread }: { setThread: (e: NostrLink) => void }) {
+ const noteOnClick = useCallback(
+ e => {
+ setThread(NostrLink.fromEvent(e));
+ },
+ [setThread],
+ );
+
return (
@@ -192,7 +199,7 @@ function MediaCol({ setThread }: { setThread: (e: NostrLink) => void }) {
}}
displayAs="grid"
showDisplayAsSelector={false}
- noteOnClick={e => setThread(NostrLink.fromEvent(e))}
+ noteOnClick={noteOnClick}
/>
);
diff --git a/packages/app/src/Pages/Layout/Header.tsx b/packages/app/src/Pages/Layout/Header.tsx
index 826a3d9a..1e640562 100644
--- a/packages/app/src/Pages/Layout/Header.tsx
+++ b/packages/app/src/Pages/Layout/Header.tsx
@@ -102,17 +102,17 @@ export function Header() {
function NoteTitle({ link }: { link: NostrLink }) {
const ev = useEventFeed(link);
+ const values = useMemo(() => {
+ return { name:
};
+ }, [ev.data?.pubkey]);
+
if (!ev.data?.pubkey) {
return
;
}
return (
<>
-
}}
- />
+
>
);
}
diff --git a/packages/app/src/Pages/Profile/ProfilePage.tsx b/packages/app/src/Pages/Profile/ProfilePage.tsx
index 6c4efe93..6f514c6f 100644
--- a/packages/app/src/Pages/Profile/ProfilePage.tsx
+++ b/packages/app/src/Pages/Profile/ProfilePage.tsx
@@ -2,9 +2,9 @@ import "./ProfilePage.css";
import { fetchNip05Pubkey, LNURL } from "@snort/shared";
import {
+ CachedMetadata,
encodeTLVEntries,
EventKind,
- CachedMetadata,
NostrPrefix,
TLVEntryType,
tryParseNostrLink,
diff --git a/packages/app/src/Pages/Root.tsx b/packages/app/src/Pages/Root.tsx
index 0a316e0f..af9ce64d 100644
--- a/packages/app/src/Pages/Root.tsx
+++ b/packages/app/src/Pages/Root.tsx
@@ -1,7 +1,7 @@
import { unixNow } from "@snort/shared";
import { NostrLink } from "@snort/system";
import { SnortContext } from "@snort/system-react";
-import { lazy, useContext, useEffect, useState } from "react";
+import { lazy, useContext, useEffect, useMemo, useState } from "react";
import { FormattedMessage } from "react-intl";
import { Link, Outlet, RouteObject, useParams } from "react-router-dom";
@@ -164,20 +164,20 @@ export const NotesTab = () => {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const deckContext = useContext(DeckContext);
+ const noteOnClick = useMemo(() => {
+ if (deckContext) {
+ return ev => {
+ deckContext.setThread(NostrLink.fromEvent(ev));
+ };
+ }
+ return undefined;
+ }, [deckContext]);
+
return (
<>
-
{
- deckContext.setThread(NostrLink.fromEvent(ev));
- }
- : undefined
- }
- />
+
>
);
};
diff --git a/packages/app/src/Utils/Notifications.ts b/packages/app/src/Utils/Notifications.ts
index 30999541..e6340539 100644
--- a/packages/app/src/Utils/Notifications.ts
+++ b/packages/app/src/Utils/Notifications.ts
@@ -1,6 +1,6 @@
import { base64 } from "@scure/base";
import { removeUndefined, unwrap } from "@snort/shared";
-import { EventKind, EventPublisher, CachedMetadata, TaggedNostrEvent } from "@snort/system";
+import { CachedMetadata, EventKind, EventPublisher, TaggedNostrEvent } from "@snort/system";
import { UserCache } from "@/Cache";
import SnortApi from "@/External/SnortApi";
diff --git a/packages/app/src/Utils/index.ts b/packages/app/src/Utils/index.ts
index 812d6e21..2928761d 100644
--- a/packages/app/src/Utils/index.ts
+++ b/packages/app/src/Utils/index.ts
@@ -6,10 +6,10 @@ import { bytesToHex } from "@noble/hashes/utils";
import { base32hex, bech32 } from "@scure/base";
import { isHex, isOffline } from "@snort/shared";
import {
+ CachedMetadata,
encodeTLV,
EventKind,
HexKey,
- CachedMetadata,
NostrEvent,
NostrLink,
NostrPrefix,
diff --git a/packages/app/src/system.ts b/packages/app/src/system.ts
index 8552a47f..e8552673 100644
--- a/packages/app/src/system.ts
+++ b/packages/app/src/system.ts
@@ -2,7 +2,7 @@ import { removeUndefined, throwIfOffline } from "@snort/shared";
import { mapEventToProfile, NostrEvent, NostrSystem, ProfileLoaderService, socialGraphInstance } from "@snort/system";
import { RelayMetrics, SystemDb, UserCache, UserRelays } from "@/Cache";
-import { addEventToFuzzySearch, addProfileToFuzzySearch } from "@/Db/FuzzySearch";
+import { addEventToFuzzySearch } from "@/Db/FuzzySearch";
import { LoginStore } from "@/Utils/Login";
import { hasWasm, WasmOptimizer } from "@/Utils/wasm";