💨
This commit is contained in:
parent
ed8a22d5bc
commit
942c9a7d12
3 changed files with 21 additions and 19 deletions
|
|
@ -30,6 +30,11 @@
|
|||
/>
|
||||
</head>
|
||||
<body>
|
||||
<noscript
|
||||
>You need to enable JavaScript to run this app. If you're looking for something on the nostr
|
||||
network, try replacing everything before the last slash in your URL bar with njump.me or
|
||||
nostr.at for a view-only nostr interface.</noscript
|
||||
>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import RelayIcon from '../RelayIcon'
|
|||
|
||||
type TPostTargetItem =
|
||||
| {
|
||||
type: 'writeRelays'
|
||||
type: 'optimalRelays'
|
||||
}
|
||||
| {
|
||||
type: 'relay'
|
||||
|
|
@ -67,7 +67,7 @@ export default function PostRelaySelector({
|
|||
}
|
||||
if (postTargetItems.length === 1) {
|
||||
const item = postTargetItems[0]
|
||||
if (item.type === 'writeRelays') {
|
||||
if (item.type === 'optimalRelays') {
|
||||
return t('Optimal relays')
|
||||
}
|
||||
if (item.type === 'relay') {
|
||||
|
|
@ -79,7 +79,7 @@ export default function PostRelaySelector({
|
|||
: simplifyUrl(item.urls[0])
|
||||
}
|
||||
}
|
||||
const hasWriteRelays = postTargetItems.some((item) => item.type === 'writeRelays')
|
||||
const hasOptimalRelays = postTargetItems.some((item) => item.type === 'optimalRelays')
|
||||
const relayCount = postTargetItems.reduce((count, item) => {
|
||||
if (item.type === 'relay') {
|
||||
return count + 1
|
||||
|
|
@ -89,7 +89,7 @@ export default function PostRelaySelector({
|
|||
}
|
||||
return count
|
||||
}, 0)
|
||||
if (hasWriteRelays) {
|
||||
if (hasOptimalRelays) {
|
||||
return t('Optimal relays and {{count}} other relays', { count: relayCount })
|
||||
}
|
||||
return t('{{count}} relays', { count: relayCount })
|
||||
|
|
@ -104,11 +104,11 @@ export default function PostRelaySelector({
|
|||
setPostTargetItems(parentEventSeenOnRelays.map((url) => ({ type: 'relay', url })))
|
||||
return
|
||||
}
|
||||
setPostTargetItems([{ type: 'writeRelays' }])
|
||||
setPostTargetItems([{ type: 'optimalRelays' }])
|
||||
}, [openFrom, parentEventSeenOnRelays])
|
||||
|
||||
useEffect(() => {
|
||||
const isProtectedEvent = postTargetItems.every((item) => item.type !== 'writeRelays')
|
||||
const isProtectedEvent = postTargetItems.every((item) => item.type !== 'optimalRelays')
|
||||
const relayUrls = postTargetItems.flatMap((item) => {
|
||||
if (item.type === 'relay') {
|
||||
return [item.url]
|
||||
|
|
@ -123,11 +123,11 @@ export default function PostRelaySelector({
|
|||
setAdditionalRelayUrls(relayUrls)
|
||||
}, [postTargetItems])
|
||||
|
||||
const handleWriteRelaysCheckedChange = useCallback((checked: boolean) => {
|
||||
const handleOptimalRelaysCheckedChange = useCallback((checked: boolean) => {
|
||||
if (checked) {
|
||||
setPostTargetItems((prev) => [...prev, { type: 'writeRelays' }])
|
||||
setPostTargetItems((prev) => [...prev, { type: 'optimalRelays' }])
|
||||
} else {
|
||||
setPostTargetItems((prev) => prev.filter((item) => item.type !== 'writeRelays'))
|
||||
setPostTargetItems((prev) => prev.filter((item) => item.type !== 'optimalRelays'))
|
||||
}
|
||||
}, [])
|
||||
|
||||
|
|
@ -158,10 +158,10 @@ export default function PostRelaySelector({
|
|||
return (
|
||||
<>
|
||||
<MenuItem
|
||||
checked={postTargetItems.some((item) => item.type === 'writeRelays')}
|
||||
onCheckedChange={handleWriteRelaysCheckedChange}
|
||||
checked={postTargetItems.some((item) => item.type === 'optimalRelays')}
|
||||
onCheckedChange={handleOptimalRelaysCheckedChange}
|
||||
>
|
||||
{t('Write relays')}
|
||||
{t('Optimal relays')}
|
||||
</MenuItem>
|
||||
{relaySets.length > 0 && (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
import { Skeleton } from '@/components/ui/skeleton'
|
||||
import { IS_COMMUNITY_MODE } from '@/constants'
|
||||
import { createFakeEvent } from '@/lib/event'
|
||||
import { cn } from '@/lib/utils'
|
||||
import { TRelayInfo } from '@/types'
|
||||
import { HTMLProps } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import ContentPreview from '../ContentPreview'
|
||||
import RelayIcon from '../RelayIcon'
|
||||
import SaveRelayDropdownMenu from '../SaveRelayDropdownMenu'
|
||||
import { SimpleUserAvatar } from '../UserAvatar'
|
||||
|
|
@ -34,13 +36,8 @@ export default function RelaySimpleInfo({
|
|||
{relayInfo && !IS_COMMUNITY_MODE && <SaveRelayDropdownMenu urls={[relayInfo.url]} />}
|
||||
</div>
|
||||
{!!relayInfo?.description && (
|
||||
<div
|
||||
className="line-clamp-3 whitespace-pre-wrap break-words"
|
||||
style={{
|
||||
overflowWrap: 'anywhere'
|
||||
}}
|
||||
>
|
||||
{relayInfo.description}
|
||||
<div className="line-clamp-3 whitespace-pre-wrap break-words">
|
||||
<ContentPreview event={createFakeEvent({ content: relayInfo.description })} />
|
||||
</div>
|
||||
)}
|
||||
{!!users?.length && (
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue