Continuing work on login view, still a ways off from completion.
This commit is contained in:
@@ -14,6 +14,11 @@
|
||||
src: url('../fonts/Avenir-Medium.ttf');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Ringbearer';
|
||||
src: url('../fonts/Ringbearer.ttf');
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* *
|
||||
* Element Styles *
|
||||
@@ -130,6 +135,7 @@ p {
|
||||
|
||||
/* Main login container. */
|
||||
#loginContainer {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -191,6 +197,20 @@ p {
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
/* Div to display any login errors. */
|
||||
#loginError {
|
||||
font-family: 'Avenir Book';
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
background: #9b1313;
|
||||
border: 0.5px solid white;
|
||||
padding: 2px 0px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
margin: 8px 0px;
|
||||
}
|
||||
|
||||
/* SVG icons on the login view. */
|
||||
.loginSVG {
|
||||
fill: #fff;
|
||||
@@ -205,7 +225,7 @@ p {
|
||||
border-width: 1.5px 0px 0px 0px;
|
||||
border-style: solid;
|
||||
width: 250px;
|
||||
margin-bottom: 20px;
|
||||
/*margin-bottom: 20px;*/
|
||||
border-color: #fff;
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
font-weight: bold;
|
||||
@@ -234,6 +254,16 @@ p {
|
||||
margin-bottom: 13px;
|
||||
}
|
||||
|
||||
.loginErrorSpan {
|
||||
font-family: 'Avenir Medium';
|
||||
font-weight: bold;
|
||||
font-size: 8px;
|
||||
color: red;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
/* Container which contains the forgot and remember options. */
|
||||
#loginOptions {
|
||||
display: flex;
|
||||
@@ -262,6 +292,10 @@ p {
|
||||
right: -20px;
|
||||
transition: 0.5s ease;
|
||||
}
|
||||
#loginButton:disabled {
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
pointer-events: none;
|
||||
}
|
||||
#loginButton:hover,
|
||||
#loginButton:focus {
|
||||
text-shadow: 0px 0px 20px #fff;
|
||||
@@ -296,6 +330,112 @@ p {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#loginButton .circle-loader,
|
||||
#loginButton:disabled #loginSVG {
|
||||
display: none;
|
||||
}
|
||||
#loginButton:disabled .circle-loader,
|
||||
#loginButton #loginSVG {
|
||||
display: initial;
|
||||
}
|
||||
|
||||
|
||||
.circle-loader {
|
||||
margin-left: 20px;
|
||||
border: 2px solid rgba(255, 255, 255, 0.5);
|
||||
border-left-color: #ffffff;
|
||||
animation-name: loader-spin;
|
||||
animation-duration: 1s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: linear;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
border-radius: 50%;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
.load-complete {
|
||||
animation: none;
|
||||
border-color: #ffffff;
|
||||
transition: border 500ms ease-out;
|
||||
}
|
||||
.checkmark {
|
||||
display: none;
|
||||
}
|
||||
.checkmark.draw:after {
|
||||
animation-duration: 800ms;
|
||||
animation-timing-function: ease;
|
||||
animation-name: checkmark;
|
||||
transform: scaleX(-1) rotate(135deg);
|
||||
}
|
||||
.checkmark:after {
|
||||
opacity: 1;
|
||||
height: 8px;
|
||||
width: 4px;
|
||||
transform-origin: left top;
|
||||
border-right: 2px solid #ffffff;
|
||||
border-top: 2px solid #ffffff;
|
||||
content: '';
|
||||
left: 2px;
|
||||
top: 8px;
|
||||
position: absolute;
|
||||
}
|
||||
@keyframes loader-spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@keyframes checkmark {
|
||||
0% {
|
||||
height: 0;
|
||||
width: 0;
|
||||
opacity: 1;
|
||||
}
|
||||
20% {
|
||||
height: 0;
|
||||
width: 4px;
|
||||
opacity: 1;
|
||||
}
|
||||
40% {
|
||||
height: 8px;
|
||||
width: 4px;
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
height: 8px;
|
||||
width: 4px;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*.spinningCircle {
|
||||
margin-left: 20px;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
border-radius: 50%;
|
||||
border: 2px solid rgba(255,255,255,0);
|
||||
border-top-color: #ffffff;
|
||||
border-right-color: #ffffff;
|
||||
border-left-color: rgba(255, 255, 255, 0.50);
|
||||
border-bottom-color: rgba(255, 255, 255, 0.50);
|
||||
animation: single2 4s infinite linear;
|
||||
}
|
||||
|
||||
@keyframes single2 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(720deg);
|
||||
}
|
||||
}*/
|
||||
|
||||
/* Disclaimer container. */
|
||||
#loginDisclaimer {
|
||||
display: flex;
|
||||
@@ -361,6 +501,9 @@ p {
|
||||
color: #8d8d8d;
|
||||
border-color: #8d8d8d;
|
||||
}
|
||||
#checkmarkContainer[disabled] {
|
||||
pointer-events: none;
|
||||
}
|
||||
/* For checked -> #checkmarkContainer input:checked ~ * */
|
||||
/* Create the checkmark/indicator (hidden when not checked). */
|
||||
.loginCheckmark:after {
|
||||
@@ -383,6 +526,129 @@ p {
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
/* * *
|
||||
* Login View | Error Overlay
|
||||
* * */
|
||||
|
||||
#loginErrorContainer {
|
||||
position: absolute;
|
||||
display: none;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.50);
|
||||
}
|
||||
|
||||
#loginContainer[error] > #loginErrorContainer {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
#loginContainer[error] > div:not(#loginErrorContainer) {
|
||||
filter: blur(3px) contrast(0.9) brightness(1.0);
|
||||
}
|
||||
|
||||
#loginErrorContent {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 300px;
|
||||
height: 35%;
|
||||
box-sizing: border-box;
|
||||
padding: 15px 0px;
|
||||
/* background-color: #424242; */
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#loginErrorTitle {
|
||||
font-family: 'Avenir Medium';
|
||||
font-size: 20px;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
#loginErrorDesc {
|
||||
font-family: 'Avenir Book';
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#loginErrorAcknowledge {
|
||||
background: none;
|
||||
border: 1px solid #ffffff;
|
||||
color: white;
|
||||
font-family: 'Avenir Medium';
|
||||
font-weight: bold;
|
||||
border-radius: 2px;
|
||||
width: 75px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* * *
|
||||
* Login View | Loader
|
||||
* * */
|
||||
/* Will reuse this elsewhere down the line.
|
||||
#loginLoading {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.80);
|
||||
}
|
||||
|
||||
#loginLoadingContent {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#loadSpinnerContainer {
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#loadCenterImage {
|
||||
position: absolute;
|
||||
width: 200px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#loadSpinnerImage {
|
||||
width: 280px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
#loadDescText {
|
||||
color: #f1eada;
|
||||
font-family: 'Avenir Medium';
|
||||
font-weight: bold;
|
||||
letter-spacing: 1px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
@keyframes rotating {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
.rotating {
|
||||
animation: rotating 10s linear infinite;
|
||||
}*/
|
||||
|
||||
/*
|
||||
#login_filter {
|
||||
height: calc(100% - 22px);
|
||||
|
||||
Reference in New Issue
Block a user