Newer
Older
smart-home-server / webclient-vue / src / router / routes.js
import AreaFavoritesPage from "../features/areas/pages/AreaFavoritesPage.vue";
import AreaTreePage from "../features/areas/pages/AreaTreePage.vue";
import AreaDetailPage from "../features/areas/pages/AreaDetailPage.vue";
import DevicesListPage from "../features/devices/pages/DevicesListPage.vue";
import DevicesScanningPage from "../features/devices/pages/DevicesScanningPage.vue";
import DeviceDetailPage from "../features/devices/pages/DeviceDetailPage.vue";
import ScriptsActionsPage from "../features/scripts/pages/ScriptsActionsPage.vue";
import ScriptsRegularPage from "../features/scripts/pages/ScriptsRegularPage.vue";
import ScriptsScopesPage from "../features/scripts/pages/ScriptsScopesPage.vue";
import ScriptDetailPage from "../features/scripts/pages/ScriptDetailPage.vue";

export const routes = [
  {
    path: "/",
    redirect: "/areas/favorites",
  },
  {
    path: "/areas/favorites",
    name: "areas-favorites",
    component: AreaFavoritesPage,
  },
  {
    path: "/areas/tree",
    name: "areas-tree",
    component: AreaTreePage,
  },
  {
    path: "/areas/:id",
    name: "area-detail",
    component: AreaDetailPage,
  },
  {
    path: "/devices",
    name: "devices",
    component: DevicesListPage,
  },
  {
    path: "/devices/scanning",
    name: "devices-scanning",
    component: DevicesScanningPage,
  },
  {
    path: "/devices/:id",
    name: "device-detail",
    component: DeviceDetailPage,
  },
  {
    path: "/scripts/actions",
    name: "scripts-actions",
    component: ScriptsActionsPage,
  },
  {
    path: "/scripts/regular",
    name: "scripts-regular",
    component: ScriptsRegularPage,
  },
  {
    path: "/scripts/scopes",
    name: "scripts-scopes",
    component: ScriptsScopesPage,
  },
  {
    path: "/scripts/:type(actions|regular|scopes)/:id",
    name: "script-detail",
    component: ScriptDetailPage,
  },
  {
    path: "/:pathMatch(.*)*",
    name: "not-found",
    component: () => import("../features/system/NotFoundPage.vue"),
  },
];