import { SearchPage } from 'pages/search'
import { AboutPage } from '../pages/about'
import { BlogsPage } from '../pages/blogs'
import { GamesPage } from '../pages/games'
import { HomePage } from '../pages/home'
import { ModPage } from '../pages/mod'
import { ModsPage } from '../pages/mods'
import { ProfilePage } from '../pages/profile'
import { SettingsPage } from '../pages/settings'
import { SubmitModPage } from '../pages/submitMod'
import { WritePage } from '../pages/write'
import { GamePage } from 'pages/game'

export const appRoutes = {
  index: '/',
  home: '/home',
  games: '/games',
  game: '/game/:name',
  mods: '/mods',
  mod: '/mod/:naddr',
  about: '/about',
  blog: '/blog',
  submitMod: '/submit-mod',
  editMod: '/edit-mod/:naddr',
  write: '/write',
  search: '/search',
  settingsProfile: '/settings-profile',
  settingsRelays: '/settings-relays',
  settingsPreferences: '/settings-preferences',
  settingsAdmin: '/settings-admin',
  profile: '/profile/:nprofile'
}

export const getGamePageRoute = (name: string) =>
  appRoutes.game.replace(':name', name)

export const getModPageRoute = (eventId: string) =>
  appRoutes.mod.replace(':naddr', eventId)

export const getModsEditPageRoute = (eventId: string) =>
  appRoutes.editMod.replace(':naddr', eventId)

export const getProfilePageRoute = (nprofile: string) =>
  appRoutes.profile.replace(':nprofile', nprofile)

export const routes = [
  {
    path: appRoutes.index,
    element: <HomePage />
  },
  {
    path: appRoutes.home,
    element: <HomePage />
  },
  {
    path: appRoutes.games,
    element: <GamesPage />
  },
  {
    path: appRoutes.game,
    element: <GamePage />
  },
  {
    path: appRoutes.mods,
    element: <ModsPage />
  },
  {
    path: appRoutes.mod,
    element: <ModPage />
  },
  {
    path: appRoutes.about,
    element: <AboutPage />
  },
  {
    path: appRoutes.blog,
    element: <BlogsPage />
  },
  {
    path: appRoutes.submitMod,
    element: <SubmitModPage />
  },
  {
    path: appRoutes.editMod,
    element: <SubmitModPage />
  },
  {
    path: appRoutes.write,
    element: <WritePage />
  },
  {
    path: appRoutes.search,
    element: <SearchPage />
  },
  {
    path: appRoutes.settingsProfile,
    element: <SettingsPage />
  },
  {
    path: appRoutes.settingsRelays,
    element: <SettingsPage />
  },
  {
    path: appRoutes.settingsPreferences,
    element: <SettingsPage />
  },
  {
    path: appRoutes.settingsAdmin,
    element: <SettingsPage />
  },
  {
    path: appRoutes.profile,
    element: <ProfilePage />
  }
]
