+
-
+ {!isProfileReaction &&
}
);
}
@@ -558,7 +561,9 @@ function ZapNotification({ item, isNew }: { item: NotificationItem; isNew: boole
function LikeNotificationGroup({ group }: { group: GroupedNotificationItem }) {
// Use the first actor's reaction emoji as the icon
const firstEvent = group.actors[0].event;
- const noun = getNotificationKindNoun(group.referencedEvent?.kind);
+ const isProfileReaction = group.referencedEvent?.kind === 0
+ || firstEvent.tags.some(([name, value]) => name === 'a' && value?.startsWith('0:'));
+ const noun = isProfileReaction ? 'profile' : getNotificationKindNoun(group.referencedEvent?.kind);
return (
-
+ {!isProfileReaction && }
);
}
diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx
index 53e1291c..e87ad1c7 100644
--- a/src/pages/ProfilePage.tsx
+++ b/src/pages/ProfilePage.tsx
@@ -22,7 +22,7 @@ import { ProfileRightSidebar } from '@/components/ProfileRightSidebar';
import { NoteCard } from '@/components/NoteCard';
import { ComposeBox } from '@/components/ComposeBox';
import { ReplyComposeModal } from '@/components/ReplyComposeModal';
-import { ZapDialog } from '@/components/ZapDialog';
+import { ProfileReactionButton } from '@/components/ProfileReactionButton';
import { ExternalFavicon } from '@/components/ExternalFavicon';
import { Nip05Badge, VerifiedNip05Text } from '@/components/Nip05Badge';
import { useAppContext } from '@/hooks/useAppContext';
@@ -44,7 +44,6 @@ import { ThreadedReplyList } from '@/components/ThreadedReplyList';
import { useNip05Resolve } from '@/hooks/useNip05Resolve';
import { genUserName } from '@/lib/genUserName';
-import { canZap } from '@/lib/canZap';
import { shareOrCopy } from '@/lib/share';
import { openUrl } from '@/lib/downloadFile';
import { EmojifiedText } from '@/components/CustomEmoji';
@@ -2077,13 +2076,9 @@ type EditableTab = { label: string; isCore: boolean; tab?: ProfileTab };
)}
- {/* Zap button */}
- {!isOwnProfile && authorEvent && canZap(metadata) && (
-
-
-
+ {/* Profile reaction button */}
+ {!isOwnProfile && authorEvent && (
+
)}
{isOwnProfile ? (