customize icons

This commit is contained in:
sakrecoer 2026-04-09 15:44:23 +02:00
parent c8476bf519
commit d616691395
2 changed files with 44 additions and 16 deletions

View file

@ -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<HTMLDivElement, HTMLAttributes<HTMLDivEle
const icon = useMemo(() => {
if (feedInfo?.feedType === 'following') return <UsersRound />
if (feedInfo?.feedType === 'pinned') return <Star />
if (feedInfo?.feedType === 'relay' && feedInfo.id) {
return <RelayIcon url={feedInfo.id} />
}
if (feedInfo?.feedType === 'pinned') return <Star />
if (feedInfo?.feedType === 'relay' && feedInfo.id) {
return <RelayIcon url={feedInfo.id} />
}
if (feedInfo?.feedType === 'relays') {
const relaySetName = feedInfo.name ?? activeRelaySet?.name ?? activeRelaySet?.id ?? ''
const nameLower = relaySetName.toLowerCase()
return <Server />
}, [feedInfo])
// Custom icons for your relay sets
if (nameLower.includes('basspistol')) return <Radio />
if (nameLower.includes('music')) return <Music />
if (nameLower.includes('backstage')) return <DoorOpen />
if (nameLower.includes('hood')) return <Trees />
// Default relay set icon
return <Server />
}
return <Server />
}, [feedInfo, activeRelaySet])
const clickable =
!IS_COMMUNITY_MODE || COMMUNITY_RELAY_SETS.length + COMMUNITY_RELAYS.length > 1