From 3c5aa635c4f086a4a4ea25ee25f74a9d8123e5de Mon Sep 17 00:00:00 2001 From: Olivier Date: Fri, 3 Jul 2026 18:21:24 +0200 Subject: [PATCH] Ajout direct pour nouveau user --- frontend/src/components/EmptyState.jsx | 2 +- .../src/pages/settings/PlateformesSection.jsx | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/EmptyState.jsx b/frontend/src/components/EmptyState.jsx index ba355b5..f453300 100644 --- a/frontend/src/components/EmptyState.jsx +++ b/frontend/src/components/EmptyState.jsx @@ -14,7 +14,7 @@ export default function EmptyState({ title = 'Aucune plateforme configurée', message = "Vous n'avez pas encore configuré de plateforme de crowdfunding sur votre compte. Associez au moins une plateforme pour commencer à suivre vos investissements.", cta = 'Configurer mes plateformes', - to = '/settings?section=plateformes', + to = '/settings?section=plateformes&openAdd=1', }) { const navigate = useNavigate(); diff --git a/frontend/src/pages/settings/PlateformesSection.jsx b/frontend/src/pages/settings/PlateformesSection.jsx index a811f71..38895b6 100644 --- a/frontend/src/pages/settings/PlateformesSection.jsx +++ b/frontend/src/pages/settings/PlateformesSection.jsx @@ -1,5 +1,5 @@ import { useState, useEffect, useRef } from 'react'; -import { useNavigate } from 'react-router-dom'; +import { useNavigate, useSearchParams } from 'react-router-dom'; import { api } from '../../api.js'; import InvSelect from '../../components/InvSelect.jsx'; import Modal from '../../components/Modal.jsx'; @@ -629,6 +629,8 @@ function PlatForm({ state, setter, logoFile, setLogoFile, logoPreview, setLogoPr } export default function PlateformesSection() { + const [searchParams, setSearchParams] = useSearchParams(); + // ── State ────────────────────────────────────────────────────── const [plats, setPlats] = useState([]); const [investisseurs, setInvestisseurs] = useState([]); @@ -693,6 +695,17 @@ export default function PlateformesSection() { setSelectedPlat(prev => prev ? prev : plats[0]); }, [plats]); // eslint-disable-line + // Ouverture automatique du picker d'ajout (venant de l'état vide "Aucune plateforme configurée") + useEffect(() => { + if (searchParams.get('openAdd') === '1') { + setErr(null); + setShowAddPicker(true); + const next = new URLSearchParams(searchParams); + next.delete('openAdd'); + setSearchParams(next, { replace: true }); + } + }, [searchParams]); // eslint-disable-line + const handleLogoFile = (file, setFile, setPreview) => { if (!file) { setFile(null); setPreview(null); return; } setFile(file);