diff --git a/web/package-lock.json b/web/package-lock.json index 418b5b5..bb8bb09 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -11,8 +11,10 @@ "maplibre-gl": "^4.7.1", "my-vue-app": "file:", "register-service-worker": "^1.7.2", + "three": "^0.172.0", "vue": "^3.4.37", - "vue-daisyui-theme-manager": "^0.0.29" + "vue-daisyui-theme-manager": "^0.0.29", + "vue-router": "^4.5.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.2", @@ -3371,6 +3373,11 @@ "dev": true, "peer": true }, + "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==" + }, "node_modules/@vue/language-core": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.6.tgz", @@ -12121,6 +12128,11 @@ "node": ">=8.9.0" } }, + "node_modules/three": { + "version": "0.172.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.172.0.tgz", + "integrity": "sha512-6HMgMlzU97MsV7D/tY8Va38b83kz8YJX+BefKjspMNAv0Vx6dxMogHOrnRl/sbMIs3BPUKijPqDqJ/+UwJbIow==" + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -12697,6 +12709,20 @@ } } }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "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.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", diff --git a/web/package.json b/web/package.json index 54102ae..bd93bd5 100644 --- a/web/package.json +++ b/web/package.json @@ -11,8 +11,10 @@ "maplibre-gl": "^4.7.1", "my-vue-app": "file:", "register-service-worker": "^1.7.2", + "three": "^0.172.0", "vue": "^3.4.37", - "vue-daisyui-theme-manager": "^0.0.29" + "vue-daisyui-theme-manager": "^0.0.29", + "vue-router": "^4.5.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.2", diff --git a/web/src/App.vue b/web/src/App.vue index a5c965d..47ad784 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -3,11 +3,11 @@ import {defineComponent, Ref, ref, SetupContext} from 'vue'; import DebugLog from "./classes/debugger"; import Settings from "./components/Settings.vue"; import cookiePrompt from "./components/cookiePrompt.vue"; -import Map from "./components/map.vue"; import FileUpload from './components/fileUpload.vue'; - +import PointCloud from './components/cloud.vue'; +import Navbar from './components/navbar.vue'; export default defineComponent({ - components: {Settings, cookiePrompt, Map}, + components: {Settings, cookiePrompt, PointCloud, Navbar}, setup() { var showSettings:Ref = ref(false); var showCookiePrompt:Ref = ref(localStorage.getItem('allow-data-storage') == undefined); @@ -42,41 +42,13 @@ export default defineComponent({ diff --git a/web/src/components/cloud.vue b/web/src/components/cloud.vue new file mode 100644 index 0000000..9b0d71c --- /dev/null +++ b/web/src/components/cloud.vue @@ -0,0 +1,177 @@ + + + + + diff --git a/web/src/components/map.vue b/web/src/components/map.vue index 37059f4..d424b35 100644 --- a/web/src/components/map.vue +++ b/web/src/components/map.vue @@ -1,62 +1,37 @@ - + - - - \ No newline at end of file +export default defineComponent({ + name: 'map', + setup(_, { emit }: SetupContext) { + return { + }; + }, +}); + + + + + + \ No newline at end of file diff --git a/web/src/components/navbar.vue b/web/src/components/navbar.vue new file mode 100644 index 0000000..9630791 --- /dev/null +++ b/web/src/components/navbar.vue @@ -0,0 +1,70 @@ + + + + + + \ No newline at end of file