diff --git a/package.json b/package.json
index ecc93de..27f6c97 100644
--- a/package.json
+++ b/package.json
@@ -40,7 +40,7 @@
"vite": "^7.3.1",
"vite-plugin-vuetify": "^2.1.3",
"vue-eslint-parser": "^10.4.0",
- "vue-router": "^5.0.4",
+ "vue-router": "^5.0.6",
"vue-tsc": "^3.2.6"
},
"scripts": {
diff --git a/src/BubblingGalaxies.vue b/src/BubblingGalaxies.vue
index 3499390..1cb2d08 100644
--- a/src/BubblingGalaxies.vue
+++ b/src/BubblingGalaxies.vue
@@ -242,7 +242,7 @@
>
- Have a
+ Have a
/* eslint-disable @typescript-eslint/no-unused-vars */
import { ref, reactive, computed, onMounted, watch, nextTick } from "vue";
+import { useRoute, useRouter } from "vue-router";
import { GotoRADecZoomParams, engineStore } from "@wwtelescope/engine-pinia";
import { BackgroundImageset, supportsTouchscreen, useWWTKeyboardControls, useFullscreen } from "@cosmicds/vue-toolkit";
import { useDisplay } from "vuetify";
@@ -486,14 +487,23 @@ export interface WwtPlaygroundProps {
const fullscreen = useFullscreen();
const searchParams = new URLSearchParams(window.location.search);
const kiosk = searchParams.get("kiosk")?.toLowerCase() === "true";
+const toModel = searchParams.get("model")?.toLowerCase() === "true";
if (kiosk) {
document.body.classList.add("kiosk");
}
-const skipScrawl = searchParams.get("crawl")?.toLowerCase() === "false";
-const skipSplash = searchParams.get("splash")?.toLowerCase() === "false";
+const skipCrawl = toModel || searchParams.get("crawl")?.toLowerCase() === "false";
+const skipSplash = toModel || searchParams.get("splash")?.toLowerCase() === "false";
console.log("kiosk mode?", kiosk);
-console.log("skip crawl?", skipScrawl);
+console.log("skip crawl?", skipCrawl);
console.log("skip splash?", skipSplash);
+console.log("to model?", toModel);
+
+if (toModel) {
+ const url = new URL(window.location.href);
+ url.searchParams.delete("model");
+ window.history.replaceState({}, "", url);
+}
+
const store = engineStore();
useWWTKeyboardControls(store);
@@ -525,11 +535,11 @@ const showInfoSheet = ref(false);
const aboutMode = ref(false);
const showSplashScreen = ref(!skipSplash);
const showCrawl = ref(false);
-if (skipSplash && !skipScrawl) {
+if (skipSplash && !skipCrawl) {
showCrawl.value = true;
}
watch(showSplashScreen, (showing) => {
- if (!showing && !skipScrawl) {
+ if (!showing && !skipCrawl) {
showCrawl.value = true;
}
});
@@ -538,7 +548,7 @@ const positionSet = ref(false);
const accentColor = ref("#d957db");
const buttonColor = ref("#ffffff");
-const showModel = ref(false);
+const showModel = ref(toModel);
const showImageCard = ref(false);
const galleryOpen = ref(false);
@@ -619,9 +629,6 @@ const currentLabel = computed(() => {
const showSimulation = ref(false);
-import { BoxGeometry, DoubleSide, Mesh, MeshBasicMaterial, MeshPhysicalMaterial, Object3D, PerspectiveCamera, Scene, SpotLight, WebGLRenderer } from "three";
-import { storeToRefs } from "pinia";
-
function moveToImageset(imageset: Imageset, options: {instant?: boolean, roll?: boolean, extraRoll?: number} = {instant: true, roll: false,}) {
const centerX = imageset.get_centerX(); // degrees
const centerY = imageset.get_centerY(); // degrees
@@ -664,7 +671,6 @@ function goToCoordinates(item: keyof typeof coordinates, instant=true) {
});
}
-
import { useWtmlLoader } from "./composables/useWtmlLoader";
onMounted(() => {
diff --git a/src/components/ModelViewer.vue b/src/components/ModelViewer.vue
index 9aa853c..43b7444 100644
--- a/src/components/ModelViewer.vue
+++ b/src/components/ModelViewer.vue
@@ -27,7 +27,9 @@
diff --git a/src/main.ts b/src/main.ts
index aed79bd..2570af5 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -6,7 +6,6 @@ import BrightnessContrast from "./components/BrightnessContrast.vue";
import ModelViewer from "./components/ModelViewer.vue";
import ImageFlipbook from "./components/ImageFlipbook.vue";
-
import vuetify from "@/plugins/vuetify";
import { FontAwesomeIcon } from "@fortawesome/vue-fontawesome";
diff --git a/yarn.lock b/yarn.lock
index 17316d3..939c3a9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1159,7 +1159,7 @@ __metadata:
vite-plugin-vuetify: "npm:^2.1.3"
vue: "npm:^3.5.31"
vue-eslint-parser: "npm:^10.4.0"
- vue-router: "npm:^5.0.4"
+ vue-router: "npm:^5.0.6"
vue-tsc: "npm:^3.2.6"
vuetify: "npm:^4.0.4"
languageName: unknown
@@ -4931,9 +4931,9 @@ __metadata:
languageName: node
linkType: hard
-"vue-router@npm:^5.0.4":
- version: 5.0.4
- resolution: "vue-router@npm:5.0.4"
+"vue-router@npm:^5.0.6":
+ version: 5.0.6
+ resolution: "vue-router@npm:5.0.6"
dependencies:
"@babel/generator": "npm:^7.28.6"
"@vue-macros/common": "npm:^3.1.1"
@@ -4964,7 +4964,7 @@ __metadata:
optional: true
pinia:
optional: true
- checksum: 10c0/11309a44c3b5aaa6e4f960d8739ce94796e78afa2d9b517ccfe78fa982f029009a07aef30ffeafecaf383a1cbd870ae27f7d56f4b9a62bad61423d8e244eb94b
+ checksum: 10c0/2ede48df2ee9a1e196a822134659db50af6b3eb653c0c0000e9a17f0b3aa5e0a1bbb3ea2ce1e6189dc2d8a0aec1baeb85d5e2f524bd8df736409ae45594d3572
languageName: node
linkType: hard