<div *ngIf="isLoginActive">
- <h1 i18n="The welcome message on the login page">Welcome to Ceph!</h1>
<form name="loginForm"
(ngSubmit)="login()"
#loginForm="ngForm"
novalidate>
<!-- Username -->
- <div class="form-group has-feedback">
- <input name="username"
+ <div class="form-group has-feedback d-flex flex-column py-3">
+ <label class="placeholder pl-4"
+ for="username"
+ i18n>Username</label>
+ <input id="username"
+ name="username"
[(ngModel)]="model.username"
#username="ngModel"
type="text"
- placeholder="Enter your username..."
- class="form-control"
+ [attr.aria-invalid]="username.invalid"
+ aria-labelledby="username"
+ class="form-control pl-4"
required
autofocus>
- <div class="invalid-feedback"
+ <div class="invalid-feedback pl-4"
*ngIf="(loginForm.submitted || username.dirty) && username.invalid"
i18n>Username is required</div>
</div>
<!-- Password -->
- <div class="form-group has-feedback">
- <div class="input-group">
- <input id="password"
- name="password"
- [(ngModel)]="model.password"
- #password="ngModel"
- type="password"
- placeholder="Enter your password..."
- class="form-control"
- required>
- <span class="input-group-append">
+ <div class="form-group has-feedback"
+ id="password-div">
+ <div class="input-group d-flex flex-nowrap">
+ <div class="d-flex flex-column flex-grow-1 py-3">
+ <label class="placeholder pl-4"
+ for="password"
+ i18n>Password</label>
+ <input id="password"
+ name="password"
+ [(ngModel)]="model.password"
+ #password="ngModel"
+ type="password"
+ [attr.aria-invalid]="password.invalid"
+ aria-labelledby="password"
+ class="form-control pl-4"
+ required>
+ <div class="invalid-feedback pl-4"
+ *ngIf="(loginForm.submitted || password.dirty) && password.invalid"
+ i18n>Password is required</div>
+ </div>
+ <span class="form-group-append">
<button type="button"
- class="btn btn-outline-light btn-password"
+ class="btn btn-outline-light btn-password h-100 px-4"
cdPasswordButton="password">
</button>
</span>
</div>
- <div class="invalid-feedback"
- *ngIf="(loginForm.submitted || password.dirty) && password.invalid"
- i18n>Password is required</div>
</div>
<input type="submit"
- class="btn btn-secondary btn-block"
+ class="btn btn-secondary px-5 py-2"
[disabled]="loginForm.invalid"
value="Login"
i18n-value>
margin: 0 0 30px 0;
}
+ .form-group {
+ border-left: 4px solid white;
+ background-color: $color-password-toggle-bg;
+ height: auto;
+ margin-bottom: 2rem;
+
+ &:focus-within {
+ border-left: 4px solid $color-accent;
+ }
+
+ .invalid-feedback {
+ display: inline;
+ }
+ }
+
.btn-password,
.btn-password:focus,
.form-control,
.form-control:focus {
+ border: none;
+ outline: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
color: $color-password-toggle-text;
background-color: $color-password-toggle-bg;
}
- .form-control::placeholder {
+ .placeholder {
color: $color-password-toggle-placeholder-text;
}
-<div class="login full-height">
+<main class="login full-height">
<header>
<nav class="navbar">
<a class="navbar-brand"></a>
<section>
<div class="container">
<div class="row full-height vertical-align">
- <div class="col-sm-6 d-none d-sm-block">
- <img src="assets/Ceph_Logo_Stacked_RGB_White_120411_fa_256x256.png"
+ <div class="col-sm-12 col-md-6 d-sm-block">
+ <img src="assets/Ceph_Logo_Standard_RGB_White_120411_fa.png"
alt="Ceph"
- class="float-right img-fluid">
- </div>
- <div class="col-12 col-sm-6 col-xl-5">
+ class="img-fluid mb-5">
<router-outlet></router-outlet>
</div>
</div>
</div>
</section>
-</div>
+</main>
$color-input-border-hover: #adadad;
$color-brand-teal: #2b99a8 !default;
$color-brand-gray: #374249 !default;
+$color-mirage-gray: #333e46 !default;
$color-primary: $color-brand-teal !default;
$color-secondary: $color-brand-gray !default;
$color-login-row-bg: $color-secondary !default;
$color-password-toggle-text: $color-solid-white !default;
$color-password-toggle-placeholder-text: $color-blue-gray !default;
-$color-password-toggle-bg: $color-solid-gray !default;
+$color-password-toggle-bg: $color-mirage-gray !default;
$color-password-toggle-focus: $color-primary !default;
// $color-login-active-row-bg: $color-light-yellow !default;
// $color-login-active-row-text: $color-black !default;