Commit 5a1795db by Brian Talbot

studio - soft landing UI: basic signin/sign up styling and sign up markup/templating

parent 1144b0ee
// login and sign up UI
.signup, .signin {
.wrapper-content {
margin: 0;
padding: 0 $baseline;
position: relative;
width: 100%;
}
.content {
@include clearfix();
@include font-size(16);
max-width: $fg-max-width;
min-width: $fg-min-width;
width: flex-grid(12);
margin: 0 auto;
color: $gray-d2;
header {
position: relative;
margin-bottom: ($baseline/2);
border-bottom: 1px solid $gray-l4;
padding-bottom: ($baseline/2);
h1 {
@include font-size(32);
float: none;
margin: 0;
padding: 0;
font-weight: 600;
}
.action {
@include font-size(13);
position: absolute;
right: 0;
top: 40%;
}
}
.introduction {
@include font-size(14);
margin: 0 0 $baseline 0;
}
}
.content-primary, .content-supplementary {
@include box-sizing(border-box);
float: left;
}
.content-primary {
width: flex-grid(7, 12);
margin-right: flex-gutter();
form {
@include box-sizing(border-box);
@include box-shadow(0 1px 2px $shadow-l1);
@include border-radius(2px);
width: 100%;
border: 1px solid $gray-l2;
padding: $baseline ($baseline*1.5);
background: $white;
.form-actions {
margin-top: $baseline;
.action-primary {
@include blue-button;
@include transition(all .15s);
@include font-size(15);
display:block;
width: 100%;
padding: ($baseline*0.75) ($baseline/2);
font-weight: 600 !important;
text-transform: uppercase;
}
}
.list-input {
margin: 0;
padding: 0;
list-style: none;
.field {
margin: 0 0 ($baseline*0.75) 0;
&:last-child {
margin-bottom: 0;
}
&.required {
label {
font-weight: 600;
}
label:after {
margin-left: ($baseline/4);
content: "*";
}
}
label, input, textarea {
display: block;
}
label {
@include font-size(14);
@include transition(color, 0.15s, ease-in-out);
margin: 0 0 ($baseline/4) 0;
&.is-focused {
color: $blue;
}
}
input, textarea {
@include font-size(16);
height: 100%;
width: 100%;
padding: ($baseline/2);
&.long {
width: 100%;
}
&.short {
width: 25%;
}
}
textarea.long {
height: ($baseline*5);
}
input[type="checkbox"] {
display: inline-block;
margin-right: ($baseline/4);
width: auto;
height: auto;
& + label {
display: inline-block;
}
}
.tip {
@include font-size(13);
display: block;
margin-top: ($baseline/4);
color: $gray-l3;
}
}
.field-group {
@include clearfix();
margin: 0 0 ($baseline/2) 0;
.field {
display: block;
width: 47%;
border-bottom: none;
margin: 0 $baseline 0 0;
padding-bottom: 0;
&:nth-child(odd) {
float: left;
}
&:nth-child(even) {
float: right;
margin-right: 0;
}
input, textarea {
width: 100%;
}
}
}
}
}
}
.content-supplementary {
width: flex-grid(4, 12);
.bit {
@include font-size(13);
margin: 0 0 $baseline 0;
border-bottom: 1px solid $gray-l4;
padding: 0 0 $baseline 0;
color: $gray-l1;
&:last-child {
margin-bottom: 0;
border: none;
padding-bottom: 0;
}
h3 {
@include font-size(14);
margin: 0 0 ($baseline/4) 0;
color: $gray-d2;
font-weight: 600;
}
}
}
}
.signup {
}
.signin {
}
// @include transition(all 1s ease-in-out);
\ No newline at end of file
// footer //studio global footer
.wrapper-footer { .wrapper-footer {
margin: ($baseline*1.5) 0 $baseline 0; margin: ($baseline*1.5) 0 $baseline 0;
padding: $baseline; padding: $baseline;
position: relative; position: relative;
width: 100%; width: 100%;
}
footer { footer {
@include clearfix(); @include clearfix();
@include font-size(13); @include font-size(13);
max-width: $fg-max-width;
min-width: $fg-min-width;
width: flex-grid(12); width: flex-grid(12);
margin: 0 auto; margin: 0 auto;
padding-top: $baseline; padding-top: $baseline;
border-top: 1px solid $gray-l4; border-top: 1px solid $gray-l4;
color: $gray; color: $gray-l2;
.colophon { .colophon {
width: flex-grid(4, 12); width: flex-grid(4, 12);
...@@ -28,7 +29,7 @@ footer { ...@@ -28,7 +29,7 @@ footer {
.nav-item { .nav-item {
display: inline-block; display: inline-block;
margin-right: $baseline; margin-right: ($baseline/2);
&:last-child { &:last-child {
margin-right: 0; margin-right: 0;
...@@ -37,10 +38,11 @@ footer { ...@@ -37,10 +38,11 @@ footer {
} }
a { a {
color: $gray; color: $gray-l1;
&:hover, &:active { &:hover, &:active {
color: $blue; color: $blue;
} }
} }
}
} }
\ No newline at end of file
// header //studio global header and navigation
.wrapper-header { .wrapper-header {
margin: 0 0 ($baseline*1.5) 0; margin: 0 0 ($baseline*1.5) 0;
padding: $baseline; padding: $baseline;
...@@ -18,13 +18,15 @@ ...@@ -18,13 +18,15 @@
color: $blue; color: $blue;
} }
} }
}
.header { .header {
@include clearfix(); @include clearfix();
max-width: 1280px; max-width: $fg-max-width;
min-width: $fg-min-width;
width: flex-grid(12);
margin: 0 auto; margin: 0 auto;
color: $lightGrey; color: $lightGrey;
}
} }
.branding, .info-course, .nav-course, .nav-account, .nav-unauth, .nav-pitch { .branding, .info-course, .nav-course, .nav-account, .nav-unauth, .nav-pitch {
...@@ -91,7 +93,7 @@ ...@@ -91,7 +93,7 @@
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
@include font-size(16); @include font-size(16);
font-weight: 550; font-weight: 600;
} }
} }
...@@ -116,7 +118,7 @@ ...@@ -116,7 +118,7 @@
display: block; display: block;
padding: 5px; padding: 5px;
text-transform: uppercase; text-transform: uppercase;
font-weight: 550; font-weight: 600;
&:hover, &:active { &:hover, &:active {
color: $blue; color: $blue;
...@@ -343,7 +345,7 @@ ...@@ -343,7 +345,7 @@
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
margin: 0 $baseline 0 0; margin: 0 $baseline 0 0;
font-weight: 550; font-weight: 600;
&:last-child { &:last-child {
margin-right: 0; margin-right: 0;
...@@ -353,7 +355,6 @@ ...@@ -353,7 +355,6 @@
margin-top: -($baseline/4); margin-top: -($baseline/4);
display: inline-block; display: inline-block;
padding: ($baseline/4) ($baseline/2); padding: ($baseline/4) ($baseline/2);
font-weight: 550;
} }
} }
...@@ -363,10 +364,14 @@ ...@@ -363,10 +364,14 @@
} }
.nav-not-signedin-signup { .nav-not-signedin-signup {
margin-right: ($baseline/2);
.action-signup { .action-signup {
@include blue-button; @include blue-button;
@include transition(all .15s); @include transition(all .15s);
@include font-size(14);
text-transform: uppercase;
font-weight: 600 !important;
} }
} }
...@@ -375,6 +380,9 @@ ...@@ -375,6 +380,9 @@
.action-signin { .action-signin {
@include white-button; @include white-button;
@include transition(all .15s); @include transition(all .15s);
@include font-size(14);
text-transform: uppercase;
font-weight: 600 !important;
} }
} }
} }
......
$baseline: 20px; $baseline: 20px;
// grid // grid
$gw-column: 80px; $gw-column: ($baseline*3);
$gw-gutter: 20px; $gw-gutter: $baseline;
$fg-column: $gw-column; $fg-column: $gw-column;
$fg-gutter: $gw-gutter; $fg-gutter: $gw-gutter;
$fg-max-columns: 12; $fg-max-columns: 12;
$fg-max-width: 1280px; $fg-max-width: 1280px;
$fg-min-width: 980px; $fg-min-width: 900px;
// type // type
$sans-serif: 'Open Sans', $verdana; $sans-serif: 'Open Sans', $verdana;
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
@import "modal"; @import "modal";
@import "alerts"; @import "alerts";
@import "login"; @import "login";
@import "account";
@import 'jquery-ui-calendar'; @import 'jquery-ui-calendar';
@import 'content-types'; @import 'content-types';
......
...@@ -6,64 +6,108 @@ ...@@ -6,64 +6,108 @@
<%block name="content"> <%block name="content">
<div class="edx-studio-logo-large"></div> <div class="wrapper-content wrapper">
<section class="content">
<article class="sign-up-box">
<header> <header>
<h1>Register for edX studio</h1> <h1>Sign Up for edX Studio</h1>
<a href="" class="action action-signin">Already have a Studio Account? Sign In</a>
</header> </header>
<p class="introduction">Ready to start creating online courses? Sign up below and start creating your first edX course today.</p>
<article class="content-primary" role="main">
<form id="register_form" method="post"> <form id="register_form" method="post">
<div id="register_error" name="register_error"></div> <div id="register_error" name="register_error" class="message message-status message-status-error">
<div class="row">
<label>Email</label>
<input name="email" type="email">
</div>
<div class="row">
<label>Password</label>
<input name="password" type="password">
</div> </div>
<div class="row">
<label>Public Username</label> <fieldset>
<input name="username" type="text"> <legend class="sr">Required Information to Sign Up for edX Studio</legend>
</div>
<div class="row"> <ol class="list-input">
<label>Full Name</label> <li class="field text required" id="field-email">
<input name="name" type="text"> <label for="email">Email Address</label>
</div> <input id="email" type="email" name="email" placeholder="e.g. jane.doe@gmail.com" />
<div class="row"> </li>
<div class="split">
<label>Your Location</label> <li class="field text required" id="field-password">
<input name="location" type="text"> <label for="password">Password</label>
<input id="password" type="password" name="password" />
</li>
<li class="field text required" id="field-username">
<label for="username">Public Username</label>
<input id="username" type="text" name="username" placeholder="e.g. janedoe" />
<span class="tip tip-stacked">This will be used in public discussions with your courses and in our edX101 support forums</span>
</li>
<li class="field text required" id="field-name">
<label for="name">Full Name</label>
<input id="name" type="text" name="name" placeholder="e.g. Jane Doe" />
</li>
<li class="field-group">
<div class="field text" id="field-location">
<label for="location">Your Location</label>
<input class="short" id="location" type="text" name="location" />
</div> </div>
<div class="split">
<label>Preferred Language</label> <div class="field text" id="field-language">
<input name="language" type="text"> <label for="language">Preferred Language</label>
<input class="short" id="language" type="text" name="language" />
</div> </div>
</li>
<li class="field checkbox required" id="field-tos">
<input id="tos" name="terms_of_service" type="checkbox" value="true" />
<label for="tos">I agree to the Terms of Service</label>
</li>
</ol>
</fieldset>
<div class="form-actions">
<button type="submit" id="submit" name="submit" class="action action-primary">Create My Account & Start Authoring Courses</button>
</div> </div>
<div class="row"> </form>
<label class="terms-of-service"> </article>
<input name="terms_of_service" type="checkbox" value="true">
I agree to the <aside class="content-supplementary" role="complimentary">
<a href="#">Terms of Service</a> <h2 class="sr">Common Studio Questions</h2>
</label>
<div class="bit">
<h3>Who is Studio for?</h3>
<p>Studio is for anyone that wants to create online courses that leverage the global edX platform. Our users are often faculty members, teaching assistants and course staff, and members of instructional technology groups.</p>
</div> </div>
<!-- no honor code for CMS, but need it because we're using the lms student object --> <div class="bit">
<input name="honor_code" type="checkbox" value="true" checked="true" hidden="true"> <h3>How technically savvy do I need to be to create courses in Studio?</h3>
<p>Studio is designed to be easy to use by almost anyone familiar with common web-based authoring environments (Wordpress, Moodle, etc.). No programming knowledge is required, but for some of the more advanced features, a technical background would be helpful. As always, we are here to help, so don't hesitate to dive right in.</p>
</div>
<div class="row form-actions submit"> <div class="bit">
<input name="submit" type="submit" value="Create My Account" class="create-account-button"> <h3>I've never authored a course online before. Is there help?</h3>
<p class="enrolled">Already enrolled? <a href="/">Log In.</a></p> <p>Absolutely. We have created an online course, edX101, that describes some best practices: from filming video, creating exercises, to the basics of running an online course. Additionally, we're always here to help, just drop us a note.</p>
</div> </div>
</form> </aside>
</article> </section>
</div>
</%block>
<script type="text/javascript"> <%block name="jsextra">
<script type="text/javascript">
(function() { (function() {
$("form :input").focus(function() {
$("label[for='" + this.id + "']").addClass("is-focused");
}).blur(function() {
$("label").removeClass("is-focused");
});
function getCookie(name) { function getCookie(name) {
return $.cookie(name); return $.cookie(name);
} }
// form validation
function postJSON(url, data, callback) { function postJSON(url, data, callback) {
$.ajax({type:'POST', $.ajax({type:'POST',
url: url, url: url,
...@@ -90,5 +134,5 @@ ...@@ -90,5 +134,5 @@
); );
}); });
})(this) })(this)
</script> </script>
</%block> </%block>
\ No newline at end of file
<%! from django.core.urlresolvers import reverse %> <%! from django.core.urlresolvers import reverse %>
<div class="wrapper-footer wrapper"> <div class="wrapper-footer wrapper">
<footer class="main" role="navigation"> <footer class="main" role="contentinfo">
<div class="colophon"> <div class="colophon">
<p>&copy; 2013 <a href="http://www.edx.org" rel="external">edX</a>. All rights reversed.</p> <p>&copy; 2013 <a href="http://www.edx.org" rel="external">edX</a>. All rights reversed.</p>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment