2024-12-20 08:05:55 +01:00
|
|
|
<template>
|
2024-12-20 09:24:20 +01:00
|
|
|
<Images
|
|
|
|
|
v-if="step.files.dynamic || step.files.static"
|
|
|
|
|
:step="step"
|
|
|
|
|
:images="images"
|
2024-12-20 10:40:44 +01:00
|
|
|
:uri="uri"
|
2024-12-20 09:24:20 +01:00
|
|
|
/>
|
2024-12-20 08:05:55 +01:00
|
|
|
</template>
|
|
|
|
|
<script setup>
|
2025-02-05 11:22:09 +01:00
|
|
|
import Images from './Images.vue';
|
|
|
|
|
import { computed } from 'vue';
|
2025-06-06 09:33:08 +02:00
|
|
|
import { storeToRefs } from 'pinia';
|
|
|
|
|
import { useVirtualSampleStore } from '../../../stores/virtualSample';
|
|
|
|
|
|
2024-12-20 08:05:55 +01:00
|
|
|
const { step } = defineProps({ step: Object });
|
|
|
|
|
|
2025-06-06 09:33:08 +02:00
|
|
|
const { allVariations } = storeToRefs(useVirtualSampleStore());
|
|
|
|
|
|
2024-12-20 08:05:55 +01:00
|
|
|
const images = computed(() => {
|
2024-12-20 10:55:33 +01:00
|
|
|
if (!step.files.dynamic) {
|
|
|
|
|
return [
|
|
|
|
|
{
|
2025-02-05 14:29:21 +01:00
|
|
|
url: step.files.static.rawGlass.cover,
|
2024-12-20 10:55:33 +01:00
|
|
|
},
|
|
|
|
|
];
|
|
|
|
|
}
|
2025-06-06 09:33:08 +02:00
|
|
|
return allVariations.value.map((variation) => getFrontView(variation)) ?? [];
|
2024-12-20 08:05:55 +01:00
|
|
|
});
|
|
|
|
|
|
2025-02-05 11:22:09 +01:00
|
|
|
const uri = '/' + step.uri;
|
2024-12-20 10:40:44 +01:00
|
|
|
|
2025-06-06 09:33:08 +02:00
|
|
|
function getFrontView(variation) {
|
|
|
|
|
if (variation.files.length === 1) return variation.files[0];
|
2024-12-20 08:05:55 +01:00
|
|
|
const xMax = parseInt(
|
2025-06-06 09:33:08 +02:00
|
|
|
variation.files[variation.files.length - 1].name.split('_')[1].split('.')[0]
|
2024-12-20 08:05:55 +01:00
|
|
|
);
|
|
|
|
|
const xFrontView = (xMax + 1) / 2;
|
2025-06-06 09:33:08 +02:00
|
|
|
const extension = variation.files[0].name.split('.')[1];
|
2025-02-05 11:22:09 +01:00
|
|
|
const frontViewName = '0_' + xFrontView + '.' + extension;
|
2025-06-06 09:33:08 +02:00
|
|
|
const frontView = variation.files.find((file) => file.name === frontViewName);
|
2024-12-20 08:05:55 +01:00
|
|
|
return frontView;
|
|
|
|
|
}
|
|
|
|
|
</script>
|