index.tsx raw
1 import EmojiPackList from '@/components/EmojiPackList'
2 import NoteList from '@/components/NoteList'
3 import Tabs from '@/components/Tabs'
4 import client from '@/services/client.service'
5 import SecondaryPageLayout from '@/layouts/SecondaryPageLayout'
6 import { useUserTrust } from '@/providers/UserTrustProvider'
7 import { kinds } from 'nostr-tools'
8 import { forwardRef, useState } from 'react'
9 import { useTranslation } from 'react-i18next'
10
11 type TTab = 'my-packs' | 'explore'
12
13 const EmojiPackSettingsPage = forwardRef(({ index }: { index?: number }, ref) => {
14 const { t } = useTranslation()
15 const { hideUntrustedNotes } = useUserTrust()
16 const [tab, setTab] = useState<TTab>('my-packs')
17
18 return (
19 <SecondaryPageLayout ref={ref} index={index} title={t('Emoji Packs')} displayScrollToTopButton>
20 <Tabs
21 value={tab}
22 tabs={[
23 { value: 'my-packs', label: 'My Packs' },
24 { value: 'explore', label: 'Explore' }
25 ]}
26 onTabChange={(tab) => {
27 setTab(tab as TTab)
28 }}
29 />
30 {tab === 'my-packs' ? (
31 <EmojiPackList />
32 ) : (
33 <NoteList
34 showKinds={[kinds.Emojisets]}
35 subRequests={[{ urls: client.currentRelays, filter: {} }]}
36 hideUntrustedNotes={hideUntrustedNotes}
37 />
38 )}
39 </SecondaryPageLayout>
40 )
41 })
42 EmojiPackSettingsPage.displayName = 'EmojiPackSettingsPage'
43 export default EmojiPackSettingsPage
44