<div class="card mb-4">
  <h5 class="card-header" i18n>
    Database settings
  </h5>
  <div class="card-body">
    <div [hidden]="!error" class="alert alert-danger" role="alert"><strong>Error: </strong>{{error}}</div>
    <form #settingsForm="ngForm">
      <p class="title" i18n>Type:</p>
      <select class="form-control" [(ngModel)]="settings.type" name="type" required>
        <option *ngFor="let type of types" [ngValue]="type.key">{{type.value}}
        </option>
      </select>
      <small *ngIf="settings.type == DatabaseType.mysql"
             class="form-text text-muted" i18n>Install manually mysql node module to use mysql (npm install mysql)
      </small>

      <ng-container *ngIf="settings.type == DatabaseType.mysql">
        <p class="title" i18n>MySQL settings:</p>
        <input type="text" class="form-control" i18n-placeholder placeholder="Host"
               [(ngModel)]="settings.mysql.host" name="host" required>
        <input type="text" class="form-control" i18n-placeholder placeholder="Database"
               [(ngModel)]="settings.mysql.database" name="database" required>
        <input type="text" class="form-control" i18n-placeholder placeholder="Username"
               [(ngModel)]="settings.mysql.username" name="username">
        <input type="password" class="form-control" i18n-placeholder placeholder="Password"
               [(ngModel)]="settings.mysql.password" name="password">
      </ng-container>
      <ng-container *ngIf="settings.type == DatabaseType.sqlite">
        <p class="title" i18n>SQLite settings:</p>
        <input type="text" class="form-control" placeholder="storage"
               [(ngModel)]="settings.sqlite.storage" name="host" required>
      </ng-container>

    </form>
    <button class="btn btn-success float-right"
            [disabled]="!settingsForm.form.valid || !changed || inProgress"
            (click)="save()" i18n>Save
    </button>
    <button class="btn btn-default float-right"
            (click)="reset()" i18n>Reset
    </button>
  </div>
</div>