rustploy-gui 0.1.53

Rustploy — desktop client (glacier-ui) for the Rustploy PaaS daemon
// Migrar este banco para um servidor compartilhado
component {
  scrollable(
    direction = vertical,
    class = u-fill-all,
  ) {
    column(width = fill, spacing = 8, class = form-panel) {
      text("{t('migrar.migrate_to_a_shared_database')}", class = u-label-cap)

      text(
        "{t('migrar.first_create_the_destination_database_on')}",
        class = u-muted,
      )

      text(
        "{t('migrar.source_database_inside_this_database')}",
        class = u-label-cap,
      )

      input(
        class = field__input,
        form_control = service_form_migration_database,
        :value = service_form_migration_database,
        on_change = field:service_form_migration_database,
        placeholder = "{t('migrar.database_name')}",
      )

      text("{t('migrar.destination')}", class = u-label-cap)

      select(
        class = form-select,
        :options = migration_destinations,
        :value = service_form_migration_destination,
        on_change = field:service_form_migration_destination,
        placeholder = "{t('migrar.destination_database')}",
        label_field = name,
        value_field = id,
      )

      text("{t('migrar.env_var_to_replace')}", class = u-label-cap)

      input(
        class = field__input,
        form_control = service_form_migration_env,
        :value = service_form_migration_env,
        on_change = field:service_form_migration_env,
        placeholder = "{t('migrar.default_database_url_mongodb_uri')}",
      )

      row(class = env__add) {
        button(
          class = "btn btn--primary",
          if = @service_form_migration_destination,
          equals = "",
          disabled = true,
          text = "{t('common.migrate')}",
        )

        button(
          class = "btn btn--primary",
          if = @service_form_migration_destination,
          not_equals = "",
          on_click = migration_start,
          disabled = @busy_migration_start,
          text = "{t('common.migrate')}",
        )

        button(
          class = "btn btn--ghost",
          on_click = migration_refresh,
          disabled = @busy_migration_refresh,
          text = "{t('migrar.refresh')}",
        )
      }

      if @migration_has == "true" {
        text("{t('migrar.progress', migration_status=migration_status)}", class = u-label-cap)

        column(class = kv-list) {
          row(class = kv-list__row, :for_each = migration_steps, var = s) {
            text("@s.icon", class = env__key)
            text("@s.name", class = "kv-list__val kv-list__val--compact")
            text("@s.detail", class = u-muted)
          }
        }

        if @migration_can_finish == "true" {
          text(
            "{t('migrar.migration_finished_the_old_database_was')}",
            class = u-muted,
          )

          row(class = env__add) {
            button(
              class = "btn btn--ghost",
              on_click = migration_rollback,
              disabled = @busy_migration_rollback,
              text = "{t('migrar.roll_back')}",
            )

            button(
              class = "btn btn--ghost",
              on_click = migration_discard,
              disabled = @busy_migration_discard,
              text = "{t('migrar.discard_the_old_database')}",
            )
          }
        }
      }
    }
  }
}