Wip upload d'image présentation
This commit is contained in:
@@ -420,22 +420,35 @@ function deleteImage(field) {
|
||||
}
|
||||
|
||||
// Mettre à jour une image
|
||||
function updateImage(index, event) {
|
||||
function updateImage(field, event) {
|
||||
const file = event.target.files[0];
|
||||
if (file) {
|
||||
// Stocker le fichier pour l'enregistrement
|
||||
editableImages.value[index] = file;
|
||||
|
||||
// Générer une URL temporaire pour la prévisualisation
|
||||
const previewUrl = URL.createObjectURL(file);
|
||||
|
||||
// Mettre à jour la prévisualisation (remplacer dans l'interface utilisateur)
|
||||
if (index === 0) image1Url.value = previewUrl;
|
||||
else if (index === 1) image2Url.value = previewUrl;
|
||||
else if (index === 2) image3Url.value = previewUrl;
|
||||
else if (index === 3) image4Url.value = previewUrl;
|
||||
// Stocker le fichier dans editableImages pour l'envoi
|
||||
switch (field) {
|
||||
case "mainImageUrl":
|
||||
editableImages.value[0] = file;
|
||||
mainImageUrl.value = URL.createObjectURL(file);
|
||||
break;
|
||||
case "image1Url":
|
||||
editableImages.value[1] = file;
|
||||
image1Url.value = URL.createObjectURL(file);
|
||||
break;
|
||||
case "image2Url":
|
||||
editableImages.value[2] = file;
|
||||
image2Url.value = URL.createObjectURL(file);
|
||||
break;
|
||||
case "image3Url":
|
||||
editableImages.value[3] = file;
|
||||
image3Url.value = URL.createObjectURL(file);
|
||||
break;
|
||||
case "image4Url":
|
||||
editableImages.value[4] = file;
|
||||
image4Url.value = URL.createObjectURL(file);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Charger les données au montage
|
||||
@@ -467,31 +480,34 @@ async function saveChanges() {
|
||||
return;
|
||||
}
|
||||
|
||||
const payload = {
|
||||
PhoneNumber: editablePhoneNumber.value,
|
||||
Email: editableEmail.value,
|
||||
Title: editableMainTitle.value,
|
||||
MainImageText: editableMainImageText.value,
|
||||
MainVideoText: editableMainVideoText.value,
|
||||
ImagesSubtitle: editableImagesSubtitle.value,
|
||||
ImagesText: editableImagesText.value,
|
||||
VideoSubtitle: editableVideoSubtitle.value,
|
||||
VideoSubtitleMain: editableVideoSubtitleMain.value,
|
||||
VideoUrlMain: editableVideoUrlMain.value,
|
||||
VideoUrl: editableVideoUrl.value,
|
||||
VideoText: editableVideoText.value
|
||||
};
|
||||
const formData = new FormData();
|
||||
|
||||
// Ajout des champs textuels au payload
|
||||
formData.append("PhoneNumber", editablePhoneNumber.value || "");
|
||||
formData.append("Email", editableEmail.value || "");
|
||||
formData.append("Title", editableMainTitle.value || "");
|
||||
formData.append("MainImageText", editableMainImageText.value || "");
|
||||
formData.append("MainVideoText", editableMainVideoText.value || "");
|
||||
formData.append("ImagesSubtitle", editableImagesSubtitle.value || "");
|
||||
formData.append("ImagesText", editableImagesText.value || "");
|
||||
formData.append("VideoSubtitle", editableVideoSubtitle.value || "");
|
||||
formData.append("VideoSubtitleMain", editableVideoSubtitleMain.value || "");
|
||||
formData.append("VideoUrlMain", editableVideoUrlMain.value || "");
|
||||
formData.append("VideoUrl", editableVideoUrl.value || "");
|
||||
formData.append("VideoText", editableVideoText.value || "");
|
||||
|
||||
|
||||
|
||||
console.log("Payload envoyé :", payload);
|
||||
// Ajout des fichiers au payload
|
||||
if (editableImages.value[0]) formData.append("MainImage", editableImages.value[0]);
|
||||
if (editableImages.value[1]) formData.append("Image1", editableImages.value[1]);
|
||||
if (editableImages.value[2]) formData.append("Image2", editableImages.value[2]);
|
||||
if (editableImages.value[3]) formData.append("Image3", editableImages.value[3]);
|
||||
if (editableImages.value[4]) formData.append("Image4", editableImages.value[4]);
|
||||
|
||||
try {
|
||||
const response = await client.post(
|
||||
`/api/creators/${creatorProfileStore.creator.id}/presentation-infos`,
|
||||
payload,
|
||||
{ headers: { "Content-Type": "application/json" } }
|
||||
formData,
|
||||
{ headers: { "Content-Type": "multipart/form-data" } }
|
||||
);
|
||||
|
||||
console.log("Données sauvegardées :", response.data);
|
||||
@@ -503,6 +519,7 @@ async function saveChanges() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function cancelEdit() {
|
||||
// Restaurer les valeurs d'origine
|
||||
editableMainTitle.value = mainTitle.value;
|
||||
|
||||
Reference in New Issue
Block a user