{{!
  Copyright (c) HashiCorp, Inc.
  SPDX-License-Identifier: BUSL-1.1
~}}

{{#if @configured}}
  <div class="box is-fullwidth is-sideless is-marginless">
    <div class="field">
      <label for="publicKey" class="is-label">
        Public key
      </label>
      <div class="control">
        <MaskedInput
          @name="publickey"
          @id="publicKey"
          @value={{@model.publicKey}}
          @displayOnly={{true}}
          @allowCopy={{true}}
          data-test-ssh-input="public-key"
        />
      </div>
    </div>
  </div>
  <div class="field is-grouped-split box is-fullwidth is-bottomless">
    <div class="control">
      <CopyButton
        @clipboardText={{@model.publicKey}}
        @class="button is-primary"
        @buttonType="button"
        @success={{action (set-flash-message "Public Key copied!")}}
      >
        Copy
      </CopyButton>
    </div>
    <div class="control">
      <ConfirmAction
        @buttonClasses="button"
        @confirmMessage="This will remove the CA certificate information."
        @onConfirmAction={{this.delete}}
      >
        Delete
      </ConfirmAction>
    </div>
  </div>
{{else}}
  <form {{on "submit" this.saveConfig}} data-test-ssh-configure-form="true">
    <div class="box is-fullwidth is-sideless is-marginless">
      <NamespaceReminder @mode="save" @noun="configuration" />
      <div class="field">
        <label for="privateKey" class="is-label">
          Private key
        </label>
        <div class="control">
          <MaskedInput @name="privateKey" id="privateKey" @value={{@model.privateKey}} @onChange={{mut @model.privateKey}} />
        </div>
      </div>
      <div class="field">
        <label for="publicKey" class="is-label">
          Public key
        </label>
        <div class="control">
          <Textarea name="publicKey" id="publicKey" class="input" @value={{@model.publicKey}} />
        </div>
      </div>
      <div class="b-checkbox">
        <Input
          @type="checkbox"
          id="generateSigningKey"
          class="styled"
          @checked={{@model.generateSigningKey}}
          {{on "change" (fn (mut @model.generateSigningKey) (not @model.generateSigningKey))}}
          data-test-ssh-input="generate-signing-key-checkbox"
        />
        <label for="generateSigningKey" class="is-label">
          Generate signing key
          <InfoTooltip>
            Specifies if Vault should generate the signing key pair internally
          </InfoTooltip>
        </label>
      </div>
    </div>
    <div class="field box is-fullwidth is-bottomless is-marginless">
      <div class="control">
        <button
          type="submit"
          class="button is-primary {{if @loading 'is-loading'}}"
          disabled={{@loading}}
          data-test-ssh-input="configure-submit"
        >
          Save
        </button>
      </div>
    </div>
  </form>
{{/if}}