diff --git a/web/app/src/App.vue b/web/app/src/App.vue
index 4fb0950f..1e7b6dd4 100644
--- a/web/app/src/App.vue
+++ b/web/app/src/App.vue
@@ -3,9 +3,15 @@
{{ flamencoName }}
@@ -13,39 +19,14 @@
version: {{ flamencoVersion }}
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/web/app/src/main.js b/web/app/src/main.js
index 7ad6cbfe..6253d57e 100644
--- a/web/app/src/main.js
+++ b/web/app/src/main.js
@@ -2,6 +2,7 @@ import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from '@/App.vue'
+import router from '@/router/index'
// Ensure Tabulator can find `luxon`, which it needs for sorting by
// date/time/datetime.
@@ -15,4 +16,5 @@ const app = createApp(App)
const pinia = createPinia()
app.use(pinia)
+app.use(router)
app.mount('#app')
diff --git a/web/app/src/router/index.js b/web/app/src/router/index.js
new file mode 100644
index 00000000..5549590d
--- /dev/null
+++ b/web/app/src/router/index.js
@@ -0,0 +1,27 @@
+import { createRouter, createWebHistory } from 'vue-router'
+
+const router = createRouter({
+ history: createWebHistory(import.meta.env.BASE_URL),
+ routes: [
+ {
+ path: '/',
+ name: 'jobs',
+ // route level code-splitting
+ // this generates a separate chunk (ViewName.[hash].js) for this route
+ // which is lazy-loaded when the route is visited.
+ component: () => import('../views/JobsView.vue')
+ },
+ {
+ path: '/workers',
+ name: 'workers',
+ component: () => import('../views/WorkersView.vue')
+ },
+ {
+ path: '/settings',
+ name: 'settings',
+ component: () => import('../views/SettingsView.vue')
+ }
+ ]
+})
+
+export default router
diff --git a/web/app/src/urls.js b/web/app/src/urls.js
index a25091a4..8bfbd283 100644
--- a/web/app/src/urls.js
+++ b/web/app/src/urls.js
@@ -1,6 +1,7 @@
let url = new URL(window.location.href);
url.port = "8080";
+url.pathname = "/";
const flamencoAPIURL = url.href;
url.protocol = "ws:";
diff --git a/web/app/src/views/JobsView.vue b/web/app/src/views/JobsView.vue
new file mode 100644
index 00000000..9a5fecac
--- /dev/null
+++ b/web/app/src/views/JobsView.vue
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/app/src/views/SettingsView.vue b/web/app/src/views/SettingsView.vue
new file mode 100644
index 00000000..f72f028d
--- /dev/null
+++ b/web/app/src/views/SettingsView.vue
@@ -0,0 +1,28 @@
+
+
+ Settings
+
+
+ More settings
+
+
+ Completely different settings
+
+
+
+
+
diff --git a/web/app/src/views/WorkersView.vue b/web/app/src/views/WorkersView.vue
new file mode 100644
index 00000000..1fd5e379
--- /dev/null
+++ b/web/app/src/views/WorkersView.vue
@@ -0,0 +1,45 @@
+
+
+ Workers
+
+
+ Worker Details
+
+
+ Column 3
+
+
+
+
+