import React, { useState, useEffect } from 'react'; import { Box, RefreshCw, Plus } from 'lucide-react'; import AppCard from '../components/AppCard'; import AddAppModal from '../components/AddAppModal'; import { getApps, getGiteaCommits } from '../utils/api'; export default function AppsPage({ apps, onRefresh }) { const [commitsMap, setCommitsMap] = useState({}); const [showAddModal, setShowAddModal] = useState(false); useEffect(() => { // Charger les commits pour chaque app apps.forEach((app) => { const owner = app.giteaOwner || 'manus-admin'; const repo = app.giteaRepo || app.id; getGiteaCommits(owner, repo) .then((res) => { setCommitsMap((prev) => ({ ...prev, [app.id]: res.data, })); }) .catch(() => { // Ignorer les erreurs Gitea pour les apps sans dépôt }); }); }, [apps]); const handleAddSuccess = () => { setShowAddModal(false); // Rafraîchir la liste après un délai pour laisser le temps au health check setTimeout(() => { if (onRefresh) onRefresh(); }, 5000); // Rafraîchir encore après 15s setTimeout(() => { if (onRefresh) onRefresh(); }, 15000); }; return (
Gérez et surveillez vos applications déployées
Les applications déployées apparaîtront ici