$page->title()->value(), "url" => $page->url(), "modified" => $page->modified("Y-MM-d"), "status" => $page->status(), "logo" => $page->client()->isNotEmpty() && $page->client()->toPage() ? $page->client()->toPage()->logo()->toFile()->url() : null, "steps" => $page->getSteps(), "designToLight" => null ]; if ($page->isDTLEnabled()) { $DTLProposal = null; $proposalLocation = $page->DTLProposalLocation()->value(); switch ($proposalLocation) { case 'proposal': $proposalPage = $page->find('proposal'); $proposalFile = $page->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("Y-MM-d"), "stepLabel" => "Proposition commerciale", ]; } break; case 'industrialIdeation': $proposalPage = $page->find('industrial-ideation'); $proposalFile = $page->DTLindustrialIdeation()->toFile(); if ($proposalPage && $proposalFile) { $index = $proposalPage->pdf()->toFiles()->indexOf($proposalFile); $DTLProposal = [ "location" => "proposal", "path" => "/projects/" . $page->slug() . "?dialog=industrial-ideation&fileIndex=" . $index, "date" => $proposalFile->modified("Y-MM-d"), "stepLabel" => "Idéation industrielle" ]; } break; case 'virtualSampleDynamicTrack': $proposalPage = $page->DTLVirtualSampleDynamicTrack()->toPage(); if ($proposalPage) { $DTLProposal = [ "location" => "proposal", "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", "date" => $proposalPage->modified("Y-MM-d"), "stepLabel" => "Échantillon virtuel" ]; } break; case 'virtualSampleStaticTrack': $proposalPage = $page->find('virtual-sample'); $proposalFile = $page->DTLVirtualSampleStaticTrack()->toFile(); if ($proposalPage && $proposalFile) { $DTLProposal = [ "location" => "proposal", "path" => "/projects/" . $page->slug() . "?dialog=virtual-sample", "date" => $proposalFile->modified("Y-MM-d"), "stepLabel" => "Échantillon virtuel" ]; } break; } if ($page->DTLGrade()->isNotEmpty()) { $DTLProposal["grade"] = $page->DTLGrade()->value(); } $project["designToLight"] = $DTLProposal; } $pageData = array_merge($genericData, $project); echo json_encode([ "page" => $pageData, "user" => $userData ]);