mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-09-25 11:13:30 +02:00
small fix
This commit is contained in:
@@ -2,9 +2,9 @@ import { useMemo } from "react";
|
||||
import userMetadata from "../services/user-metadata";
|
||||
import useSubject from "./use-subject";
|
||||
|
||||
export function useUserMetadata(pubkey: string) {
|
||||
export function useUserMetadata(pubkey: string, stayOpen = false) {
|
||||
const observable = useMemo(
|
||||
() => userMetadata.requestUserMetadata(pubkey),
|
||||
() => userMetadata.requestUserMetadata(pubkey, stayOpen),
|
||||
[pubkey]
|
||||
);
|
||||
const metadata = useSubject(observable) ?? undefined;
|
||||
|
@@ -56,7 +56,7 @@ class UserMetadataService {
|
||||
) as BehaviorSubject<Kind0ParsedContent | null>;
|
||||
}
|
||||
|
||||
requestUserMetadata(pubkey: string, useCache = true) {
|
||||
requestUserMetadata(pubkey: string, stayOpen = false) {
|
||||
const subject = this.getUserSubject(pubkey);
|
||||
|
||||
const request = () => {
|
||||
@@ -65,19 +65,20 @@ class UserMetadataService {
|
||||
this.update();
|
||||
}
|
||||
};
|
||||
if (useCache) {
|
||||
if (!subject.getValue()) {
|
||||
db.get("user-metadata", pubkey).then((cachedEvent) => {
|
||||
if (cachedEvent) {
|
||||
try {
|
||||
subject.next(JSON.parse(cachedEvent.content));
|
||||
} catch (e) {
|
||||
request();
|
||||
}
|
||||
} else request();
|
||||
});
|
||||
}
|
||||
} else request();
|
||||
|
||||
if (!subject.getValue()) {
|
||||
db.get("user-metadata", pubkey).then((cachedEvent) => {
|
||||
if (cachedEvent) {
|
||||
try {
|
||||
subject.next(JSON.parse(cachedEvent.content));
|
||||
} catch (e) {
|
||||
request();
|
||||
}
|
||||
} else request();
|
||||
});
|
||||
}
|
||||
|
||||
if (stayOpen) request();
|
||||
|
||||
return subject;
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ export const UserView = () => {
|
||||
throw new Error("No pubkey");
|
||||
}
|
||||
|
||||
const { metadata, loading: loadingMetadata } = useUserMetadata(pubkey);
|
||||
const { metadata, loading: loadingMetadata } = useUserMetadata(pubkey, true);
|
||||
const label = metadata ? getUserFullName(metadata) || pubkey : pubkey;
|
||||
|
||||
return (
|
||||
|
Reference in New Issue
Block a user