Compare commits
No commits in common. "d6166913955377c9b810fd861f38efe18ea181cc" and "ddcf7d52a80e467ed2a74036f3de2fdc017cada0" have entirely different histories.
d616691395
...
ddcf7d52a8
3 changed files with 16 additions and 46 deletions
|
|
@ -1,2 +0,0 @@
|
||||||
VITE_COMMUNITY_RELAYS="wss://basspistol.org/favorites,wss://basspistol.org/popular,wss://basspistol.org/uppermost,wss://basspistol.org/personal"
|
|
||||||
VITE_COMMUNITY_RELAY_SETS=[{"id": "basspistol", "name": "Basspistol", "relayUrls": ["wss://basspistol.org","wss://drops.basspistol.org"]},{"id": "member", "name": "Backstage", "relayUrls": ["wss://basspistol.org/internal"]},{"id": "hood", "name": "Hood", "relayUrls": ["wss://nestr.nedao.ch","wss://pyramid.fiatjaf.com","wss://spatia-arcana.com","wss://lightning.red","wss://inner.sebastix.social"]}]
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { cn } from '@/lib/utils'
|
import { cn } from '@/lib/utils'
|
||||||
import { TRelaySet } from '@/types'
|
import { TRelaySet } from '@/types'
|
||||||
import { ChevronDown, FolderClosed, Music, Radio, Trees, DoorOpen } from 'lucide-react'
|
import { ChevronDown, FolderClosed } from 'lucide-react'
|
||||||
import { useState } from 'react'
|
import { useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import RelayIcon from '../RelayIcon'
|
import RelayIcon from '../RelayIcon'
|
||||||
|
|
@ -17,21 +17,6 @@ export default function RelaySetCard({
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const [expand, setExpand] = useState(false)
|
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 (
|
return (
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
|
|
@ -40,16 +25,15 @@ export default function RelaySetCard({
|
||||||
? 'border-primary bg-primary/5 shadow-sm'
|
? 'border-primary bg-primary/5 shadow-sm'
|
||||||
: 'clickable border-border hover:border-primary/50 hover:bg-accent/50'
|
: 'clickable border-border hover:border-primary/50 hover:bg-accent/50'
|
||||||
)}
|
)}
|
||||||
onClick={() => onSelectChange(!select)}
|
onClick={() => onSelectChange(!select)}
|
||||||
>
|
>
|
||||||
<div className="flex items-center justify-between gap-2">
|
<div className="flex items-center justify-between gap-2">
|
||||||
<div className="flex min-w-0 flex-1 items-center gap-3">
|
<div className="flex min-w-0 flex-1 items-center gap-3">
|
||||||
<div className="flex size-6 shrink-0 items-center justify-center">
|
<div className="flex size-6 shrink-0 items-center justify-center">
|
||||||
{/* Use the dynamic icon component instead of hardcoded FolderClosed */}
|
<FolderClosed className="size-5" />
|
||||||
<IconComponent className="size-5" />
|
|
||||||
</div>
|
|
||||||
<div className="select-none truncate font-medium">{relaySet.name}</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div className="select-none truncate font-medium">{relaySet.name}</div>
|
||||||
|
</div>
|
||||||
<div className="flex shrink-0 items-center gap-1">
|
<div className="flex shrink-0 items-center gap-1">
|
||||||
<RelayUrlsExpandToggle expand={expand} onExpandChange={setExpand}>
|
<RelayUrlsExpandToggle expand={expand} onExpandChange={setExpand}>
|
||||||
{t('n relays', { n: relaySet.relayUrls.length })}
|
{t('n relays', { n: relaySet.relayUrls.length })}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { cn } from '@/lib/utils'
|
||||||
import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider'
|
import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider'
|
||||||
import { useFeed } from '@/providers/FeedProvider'
|
import { useFeed } from '@/providers/FeedProvider'
|
||||||
import { useScreenSize } from '@/providers/ScreenSizeProvider'
|
import { useScreenSize } from '@/providers/ScreenSizeProvider'
|
||||||
import { ChevronDown, Server, Star, UsersRound, Music, Radio, Trees, DoorOpen } from 'lucide-react'
|
import { ChevronDown, Server, Star, UsersRound } from 'lucide-react'
|
||||||
import { forwardRef, HTMLAttributes, useMemo, useState } from 'react'
|
import { forwardRef, HTMLAttributes, useMemo, useState } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
|
|
||||||
|
|
@ -90,25 +90,13 @@ const FeedSwitcherTrigger = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivEle
|
||||||
|
|
||||||
const icon = useMemo(() => {
|
const icon = useMemo(() => {
|
||||||
if (feedInfo?.feedType === 'following') return <UsersRound />
|
if (feedInfo?.feedType === 'following') return <UsersRound />
|
||||||
if (feedInfo?.feedType === 'pinned') return <Star />
|
if (feedInfo?.feedType === 'pinned') return <Star />
|
||||||
if (feedInfo?.feedType === 'relay' && feedInfo.id) {
|
if (feedInfo?.feedType === 'relay' && feedInfo.id) {
|
||||||
return <RelayIcon url={feedInfo.id} />
|
return <RelayIcon url={feedInfo.id} />
|
||||||
}
|
}
|
||||||
if (feedInfo?.feedType === 'relays') {
|
|
||||||
const relaySetName = feedInfo.name ?? activeRelaySet?.name ?? activeRelaySet?.id ?? ''
|
|
||||||
const nameLower = relaySetName.toLowerCase()
|
|
||||||
|
|
||||||
// Custom icons for your relay sets
|
return <Server />
|
||||||
if (nameLower.includes('basspistol')) return <Radio />
|
}, [feedInfo])
|
||||||
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 =
|
const clickable =
|
||||||
!IS_COMMUNITY_MODE || COMMUNITY_RELAY_SETS.length + COMMUNITY_RELAYS.length > 1
|
!IS_COMMUNITY_MODE || COMMUNITY_RELAY_SETS.length + COMMUNITY_RELAYS.length > 1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue