rustploy-gui 0.1.49

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 texto fica no próprio
// `button` (o `size` do GSS vale no rótulo do botão desde o glacier-ui 0.12x),
// porque o `:hover` só chega ao botão: com o rótulo num `text` filho o link
// não clareava ao passar o mouse.
component {
  props {
    prop(name = kind)
    prop(name = id)
    prop(name = label)
  }

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

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

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