small fix

This commit is contained in:
hzrd149
2023-02-07 17:04:18 -06:00
parent 84ebe8e77d
commit c29fbaf8ba
3 changed files with 18 additions and 17 deletions

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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 (