-import { type RouteRecordRaw, createRouter, createWebHistory } from 'vue-router'
-import ChargingStationsView from '@/views/ChargingStationsView.vue'
+import { createRouter, createWebHistory } from 'vue-router'
-const routes: RouteRecordRaw[] = [
- {
- path: '/',
- name: 'charging-stations',
- component: ChargingStationsView,
- },
-]
+import AddChargingStations from '@/components/actions/AddChargingStations.vue'
+import SetSupervisionUrl from '@/components/actions/SetSupervisionUrl.vue'
+import StartTransaction from '@/components/actions/StartTransaction.vue'
+import ChargingStationsView from '@/views/ChargingStationsView.vue'
+import NotFoundView from '@/views/NotFoundView.vue'
-const router = createRouter({
+export const router = createRouter({
history: createWebHistory(),
- routes,
+ routes: [
+ {
+ path: '/',
+ name: 'charging-stations',
+ components: {
+ default: ChargingStationsView
+ }
+ },
+ {
+ path: '/add-charging-stations',
+ name: 'add-charging-stations',
+ components: {
+ default: ChargingStationsView,
+ action: AddChargingStations
+ }
+ },
+ {
+ path: '/set-supervision-url/:hashId/:chargingStationId',
+ name: 'set-supervision-url',
+ components: {
+ default: ChargingStationsView,
+ action: SetSupervisionUrl
+ },
+ props: { default: false, action: true }
+ },
+ {
+ path: '/start-transaction/:hashId/:chargingStationId/:connectorId',
+ name: 'start-transaction',
+ components: {
+ default: ChargingStationsView,
+ action: StartTransaction
+ },
+ props: { default: false, action: true }
+ },
+ {
+ name: 'not-found',
+ path: '/:pathMatch(.*)*',
+ components: {
+ default: NotFoundView
+ }
+ }
+ ]
})
-
-export default router