rustploy-gui 0.1.53

Rustploy — desktop client (glacier-ui) for the Rustploy PaaS daemon
// Seção `deploy_engine` (view = deploy_engine) das telas globais; importada por home.component.gv.
component {
  resources {
    link(rel = import, href = "deploy_engine/fila.component.gv", as = EngineFilaTab)
    link(rel = import, href = "deploy_engine/executando.component.gv", as = EngineExecutandoTab)
    link(rel = import, href = "deploy_engine/historico.component.gv", as = EngineHistoricoTab)
  }

  row(class = page-head) {
    column(class = page-head__titles) {
      text("{t('common.deploy_engine')}", class = page-head__title)

      text(
        "{t('deploy_engine.deploy_pipeline_in_progress_and')}",
        class = page-head__subtitle,
      )
    }

    // 5 cards + valor largo (UPTIME) ao lado do título: deixa de caber
    // bem antes dos breakpoints gerais — some mais cedo (xl).
    row(class = "page-head__stats page-head__stats--hide-xl") {
      StatCard(
        label = "{t('deploy_engine.active')}",
        value = @deploy_engine_active_count, accent = 1
      )

      StatCard(
        label = "{t('deploy_engine.success_24h')}",
        value = @deploy_engine_success_24h
      )

      StatCard(
        label = "{t('deploy_engine.failures_24h')}",
        value = @deploy_engine_failed_24h
      )

      StatCard(
        label = "{t('deploy_engine.total_24h')}",
        value = @deploy_engine_total_24h
      )

      StatCard(
        label = "{t('common.uptime')}",
        value = @deploy_engine_uptime
      )
    }
  }

  scroll(class = tabs__scroll, direction = horizontal) {
    row(class = tabs__main) {
      TabButton(
        label = "{t('deploy_engine.queue', deploy_engine_queued_count=deploy_engine_queued_count)}",
        current = @deploy_engine_tab,
        target = fila,
        action = deploy_engine_tab:fila,
      )

      TabButton(
        label = "{t('deploy_engine.running', deploy_engine_active_count=deploy_engine_active_count)}",
        current = @deploy_engine_tab,
        target = executando,
        action = deploy_engine_tab:executando,
      )

      TabButton(
        label = "{t('deploy_engine.history_24h', deploy_engine_recent_count=deploy_engine_recent_count)}",
        current = @deploy_engine_tab,
        target = historico,
        action = deploy_engine_tab:historico,
      )
    }
  }

  hr

  EngineFilaTab(if = @deploy_engine_tab, equals = fila)
  EngineExecutandoTab(if = @deploy_engine_tab, equals = executando)
  EngineHistoricoTab(if = @deploy_engine_tab, equals = historico)
}