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