<form #form (ngSubmit)="submit()">
  <header>
    <div class="left">
      <button type="button" routerLink="/home">{{ "close" | i18n }}</button>
    </div>
    <h1 class="center">
      <span class="title">{{ "appName" | i18n }}</span>
    </h1>
    <div class="right">
      <button type="submit" [disabled]="form.loading">
        <span [hidden]="form.loading">{{ "save" | i18n }}</span>
        <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
      </button>
    </div>
  </header>
  <main tabindex="-1">
    <app-callout
      type="info"
      title="{{ 'settingsEdited' | i18n }}"
      *ngIf="showEditedManagedSettings"
    >
      <a href="#" appStopClick (click)="resetEnvironment()">
        {{ "environmentEditedClick" | i18n }}
      </a>
      {{ "environmentEditedReset" | i18n }}
    </app-callout>

    <div class="box">
      <h2 class="box-header">
        {{ "selfHostedEnvironment" | i18n }}
      </h2>
      <div class="box-content">
        <div class="box-content-row" appBoxRow>
          <label for="baseUrl">{{ "baseUrl" | i18n }}</label>
          <input
            id="baseUrl"
            type="text"
            name="BaseUrl"
            aria-describedby="baseUrlHelp"
            [(ngModel)]="baseUrl"
            placeholder="ex. https://bitwarden.company.com"
            appInputVerbatim
          />
        </div>
      </div>
      <div id="baseUrlHelp" class="box-footer">
        {{ "selfHostedEnvironmentFooter" | i18n }}
      </div>
    </div>
    <div class="box">
      <h2 class="box-header">
        {{ "customEnvironment" | i18n }}
      </h2>
      <div
        role="group"
        attr.aria-label="{{ 'customEnvironment' | i18n }}"
        aria-describedby="customEnvironmentHelp"
        class="box-content"
        [hidden]="!showCustom"
      >
        <div class="box-content-row" appBoxRow>
          <label for="webVaultUrl">{{ "webVaultUrl" | i18n }}</label>
          <input
            id="webVaultUrl"
            type="text"
            name="WebVaultUrl"
            [(ngModel)]="webVaultUrl"
            inputmode="url"
            appInputVerbatim
          />
        </div>
        <div class="box-content-row" appBoxRow>
          <label for="apiUrl">{{ "apiUrl" | i18n }}</label>
          <input
            id="apiUrl"
            type="text"
            name="ApiUrl"
            [(ngModel)]="apiUrl"
            inputmode="url"
            appInputVerbatim
          />
        </div>
        <div class="box-content-row" appBoxRow>
          <label for="identityUrl">{{ "identityUrl" | i18n }}</label>
          <input
            id="identityUrl"
            type="text"
            name="IdentityUrl"
            [(ngModel)]="identityUrl"
            inputmode="url"
            appInputVerbatim
          />
        </div>
        <div class="box-content-row" appBoxRow>
          <label for="notificationsUrl">{{ "notificationsUrl" | i18n }}</label>
          <input
            id="notificationsUrl"
            type="text"
            name="NotificationsUrl"
            inputmode="url"
            [(ngModel)]="notificationsUrl"
            appInputVerbatim
          />
        </div>
        <div class="box-content-row" appBoxRow>
          <label for="iconsUrl">{{ "iconsUrl" | i18n }}</label>
          <input
            id="iconsUrl"
            type="text"
            name="IconsUrl"
            [(ngModel)]="iconsUrl"
            inputmode="url"
            appInputVerbatim
          />
        </div>
      </div>
      <div id="customEnvironmentHelp" class="box-footer" [hidden]="!showCustom">
        {{ "customEnvironmentFooter" | i18n }}
      </div>
    </div>
  </main>
</form>
