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 && (
+
+ )}