import { Query } from 'appwrite' import { useEffect, useState } from 'react' import { appwriteDatabaseId, databases } from '../lib/appwrite' const statCard = (label: string, value: string | number, helper?: string) => (

{label}

{value}

{helper ?

{helper}

: null}
) export default function Home() { const [projectsTotal, setProjectsTotal] = useState(null) const [activeWorkers, setActiveWorkers] = useState(null) const [lastDeployment, setLastDeployment] = useState('---') const [error, setError] = useState(null) useEffect(() => { const fetchMetrics = async () => { if (!appwriteDatabaseId) { setError('Defina VITE_APPWRITE_DATABASE_ID para consultar métricas.') return } try { const [projects, cloudAccounts, deployments] = await Promise.all([ databases.listDocuments(appwriteDatabaseId, 'projects', [Query.limit(1)]), databases.listDocuments(appwriteDatabaseId, 'cloud_accounts', [Query.limit(1)]), databases.listDocuments(appwriteDatabaseId, 'audit_logs', [Query.orderDesc('timestamp'), Query.limit(1)]), ]) setProjectsTotal(projects.total) setActiveWorkers(cloudAccounts.total) const lastTimestamp = deployments.documents[0]?.timestamp as string | undefined setLastDeployment(lastTimestamp ? new Date(lastTimestamp).toLocaleString() : 'Sem deploys registrados') } catch (err) { console.error(err) setError('Não foi possível carregar as métricas do painel.') } } fetchMetrics() }, []) return (

Overview

Saúde do Projeto

Consolidação das integrações com GitHub, Cloudflare e Appwrite para acompanhar deploys e automações.

{error ?
{error}
: null}
{statCard('Total Repos', projectsTotal ?? '---', 'Quantidade de projetos cadastrados no Appwrite')} {statCard('Active Workers', activeWorkers ?? '---', 'Workers monitorados pelo Cloudflare')} {statCard('Last Deployment', lastDeployment)}

Deploys recentes

Acompanhe as últimas execuções registradas no Appwrite.

  • Build & Deploy {lastDeployment}
  • Sync GitHub {projectsTotal ?? '---'} repositórios

Status de integrações

Appwrite Database {appwriteDatabaseId ? 'Configurado' : 'Pendente'}
Cloud Accounts {activeWorkers ?? '---'} credenciais
Realtime Logs Monitorando audit_logs
) }