rustploy-gui 0.1.21

Rustploy — desktop client (glacier-ui) for the Rustploy PaaS daemon
// Janela do wizard "Novo serviço": motor Glacier próprio, aberto por
// open_window (handlers/wizard.luau → open_new_service_window), que semeia a
// conexão + o projeto-alvo via open_window({ data = ...
screen(title = "Novo serviço — Rustploy") {
  resources {
    link(rel = import, href = new_service.gvb, as = NewServiceWizard)

    // Componentes que o corpo do wizard usa (o shell.gv os importava; num motor
    // isolado precisamos reimportá-los).
    link(rel = import, href = "components/picker_row.gvb", as = PickerRow)
    link(rel = import, href = "components/template_row.gvb", as = TemplateRow)

    script(src = "scripts/new_service_window.luau")
  }

  column(class = dialog__screen) {
    row(class = titlebar) {
      row(class = titlebar__drag, on_press = window:drag) {
        text(class = titlebar__dot, content = "●")
        text(class = titlebar__title, content = "Novo serviço — Rustploy")
      }

      button(class = titlebar__btn, on_click = window:minimize, text = "—")
      button(class = "titlebar__btn titlebar__btn--close", on_click = window:close, text = "✕")
    }

    // Corpo do wizard, rolável (os passos db_form/template_form são altos).
    scrollable(class = dialog__body, direction = vertical) {
      NewServiceWizard
    }
  }
}