// Seção `deploy_engine` (view = deploy_engine) das telas globais; importada por home.gvb.
component {
resources {
link(rel = import, href = "deploy_engine/fila.gvb", as = EngineFilaTab)
link(rel = import, href = "deploy_engine/executando.gvb", as = EngineExecutandoTab)
link(rel = import, href = "deploy_engine/historico.gvb", as = EngineHistoricoTab)
}
row(class = header_row) {
column(class = header_titles) {
text(class = title, content = "Deploy Engine")
text(
class = subtitle,
content = "Pipeline de deploy: em andamento e histórico recente.",
)
}
// 5 cards + valor largo (UPTIME) ao lado do título: deixa de caber
// bem antes dos breakpoints gerais — some mais cedo (xl).
row(class = "stats_row stats_hide_xl") {
StatCard(label = ATIVOS, value = @eng_active_count, accent = 1)
StatCard(label = "SUCESSO 24H", value = @eng_success_24h)
StatCard(label = "FALHAS 24H", value = @eng_failed_24h)
StatCard(label = "TOTAL 24H", value = @eng_total_24h)
StatCard(label = UPTIME, value = @eng_uptime)
}
}
row(class = tabs) {
TabButton(
label = "Fila (@eng_queued_count)",
current = @eng_tab,
target = fila,
action = eng_tab:fila,
)
TabButton(
label = "Executando (@eng_active_count)",
current = @eng_tab,
target = executando,
action = eng_tab:executando,
)
TabButton(
label = "Histórico 24h (@eng_recent_count)",
current = @eng_tab,
target = historico,
action = eng_tab:historico,
)
}
hr
EngineFilaTab(if = @eng_tab, equals = fila)
EngineExecutandoTab(if = @eng_tab, equals = executando)
EngineHistoricoTab(if = @eng_tab, equals = historico)
}