diff --git a/src/components/nostr/kinds/ApplicationHandlerDetailRenderer.tsx b/src/components/nostr/kinds/ApplicationHandlerDetailRenderer.tsx
index 65009a7..86db8c9 100644
--- a/src/components/nostr/kinds/ApplicationHandlerDetailRenderer.tsx
+++ b/src/components/nostr/kinds/ApplicationHandlerDetailRenderer.tsx
@@ -196,7 +196,7 @@ export function ApplicationHandlerDetailRenderer({
{contentJson && Object.keys(contentJson).length > 0 && (
Metadata
-
+
)}
diff --git a/src/lib/nip89-helpers.test.ts b/src/lib/nip89-helpers.test.ts
index 02b87d9..9fe6138 100644
--- a/src/lib/nip89-helpers.test.ts
+++ b/src/lib/nip89-helpers.test.ts
@@ -91,6 +91,23 @@ describe("Kind 31990 (Application Handler) Helpers", () => {
expect(getAppDescription(event)).toBe("A great app");
});
+ it("should extract about field as fallback", () => {
+ const event = createHandlerEvent({
+ content: JSON.stringify({ about: "An awesome app" }),
+ });
+ expect(getAppDescription(event)).toBe("An awesome app");
+ });
+
+ it("should prefer description over about", () => {
+ const event = createHandlerEvent({
+ content: JSON.stringify({
+ description: "Description text",
+ about: "About text",
+ }),
+ });
+ expect(getAppDescription(event)).toBe("Description text");
+ });
+
it("should return undefined if no content", () => {
const event = createHandlerEvent({ content: "" });
expect(getAppDescription(event)).toBeUndefined();
diff --git a/src/lib/nip89-helpers.ts b/src/lib/nip89-helpers.ts
index eefdb5d..8062979 100644
--- a/src/lib/nip89-helpers.ts
+++ b/src/lib/nip89-helpers.ts
@@ -47,14 +47,19 @@ export function getAppName(event: NostrEvent): string {
/**
* Extract app description from kind 31990 event content JSON
+ * Checks both 'description' and 'about' fields
*/
export function getAppDescription(event: NostrEvent): string | undefined {
if (event.kind !== 31990 || !event.content) return undefined;
try {
const metadata = JSON.parse(event.content);
- if (metadata && typeof metadata === "object" && metadata.description && typeof metadata.description === "string") {
- return metadata.description;
+ if (metadata && typeof metadata === "object") {
+ // Check description first, then about (common in kind 0 profile format)
+ const desc = metadata.description || metadata.about;
+ if (desc && typeof desc === "string") {
+ return desc;
+ }
}
} catch {
// Invalid JSON