diff --git a/public/content/home/home.txt b/public/content/home/home.txt index 933fc14..7c59634 100644 --- a/public/content/home/home.txt +++ b/public/content/home/home.txt @@ -22,4 +22,4 @@ Uuid: 6yh1yt2Sk45Y2sOl ---- -Clientbriefimages: - file://ihuGLrw5vll0R4j2 \ No newline at end of file +Clientbriefpdf: home/927346290_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf \ No newline at end of file diff --git a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf new file mode 100644 index 0000000..263651b Binary files /dev/null and b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf differ diff --git a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf.txt b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf.txt new file mode 100644 index 0000000..6476016 --- /dev/null +++ b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/2527557525_au-commencement-du-college-chloe-avait-donc-fait-la-connaissance-dun-garcon.-il-etait-plus-vieux.pdf.txt @@ -0,0 +1,9 @@ +Date: 2024-10-14 01:15 + +---- + +Uuid: xFobejliB3pkAqLr + +---- + +Template: document \ No newline at end of file diff --git a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/client-brief.txt b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/client-brief.txt index 5ec8935..223978d 100644 --- a/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/client-brief.txt +++ b/public/content/projects/1_miss-dior-blooming-bouquet/1_client-brief/client-brief.txt @@ -10,7 +10,7 @@ Clientbriefpdf: ---- -Description: description +Description: ---- diff --git a/public/site/config/config.php b/public/site/config/config.php index 4cf9a43..e15869d 100644 --- a/public/site/config/config.php +++ b/public/site/config/config.php @@ -25,6 +25,7 @@ return [ require(__DIR__ . '/routes/save-page.php'), require(__DIR__ . '/routes/save-file.php'), require(__DIR__ . '/routes/remove-file.php'), + require(__DIR__ . '/routes/upload-pdf.php'), ], 'hooks' => [ 'page.create:after' => require_once(__DIR__ . '/hooks/create-steps.php'), diff --git a/public/site/config/routes/upload-pdf.php b/public/site/config/routes/upload-pdf.php new file mode 100644 index 0000000..562b356 --- /dev/null +++ b/public/site/config/routes/upload-pdf.php @@ -0,0 +1,57 @@ + 'upload-pdf.json', + 'method' => 'POST', + 'action' => function () { + $kirby = kirby(); + $request = $kirby->request(); + + $files = $request->files(); + $data = $request->data(); + + $upload = $files->get('file') ?? null; + + $pageUri = $request->query()->get('pageUri'); + $page = page($pageUri); + + if (!$page) { + return [ + 'error' => 'Invalid page.', + ]; + } + + try { + $name = crc32($upload['name'] . microtime()) . '_' . $upload['name']; + + $existingFileId = $page->clientBriefPdf()->id() ?? null; + + if ($existingFileId) { + $existingFile = $kirby->file($existingFileId); + if ($existingFile) { + $existingFile->delete(); + } + } + + $newFile = $page->createFile([ + 'source' => $upload['tmp_name'], + 'filename' => $name, + 'template' => 'document', + 'content' => [ + 'date' => date('Y-m-d h:i') + ] + ]); + + $newPage = $page->update([ + "clientBriefPdf" => $newFile->id() + ]); + + return $newPage->toArray(); + + } catch (Exception $e) { + return [ + 'error' => $e->getMessage(), + ]; + } + } +]; diff --git a/src/components/project/client-brief/ModeSelection.vue b/src/components/project/client-brief/ModeSelection.vue index 24601fb..ad4f57b 100644 --- a/src/components/project/client-brief/ModeSelection.vue +++ b/src/components/project/client-brief/ModeSelection.vue @@ -17,34 +17,7 @@ fill="none" xmlns="http://www.w3.org/2000/svg" > - - - - +

Créer via la plateforme

@@ -52,34 +25,15 @@ plateforme afin de créer votre brief.

-
- -

Ajouter un pdf

-

- Vous avez déjà constitué votre brief en amont et souhaitez directement - l’importer. -

-
+ + +
Qu’est ce que le brief ?

Le brief est un outil créatif qui permet de définir les perspectives - esthétiques de votre projet. Il s’agit d’une planche d’inspiration qui - aide à affirmer l’ambiance et les influences que vous souhaitez apporter - à votre projet. + esthétiques de votre projet.

+ + diff --git a/src/components/project/client-brief/add-images-modal/MyImages.vue b/src/components/project/client-brief/add-images-modal/MyImages.vue index f53c856..6adba5e 100644 --- a/src/components/project/client-brief/add-images-modal/MyImages.vue +++ b/src/components/project/client-brief/add-images-modal/MyImages.vue @@ -76,26 +76,4 @@ function addImages(event) { images.value = images.value.concat(newImages); emit("add-images", newImages); } - -// function onAdvancedUpload(event) { -// if (event.xhr.status === 200) { -// toast.add({ -// severity: "success", -// summary: "Upload réussi", -// detail: event.xhr.response.success, -// life: 3000, -// }); -// const response = JSON.parse(event.xhr.response); -// console.log(response); -// emit("add-images", response.images); -// } else { -// toast.add({ -// severity: "error", -// summary: "Échec de l'upload", -// detail: event.xhr.response.error, -// life: 3000, -// }); -// console.error(JSON.parse(event.xhr.response)); -// } -// } diff --git a/src/views/ClientBrief.vue b/src/views/ClientBrief.vue index 3f31dd8..bc3b9f7 100644 --- a/src/views/ClientBrief.vue +++ b/src/views/ClientBrief.vue @@ -16,6 +16,7 @@ import ModeSelection from "../components/project/client-brief/ModeSelection.vue" import Images from "../components/project/client-brief/Images.vue"; import PdfViewer from "../components/project/client-brief/PdfViewer.vue"; import { usePageStore } from "../stores/page"; +import { storeToRefs } from "pinia"; const stepsComponents = { Intro, @@ -24,7 +25,7 @@ const stepsComponents = { PdfViewer, }; -const { page } = usePageStore(); +const { page } = storeToRefs(usePageStore()); const currentStep = ref(setInitialStep()); @@ -33,11 +34,13 @@ function changeStep(stepName) { } function setInitialStep() { - const hasPDF = page.content.clientbriefpdf.length !== 0; - const hasImages = page.content.clientbriefimages.length !== 0; + const hasPDF = page.value.content.clientbriefpdf.length !== 0; + const hasImages = + page.value.content.clientbriefimages.length !== 0 || + page.value.content.description.length !== 0; const isEmpty = !hasPDF && !hasImages; if (isEmpty) return "Intro"; - if (hasPDF) return "PDF"; + if (hasPDF) return "PdfViewer"; if (hasImages) return "Images"; }