secondary.tsx raw

   1  import ChatChannelPage from '@/pages/secondary/ChatChannelPage'
   2  import AppearanceSettingsPage from '@/pages/secondary/AppearanceSettingsPage'
   3  import BookmarkPage from '@/pages/secondary/BookmarkPage'
   4  import DMConversationPage from '@/pages/secondary/DMConversationPage'
   5  import EmojiPackSettingsPage from '@/pages/secondary/EmojiPackSettingsPage'
   6  import ExternalContentPage from '@/pages/secondary/ExternalContentPage'
   7  import FollowingListPage from '@/pages/secondary/FollowingListPage'
   8  import FollowPackPage from '@/pages/secondary/FollowPackPage'
   9  import GeneralSettingsPage from '@/pages/secondary/GeneralSettingsPage'
  10  import HelpPage from '@/pages/secondary/HelpPage'
  11  import LoginPage from '@/pages/secondary/LoginPage'
  12  import LogoutPage from '@/pages/secondary/LogoutPage'
  13  import MuteListPage from '@/pages/secondary/MuteListPage'
  14  import NoteListPage from '@/pages/secondary/NoteListPage'
  15  import NotePage from '@/pages/secondary/NotePage'
  16  import OthersRelaySettingsPage from '@/pages/secondary/OthersRelaySettingsPage'
  17  import PostSettingsPage from '@/pages/secondary/PostSettingsPage'
  18  import ProfileEditorPage from '@/pages/secondary/ProfileEditorPage'
  19  import ProfileListPage from '@/pages/secondary/ProfileListPage'
  20  import ProfilePage from '@/pages/secondary/ProfilePage'
  21  import RelayPage from '@/pages/secondary/RelayPage'
  22  import RelayReviewsPage from '@/pages/secondary/RelayReviewsPage'
  23  import RelaySettingsPage from '@/pages/secondary/RelaySettingsPage'
  24  import RizfulPage from '@/pages/secondary/RizfulPage'
  25  import SearchPage from '@/pages/secondary/SearchPage'
  26  import SettingsPage from '@/pages/secondary/SettingsPage'
  27  import SystemSettingsPage from '@/pages/secondary/SystemSettingsPage'
  28  import WalletPage from '@/pages/secondary/WalletPage'
  29  import { match } from 'path-to-regexp'
  30  import { isValidElement } from 'react'
  31  
  32  // Right column routes
  33  const SECONDARY_ROUTE_CONFIGS = [
  34    { path: '/login', element: <LoginPage /> },
  35    { path: '/logout', element: <LogoutPage /> },
  36    { path: '/notes', element: <NoteListPage /> },
  37    { path: '/notes/:id', element: <NotePage /> },
  38    { path: '/users', element: <ProfileListPage /> },
  39    { path: '/users/:id', element: <ProfilePage /> },
  40    { path: '/users/:id/following', element: <FollowingListPage /> },
  41    { path: '/users/:id/relays', element: <OthersRelaySettingsPage /> },
  42    { path: '/relays/:url', element: <RelayPage /> },
  43    { path: '/relays/:url/reviews', element: <RelayReviewsPage /> },
  44    { path: '/search', element: <SearchPage /> },
  45    { path: '/external-content', element: <ExternalContentPage /> },
  46    { path: '/settings', element: <SettingsPage /> },
  47    { path: '/help', element: <HelpPage /> },
  48    { path: '/settings/relays', element: <RelaySettingsPage /> },
  49    { path: '/settings/wallet', element: <WalletPage /> },
  50    { path: '/settings/posts', element: <PostSettingsPage /> },
  51    { path: '/settings/general', element: <GeneralSettingsPage /> },
  52    { path: '/settings/appearance', element: <AppearanceSettingsPage /> },
  53    { path: '/settings/emoji-packs', element: <EmojiPackSettingsPage /> },
  54    { path: '/settings/system', element: <SystemSettingsPage /> },
  55    { path: '/profile-editor', element: <ProfileEditorPage /> },
  56    { path: '/mutes', element: <MuteListPage /> },
  57    { path: '/rizful', element: <RizfulPage /> },
  58    { path: '/bookmarks', element: <BookmarkPage /> },
  59    { path: '/dm/:pubkey', element: <DMConversationPage /> },
  60    { path: '/follow-packs/:id', element: <FollowPackPage /> },
  61    { path: '/chat/:channelId', element: <ChatChannelPage /> }
  62  ]
  63  
  64  export const SECONDARY_ROUTES = SECONDARY_ROUTE_CONFIGS.map(({ path, element }) => ({
  65    path,
  66    element: isValidElement(element) ? element : null,
  67    matcher: match(path)
  68  }))
  69