Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 

29 рядки
1.4 KiB

  1. <div class="card">
  2. <h4 class="card-header">Login</h4>
  3. <div class="card-body">
  4. <form [formGroup]="form" (ngSubmit)="onSubmit()">
  5. <div class="mb-3">
  6. <label class="form-label">Username</label>
  7. <input type="text" formControlName="username" class="form-control" [ngClass]="{ 'is-invalid': submitted && f['username'].errors }" />
  8. <div *ngIf="submitted && f['username'].errors" class="invalid-feedback">
  9. <div *ngIf="f['username'].hasError('required')">Username is required</div>
  10. </div>
  11. </div>
  12. <div class="mb-3">
  13. <label class="form-label">Password</label>
  14. <input type="password" formControlName="password" class="form-control" [ngClass]="{ 'is-invalid': submitted && f['password'].errors }" />
  15. <div *ngIf="submitted && f['password'].errors" class="invalid-feedback">
  16. <div *ngIf="f['password'].hasError('required')">Password is required</div>
  17. </div>
  18. </div>
  19. <div>
  20. <button [disabled]="loading" class="btn btn-primary">
  21. <span *ngIf="loading" class="spinner-border spinner-border-sm me-1"></span>
  22. Login
  23. </button>
  24. <a routerLink="../register" class="btn btn-link">Register</a>
  25. </div>
  26. </form>
  27. </div>
  28. </div>