import Vue from 'vue'
import Router from 'vue-router'
import NotFoundView from './../pages/404View.vue'
import AppIndexView from './../pages/AppIndexView.vue'
import PlochaPageView from '../pages/Plocha/PageView.vue'
import PrihlaseniePageView from '../pages/Prihlasenie/PageView.vue'
import VzdelavanieIndexView from '../pages/VzdelavanieIndexView.vue'
import KniznicaIndexView from './../pages/Kniznica/KniznicaIndexView.vue'
import KategorieZoznamPageView from '../pages/Kniznica/Kategorie/ZoznamPageView.vue'
import UcebneMaterialyZoznamPageView from '../pages/Kniznica/UcebneMaterialy/ZoznamPageView.vue'
import UcebneMaterialyPolozkaPageView from '../pages/Kniznica/UcebneMaterialy/PolozkaPageView.vue'

Vue.use(Router)

const routes = [{
  path: '/',
  name: 'AppIndexView',
  component: AppIndexView,
  redirect: {
    name: 'Prihlásenie'
  },
  children: [
    {
      path: 'prihlasenie',
      name: 'Prihlásenie',
      component: PrihlaseniePageView,
    },
    {
      path: 'vzdelavanie',
      name: 'Vzdelávanie',
      component: VzdelavanieIndexView,
      redirect: {
        name: 'Plocha',
      },
      children: [
        {
          path: 'plocha',
          name: 'Plocha',
          component: PlochaPageView
        },
        {
          path: 'kniznica',
          name: 'Knižnica',
          component: KniznicaIndexView,
          redirect: {
            name: 'Kategórie učebných materiálov',
          },
          children: [
            {
              path: 'kategorie',
              name: 'Kategórie učebných materiálov',
              component: KategorieZoznamPageView,
            },
            {
              path: 'kategorie/:kategoria_id/ucebne-materialy',
              name: 'Učebné materiály',
              component: UcebneMaterialyZoznamPageView,
            },
            {
              path: 'kategorie/:kategoria_id/ucebne-materialy/:ucebnica_id',
              name: 'Učebný materiál',
              component: UcebneMaterialyPolozkaPageView,
            }
          ]
        }
      ]
    },
  ]},
  {
    path: '*',
    component: NotFoundView
  }
]

export default new Router({
  routes,
  mode: 'hash',
  base: '/',
  scrollBehavior(to, from, savedPosition) {
    return savedPosition || { x: 0, y: 0 }
  }
})
