From 18562ac54bd7a99b7f012adb10dfdd424ef1cf16 Mon Sep 17 00:00:00 2001 From: Andrej Fast Date: Tue, 14 Jul 2026 10:40:46 +0200 Subject: [PATCH 1/6] chore: dropped primevue --- package-lock.json | 115 +++++++++++++++ package.json | 1 + src/main.ts | 31 ---- src/ui/common/Toast.vue | 113 ++++++++------- src/{utils/logging.ts => ui/common/useLog.ts} | 13 +- src/ui/common/useToast.ts | 56 ++++++++ src/ui/grids/Healpix.vue | 3 +- src/ui/grids/Regular.vue | 2 +- src/ui/grids/Triangular.vue | 2 +- src/ui/grids/composables/useGridDataLoader.ts | 2 +- src/ui/grids/composables/useGridSnapshot.ts | 2 +- .../grids/composables/useSharedGridLogic.ts | 2 +- src/ui/overlays/Controls.vue | 4 + src/ui/overlays/InfoPanel.vue | 17 +-- src/ui/overlays/controls/ActionControls.vue | 20 +++ src/ui/overlays/controls/ColormapControls.vue | 132 +++++++++++------- src/ui/overlays/controls/LayerPanel.vue | 2 +- src/ui/overlays/controls/ShareButton.vue | 26 ++-- src/views/GlobeView.vue | 5 +- tests/unit/utils/toast.test.ts | 37 +++++ 20 files changed, 401 insertions(+), 184 deletions(-) rename src/{utils/logging.ts => ui/common/useLog.ts} (56%) create mode 100644 src/ui/common/useToast.ts create mode 100644 tests/unit/utils/toast.test.ts diff --git a/package-lock.json b/package-lock.json index ea37d302..90210459 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,6 +41,7 @@ "vue": "^3.5.38", "vue-json-pretty": "^2.6.0", "vue-router": "^5.1.0", + "vue3-select-component": "^1.0.0", "zarrita": "^0.7.3" }, "devDependencies": { @@ -900,6 +901,24 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@internationalized/date": { + "version": "3.12.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.12.2.tgz", + "integrity": "sha512-FY1Y+H64NDs+HAF6omlnWxm3mEpfgaCSWtL5l551ZZfImA+kGjPFgrnJrGjH6lfmLL0g8Z/mBu1R3kufeCp6Jw==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@internationalized/number": { + "version": "3.6.7", + "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.7.tgz", + "integrity": "sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg==", + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", @@ -1686,6 +1705,41 @@ "dev": true, "license": "MIT" }, + "node_modules/@swc/helpers": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", + "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.17.3.tgz", + "integrity": "sha512-8Np/TFELpI0ySuJoVmjvOrQYXH/8sTX0Biv9szhFhY39xOdAAY+smrMxjxOum/ux3eM8MUJQsEJ0/R0UpvC8dw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/vue-virtual": { + "version": "3.13.31", + "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.31.tgz", + "integrity": "sha512-wZMEoSf852jQqaf3Ika1J7PiBae6341LNy/2CxmIyn0XKDQXMuK41wVX+xp6G0yx8jyR95Ef+Tdr13DK7mbJtQ==", + "license": "MIT", + "dependencies": { + "@tanstack/virtual-core": "3.17.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.0.0" + } + }, "node_modules/@turf/boolean-point-in-polygon": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-7.2.0.tgz", @@ -2970,6 +3024,18 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/aria-hidden": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", + "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -4000,6 +4066,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, "node_modules/delaunator": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", @@ -7242,6 +7314,12 @@ "node": ">=12.20.0" } }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -7947,6 +8025,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/reka-ui": { + "version": "2.9.10", + "resolved": "https://registry.npmjs.org/reka-ui/-/reka-ui-2.9.10.tgz", + "integrity": "sha512-yuvZVTp4fWH2G3qk+ze/x6YYlyc2Xl1d+eMUlIYrKqzTowBKteoDoN17fitURmqSUck3mc7JbcYgp49DnGu2EQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.6.13", + "@floating-ui/vue": "^1.1.6", + "@internationalized/date": "^3.5.0", + "@internationalized/number": "^3.5.0", + "@tanstack/vue-virtual": "^3.12.0", + "@vueuse/core": "^14.1.0", + "@vueuse/shared": "^14.1.0", + "aria-hidden": "^1.2.4", + "defu": "^6.1.5", + "ohash": "^2.0.11" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/zernonia" + }, + "peerDependencies": { + "vue": ">= 3.4.0" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -9588,6 +9691,18 @@ "typescript": ">=5.0.0" } }, + "node_modules/vue3-select-component": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vue3-select-component/-/vue3-select-component-1.0.0.tgz", + "integrity": "sha512-KPLAClC7gfg/VkVd3uV8vRIhEtnETRP2kYq1YpFjZ8Mp3RlL31hDFPU9jQWxTgAoViVls/hLSfOZ2bctMbsZiw==", + "license": "MIT", + "dependencies": { + "reka-ui": "2.9.10" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, "node_modules/web-worker": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", diff --git a/package.json b/package.json index d01108b5..933e7975 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "vue": "^3.5.38", "vue-json-pretty": "^2.6.0", "vue-router": "^5.1.0", + "vue3-select-component": "^1.0.0", "zarrita": "^0.7.3" }, "devDependencies": { diff --git a/src/main.ts b/src/main.ts index c1450d75..6208c7b2 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,8 +1,4 @@ -import { definePreset } from "@primevue/themes"; -import Aura from "@primevue/themes/aura"; import { createPinia } from "pinia"; -import PrimeVue from "primevue/config"; -import ToastService from "primevue/toastservice"; import { createApp } from "vue"; import App from "./App.vue"; @@ -13,33 +9,6 @@ app.directive("word-break", vWordBreak); const pinia = createPinia(); -const MyPreset = definePreset(Aura, { - semantic: { - primary: { - 50: "var(--bulma-info-95)", - 100: "var(--bulma-info-90)", - 200: "var(--bulma-info-80)", - 300: "var(--bulma-info-70)", - 400: "var(--bulma-info-60)", - 500: "var(--bulma-info-50)", - 600: "var(--bulma-info-40)", - 700: "var(--bulma-info-30)", - 800: "var(--bulma-info-20)", - 900: "var(--bulma-info-10)", - 950: "var(--bulma-info-05)", - }, - }, - components: { - select: {}, - }, -}); - app.use(router); app.use(pinia); -app.use(PrimeVue, { - theme: { - preset: MyPreset, - }, -}); -app.use(ToastService); app.mount("#app"); diff --git a/src/ui/common/Toast.vue b/src/ui/common/Toast.vue index 1d9e6844..d1edf50f 100644 --- a/src/ui/common/Toast.vue +++ b/src/ui/common/Toast.vue @@ -1,62 +1,59 @@ diff --git a/src/ui/overlays/controls/LayerPanel.vue b/src/ui/overlays/controls/LayerPanel.vue index d9934ee8..82c93c6e 100644 --- a/src/ui/overlays/controls/LayerPanel.vue +++ b/src/ui/overlays/controls/LayerPanel.vue @@ -27,7 +27,7 @@ import { type TLayerEntry, type TLayerKind, } from "@/store/store.ts"; -import { useLog } from "@/utils/logging.ts"; +import { useLog } from "@/ui/common/useLog.ts"; const store = useGlobeControlStore(); const { diff --git a/src/ui/overlays/controls/ShareButton.vue b/src/ui/overlays/controls/ShareButton.vue index ce51110c..ddc93294 100644 --- a/src/ui/overlays/controls/ShareButton.vue +++ b/src/ui/overlays/controls/ShareButton.vue @@ -1,11 +1,12 @@