rustploy-gui 0.1.31

Rustploy — desktop client (glacier-ui) for the Rustploy PaaS daemon
// Hiperlink de célula de tabela: o nome de um serviço ou de um projeto que
// abre a tela dele (os mesmos handlers dos cards). O rótulo é um `text`
// filho porque o `size` do GSS não chega ao texto de um `button` (ficava em
// 16px e vazava da coluna, que conta caracteres a 13px).
component {
  props {
    prop(name = kind)
    prop(name = id)
    prop(name = label)
  }

  resources {
    style """
    .table-link       { color: var(--surface); padding: 0; cursor: pointer; }
    .table-link__label { size: 13; color: var(--accent); }
    """
  }

  button(
    if = @kind,
    equals = service,
    class = table-link,
    on_click = open_service:@id,
  ) {
    text(class = table-link__label, content = "@label")
  }

  button(else, class = table-link, on_click = open_project:@id) {
    text(class = table-link__label, content = "@label")
  }
}