diff --git a/components/missions/missions-admin-panel.tsx b/components/missions/missions-admin-panel.tsx
index 3055718b..8d5b0550 100644
--- a/components/missions/missions-admin-panel.tsx
+++ b/components/missions/missions-admin-panel.tsx
@@ -64,6 +64,7 @@ export function MissionsAdminPanel() {
const [missionId, setMissionId] = useState("");
const [activeTab, setActiveTab] = useState("general");
const [isSubmitting, setIsSubmitting] = useState(false);
+ const [selectedLogoFile, setSelectedLogoFile] = useState(null);
const [missionData, setMissionData] = useState<{
name?: string;
logo?: string;
@@ -415,6 +416,28 @@ export function MissionsAdminPanel() {
const data = await response.json();
+ // If we have a selected logo file and this is a new mission, upload it now
+ if (selectedLogoFile && data.mission && data.mission.id) {
+ console.log('Uploading logo for new mission:', data.mission.id);
+
+ const formData = new FormData();
+ formData.append('file', selectedLogoFile);
+ formData.append('missionId', data.mission.id);
+ formData.append('type', 'logo');
+
+ const logoResponse = await fetch('/api/missions/upload', {
+ method: 'POST',
+ body: formData
+ });
+
+ if (!logoResponse.ok) {
+ console.error('Failed to upload logo:', await logoResponse.json());
+ // Continue with mission creation even if logo upload fails
+ } else {
+ console.log('Logo uploaded successfully');
+ }
+ }
+
toast({
title: "Mission créée avec succès",
description: "Tous les gardiens ont été assignés et la mission a été enregistrée.",
@@ -473,6 +496,12 @@ export function MissionsAdminPanel() {
{
+ // Store the selected file in state for later upload
+ setSelectedLogoFile(file);
+ console.log('Logo file selected for later upload:', file.name);
+ }}
onUploadComplete={(data) => {
// Handle logo upload complete
if (data?.filePath) {