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

<PageHeader as |p|>
  <p.top>
    <Hds::Breadcrumb>
      <Hds::Breadcrumb::Item
        @text={{@backendPath}}
        @route="vault.cluster.secrets.backend.overview"
        @model={{@backendPath}}
      />
      <Hds::Breadcrumb::Item @text={{@roleName}} @current={{true}} />
    </Hds::Breadcrumb>
  </p.top>
  <p.levelLeft>
    <h1 data-test-title class="title is-3">
      {{@roleName}}
    </h1>
  </p.levelLeft>
</PageHeader>

<div class={{if @roleType "box is-fullwidth is-sideless is-marginless"}}>
  {{! If no role type, that means both static and dynamic requests returned an error }}
  {{#unless @roleType}}
    <EmptyState
      @title={{this.errorTitle}}
      @subTitle="Error {{@model.errorHttpStatus}}"
      @icon="alert-circle"
      @bottomBorder={{true}}
      @message={{@model.errorMessage}}
    >
      <Hds::Link::Standalone
        @iconPosition="trailing"
        @icon="docs-link"
        @text="Database documentation"
        @href={{doc-link "/vault/api-docs/secret/databases"}}
      />
    </EmptyState>
  {{/unless}}
  {{#if (and (not @model.errorMessage) (eq @roleType "dynamic"))}}
    <Hds::Alert @type="inline" @color="warning" class="has-top-bottom-margin" data-test-credentials-warning as |A|>
      <A.Title>Warning</A.Title>
      <A.Description>
        You will not be able to access these credentials later, so please copy them now.
      </A.Description>
    </Hds::Alert>
  {{/if}}
  {{! DYNAMIC ROLE }}
  {{#if (and (eq @roleType "dynamic") @model.username)}}
    <InfoTableRow @label="Username" @value={{@model.username}}>
      <MaskedInput @value={{@model.username}} @name="Username" @displayOnly={{true}} @allowCopy={{true}} />
    </InfoTableRow>
    <InfoTableRow @label="Password" @value={{@model.password}}>
      <MaskedInput @value={{@model.password}} @name="Password" @displayOnly={{true}} @allowCopy={{true}} />
    </InfoTableRow>
    <InfoTableRow @label="Lease ID" @value={{@model.leaseId}} />
    <InfoTableRow @label="Lease Duration" @value={{format-duration @model.leaseDuration}} />
  {{/if}}
  {{! STATIC ROLE }}
  {{#if (and (eq @roleType "static") @model.username)}}
    <InfoTableRow
      @label="Last Vault rotation"
      @value={{date-format @model.lastVaultRotation "MMMM d yyyy, h:mm:ss a"}}
      @tooltipText={{@model.lastVaultRotation}}
      @isTooltipCopyable={{true}}
    />
    <InfoTableRow @label="Password" @value={{@model.password}}>
      <MaskedInput @value={{@model.password}} @name="Password" @displayOnly={{true}} @allowCopy={{true}} />
    </InfoTableRow>
    <InfoTableRow @label="Username" @value={{@model.username}} />
    <InfoTableRow @label="Rotation Period" @value={{format-duration @model.rotationPeriod}} />
    <InfoTableRow @label="Time Remaining" @value={{format-duration @model.ttl}} />
  {{/if}}
</div>
<div class="has-top-bottom-margin">
  <Hds::Button @text="Back" {{on "click" (action "redirectPreviousPage")}} data-test-secret-generate-back="true" />
</div>