diff --git a/open-isle-cli/package-lock.json b/open-isle-cli/package-lock.json
index a79e08211..6abbaf744 100644
--- a/open-isle-cli/package-lock.json
+++ b/open-isle-cli/package-lock.json
@@ -9,7 +9,8 @@
"version": "0.1.0",
"dependencies": {
"core-js": "^3.8.3",
- "vue": "^3.2.13"
+ "vue": "^3.2.13",
+ "vue-router": "^4.5.1"
},
"devDependencies": {
"@babel/core": "^7.12.16",
@@ -2901,6 +2902,12 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/@vue/devtools-api": {
+ "version": "6.6.4",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
+ "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
+ "license": "MIT"
+ },
"node_modules/@vue/reactivity": {
"version": "3.5.17",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.17.tgz",
@@ -11398,6 +11405,21 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/vue-router": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.1.tgz",
+ "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-api": "^6.6.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
"node_modules/vue-style-loader": {
"version": "4.1.3",
"resolved": "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz",
diff --git a/open-isle-cli/package.json b/open-isle-cli/package.json
index cb5b55935..4bd98980d 100644
--- a/open-isle-cli/package.json
+++ b/open-isle-cli/package.json
@@ -9,7 +9,8 @@
},
"dependencies": {
"core-js": "^3.8.3",
- "vue": "^3.2.13"
+ "vue": "^3.2.13",
+ "vue-router": "^4.5.1"
},
"devDependencies": {
"@babel/core": "^7.12.16",
diff --git a/open-isle-cli/src/App.vue b/open-isle-cli/src/App.vue
index 591a0312d..a4b70a6b5 100644
--- a/open-isle-cli/src/App.vue
+++ b/open-isle-cli/src/App.vue
@@ -1,15 +1,22 @@
-
-
+
@@ -19,8 +26,14 @@ export default {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
- text-align: center;
color: #2c3e50;
- margin-top: 60px;
+}
+.content {
+ margin-left: 0;
+ transition: margin-left 0.3s ease;
+ padding-top: 60px;
+}
+.content.with-menu {
+ margin-left: 200px;
}
diff --git a/open-isle-cli/src/components/HeaderComponent.vue b/open-isle-cli/src/components/HeaderComponent.vue
new file mode 100644
index 000000000..ff360a0ba
--- /dev/null
+++ b/open-isle-cli/src/components/HeaderComponent.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
diff --git a/open-isle-cli/src/components/MenuComponent.vue b/open-isle-cli/src/components/MenuComponent.vue
new file mode 100644
index 000000000..5968bf685
--- /dev/null
+++ b/open-isle-cli/src/components/MenuComponent.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
diff --git a/open-isle-cli/src/main.js b/open-isle-cli/src/main.js
index 01433bca2..3e79677c7 100644
--- a/open-isle-cli/src/main.js
+++ b/open-isle-cli/src/main.js
@@ -1,4 +1,5 @@
import { createApp } from 'vue'
import App from './App.vue'
+import router from './router'
-createApp(App).mount('#app')
+createApp(App).use(router).mount('#app')
diff --git a/open-isle-cli/src/router/index.js b/open-isle-cli/src/router/index.js
new file mode 100644
index 000000000..52ba8588b
--- /dev/null
+++ b/open-isle-cli/src/router/index.js
@@ -0,0 +1,17 @@
+import { createRouter, createWebHistory } from 'vue-router'
+import HomePageView from '../views/HomePageView.vue'
+
+const routes = [
+ {
+ path: '/',
+ name: 'home',
+ component: HomePageView
+ }
+]
+
+const router = createRouter({
+ history: createWebHistory(),
+ routes
+})
+
+export default router
diff --git a/open-isle-cli/src/views/HomePageView.vue b/open-isle-cli/src/views/HomePageView.vue
new file mode 100644
index 000000000..8e3e40f14
--- /dev/null
+++ b/open-isle-cli/src/views/HomePageView.vue
@@ -0,0 +1,18 @@
+
+
+
Home Page
+
Welcome to OpenIsle
+
+
+
+
+
+