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

<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 (eq @mode "edit")}}
          Edit Secret
        {{else}}
          {{@key.id}}
          <Hds::Copy::Button @isIconOnly={{true}} @text="Copy your secret path" @textToCopy={{@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" aria-label="navigation for secret management">
        <ul>
          <li>
            <LinkTo @route="vault.cluster.secrets.backend.show" @model={{@key.id}} data-test-secret-tab>
              Secret
            </LinkTo>
          </li>
        </ul>
      </nav>
    </div>
  {{/if}}

  {{#if (and @model (not-eq this.secretData null))}}
    <SecretEditToolbar
      @mode={{@mode}}
      @model={{@model}}
      @isWriteWithoutRead={{this.isWriteWithoutRead}}
      @secretDataIsAdvanced={{this.secretDataIsAdvanced}}
      @showAdvancedMode={{this.showAdvancedMode}}
      @modelForData={{this.modelForData}}
      @canUpdateSecret={{this.canUpdateSecret}}
      @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}}
        @secretData={{this.secretData}}
        @buttonDisabled={{this.buttonDisabled}}
        @canReadSecret={{this.canReadSecret}}
      />
    {{else if (eq @mode "show")}}
      <SecretFormShow
        @modelForData={{this.modelForData}}
        @isWriteWithoutRead={{this.isWriteWithoutRead}}
        @showAdvancedMode={{this.showAdvancedMode}}
      />
    {{else}}
      <EmptyState @title="No secret view was selected" />
    {{/if}}
  {{/if}}
</div>