diff --git a/public/site/plugins/helpers/index.php b/public/site/plugins/helpers/index.php index dccfde8..45173e4 100644 --- a/public/site/plugins/helpers/index.php +++ b/public/site/plugins/helpers/index.php @@ -73,59 +73,71 @@ function processDTLProposals($page) { $DTLProposal = null; switch ($location) { - case 'proposal': - $proposalPage = $page->find('proposal'); - $proposalFile = $proposal->DTLproposal()->toFile(); + case 'proposal': + $proposalPage = $page->find('proposal'); + $proposalFile = $proposal->DTLproposal()->toFile(); - if ($proposalPage && $proposalFile) { - $index = $proposalPage->pdf()->toFiles()->indexOf($proposalFile); - $DTLProposal = [ - "location" => "proposal", - "path" => "/projects/" . $page->slug() . "?dialog=proposal&fileIndex=" . $index, - "date" => $proposalFile->modified("d/MM/Y"), - "stepLabel" => "Proposition commerciale", - ]; - } - break; + if ($proposalPage && $proposalFile) { + $index = $proposalPage->pdf()->toFiles()->indexOf($proposalFile); + $DTLProposal = [ + "location" => [ + "step" => "proposal" + ], + "path" => "/projects/" . $page->slug() . "?dialog=proposal&fileIndex=" . $index, + "date" => $proposalFile->modified("d/MM/Y"), + "stepLabel" => "Proposition commerciale", + ]; + } + break; - case 'industrialIdeation': - $proposalPage = $page->find('industrial-ideation'); - $proposalFile = $proposal->DTLindustrialIdeation()->toFile(); + case 'industrialIdeation': + $proposalPage = $page->find('industrial-ideation'); + $proposalFile = $proposal->DTLindustrialIdeation()->toFile(); - if ($proposalPage && $proposalFile) { - $DTLProposal = [ - "location" => "industrialIdeation", - "path" => "/projects/" . $page->slug() . "?dialog=industrial-ideation", - "date" => $proposalFile->modified("d/MM/Y"), - "stepLabel" => "Idéation industrielle", - ]; - } - break; + if ($proposalPage && $proposalFile) { + $DTLProposal = [ + "location" => [ + "step" => "industrialIdeation" + ], + "path" => "/projects/" . $page->slug() . "?dialog=industrial-ideation", + "date" => $proposalFile->modified("d/MM/Y"), + "stepLabel" => "Idéation industrielle", + ]; + } + break; - case 'virtualSampleDynamicTrack': - $proposalPage = $proposal->DTLVirtualSampleDynamicTrack()->toPage(); - if ($proposalPage) { - $DTLProposal = [ - "location" => "virtualSampleDynamicTrack", - "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", - "date" => $proposalPage->modified("d/MM/Y"), - "stepLabel" => "Échantillon virtuel - piste dynamique", - ]; - } - break; + case 'virtualSampleDynamicTrack': + $proposalPage = $proposal->DTLVirtualSampleDynamicTrack()->toPage(); + if ($proposalPage) { + $DTLProposal = [ + "location" => [ + "step" => "virtualSample", + "type" => "dynamic", + "trackSlug" => (string) $proposalPage->slug() + ], + "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", + "date" => $proposalPage->modified("d/MM/Y"), + "stepLabel" => "Échantillon virtuel - piste dynamique", + ]; + } + break; - case 'virtualSampleStaticTrack': - $proposalPage = $page->find('virtual-sample'); - $proposalFile = $proposal->DTLVirtualSampleStaticTrack()->toFile(); - if ($proposalPage && $proposalFile) { - $DTLProposal = [ - "location" => "virtualSampleStaticTrack", - "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", - "date" => $proposalFile->modified("d/MM/Y"), - "stepLabel" => "Échantillon virtuel - piste statique", - ]; - } - break; + case 'virtualSampleStaticTrack': + $proposalPage = $page->find('virtual-sample'); + $proposalFile = $proposal->DTLVirtualSampleStaticTrack()->toFile(); + if ($proposalPage && $proposalFile) { + $DTLProposal = [ + "location" => [ + "step" => "virtualSample", + "type" => "static", + "source" => (string) $proposalFile->url() + ], + "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", + "date" => $proposalFile->modified("d/MM/Y"), + "stepLabel" => "Échantillon virtuel - piste statique", + ]; + } + break; } if ($DTLProposal) { diff --git a/src/components/design-to-light/DTLPanel.vue b/src/components/design-to-light/DTLPanel.vue index a8edb70..634008b 100644 --- a/src/components/design-to-light/DTLPanel.vue +++ b/src/components/design-to-light/DTLPanel.vue @@ -1,13 +1,26 @@ @@ -81,14 +160,16 @@ import dayjs from "dayjs"; import "dayjs/locale/fr"; import { ref, onBeforeUnmount } from "vue"; +const { proposals } = defineProps({ + proposals: Array, +}); + dayjs.locale("fr"); const { page } = storeToRefs(usePageStore()); const emits = defineEmits(["close"]); -const proposals = page.value.designToLight; - proposals[0].isActive = true; const activeProposal = ref(proposals[0]); diff --git a/src/components/project/DialogWrapper.vue b/src/components/project/DialogWrapper.vue index 57cc673..1591ff3 100644 --- a/src/components/project/DialogWrapper.vue +++ b/src/components/project/DialogWrapper.vue @@ -8,27 +8,12 @@ /> - diff --git a/src/components/project/virtual-sample/VirtualSample.vue b/src/components/project/virtual-sample/VirtualSample.vue index 6deeefd..eaec38f 100644 --- a/src/components/project/virtual-sample/VirtualSample.vue +++ b/src/components/project/virtual-sample/VirtualSample.vue @@ -81,18 +81,24 @@ +