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

{{! TODO kv engine cleanup : this component can be deleted in favor of <KvVersionDropdown/> }}
<BasicDropdown @class="popup-menu" @horizontalPosition="auto-right" @verticalPosition="below" as |D|>
  <D.Trigger
    data-test-popup-menu-trigger="version"
    class={{concat "toolbar-link" (if D.isOpen " is-active")}}
    @htmlTag="button"
  >
    Version
    {{@version.version}}
    <Chevron @direction="down" @isButton={{true}} />
  </D.Trigger>
  <D.Content @defaultClass="popup-menu-content">
    <nav class="box menu">
      <ul class="menu-list">
        {{#if (has-block)}}
          {{yield}}
        {{/if}}
        {{#each (reverse @model.versions) as |secretVersion|}}
          <li class="action">
            <LinkTo
              class="link"
              @query={{hash version=secretVersion.version}}
              {{on "click" (fn this.closeDropdown D)}}
              data-test-version-dropdown-link={{secretVersion.version}}
            >
              Version
              {{secretVersion.version}}
              {{#if
                (and
                  (eq secretVersion.version @model.currentVersion) (not secretVersion.destroyed) (not secretVersion.deleted)
                )
              }}
                <Icon @name="check-circle" class="has-text-success is-pulled-right" />
              {{else if secretVersion.destroyed}}
                <Icon @name="x-square-fill" class="has-text-danger is-pulled-right" />
              {{else if secretVersion.deleted}}
                <Icon @name="x-square-fill" class="has-text-grey is-pulled-right" />
              {{/if}}
            </LinkTo>
          </li>
        {{/each}}
        <li class="action">
          <SecretLink
            data-test-version-history={{true}}
            @mode="versions"
            @secret={{@model.id}}
            class="has-text-black has-text-weight-semibold has-bottom-shadow"
          >
            View version history
          </SecretLink>
        </li>
        {{#if (gt @model.versions.length 1)}}
          <li class="action">
            <li>
              <LinkTo class="link" @route="vault.cluster.secrets.backend.diff" @model={{@model.id}} data-test-view-diff>
                View diff
              </LinkTo>
            </li>
          </li>
        {{/if}}
      </ul>
    </nav>
  </D.Content>
</BasicDropdown>