Improved layout of login and registration pages

This commit is contained in:
Giulio Cesare Solaroli 2015-09-11 18:49:33 +02:00
parent 94661db83d
commit df354f1f69
8 changed files with 705 additions and 792 deletions

View File

@ -1329,17 +1329,107 @@ div.help {
z-index: 10; z-index: 10;
background-color: transparent; } background-color: transparent; }
/* #loginPage, #registrationPage {
// Firefox considers 100% respect to height of the whole window, this is rule is necessary to eliminate the card toolbar offset. overflow: auto;
@-moz-document url-prefix() { -webkit-overflow-scrolling: touch; }
@include fixHeighHack ($mainCardToolbarHeight, $cardListPadding) #loginPage .content, #registrationPage .content {
} display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
height: 100%; }
#loginPage .content .miscInfo, #registrationPage .content .miscInfo {
-webkit-box-flex: 0;
-webkit-flex: 0;
-moz-box-flex: 0;
-moz-flex: 0;
-ms-flex: 0;
flex: 0; }
#loginPage .content header, #registrationPage .content header {
-webkit-box-flex: auto;
-webkit-flex: auto;
-moz-box-flex: auto;
-moz-flex: auto;
-ms-flex: auto;
flex: auto;
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-ms-flex-align: end;
-webkit-align-items: flex-end;
-moz-align-items: flex-end;
align-items: flex-end; }
#loginPage .content header .headerContent, #registrationPage .content header .headerContent {
width: 100%; }
#loginPage .content .body, #registrationPage .content .body {
-webkit-box-flex: auto;
-webkit-flex: auto;
-moz-box-flex: auto;
-moz-flex: auto;
-ms-flex: auto;
flex: auto;
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center; }
#loginPage .content .body .bodyContent, #registrationPage .content .body .bodyContent {
margin-left: auto;
margin-right: auto; }
#loginPage .content .other, #registrationPage .content .other {
-webkit-box-flex: auto;
-webkit-flex: auto;
-moz-box-flex: auto;
-moz-flex: auto;
-ms-flex: auto;
flex: auto;
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center; }
#loginPage .content .other .otherContent, #registrationPage .content .other .otherContent {
width: 100%; }
#loginPage .content footer, #registrationPage .content footer {
-webkit-box-flex: auto;
-webkit-flex: auto;
-moz-box-flex: auto;
-moz-flex: auto;
-ms-flex: auto;
flex: auto;
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: end;
-ms-flex-align: end;
-webkit-align-items: flex-end;
-moz-align-items: flex-end;
align-items: flex-end; }
#loginPage .content footer .footerContent, #registrationPage .content footer .footerContent {
width: 100%; }
// Chrome fix (without messing with Safari)
@supports (-webkit-appearance:none) and (R:0) {
@include fixHeighHack ($mainCardToolbarHeight, $cardListPadding)
}
*/
.tagEditor { .tagEditor {
display: -webkit-box; display: -webkit-box;
display: -webkit-flex; display: -webkit-flex;
@ -1444,371 +1534,226 @@ div.help {
color: white; color: white;
margin: 0px; } margin: 0px; }
#loginPage { #loginPage .content {
overflow: auto; background-color: #ff9900; }
-webkit-overflow-scrolling: touch; } #loginPage .content .body {
#loginPage div.loginForm {
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
-webkit-align-items: stretch;
-moz-align-items: stretch;
align-items: stretch;
height: 100%;
text-align: center;
background-color: #ff9900; } background-color: #ff9900; }
#loginPage div.loginForm header { #loginPage .content .other {
-webkit-box-flex: 1; color: white;
-webkit-flex: 1; background-color: black; }
-moz-box-flex: 1; #loginPage .content .other a:before {
-moz-flex: 1; content: "> "; }
-ms-flex: 1; #loginPage .content footer {
flex: 1; color: white;
font-size: 48pt; background-color: black; }
line-height: 90pt;
color: white; } #registrationPage .content {
#loginPage div.loginForm header h3 { background-color: black; }
font-weight: bold; #registrationPage .content .body {
font-size: 38pt; background-color: black; }
line-height: 1.7em; } #registrationPage .content .other {
#loginPage div.loginForm header h5 { color: black;
font-size: 16pt; background-color: #ff9900; }
line-height: 1.0em; } #registrationPage .content .other a:before {
#loginPage div.loginForm div.form { content: "< "; }
-webkit-box-flex: 4; #registrationPage .content footer {
-webkit-flex: 4; color: black;
-moz-box-flex: 4; background-color: #ff9900; }
-moz-flex: 4;
-ms-flex: 4; #loginPage .content, #registrationPage .content {
flex: 4; } text-align: center;
#loginPage div.loginForm div.form form { /*
position: relative; &.extra-short {
background: white; header {
padding: 20px; font-size: 18pt;
margin-bottom: 50px; }
max-width: 400px;
margin-left: auto; div.form {
margin-right: auto; form {
/* padding: 10px;
&:after { margin-bottom: 20px;
content: "";
position: absolute; input {
top: -15px; padding: 3px;
margin-left: 50%; margin-top: 3px;
left: -15px; margin-bottom: 5px;
border-style: solid; font-size: 16pt;
border-width: 0 15px 15px; }
border-color: $main-alternate-text-color transparent;
display: block; button {
width: 0; min-height: 20px;
z-index: 1;
} font-size: 12pt;
*/ } padding: 3px 10px;
#loginPage div.loginForm div.form form label { border: 1px solid white;
}
}
}
footer {
font-size: 14pt;
}
}
*/ }
#loginPage .content header, #registrationPage .content header {
max-height: 15%;
min-height: 70px;
padding: 10px;
color: white; }
#loginPage .content header h3, #registrationPage .content header h3 {
font-weight: bold;
font-size: 38pt; }
#loginPage .content header h5, #registrationPage .content header h5 {
font-size: 16pt; }
#loginPage .content .body form, #registrationPage .content .body form {
position: relative;
background: white;
padding: 20px;
max-width: 400px;
margin-left: auto;
margin-right: auto; }
#loginPage .content .body form label, #registrationPage .content .body form label {
display: none; }
#loginPage .content .body form input, #registrationPage .content .body form input {
font-family: "clipperz-font";
display: block;
padding: 5px;
margin-top: 5px;
margin-bottom: 10px;
font-size: 100%;
font-size: 24pt;
width: 100%;
border: 1px solid #ccc;
border-radius: 0px; }
#loginPage .content .body form .steps, #registrationPage .content .body form .steps {
text-align: center; }
#loginPage .content .body form .steps .step, #registrationPage .content .body form .steps .step {
display: none; }
#loginPage .content .body form .steps .step.center, #registrationPage .content .body form .steps .step.center {
display: block; }
#loginPage .content .body form .steps .step h1, #registrationPage .content .body form .steps .step h1 {
color: #268bd2;
font-size: 24pt;
font-weight: 700;
margin: 0px;
padding-top: 15px; }
#loginPage .content .body form .steps .step p, #registrationPage .content .body form .steps .step p {
color: #657b83;
font-size: 14pt;
font-weight: 100;
margin: 0px;
padding: 5px 0px; }
#loginPage .content .body form .steps .step label, #registrationPage .content .body form .steps .step label {
display: none; } display: none; }
#loginPage div.loginForm div.form form input { #loginPage .content .body form .steps .step input, #registrationPage .content .body form .steps .step input {
font-family: "clipperz-font"; font-family: "clipperz-font";
display: block; display: block;
padding: 5px; padding: 5px;
margin-top: 5px;
margin-bottom: 10px; margin-bottom: 10px;
font-size: 100%; font-size: 100%;
font-size: 24pt; font-size: 24pt;
width: 100%; width: 100%; }
border: 1px solid #ccc; #loginPage .content .body form .steps .step.TERMS_OF_SERVICE .checkboxBlock input, #registrationPage .content .body form .steps .step.TERMS_OF_SERVICE .checkboxBlock input {
border-radius: 0px; } display: block;
#loginPage div.loginForm div.form form button { float: left;
font-family: "clipperz-font"; margin-top: 10px;
min-height: 48px; width: 30px; }
min-width: 48px; #loginPage .content .body form .steps .step.TERMS_OF_SERVICE .checkboxBlock p, #registrationPage .content .body form .steps .step.TERMS_OF_SERVICE .checkboxBlock p {
color: white; font-size: 12pt;
font-size: 24pt;
font-weight: 500; font-weight: 500;
border: 0px; display: block;
padding: 10px 25px; text-align: left;
border: 1px solid white; margin-left: 50px;
background-color: #ff9900; line-height: 1.5em; }
-webkit-transition: background-color font-weight 0.2s linear; #loginPage .content .body form .steps .step.TERMS_OF_SERVICE .checkboxBlock p a, #registrationPage .content .body form .steps .step.TERMS_OF_SERVICE .checkboxBlock p a {
-moz-transition: background-color font-weight 0.2s linear; color: #dc322f; }
-o-transition: background-color font-weight 0.2s linear; #loginPage .content .body form .steps .step.TERMS_OF_SERVICE .stepIndex, #registrationPage .content .body form .steps .step.TERMS_OF_SERVICE .stepIndex {
-ms-transition: background-color font-weight 0.2s linear; margin-top: 10px; }
transition: background-color font-weight 0.2s linear; } #loginPage .content .body form .steps .step .stepBody, #registrationPage .content .body form .steps .step .stepBody {
#loginPage div.loginForm div.form form button:disabled { min-height: 140px; }
font-weight: 100; #loginPage .content .body form .steps .step .stepIndex, #registrationPage .content .body form .steps .step .stepIndex {
background-color: #c0c0c0; text-align: center; }
cursor: default; } #loginPage .content .body form .steps .step .stepIndex .stepIndexItem, #registrationPage .content .body form .steps .step .stepIndex .stepIndexItem {
#loginPage div.loginForm div.links ul li { font-weight: 900;
display: inline-block; } font-size: 28pt;
#loginPage div.loginForm footer { display: inline;
-webkit-box-flex: 1; color: lightgrey; }
-webkit-flex: 1; #loginPage .content .body form .steps .step .stepIndex .stepIndexItem.center, #registrationPage .content .body form .steps .step .stepIndex .stepIndexItem.center {
-moz-box-flex: 1; color: gray; }
-moz-flex: 1; #loginPage .content .body form .steps .step .buttons, #registrationPage .content .body form .steps .step .buttons {
-ms-flex: 1;
flex: 1;
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
-webkit-align-items: stretch;
-moz-align-items: stretch;
align-items: stretch;
color: white;
background-color: black;
font-size: 24pt;
cursor: default; }
#loginPage div.loginForm footer a.registrationLink {
cursor: pointer;
-webkit-box-flex: auto;
-webkit-flex: auto;
-moz-box-flex: auto;
-moz-flex: auto;
-ms-flex: auto;
flex: auto;
line-height: 50pt; }
#loginPage div.loginForm footer a.registrationLink:before {
content: "> "; }
#loginPage div.loginForm footer .applicationVersion {
-webkit-box-flex: 1;
-webkit-flex: 1;
-moz-box-flex: 1;
-moz-flex: 1;
-ms-flex: 1;
flex: 1;
font-size: 8pt; }
#loginPage div.loginForm footer .applicationVersion span {
color: #999999; }
#loginPage div.loginForm footer .applicationVersion span:after {
content: ":"; }
#loginPage div.loginForm footer .applicationVersion a {
color: #999999;
text-decoration: none;
padding-left: 5px;
font-weight: bold; }
#loginPage div.loginForm.narrow header {
font-size: 30pt;
line-height: 70px; }
#loginPage div.loginForm.narrow footer {
/* max-height: 25px; */
line-height: 20pt; }
#loginPage div.loginForm.extra-short header {
font-size: 18pt; }
#loginPage div.loginForm.extra-short div.form form {
padding: 10px;
margin-bottom: 20px; }
#loginPage div.loginForm.extra-short div.form form input {
padding: 3px;
margin-top: 3px;
margin-bottom: 5px;
font-size: 16pt; }
#loginPage div.loginForm.extra-short div.form form button {
min-height: 20px;
font-size: 12pt;
padding: 3px 10px;
border: 1px solid white; }
#loginPage div.loginForm.extra-short footer {
font-size: 14pt; }
.links ul {
margin-bottom: 1em; }
.links ul li {
color: white;
cursor: pointer; }
.links ul li:after {
content: '-';
padding-left: 4px;
padding-right: 4px; }
.links ul li:last-child:after {
content: '';
padding-left: 0px;
padding-right: 0px; }
#registrationPage {
background-color: black;
color: white; }
#registrationPage .registrationForm {
display: -webkit-box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: stretch;
-ms-flex-align: stretch;
-webkit-align-items: stretch;
-moz-align-items: stretch;
align-items: stretch;
height: 100%;
text-align: center;
background-color: black; }
#registrationPage .registrationForm header {
-webkit-box-flex: 1;
-webkit-flex: 1;
-moz-box-flex: 1;
-moz-flex: 1;
-ms-flex: 1;
flex: 1;
font-size: 48pt;
line-height: 90pt;
color: white; }
#registrationPage .registrationForm header h3 {
font-weight: bold;
font-size: 38pt;
line-height: 1.7em; }
#registrationPage .registrationForm header h5 {
font-size: 16pt;
line-height: 1.0em; }
#registrationPage .registrationForm div.form {
-webkit-box-flex: 4;
-webkit-flex: 4;
-moz-box-flex: 4;
-moz-flex: 4;
-ms-flex: 4;
flex: 4; }
#registrationPage .registrationForm div.form form {
background: white;
padding: 20px;
margin-bottom: 50px;
max-width: 400px;
margin-left: auto;
margin-right: auto; }
#registrationPage .registrationForm div.form form .steps {
text-align: center; text-align: center;
margin-left: auto; margin-top: 10px; }
margin-right: auto; #loginPage .content .body form .steps .step .buttons .button, #registrationPage .content .body form .steps .step .buttons .button {
width: 400px; } margin: 10px;
#registrationPage .registrationForm div.form form .steps .step { text-align: center;
display: none; } vertical-align: middle;
#registrationPage .registrationForm div.form form .steps .step.center { display: inline-block;
display: block; } width: 80px;
#registrationPage .registrationForm div.form form .steps .step h1 { font-weight: 900;
color: #268bd2; line-height: 45px;
font-size: 24pt; font-size: 24px; }
font-weight: 700; #loginPage .content .body form .steps .step .buttons .button.back, #registrationPage .content .body form .steps .step .buttons .button.back {
margin: 0px; background-color: lightgrey; }
padding-top: 15px; } #loginPage .content .body form .steps .step .buttons .button.back.step_-1, #registrationPage .content .body form .steps .step .buttons .button.back.step_-1 {
#registrationPage .registrationForm div.form form .steps .step p { visibility: hidden; }
color: #657b83; #loginPage .content .body form .steps .step .buttons .button.disabled, #registrationPage .content .body form .steps .step .buttons .button.disabled {
font-size: 14pt; background-color: #c0c0c0;
font-weight: 100; cursor: default; }
margin: 0px; #loginPage .content .body form .steps .step .buttons .button.enabled, #registrationPage .content .body form .steps .step .buttons .button.enabled {
padding: 5px 0px; } background-color: #ff9900; }
#registrationPage .registrationForm div.form form .steps .step label { #loginPage .content .body form button, #registrationPage .content .body form button {
display: none; } font-family: "clipperz-font";
#registrationPage .registrationForm div.form form .steps .step input { min-height: 48px;
font-family: "clipperz-font"; min-width: 48px;
display: block; color: white;
padding: 5px; font-size: 24pt;
margin-bottom: 10px; font-weight: 500;
font-size: 100%; border: 0px;
font-size: 24pt; padding: 10px 25px;
width: 100%; } border: 1px solid white;
#registrationPage .registrationForm div.form form .steps .step.TERMS_OF_SERVICE .checkboxBlock input {
display: block;
float: left;
margin-top: 10px;
width: 30px; }
#registrationPage .registrationForm div.form form .steps .step.TERMS_OF_SERVICE .checkboxBlock p {
font-size: 12pt;
font-weight: 500;
display: block;
text-align: left;
margin-left: 50px;
line-height: 1.5em; }
#registrationPage .registrationForm div.form form .steps .step.TERMS_OF_SERVICE .checkboxBlock p a {
color: #dc322f; }
#registrationPage .registrationForm div.form form .steps .step.TERMS_OF_SERVICE .stepIndex {
margin-top: 10px; }
#registrationPage .registrationForm div.form form .steps .step .stepBody {
min-height: 140px; }
#registrationPage .registrationForm div.form form .steps .step .stepIndex {
text-align: center; }
#registrationPage .registrationForm div.form form .steps .step .stepIndex .stepIndexItem {
font-weight: 900;
font-size: 28pt;
display: inline;
color: lightgrey; }
#registrationPage .registrationForm div.form form .steps .step .stepIndex .stepIndexItem.center {
color: gray; }
#registrationPage .registrationForm div.form form .steps .step .buttons {
text-align: center;
margin-top: 10px; }
#registrationPage .registrationForm div.form form .steps .step .buttons .button {
margin: 10px;
text-align: center;
vertical-align: middle;
display: inline-block;
width: 80px;
font-weight: 900;
line-height: 45px;
font-size: 24px; }
#registrationPage .registrationForm div.form form .steps .step .buttons .button.back {
background-color: lightgrey; }
#registrationPage .registrationForm div.form form .steps .step .buttons .button.back.step_-1 {
visibility: hidden; }
#registrationPage .registrationForm div.form form .steps .step .buttons .button.disabled {
background-color: #c0c0c0;
cursor: default; }
#registrationPage .registrationForm div.form form .steps .step .buttons .button.enabled {
background-color: #ff9900; }
#registrationPage .registrationForm div.links ul li {
display: inline-block; }
#registrationPage .registrationForm footer {
-webkit-box-flex: 1;
-webkit-flex: 1;
-moz-box-flex: 1;
-moz-flex: 1;
-ms-flex: 1;
flex: 1;
color: black;
background-color: #ff9900; background-color: #ff9900;
cursor: pointer; -webkit-transition: background-color font-weight 0.2s linear;
font-size: 24pt; } -moz-transition: background-color font-weight 0.2s linear;
#registrationPage .registrationForm footer:before { -o-transition: background-color font-weight 0.2s linear;
content: "< "; } -ms-transition: background-color font-weight 0.2s linear;
#registrationPage .registrationForm footer a { transition: background-color font-weight 0.2s linear; }
line-height: 50pt; } #loginPage .content .body form button:disabled, #registrationPage .content .body form button:disabled {
#registrationPage .registrationForm footer .applicationVersion { font-weight: 100;
-webkit-box-flex: 1; background-color: #c0c0c0;
-webkit-flex: 1; cursor: default; }
-moz-box-flex: 1; #loginPage .content .other, #registrationPage .content .other {
-moz-flex: 1; font-size: 24pt;
-ms-flex: 1; padding: 20px;
flex: 1; max-height: 20%; }
font-size: 8pt; } #loginPage .content .other a, #registrationPage .content .other a {
#registrationPage .registrationForm footer .applicationVersion span { cursor: pointer; }
color: black; } #loginPage .content footer, #registrationPage .content footer {
#registrationPage .registrationForm footer .applicationVersion span:after { max-height: 50px; }
content: ":"; } #loginPage .content footer .links ul, #registrationPage .content footer .links ul {
#registrationPage .registrationForm footer .applicationVersion a { padding: 3px;
color: black; padding-bottom: 6px; }
text-decoration: none; #loginPage .content footer .links ul li, #registrationPage .content footer .links ul li {
padding-left: 5px; display: inline-block;
font-weight: bold; } cursor: pointer; }
#loginPage .content footer .links ul li:after, #registrationPage .content footer .links ul li:after {
content: '-';
padding-left: 4px;
padding-right: 4px;
cursor: default; }
#loginPage .content footer .links ul li:last-child:after, #registrationPage .content footer .links ul li:last-child:after {
content: '';
padding-left: 0px;
padding-right: 0px; }
#loginPage .content footer .applicationVersion, #registrationPage .content footer .applicationVersion {
padding: 2px;
font-size: 8pt; }
#loginPage .content footer .applicationVersion span:after, #registrationPage .content footer .applicationVersion span:after {
content: ":"; }
#loginPage .content footer .applicationVersion a, #registrationPage .content footer .applicationVersion a {
color: inherit;
text-decoration: none;
padding-left: 5px;
font-weight: bold; }
#selections { #selections {
background-color: black; background-color: black;

