diff --git a/src/components/RelaySetCard/index.tsx b/src/components/RelaySetCard/index.tsx index 7367bc5..83d13eb 100644 --- a/src/components/RelaySetCard/index.tsx +++ b/src/components/RelaySetCard/index.tsx @@ -1,6 +1,6 @@ import { cn } from '@/lib/utils' import { TRelaySet } from '@/types' -import { ChevronDown, FolderClosed } from 'lucide-react' +import { ChevronDown, FolderClosed, Music, Radio, Trees, DoorOpen } from 'lucide-react' import { useState } from 'react' import { useTranslation } from 'react-i18next' import RelayIcon from '../RelayIcon' @@ -17,6 +17,21 @@ export default function RelaySetCard({ const { t } = useTranslation() const [expand, setExpand] = useState(false) + const getRelaySetIcon = (name: string) => { + const nameLower = name.toLowerCase() + + + if (nameLower.includes('basspistol')) return Radio + if (nameLower.includes('music')) return Music + if (nameLower.includes('backstage')) return DoorOpen + if (nameLower.includes('hood')) return Trees + + + return FolderClosed + } + + const IconComponent = getRelaySetIcon(relaySet.name) + return (
onSelectChange(!select)} - > -
-
-
- + onClick={() => onSelectChange(!select)} + > +
+
+
+ {/* Use the dynamic icon component instead of hardcoded FolderClosed */} + +
+
{relaySet.name}
-
{relaySet.name}
-
{t('n relays', { n: relaySet.relayUrls.length })} diff --git a/src/pages/primary/NoteListPage/FeedButton.tsx b/src/pages/primary/NoteListPage/FeedButton.tsx index 42dfa76..8cbba0c 100644 --- a/src/pages/primary/NoteListPage/FeedButton.tsx +++ b/src/pages/primary/NoteListPage/FeedButton.tsx @@ -8,7 +8,7 @@ import { cn } from '@/lib/utils' import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider' import { useFeed } from '@/providers/FeedProvider' import { useScreenSize } from '@/providers/ScreenSizeProvider' -import { ChevronDown, Server, Star, UsersRound } from 'lucide-react' +import { ChevronDown, Server, Star, UsersRound, Music, Radio, Trees, DoorOpen } from 'lucide-react' import { forwardRef, HTMLAttributes, useMemo, useState } from 'react' import { useTranslation } from 'react-i18next' @@ -90,13 +90,25 @@ const FeedSwitcherTrigger = forwardRef { if (feedInfo?.feedType === 'following') return - if (feedInfo?.feedType === 'pinned') return - if (feedInfo?.feedType === 'relay' && feedInfo.id) { - return - } + if (feedInfo?.feedType === 'pinned') return + if (feedInfo?.feedType === 'relay' && feedInfo.id) { + return + } + if (feedInfo?.feedType === 'relays') { + const relaySetName = feedInfo.name ?? activeRelaySet?.name ?? activeRelaySet?.id ?? '' + const nameLower = relaySetName.toLowerCase() - return - }, [feedInfo]) + // Custom icons for your relay sets + if (nameLower.includes('basspistol')) return + if (nameLower.includes('music')) return + if (nameLower.includes('backstage')) return + if (nameLower.includes('hood')) return + + // Default relay set icon + return + } + return + }, [feedInfo, activeRelaySet]) const clickable = !IS_COMMUNITY_MODE || COMMUNITY_RELAY_SETS.length + COMMUNITY_RELAYS.length > 1