feat: add relay selector for posting

This commit is contained in:
codytseng 2025-09-21 21:43:09 +08:00
parent 2439150c6e
commit ec11d53fac
25 changed files with 418 additions and 201 deletions

View file

@ -5,6 +5,7 @@ import RelayInfo from '@/components/RelayInfo'
import { Button } from '@/components/ui/button'
import PrimaryPageLayout from '@/layouts/PrimaryPageLayout'
import { toSearch } from '@/lib/link'
import { useCurrentRelays } from '@/providers/CurrentRelaysProvider'
import { useFeed } from '@/providers/FeedProvider'
import { useNostr } from '@/providers/NostrProvider'
import { useScreenSize } from '@/providers/ScreenSizeProvider'
@ -26,6 +27,7 @@ import RelaysFeed from './RelaysFeed'
const NoteListPage = forwardRef((_, ref) => {
const { t } = useTranslation()
const { addRelayUrls, removeRelayUrls } = useCurrentRelays()
const layoutRef = useRef<TPageRef>(null)
const { pubkey, checkLogin } = useNostr()
const { feedInfo, relayUrls, isReady } = useFeed()
@ -38,6 +40,15 @@ const NoteListPage = forwardRef((_, ref) => {
}
}, [JSON.stringify(relayUrls), feedInfo])
useEffect(() => {
if (relayUrls.length) {
addRelayUrls(relayUrls)
return () => {
removeRelayUrls(relayUrls)
}
}
}, [relayUrls])
let content: React.ReactNode = null
if (!isReady) {
content = <div className="text-center text-sm text-muted-foreground">{t('loading...')}</div>