From f158f99fc5e93f64c84ba18022e5a668f35fec2f Mon Sep 17 00:00:00 2001 From: isUnknown Date: Tue, 17 Dec 2024 11:27:02 +0100 Subject: [PATCH] #11 - optimize images and preload --- public/site/plugins/helpers/index.php | 6 +++++- .../project/virtual-sample/Interactive360.vue | 13 ++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/public/site/plugins/helpers/index.php b/public/site/plugins/helpers/index.php index 810564d..34d7b0b 100644 --- a/public/site/plugins/helpers/index.php +++ b/public/site/plugins/helpers/index.php @@ -3,7 +3,11 @@ function getFileData($file) { $data = [ 'modified' => $file->modified('YYYY-MM-dd'), - 'url' => $file->url(), + 'url' => $file->thumb([ + 'width' => 1000, + 'quality' => 80, + 'format' => 'webp' + ])->url(), 'uuid' => (string) $file->uuid(), 'name' => $file->filename(), 'label' => (string) $file->label(), diff --git a/src/components/project/virtual-sample/Interactive360.vue b/src/components/project/virtual-sample/Interactive360.vue index 4f5ab7d..d2a1a1c 100644 --- a/src/components/project/virtual-sample/Interactive360.vue +++ b/src/components/project/virtual-sample/Interactive360.vue @@ -30,11 +30,22 @@ const { activeTrack } = defineProps({ activeTrack: Object, }); +// Helper const virtualSampleStore = useVirtualSampleStore(); - const isHelperHidden = ref(localStorage.getItem("isHelperHidden")); localStorage.setItem("isHelperHidden", true); +// Images preload +const imageUrls = activeTrack.files.map((file) => file.url); +preloadImages(imageUrls); +function preloadImages(imageUrls) { + imageUrls.forEach((imageUrl) => { + const image = new Image(); + image.src = imageUrl; + }); +} + +// Grab interaction const yMax = computed(() => { return parseInt( activeTrack.files[activeTrack.files.length - 1].name.charAt(0)