diff --git a/src/components/ProfileCard.tsx b/src/components/ProfileCard.tsx
index fc1763de..db43f58f 100644
--- a/src/components/ProfileCard.tsx
+++ b/src/components/ProfileCard.tsx
@@ -95,6 +95,8 @@ export interface ProfileCardProps {
onRemoveAvatar?: () => void;
/** Show NIP-05 row (default true) */
showNip05?: boolean;
+ /** Show NIP-58 badge showcase row (default true). */
+ showBadges?: boolean;
/** When provided, render an editable profile fields section below bio */
extraFields?: ProfileField[];
onExtraFieldsChange?: (fields: ProfileField[]) => void;
@@ -107,6 +109,7 @@ export function ProfileCard({
onPickImage,
onRemoveAvatar,
showNip05 = true,
+ showBadges = true,
extraFields,
onExtraFieldsChange,
}: ProfileCardProps) {
@@ -332,7 +335,7 @@ export function ProfileCard({
{/* Badge showcase */}
- {(badgeRefs.length > 0 || badgesLoading) && (
+ {showBadges && (badgeRefs.length > 0 || badgesLoading) && (
({
diff --git a/src/pages/ProfilePage.tsx b/src/pages/ProfilePage.tsx
index fa8bc134..7b106212 100644
--- a/src/pages/ProfilePage.tsx
+++ b/src/pages/ProfilePage.tsx
@@ -6,7 +6,7 @@ import { useNostr } from '@nostrify/react';
import { useInfiniteQuery, useQueryClient } from '@tanstack/react-query';
import { useSeoMeta } from '@unhead/react';
import { nip19 } from 'nostr-tools';
-import { Zap, ClipboardCopy, ExternalLink, VolumeX, Flag, Bitcoin, X, QrCode, Check, Copy, Loader2, Download, Trash2, RotateCcw, Mail, ListPlus, Award, PanelLeft } from 'lucide-react';
+import { Zap, ClipboardCopy, ExternalLink, VolumeX, Flag, Bitcoin, X, QrCode, Check, Copy, Loader2, Download, RotateCcw, Mail, ListPlus, Award } from 'lucide-react';
import { Avatar, AvatarImage, AvatarFallback } from '@/components/ui/avatar';
import { Button } from '@/components/ui/button';
@@ -104,9 +104,6 @@ function ProfileMoreMenu({ pubkey, displayName, open, onOpenChange, isOwnProfile
const npubEncoded = useMemo(() => nip19.npubEncode(pubkey), [pubkey]);
const { addMute, removeMute, isMuted } = useMuteList();
const userMuted = isMuted('pubkey', pubkey);
- const { addToSidebar, removeFromSidebar, orderedItems } = useFeedSettings();
- const sidebarId = `nostr:${npubEncoded}`;
- const isInSidebar = orderedItems.includes(sidebarId);
const [reportOpen, setReportOpen] = useState(false);
const [addToListOpen, setAddToListOpen] = useState(false);
const [recoveryOpen, setRecoveryOpen] = useState(false);
@@ -153,17 +150,6 @@ function ProfileMoreMenu({ pubkey, displayName, open, onOpenChange, isOwnProfile
const handleReport = () => openAfterClose(setReportOpen);
const handleAddToList = () => openAfterClose(setAddToListOpen);
- const handleToggleSidebar = () => {
- if (isInSidebar) {
- removeFromSidebar(sidebarId);
- toast({ title: 'Removed from sidebar' });
- } else {
- addToSidebar(sidebarId);
- toast({ title: 'Added to sidebar' });
- }
- close();
- };
-
const handleRecovery = () => openAfterClose(setRecoveryOpen);
const handleGiveBadge = () => openAfterClose(setGiveBadgeOpen);
const handleWriteLetter = () => {
@@ -197,11 +183,6 @@ function ProfileMoreMenu({ pubkey, displayName, open, onOpenChange, isOwnProfile
label="Add to list"
onClick={handleAddToList}
/>
- : }
- label={isInSidebar ? 'Remove from sidebar' : 'Add to sidebar'}
- onClick={handleToggleSidebar}
- />
{isOwnProfile && (
diff --git a/src/pages/ProfileSettings.tsx b/src/pages/ProfileSettings.tsx
index a716c17a..b683eb1e 100644
--- a/src/pages/ProfileSettings.tsx
+++ b/src/pages/ProfileSettings.tsx
@@ -714,6 +714,7 @@ export function ProfileSettings() {
onChange={handleCardChange}
onPickImage={handlePickImage}
onRemoveAvatar={() => form.setValue('picture', '', { shouldDirty: true })}
+ showBadges={false}
/>
{isUploading && (