feat: show login button when viewing following feed without login
This commit is contained in:
@@ -160,6 +160,7 @@ export default {
|
|||||||
'Select relays to append': 'Select relays to append',
|
'Select relays to append': 'Select relays to append',
|
||||||
'calculating...': 'calculating...',
|
'calculating...': 'calculating...',
|
||||||
'Calculate optimal read relays': 'Calculate optimal read relays',
|
'Calculate optimal read relays': 'Calculate optimal read relays',
|
||||||
'Login to set': 'Login to set'
|
'Login to set': 'Login to set',
|
||||||
|
'Please login to view following feed': 'Please login to view following feed'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,6 +161,7 @@ export default {
|
|||||||
'Select relays to append': '选择要追加的服务器',
|
'Select relays to append': '选择要追加的服务器',
|
||||||
'calculating...': '计算中...',
|
'calculating...': '计算中...',
|
||||||
'Calculate optimal read relays': '计算最佳读服务器',
|
'Calculate optimal read relays': '计算最佳读服务器',
|
||||||
'Login to set': '登录后设置'
|
'Login to set': '登录后设置',
|
||||||
|
'Please login to view following feed': '请登录以查看关注动态'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import NoteList from '@/components/NoteList'
|
import NoteList from '@/components/NoteList'
|
||||||
import SaveRelayDropdownMenu from '@/components/SaveRelayDropdownMenu'
|
import SaveRelayDropdownMenu from '@/components/SaveRelayDropdownMenu'
|
||||||
|
import { Button } from '@/components/ui/button'
|
||||||
import PrimaryPageLayout from '@/layouts/PrimaryPageLayout'
|
import PrimaryPageLayout from '@/layouts/PrimaryPageLayout'
|
||||||
import { useFeed } from '@/providers/FeedProvider'
|
import { useFeed } from '@/providers/FeedProvider'
|
||||||
|
import { useNostr } from '@/providers/NostrProvider'
|
||||||
import { useEffect, useRef } from 'react'
|
import { useEffect, useRef } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import FeedButton from './FeedButton'
|
import FeedButton from './FeedButton'
|
||||||
@@ -10,6 +12,7 @@ import SearchButton from './SearchButton'
|
|||||||
export default function NoteListPage() {
|
export default function NoteListPage() {
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const layoutRef = useRef<{ scrollToTop: () => void }>(null)
|
const layoutRef = useRef<{ scrollToTop: () => void }>(null)
|
||||||
|
const { pubkey, checkLogin } = useNostr()
|
||||||
const { feedType, relayUrls, isReady, filter } = useFeed()
|
const { feedType, relayUrls, isReady, filter } = useFeed()
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -18,6 +21,19 @@ export default function NoteListPage() {
|
|||||||
}
|
}
|
||||||
}, [JSON.stringify(relayUrls), feedType])
|
}, [JSON.stringify(relayUrls), feedType])
|
||||||
|
|
||||||
|
let content = <div className="text-center text-sm text-muted-foreground">{t('loading...')}</div>
|
||||||
|
if (feedType === 'following' && !pubkey) {
|
||||||
|
content = (
|
||||||
|
<div className="flex justify-center w-full">
|
||||||
|
<Button size="lg" onClick={() => checkLogin()}>
|
||||||
|
{t('Please login to view following feed')}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
} else if (isReady) {
|
||||||
|
content = <NoteList relayUrls={relayUrls} filter={filter} />
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<PrimaryPageLayout
|
<PrimaryPageLayout
|
||||||
pageName="home"
|
pageName="home"
|
||||||
@@ -27,11 +43,7 @@ export default function NoteListPage() {
|
|||||||
}
|
}
|
||||||
displayScrollToTopButton
|
displayScrollToTopButton
|
||||||
>
|
>
|
||||||
{isReady ? (
|
{content}
|
||||||
<NoteList relayUrls={relayUrls} filter={filter} />
|
|
||||||
) : (
|
|
||||||
<div className="text-center text-sm text-muted-foreground">{t('loading...')}</div>
|
|
||||||
)}
|
|
||||||
</PrimaryPageLayout>
|
</PrimaryPageLayout>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user