feat: add special follow feed
This commit is contained in:
parent
4eb68d36d4
commit
dbcb48d599
8 changed files with 144 additions and 4 deletions
|
|
@ -6,7 +6,7 @@ import { cn } from '@/lib/utils'
|
|||
import { useFavoriteRelays } from '@/providers/FavoriteRelaysProvider'
|
||||
import { useFeed } from '@/providers/FeedProvider'
|
||||
import { useScreenSize } from '@/providers/ScreenSizeProvider'
|
||||
import { ChevronDown, Server, UsersRound } from 'lucide-react'
|
||||
import { ChevronDown, Server, Star, UsersRound } from 'lucide-react'
|
||||
import { forwardRef, HTMLAttributes, useMemo, useState } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
|
||||
|
|
@ -62,6 +62,9 @@ const FeedSwitcherTrigger = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivEle
|
|||
if (feedInfo?.feedType === 'following') {
|
||||
return t('Following')
|
||||
}
|
||||
if (feedInfo?.feedType === 'pinned') {
|
||||
return t('Special Follow')
|
||||
}
|
||||
if (relayUrls.length === 0) {
|
||||
return t('Choose a feed')
|
||||
}
|
||||
|
|
@ -73,13 +76,19 @@ const FeedSwitcherTrigger = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivEle
|
|||
}
|
||||
}, [feedInfo, activeRelaySet])
|
||||
|
||||
const icon = useMemo(() => {
|
||||
if (feedInfo?.feedType === 'following') return <UsersRound />
|
||||
if (feedInfo?.feedType === 'pinned') return <Star />
|
||||
return <Server />
|
||||
}, [feedInfo])
|
||||
|
||||
return (
|
||||
<div
|
||||
className={cn('flex items-center gap-2 clickable px-3 h-full rounded-xl', className)}
|
||||
ref={ref}
|
||||
{...props}
|
||||
>
|
||||
{feedInfo?.feedType === 'following' ? <UsersRound /> : <Server />}
|
||||
{icon}
|
||||
<div className="text-lg font-semibold truncate">{title}</div>
|
||||
<ChevronDown />
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue