diff --git a/src/shared/notes/mentions/hashtag.tsx b/src/shared/notes/mentions/hashtag.tsx
index 5b7b98ae..5c95bd9e 100644
--- a/src/shared/notes/mentions/hashtag.tsx
+++ b/src/shared/notes/mentions/hashtag.tsx
@@ -7,8 +7,9 @@ export function Hashtag({ tag }: { tag: string }) {
const setWidget = useWidgets((state) => state.setWidget);
return (
-
+
);
}
diff --git a/src/shared/notes/mentions/note.tsx b/src/shared/notes/mentions/note.tsx
index a1604912..d1463efb 100644
--- a/src/shared/notes/mentions/note.tsx
+++ b/src/shared/notes/mentions/note.tsx
@@ -66,10 +66,10 @@ export const MentionNote = memo(function MentionNote({ id }: { id: string }) {
onKeyDown={(e) => openThread(e, id)}
role="button"
tabIndex={0}
- className="mb-2 mt-3 cursor-default rounded-lg bg-white/10 px-3 py-3 backdrop-blur-xl"
+ className="cursor-default rounded-lg bg-white/10 px-3 py-3 backdrop-blur-xl"
>
-
{renderKind(data)}
+ {renderKind(data)}
);
});
diff --git a/src/shared/notes/mentions/user.tsx b/src/shared/notes/mentions/user.tsx
index 3a5142b3..028b35c3 100644
--- a/src/shared/notes/mentions/user.tsx
+++ b/src/shared/notes/mentions/user.tsx
@@ -12,8 +12,9 @@ export function MentionUser({ pubkey }: { pubkey: string }) {
const setWidget = useWidgets((state) => state.setWidget);
return (
-
+
);
}
diff --git a/src/utils/parser.ts b/src/utils/parser.ts
index 8b89cae4..4bc330cc 100644
--- a/src/utils/parser.ts
+++ b/src/utils/parser.ts
@@ -62,9 +62,12 @@ export function parser(event: NDKEvent) {
// parse hashtag
const hashtags = content.parsed.split(/\s/gm).filter((s) => s.startsWith('#'));
- hashtags?.forEach((tag) => {
- content.parsed = content.parsed.replace(tag, ` ~tag-${tag}~ `);
- });
+ if (hashtags) {
+ const uniqTags = new Set(hashtags);
+ uniqTags.forEach((tag) => {
+ content.parsed = content.parsed.replaceAll(tag, `~tag-${tag}~`);
+ });
+ }
return content;
}