import Home from '@/routes/Home.vue'
import NotFound from '@/routes/404NotFound.vue'
import type { RouteRecordRaw } from 'vue-router'
import Login from '@/routes/authentication/Login.vue';

export enum Visibility {
  Hidden,
  Authenticated,
  Unauthenticated,
  Authorized,
  Public,
  Footer,
}


export interface LayoutRoute {
  path: string,
  name: string,
  description: string,
  icon: string,
  disableFooter?: boolean,
  visible: Visibility,
  meta?: RouteRecordRaw
}

export const routes: LayoutRoute[] = [
  {
    path: "/",
    name: "Startseite",
    description: "Übersicht der Anwendung",
    icon: "mdi-home",
    visible: Visibility.Public,
    meta: {
      name: 'Home',
      path: '/',
      component: Home
    }
  },
  {
    path: "/login",
    name: "Login",
    description: "Logge dich ein",
    icon: "mdi-login",
    visible: Visibility.Hidden,
    meta: {
      path: "/login",
      name: 'Login',
      component: Login
    }
  },
  {
    path: "/impressum",
    name: "Impressum",
    description: "Impressum der Anwendung",
    icon: "mdi-file-document",
    visible: Visibility.Footer
  },
  {
    path: "/notFound",
    name: "Nicht Gefunden",
    description: "Diese Seite wurde nicht gefunden",
    icon: "mdi-information-outline",
    visible: Visibility.Hidden,
    meta: { path: '/:pathMatch(.*)*', name: 'NotFound', component: NotFound },
  }
] 