// Connection (valores copiáveis)
component {
resources {
// Estado vazio da lista de containers (`fallback` do <foreach>).
component(name = SemContainers) {
text(class = u-muted, content = "Nenhum container em execução.")
}
}
column(class = kv-list) {
row(class = kv-list__row) {
text(class = kv-list__key, content = "Container port")
text(class = "kv-list__val kv-list__val--compact", content = "@service_port")
text(content = " ")
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:service_port,
text = Copiar,
)
}
row(class = kv-list__row) {
text(class = kv-list__key, content = "Host port")
text(class = "kv-list__val kv-list__val--compact", content = "@service_host_port")
text(content = " ")
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:service_host_port,
text = Copiar,
)
}
row(class = kv-list__row) {
text(class = kv-list__key, content = "Domain")
text(class = "kv-list__val kv-list__val--compact", content = "@service_domain")
text(content = " ")
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:service_domain,
text = Copiar,
)
}
row(class = kv-list__row) {
text(class = kv-list__key, content = "TLS")
text(class = "kv-list__val kv-list__val--compact", content = "@service_tls")
}
row(class = kv-list__row) {
text(class = kv-list__key, content = "External URL")
text(class = "kv-list__val kv-list__val--compact", content = "@service_external_url_short")
text(content = " ")
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:service_external_url,
text = Copiar,
)
}
row(class = kv-list__row) {
text(class = kv-list__key, content = "Internal URL")
text(class = "kv-list__val kv-list__val--compact", content = "@service_internal_url_short")
text(content = " ")
button(
class = "btn btn--ghost btn--xs",
on_click = copy_ctx:service_internal_url,
text = Copiar,
)
}
row(class = kv-list__row, if = @service_can_share, equals = true) {
text(class = kv-list__key, content = "Compartilhado")
text(class = "kv-list__val kv-list__val--compact", content = "@service_shared")
if @service_shared == "false" {
button(
class = "btn btn--ghost btn--xs",
on_click = shared_enable,
disabled = @busy_shared_enable,
text = Compartilhar,
)
}
if @service_shared == "true" {
button(
class = "btn btn--ghost btn--xs",
on_click = shared_disable,
disabled = @busy_shared_disable,
text = Desligar,
)
}
}
row(class = kv-list__row, if = @service_database_kind, not_equals = "—") {
text(class = kv-list__key, content = "Tipo")
text(class = "kv-list__val kv-list__val--compact", content = "@service_database_kind")
}
// Containers reais em execução para este serviço (id + nome + estado).
hr
text(
class = u-label-cap,
content = "CONTAINERS (@service_containers_count)",
)
each @service_containers as c (fallback = SemContainers) {
row(class = kv-list__row) {
rp-badge(color = @c.state_color, label = @c.state)
text(class = "kv-list__val kv-list__val--compact", content = " ")
text(class = "kv-list__val kv-list__val--compact", content = "@c.name")
text(class = "kv-list__val kv-list__val--compact", content = " ")
text(class = u-muted, content = "@c.id_short")
}
}
}
}