File diff suppressed because one or more lines are too long

View File

@ -167,28 +167,39 @@ Clipperz.PM.UI.Components.Pages.LoginPageClass = React.createClass({
// React.DOM.a({'key':'signup', 'onClick':this.handleRegistrationLinkClick}, "Sign up") // React.DOM.a({'key':'signup', 'onClick':this.handleRegistrationLinkClick}, "Sign up")
// ]); // ]);
var registrationLink = React.DOM.a({'key':'signup', 'className':'registrationLink', 'onClick':this.handleRegistrationLinkClick}, "Sign up"); var registrationLink = React.DOM.div({'className':'other', 'key':'other'}, [
return React.DOM.div({'key':'loginForm', 'className':'loginForm ' + this.props['style']}, [ React.DOM.div({'className':'otherContent'}, [
React.DOM.a({'key':'signup', 'className':'registrationLink', 'onClick':this.handleRegistrationLinkClick}, "Sign up")
])
]);
return React.DOM.div({'key':'loginForm', 'className':'loginForm content ' + this.props['style']}, [
Clipperz.PM.UI.Components.AccountStatus(MochiKit.Base.update(this.props['proxyInfo'])), Clipperz.PM.UI.Components.AccountStatus(MochiKit.Base.update(this.props['proxyInfo'])),
React.DOM.header({'key':'header'}, [ React.DOM.header({'key':'header'}, [
React.DOM.h3({}, 'clipperz'), React.DOM.div({'className':'headerContent'}, [
React.DOM.h5({}, 'keep it to yourself'), React.DOM.h3({}, 'clipperz'),
React.DOM.h5({}, 'keep it to yourself'),
]),
]), ]),
React.DOM.div({'key':'formWrapper', 'className':'form'}, [ React.DOM.div({'key':'formWrapper', 'className':'form body'}, [
this.props.mode == 'PIN' ? this.pinForm() : this.loginForm(), React.DOM.div({'className':'bodyContent'}, [
]), this.props.mode == 'PIN' ? this.pinForm() : this.loginForm(),
React.DOM.div({'key':'links', 'className':'links'}, [ ]),
React.DOM.ul({}, [
React.DOM.li({'key':'about', 'onClick':this.showUrl('/about/')}, "About"),
React.DOM.li({'key':'terms', 'onClick':this.showUrl('/terms_service/')}, "Terms of service"),
React.DOM.li({'key':'privacy', 'onClick':this.showUrl('/privacy_policy/')}, "Privacy"),
])
]), ]),
this.props['isNewUserRegistrationAvailable'] ? registrationLink : null,
React.DOM.footer({'key':'footer'}, [ React.DOM.footer({'key':'footer'}, [
this.props['isNewUserRegistrationAvailable'] ? registrationLink : null, React.DOM.div({'className':'footerContent'}, [
React.DOM.div({'key':'applicationVersion', 'className':'applicationVersion'}, [ React.DOM.div({'key':'links', 'className':'links'}, [
React.DOM.span({'key':'applicationVersionLabel'}, "application version"), React.DOM.ul({}, [
React.DOM.a({'key':'applicationVersionLink', 'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version) React.DOM.li({'key':'about', 'onClick':this.showUrl('/about/')}, "About"),
React.DOM.li({'key':'terms', 'onClick':this.showUrl('/terms_service/')}, "Terms of service"),
React.DOM.li({'key':'privacy', 'onClick':this.showUrl('/privacy_policy/')}, "Privacy"),
])
]),
React.DOM.div({'key':'applicationVersion', 'className':'applicationVersion'}, [
React.DOM.span({'key':'applicationVersionLabel'}, "application version"),
React.DOM.a({'key':'applicationVersionLink', 'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version)
])
]) ])
]) ])
// this.props['isNewUserRegistrationAvailable'] ? registrationLink : null // this.props['isNewUserRegistrationAvailable'] ? registrationLink : null

View File

@ -221,28 +221,39 @@ Clipperz.PM.UI.Components.Pages.RegistrationPageClass = React.createClass({
}, },
render: function () { render: function () {
return React.DOM.div({'className':'registrationForm'},[ return React.DOM.div({'className':'registrationForm content'},[
Clipperz.PM.UI.Components.AccountStatus(MochiKit.Base.update(this.props['proxyInfo'])),
React.DOM.header({'key':'header'}, [ React.DOM.header({'key':'header'}, [
React.DOM.h3({}, 'clipperz'), React.DOM.div({'className':'headerContent'}, [
React.DOM.h5({}, 'keep it to yourself'), React.DOM.h3({}, 'clipperz'),
]), React.DOM.h5({}, 'keep it to yourself'),
React.DOM.div({'key':'body', 'className':'form'}, [
React.DOM.form({'key':'registrationForm', 'autoComplete':'off', 'onChange': this.handleChange}, [
React.DOM.div({'key':'steps', 'className':'steps'}, MochiKit.Base.map(this.renderStep, this.props['steps']))
]) ])
]), ]),
React.DOM.div({'key':'links', 'className':'links'}, [ React.DOM.div({'key':'body', 'className':'form body'}, [
React.DOM.ul({}, [ React.DOM.div({'className':'bodyContent'}, [
React.DOM.li({'key':'about', 'onClick':this.showUrl('/about/')}, "About"), React.DOM.form({'key':'registrationForm', 'autoComplete':'off', 'onChange': this.handleChange}, [
React.DOM.li({'key':'terms', 'onClick':this.showUrl('/terms_service/')}, "Terms of service"), React.DOM.div({'key':'steps', 'className':'steps'}, MochiKit.Base.map(this.renderStep, this.props['steps']))
React.DOM.li({'key':'privacy', 'onClick':this.showUrl('/privacy_policy/')}, "Privacy"), ])
])
]),
React.DOM.div({'className':'other', 'key':'other'}, [
React.DOM.div({'className':'otherContent'}, [
React.DOM.a({'key':'login', 'onClick':this.handleLoginLinkClick}, "Login"),
]) ])
]), ]),
React.DOM.footer({'key':'footer'}, [ React.DOM.footer({'key':'footer'}, [
React.DOM.a({'key':'login', 'onClick':this.handleLoginLinkClick}, "Login"), React.DOM.div({'className':'footerContent'}, [
React.DOM.div({'key':'applicationVersion', 'className':'applicationVersion'}, [ React.DOM.div({'key':'links', 'className':'links'}, [
React.DOM.span({'key':'applicationVersionLabel'}, "application version"), React.DOM.ul({}, [
React.DOM.a({'key':'applicationVersionLink', 'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version) React.DOM.li({'key':'about', 'onClick':this.showUrl('/about/')}, "About"),
React.DOM.li({'key':'terms', 'onClick':this.showUrl('/terms_service/')}, "Terms of service"),
React.DOM.li({'key':'privacy', 'onClick':this.showUrl('/privacy_policy/')}, "Privacy"),
])
]),
React.DOM.div({'key':'applicationVersion', 'className':'applicationVersion'}, [
React.DOM.span({'key':'applicationVersionLabel'}, "application version"),
React.DOM.a({'key':'applicationVersionLink', 'href':'https://github.com/clipperz/password-manager/commit/' + Clipperz_version, 'target':'github'}, Clipperz_version)
])
]) ])
]) ])
]); ]);

View File

@ -35,7 +35,6 @@ refer to http://www.clipperz.com.
@import "style/loadingPage"; @import "style/loadingPage";
@import "style/loginPage"; @import "style/loginPage";
@import "style/registrationPage";
@import "style/selectionPanel"; @import "style/selectionPanel";
@import "style/settingsPanel"; @import "style/settingsPanel";
@import "style/accountStatus"; @import "style/accountStatus";

View File

@ -616,16 +616,71 @@ div.help {
background-color: rgba(0, 0, 0, 0); background-color: rgba(0, 0, 0, 0);
} }
//@include fixHeighHack ($mainCardToolbarHeight /*, $cardListPadding*/)
/* #loginPage, #registrationPage {
// Firefox considers 100% respect to height of the whole window, this is rule is necessary to eliminate the card toolbar offset. @include overflow-auto;
@-moz-document url-prefix() {
@include fixHeighHack ($mainCardToolbarHeight, $cardListPadding)
}
// Chrome fix (without messing with Safari) .content {
@supports (-webkit-appearance:none) and (R:0) { @include flexbox();
@include fixHeighHack ($mainCardToolbarHeight, $cardListPadding) @include flex-direction(column);
} // @include align-items(stretch);
*/
height: 100%;
.miscInfo {
@include flex(0);
// background-color: green;
}
header {
@include flex(auto);
// background-color: yellow;
@include flexbox();
@include align-items(flex-end);
.headerContent {
width: 100%;
}
}
.body {
@include flex(auto);
// background-color: green;
@include flexbox();
@include align-items(center);
.bodyContent {
margin-left: auto;
margin-right: auto;
}
}
.other {
@include flex(auto);
// background-color: yellow;
@include flexbox();
@include align-items(center);
.otherContent {
width: 100%;
}
}
footer {
@include flex(auto);
// background-color: green;
@include flexbox();
@include align-items(flex-end);
.footerContent {
width: 100%;
.links {
}
.applicationVersion {
}
}
}
}
}

View File

@ -22,67 +22,93 @@ refer to http://www.clipperz.com.
*/ */
#loginPage { #loginPage {
@include overflow-auto; .content {
div.loginForm {
@include flexbox();
@include flex-direction(column);
@include align-items(stretch);
height: 100%;
text-align: center;
background-color: $main-color; background-color: $main-color;
header { .body {
@include flex(1); background-color: $main-color;
// @include icon-font(); }
font-size: 48pt; .other {
line-height: 90pt; color: $main-alternate-text-color;
background-color: $main-alternate-color;
a {
&:before {
content: "> ";
};
}
}
footer {
color: $main-alternate-text-color;
background-color: $main-alternate-color;
}
}
}
#registrationPage {
.content {
background-color: $main-alternate-color;
.body {
background-color: $main-alternate-color;
}
.other {
color: $main-text-color;
background-color: $main-color;
a {
&:before {
content: "< ";
};
}
}
footer {
color: $main-text-color;
background-color: $main-color;
}
}
}
//==============================================================
#loginPage, #registrationPage {
.content {
text-align: center;
// background-color: $main-color;
header {
max-height: 15%;
min-height: 70px;
padding: 10px;
color: $main-alternate-text-color; color: $main-alternate-text-color;
h3 { h3 {
font-weight: bold; font-weight: bold;
font-size: 38pt; font-size: 38pt;
line-height: 1.7em;
} }
h5 { h5 {
font-size: 16pt; font-size: 16pt;
line-height: 1.0em;
} }
} }
div.form { .body {
@include flex(4);
form { form {
position: relative; position: relative;
background: $main-alternate-text-color; background: $main-alternate-text-color;
// @include border-radius(10px);
padding: 20px; padding: 20px;
margin-bottom: 50px; // margin-bottom: 50px;
max-width: 400px; max-width: 400px;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
/*
&:after {
content: "";
position: absolute;
top: -15px;
margin-left: 50%;
left: -15px;
border-style: solid;
border-width: 0 15px 15px;
border-color: $main-alternate-text-color transparent;
display: block;
width: 0;
z-index: 1;
}
*/
label { label {
display: none; display: none;
} }
@ -90,18 +116,146 @@ refer to http://www.clipperz.com.
input { input {
font-family: "clipperz-font"; font-family: "clipperz-font";
display: block; display: block;
// @include border-radius(4px);
padding: 5px; padding: 5px;
margin-top: 5px; margin-top: 5px;
margin-bottom: 10px; margin-bottom: 10px;
font-size: 100%; font-size: 100%;
// box-shadow:inset 0 0 0;
font-size: 24pt; font-size: 24pt;
width: 100%; width: 100%;
border: 1px solid #ccc; border: 1px solid #ccc;
border-radius: 0px; border-radius: 0px;
} }
.steps {
text-align: center;
// margin-left: auto;
// margin-right: auto;
.step {
display: none;
&.center {
display: block;
}
h1 {
color: $solarize-Accent-Blue;
font-size: 24pt;
font-weight: 700;
margin: 0px;
padding-top: 15px;
}
p {
color: $solarize-Content-50;
font-size: 14pt;
font-weight: 100;
margin: 0px;
padding: 5px 0px;
}
label {
display: none;
}
input {
font-family: "clipperz-font";
display: block;
padding: 5px;
// margin-top: 5px;
margin-bottom: 10px;
font-size: 100%;
font-size: 24pt;
width: 100%;
}
&.TERMS_OF_SERVICE {
.checkboxBlock {
// margin-top: 10px;
// margin-bottom: 10px;
// clear: both;
input {
display: block;
float: left;
// margin: 5px;
margin-top: 10px;
width: 30px;
}
p {
font-size: 12pt;
font-weight: 500;
display: block;
text-align: left;
margin-left: 50px;
line-height: 1.5em;
a {
color: $solarize-Accent-Red;
}
}
}
.stepIndex {
margin-top: 10px;
}
}
.stepBody {
min-height: 140px;
}
.stepIndex {
text-align: center;
.stepIndexItem {
font-weight: 900;
font-size: 28pt;
display: inline;
color: lightgrey;
&.center {
color: gray;
}
}
}
.buttons {
text-align: center;
margin-top: 10px;
.button {
margin: 10px;
text-align: center;
vertical-align: middle;
display: inline-block;
width: 80px;
font-weight: 900;
line-height: 45px;
font-size: 24px;
&.back {
background-color: lightgrey;
&.step_-1 {
visibility: hidden;
}
}
&.disabled {
background-color: #c0c0c0;
cursor: default;
}
&.enabled {
background-color: $main-color;
}
}
}
}
}
button { button {
font-family: "clipperz-font"; font-family: "clipperz-font";
min-height: 48px; min-height: 48px;
@ -133,126 +287,118 @@ refer to http://www.clipperz.com.
} }
} }
div.links { .other {
ul { font-size: 24pt;
li { padding: 20px;
display: inline-block; max-height: 20%;
}
a {
cursor: pointer;
} }
} }
footer { footer {
@include flex(1); max-height: 50px;
@include flexbox(); .links {
@include flex-direction(column); ul {
@include align-items(stretch); padding: 3px;
padding-bottom: 6px;
li {
display: inline-block;
// color: white;
cursor: pointer;
&:after {
content: '-';
padding-left: 4px;
padding-right: 4px;
cursor: default;
};
color: $main-alternate-text-color; &:last-child:after {
background-color: $main-alternate-color; content: '';
font-size: 24pt; padding-left: 0px;
cursor: default; padding-right: 0px;
}
a.registrationLink { }
cursor: pointer; }
@include flex(auto);
line-height: 50pt;
&:before {
content: "> ";
};
} }
.applicationVersion { .applicationVersion {
@include flex(1); padding: 2px;
font-size: 8pt; font-size: 8pt;
$applicationVersionColor: #999; $applicationVersionColor: #999;
span { span {
color: $applicationVersionColor; // color: $applicationVersionColor;
&:after { &:after {
content: ":"; content: ":";
}; };
} }
a { a {
color: $applicationVersionColor; // color: $applicationVersionColor;
color: inherit;
text-decoration: none; text-decoration: none;
padding-left: 5px; padding-left: 5px;
font-weight: bold; font-weight: bold;
} }
} }
} }
}
div.loginForm.narrow { //----------------------------------------------------------
header {
font-size: 30pt;
line-height: 70px;
}
footer { &.narrow {
/* max-height: 25px; */ header {
line-height: 20pt; // font-size: 30pt;
} // line-height: 70px;
} }
div.loginForm.extra-short { footer {
header { // line-height: 20pt;
// @include flex(1);
font-size: 18pt;
}
div.form {
// @include flex(6);
form {
padding: 10px;
margin-bottom: 20px;
input {
padding: 3px;
margin-top: 3px;
margin-bottom: 5px;
font-size: 16pt;
}
button {
min-height: 20px;
font-size: 12pt;
padding: 3px 10px;
border: 1px solid white;
}
} }
} }
footer { //----------------------------------------------------------
font-size: 14pt; /*
&.extra-short {
header {
font-size: 18pt;
}
div.form {
form {
padding: 10px;
margin-bottom: 20px;
input {
padding: 3px;
margin-top: 3px;
margin-bottom: 5px;
font-size: 16pt;
}
button {
min-height: 20px;
font-size: 12pt;
padding: 3px 10px;
border: 1px solid white;
}
}
}
footer {
font-size: 14pt;
}
} }
*/
} }
//==============================================================
} }
.links {
ul {
margin-bottom: 1em;
li {
color: white;
cursor: pointer;
&:after {
content: '-';
padding-left: 4px;
padding-right: 4px;
};
&:last-child:after {
content: '';
padding-left: 0px;
padding-right: 0px;
}
}
}
}

View File

@ -1,254 +0,0 @@
/*
Copyright 2008-2015 Clipperz Srl
This file is part of Clipperz, the online password manager.
For further information about its features and functionalities please
refer to http://www.clipperz.com.
* Clipperz is free software: you can redistribute it and/or modify it
under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
* Clipperz is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
* You should have received a copy of the GNU Affero General Public
License along with Clipperz. If not, see http://www.gnu.org/licenses/.
*/
#registrationPage {
background-color: $main-alternate-color;
color: $main-alternate-text-color;
.registrationForm {
@include flexbox();
@include flex-direction(column);
@include align-items(stretch);
height: 100%;
text-align: center;
background-color: $main-alternate-color;
header {
@include flex(1);
// @include icon-font();
font-size: 48pt;
line-height: 90pt;
color: $main-alternate-text-color;
h3 {
font-weight: bold;
font-size: 38pt;
line-height: 1.7em;
}
h5 {
font-size: 16pt;
line-height: 1.0em;
}
}
div.form {
@include flex(4);
form {
background: $main-alternate-text-color;
padding: 20px;
margin-bottom: 50px;
max-width: 400px;
margin-left: auto;
margin-right: auto;
.steps {
text-align: center;
margin-left: auto;
margin-right: auto;
width: 400px;
.step {
display: none;
&.center {
display: block;
}
h1 {
color: $solarize-Accent-Blue;
font-size: 24pt;
font-weight: 700;
margin: 0px;
padding-top: 15px;
}
p {
color: $solarize-Content-50;
font-size: 14pt;
font-weight: 100;
margin: 0px;
padding: 5px 0px;
}
label {
display: none;
}
input {
font-family: "clipperz-font";
display: block;
padding: 5px;
// margin-top: 5px;
margin-bottom: 10px;
font-size: 100%;
font-size: 24pt;
width: 100%;
}
&.TERMS_OF_SERVICE {
.checkboxBlock {
// margin-top: 10px;
// margin-bottom: 10px;
// clear: both;
input {
display: block;
float: left;
// margin: 5px;
margin-top: 10px;
width: 30px;
}
p {
font-size: 12pt;
font-weight: 500;
display: block;
text-align: left;
margin-left: 50px;
line-height: 1.5em;
a {
color: $solarize-Accent-Red;
}
}
}
.stepIndex {
margin-top: 10px;
}
}
.stepBody {
min-height: 140px;
}
.stepIndex {
text-align: center;
.stepIndexItem {
font-weight: 900;
font-size: 28pt;
display: inline;
color: lightgrey;
&.center {
color: gray;
}
}
}
.buttons {
text-align: center;
margin-top: 10px;
.button {
margin: 10px;
text-align: center;
vertical-align: middle;
display: inline-block;
width: 80px;
font-weight: 900;
line-height: 45px;
font-size: 24px;
&.back {
background-color: lightgrey;
&.step_-1 {
visibility: hidden;
}
}
&.disabled {
background-color: #c0c0c0;
cursor: default;
}
&.enabled {
background-color: $main-color;
}
}
}
}
}
}
}
div.links {
ul {
li {
display: inline-block;
}
}
}
footer {
@include flex(1);
// color: $main-alternate-text-color;
color: $main-text-color;
background-color: $main-color;
cursor: pointer;
font-size: 24pt;
&:before {
content: "< ";
};
a {
line-height: 50pt;
}
.applicationVersion {
@include flex(1);
font-size: 8pt;
$applicationVersionColor: black;
span {
color: $applicationVersionColor;
&:after {
content: ":";
};
}
a {
color: $applicationVersionColor;
text-decoration: none;
padding-left: 5px;
font-weight: bold;
}
}
}
}
}