{{#link-to "adminApiKeys.index" class="go-back"}}
  {{d-icon "arrow-left"}}
  {{i18n "admin.api.all_api_keys"}}
{{/link-to}}

<div class="api-key api-key-show">
  {{#admin-form-row label="admin.api.key"}}
    {{#if model.revoked_at}}{{d-icon "times-circle"}}{{/if}}
    {{model.truncatedKey}}
  {{/admin-form-row}}

  {{#admin-form-row label="admin.api.description"}}
    {{#if editingDescription}}
      {{input value=buffered.description maxlength="255" placeholder=(i18n "admin.api.description_placeholder")}}
    {{else}}
      <span>
        {{if model.description model.description (i18n "admin.api.no_description")}}
      </span>
    {{/if}}

    <div class="controls">
      {{#if editingDescription}}
        {{d-button class="ok" action=(action "saveDescription") icon="check"}}
        {{d-button class="cancel" action=(action "editDescription") icon="times"}}
      {{else}}
        {{d-button class="btn-default" action=(action "editDescription") icon="pencil-alt"}}
      {{/if}}
    </div>
  {{/admin-form-row}}

  {{#admin-form-row label="admin.api.user"}}
    {{#if model.user}}
      {{#link-to "adminUser" model.user}}
        {{avatar model.user imageSize="small"}} {{model.user.username}}
      {{/link-to}}
    {{else}}
      {{i18n "admin.api.all_users"}}
    {{/if}}
  {{/admin-form-row}}

  {{#admin-form-row label="admin.api.created"}}
    {{format-date model.created_at leaveAgo="true"}}
  {{/admin-form-row}}

  {{#admin-form-row label="admin.api.updated"}}
    {{format-date model.updated_at leaveAgo="true"}}
  {{/admin-form-row}}

  {{#admin-form-row label="admin.api.last_used"}}
    {{#if model.last_used_at}}
      {{format-date model.last_used_at leaveAgo="true"}}
    {{else}}
      {{i18n "admin.api.never_used"}}
    {{/if}}
  {{/admin-form-row}}

  {{#admin-form-row label="admin.api.revoked"}}
    {{#if model.revoked_at}}
      {{format-date model.revoked_at leaveAgo="true"}}
    {{else}}
      <span>{{i18n "no_value"}}</span>
    {{/if}}
    <div class="controls">
      {{#if model.revoked_at}}
        {{d-button
          action=(action "undoRevokeKey")
          actionParam=model icon="undo"
          label="admin.api.undo_revoke"}}
        {{d-button
          action=(action "deleteKey")
          actionParam=model icon="trash-alt"
          label="admin.api.delete"
          class="btn-danger"}}
      {{else}}
        {{d-button
          class="btn-danger"
          action=(action "revokeKey")
          actionParam=model
          icon="times"
          label="admin.api.revoke"}}
      {{/if}}
    </div>
  {{/admin-form-row}}

  {{#if model.api_key_scopes.length}}
    <div class="scopes-title">{{i18n "admin.api.scopes.title"}}</div>

    <table class="scopes-table grid">
      <thead>
        <tr>
          <td>{{i18n "admin.api.scopes.resource"}}</td>
          <td>{{i18n "admin.api.scopes.action"}}</td>
          <td>{{i18n "admin.api.scopes.allowed_urls"}}</td>
          <td>{{i18n "admin.api.scopes.allowed_parameters"}}</td>
        </tr>
      </thead>
      <tbody>
        {{#each model.api_key_scopes as |scope|}}
          <tr>
            <td>{{scope.resource}}</td>
            <td>
              {{scope.action}}
              <span
                class="scope-tooltip"
                data-tooltip={{i18n (concat "admin.api.scopes.descriptions." scope.resource "." scope.key)}}>
                {{d-icon "question-circle"}}
              </span>
            </td>
            <td>
              {{d-button icon="link" action=(action "showURLs" scope.urls) class="btn-info"}}
            </td>
            <td>
              {{#each scope.parameters as |p|}}
                <div>
                  <b>{{p}}:</b>
                  {{#if (get scope.allowed_parameters p)}}
                    {{get scope.allowed_parameters p}}
                  {{else}}
                    {{i18n "admin.api.scopes.any_parameter"}}
                  {{/if}}
                </div>
              {{/each}}
            </td>
          </tr>
        {{/each}}
      </tbody>
    </table>
  {{/if}}
</div>
