<div {{did-insert this.createKvData @model}}>
  <PageHeader as |p|>
    <p.top>
      <KeyValueHeader
        @baseKey={{@baseKey}}
        @path="vault.cluster.secrets.backend.list"
        @mode={{@mode}}
        @root={{@root}}
        @showCurrent={{true}}
      />
    </p.top>
    <p.levelLeft>
      <h1 class="title is-3">
        {{#if (eq @mode "create")}}
          Create secret
        {{else if (and this.isV2 (eq @mode "edit"))}}
          Create new version
        {{else if (eq @mode "edit")}}
          Edit secret
        {{else}}
          {{@key.id}}
        {{/if}}
      </h1>
    </p.levelLeft>
  </PageHeader>
  {{! tabs for show only }}
  {{#if (eq @mode "show")}}
    <div class="tabs-container box is-bottomless is-marginless is-fullwidth is-paddingless">
      <nav class="tabs">
        <ul>
          <LinkTo @route="vault.cluster.secrets.backend.show" @model={{@key.id}} data-test-secret-tab>
            Secret
          </LinkTo>
          {{! must have read access to /metadata see tab or update to update metadata}}
          {{#if (or this.canReadSecretMetadata this.canUpdateSecretMetadata)}}
            <LinkTo @route="vault.cluster.secrets.backend.metadata" @model={{@key.id}} data-test-secret-metadata-tab>
              Metadata
            </LinkTo>
          {{/if}}
        </ul>
      </nav>
    </div>
  {{/if}}

  {{#if (and @model (not-eq this.secretData null))}}
    <SecretEditToolbar
      @mode={{@mode}}
      @model={{@model}}
      @isV2={{this.isV2}}
      @isWriteWithoutRead={{this.isWriteWithoutRead}}
      @secretDataIsAdvanced={{this.secretDataIsAdvanced}}
      @showAdvancedMode={{this.showAdvancedMode}}
      @modelForData={{this.modelForData}}
      @canUpdateSecretData={{this.canUpdateSecretData}}
      @canReadSecretMetadata={{this.canReadSecretMetadata}}
      @codemirrorString={{this.codemirrorString}}
      @editActions={{hash toggleAdvanced=(action "toggleAdvanced") refresh=(action "refresh")}}
    />

    {{#if (or (eq @mode "create") (eq @mode "edit"))}}
      <SecretCreateOrUpdate
        @mode={{@mode}}
        @model={{@model}}
        @showAdvancedMode={{this.showAdvancedMode}}
        @modelForData={{this.modelForData}}
        @error={{this.error}}
        @isV2={{this.isV2}}
        @secretData={{this.secretData}}
        @buttonDisabled={{this.buttonDisabled}}
        @canUpdateSecretMetadata={{this.canUpdateSecretMetadata}}
        @canReadSecretData={{this.canReadSecretData}}
        @canReadSecretMetadata={{this.canReadSecretMetadata}}
      />
    {{else if (eq @mode "show")}}
      <SecretFormShow
        @isV2={{this.isV2}}
        @modelForData={{this.modelForData}}
        @isWriteWithoutRead={{this.isWriteWithoutRead}}
        @showAdvancedMode={{this.showAdvancedMode}}
      />
    {{else}}
      <EmptyState @title="No secret view was selected" />
    {{/if}}
  {{/if}}
</div>