disable optimization request btn if already sent

This commit is contained in:
isUnknown 2025-02-05 11:22:09 +01:00
parent 77a0a42606
commit c73b9d671b
7 changed files with 114 additions and 81 deletions

View file

@ -1,20 +1,21 @@
<?php
$project = [
"title" => $page->title()->value(),
"url" => $page->url(),
"modified" => $page->modified("Y-MM-d"),
"status" => $page->status(),
"logo" => $page->client()->isNotEmpty() && $page->client()->toPage()
'title' => $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" => $page->isDTLEnabled() == "true" ? processDTLProposals($page) : null,
'steps' => $page->getSteps(),
'designToLight' => $page->isDTLEnabled()->isTrue() ? processDTLProposals($page) : null,
'hasOptimizationRequest' => $page->hasOptimizationRequest()->isTrue(),
];
$pageData = array_merge($genericData, $project);
echo json_encode([
"page" => $pageData,
"user" => $userData,
'page' => $pageData,
'user' => $userData,
]);

View file

@ -1,41 +1,44 @@
<?php
function getProjectData($project) {
function getProjectData($project)
{
$data = [
"title" => $project->title()->value(),
"url" => $project->url(),
"uri" => "/" . $project->uri(),
"modified" => $project->modified("Y-MM-d"),
"currentStep" => $project->currentStep()->value(),
"status" => $project->status(),
"logo" => $project->client()->toPage() ? $project->client()->toPage()->logo()->toFile()->url() : "",
"steps" => $project->getSteps(),
"notifications" => Yaml::decode($project->notifications()->value),
"uuid" => (string) $project->uuid(),
"slug" => (string) $project->slug(),
"isDTLEnabled" => $project->isDTLEnabled()->value() == "true" ? true : false
'title' => $project->title()->value(),
'url' => $project->url(),
'uri' => '/' . $project->uri(),
'modified' => $project->modified('Y-MM-d'),
'currentStep' => $project->currentStep()->value(),
'status' => $project->status(),
'logo' => $project->client()->toPage() ? $project->client()->toPage()->logo()->toFile()->url() : '',
'steps' => $project->getSteps(),
'notifications' => Yaml::decode($project->notifications()->value),
'uuid' => (string) $project->uuid(),
'slug' => (string) $project->slug(),
'isDTLEnabled' => $project->isDTLEnabled()->isTrue(),
'hasOptimizationRequest' => $project->hasOptimizationRequest()->isTrue(),
];
if ($project->isDTLEnabled()) {
$data["designToLight"] = processDTLProposals($project);
}
if ($project->isDTLEnabled()) {
$data['designToLight'] = processDTLProposals($project);
}
return $data;
return $data;
}
try {
$children = $kirby->user()->role() == "admin" ? $page->childrenAndDrafts()->map(fn($project) => getProjectData($project))->values() : $kirby->user()->projects()->toPages()->map(fn($project) => getProjectData($project))->values();
$children = $kirby->user()->role() == 'admin' ? $page->childrenAndDrafts()->map(fn($project) => getProjectData($project))->values() : $kirby->user()->projects()->toPages()->map(fn($project) => getProjectData($project))->values();
} catch (\Throwable $th) {
throw new Exception($th->getMessage() . " line " . $th->getLine(), 1);
$children = [];
throw new Exception($th->getMessage() . ' line ' . $th->getLine(), 1);
$children = [];
}
$specificData = [
"children" => $children,
'children' => $children,
];
$pageData = array_merge($genericData, $specificData);
echo json_encode([
"page" => $pageData,
"user" => $userData
'page' => $pageData,
'user' => $userData,
]);