const routes = [
  {
    path: '/',
    component: () => import('layouts/MainLayout.vue'),
    children: [
      { path: '', component: () => import('pages/IndexPage.vue') },
      {
        path: 'login',
        name: 'login',
        component: () => import('pages/LoginPage.vue'),
      },
      {
        path: 'sign-up',
        name: 'sign-up',
        component: () => import('pages/SignUpPage.vue'),
      },
      {
        path: 'password-reset',
        name: 'password-reset',
        component: () => import('pages/PasswordResetPage.vue'),
      },
      { 
        path: 'wave', 
        name: 'wave',
        component: () => import('pages/WavePage.vue') 
      },
      {
        path: 'edit',
        name: 'edit',
        component: () => import('pages/EditPage.vue'),
        meta: { hideFooter: true }
      },
      {
        path: 'person-selector',
        name: 'person-selector',
        component: () => import('pages/PersonSelector.vue'),
        meta: { hideFooter: true }
      },
      {
        path: 'category-selector',
        name: 'category-selector',
        component: () => import('pages/CategorySelector.vue'),
        meta: { hideFooter: true }
      },
      {
        path: 'tag-selector',
        name: 'tag-selector',
        component: () => import('pages/TagSelector.vue'),
        meta: { hideFooter: true }
      },
      {
        path: 'entry/:id',
        name: 'entry-detail',
        component: () => import('pages/EntryDetailPage.vue'),
        meta: { hideFooter: true }
      },
    ],
  },

  // Always leave this as last one
  {
    path: '/:catchAll(.*)*',
    component: () => import('pages/ErrorNotFound.vue'),
  },
]

export default routes
