diff --git a/src/pages/ProjectsPage.jsx b/src/pages/ProjectsPage.jsx index c6a07f0..5139ebf 100644 --- a/src/pages/ProjectsPage.jsx +++ b/src/pages/ProjectsPage.jsx @@ -109,6 +109,7 @@ export default function ProjectsPage() { const [notice, setNotice] = useState('') const [assignBusyId, setAssignBusyId] = useState('') const [hostBusyId, setHostBusyId] = useState('') + const [refreshBusyId, setRefreshBusyId] = useState('') // Bearbeiten-Modal const [editProject, setEditProject] = useState(null) @@ -272,6 +273,25 @@ export default function ProjectsPage() { } } + // Bereits gehostetes Projekt erneut deployen (nach Website-Ueberarbeitung neu laden) + const handleRefresh = async (project) => { + setRefreshBusyId(project.$id) + setNotice('') + try { + const r = await updateWebsiteProject(project.$id, { projectType: typeOf(project) }) + setNotice( + r.deploy?.deployed + ? `"${project.projectName}" wurde aktualisiert${r.previewUrl ? ': ' + r.previewUrl : ''}` + : `Aktualisierung angestossen, aber nicht bestaetigt: ${r.deploy?.error || 'siehe Server-Logs'}` + ) + await fetchAllProjects() + } catch (err) { + setNotice('Aktualisieren fehlgeschlagen: ' + (err.message || 'unbekannt')) + } finally { + setRefreshBusyId('') + } + } + const openEdit = (project) => { setEditError('') setEditProject(project) @@ -543,6 +563,21 @@ export default function ProjectsPage() { ) : ( )} + {hosted && ready && !project.archived && ( + + )}