feat: translation (#389)
This commit is contained in:
@@ -6,3 +6,4 @@ export * from './useFetchRelayInfo'
|
||||
export * from './useFetchRelayInfos'
|
||||
export * from './useFetchRelayList'
|
||||
export * from './useSearchProfiles'
|
||||
export * from './useTranslatedEvent'
|
||||
|
||||
21
src/hooks/useTranslatedEvent.tsx
Normal file
21
src/hooks/useTranslatedEvent.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
import { useTranslationService } from '@/providers/TranslationServiceProvider'
|
||||
import { Event } from 'nostr-tools'
|
||||
import { useEffect, useMemo, useState } from 'react'
|
||||
|
||||
export function useTranslatedEvent(eventId?: string) {
|
||||
const { translatedEventIdSet, getTranslatedEvent } = useTranslationService()
|
||||
const translated = useMemo(() => {
|
||||
return eventId ? translatedEventIdSet.has(eventId) : false
|
||||
}, [eventId, translatedEventIdSet])
|
||||
const [translatedEvent, setTranslatedEvent] = useState<Event | null>(null)
|
||||
|
||||
useEffect(() => {
|
||||
if (translated && eventId) {
|
||||
setTranslatedEvent(getTranslatedEvent(eventId))
|
||||
} else {
|
||||
setTranslatedEvent(null)
|
||||
}
|
||||
}, [translated, eventId])
|
||||
|
||||
return translatedEvent
|
||||
}
|
||||
Reference in New Issue
Block a user