From 9a67d3fb98739210ae13c6c5edd360ca6413425c Mon Sep 17 00:00:00 2001 From: carljbowman Date: Mon, 21 Sep 2015 09:18:00 -0400 Subject: [PATCH 1/4] Navigation WIP --- src/components/box/box.scss | 2 +- src/components/forms/button.jsx | 19 +++++ src/components/forms/button.scss | 27 +++++++ src/components/forms/input.jsx | 19 +++++ src/components/forms/input.scss | 28 +++++++ src/components/login/login.jsx | 10 ++- src/components/login/login.scss | 17 ++++- src/components/navigation/_colors.scss | 4 +- src/components/navigation/dropdown.scss | 51 +++++++------ src/components/navigation/navigation.jsx | 14 ++-- src/components/navigation/navigation.scss | 88 ++++++++++++++-------- src/main.scss | 20 +---- src/views/components/components.jsx | 7 ++ static/favicon.ico | Bin 1150 -> 4286 bytes static/images/logo_sm.png | Bin 5073 -> 7388 bytes static/images/logo_sm_highlight.png | Bin 4083 -> 4233 bytes static/images/nav-search-glass.png | Bin 1163 -> 1095 bytes 17 files changed, 220 insertions(+), 86 deletions(-) create mode 100644 src/components/forms/button.jsx create mode 100644 src/components/forms/button.scss create mode 100644 src/components/forms/input.jsx create mode 100644 src/components/forms/input.scss diff --git a/src/components/box/box.scss b/src/components/box/box.scss index a48f8688b..d8a4a627d 100644 --- a/src/components/box/box.scss +++ b/src/components/box/box.scss @@ -14,7 +14,7 @@ clear: both; overflow: hidden; - background-color: #efefef; + background-color: #efefef; border-radius: 10px 10px 0 0; border-top: 1px solid white; border-bottom: 1px solid #ccc; diff --git a/src/components/forms/button.jsx b/src/components/forms/button.jsx new file mode 100644 index 000000000..78e03e579 --- /dev/null +++ b/src/components/forms/button.jsx @@ -0,0 +1,19 @@ +var React = require('react'); +var classNames = require('classnames'); + +require('./button.scss'); + +module.exports = React.createClass({ + propTypes: { + + }, + render: function () { + var classes = classNames( + 'button', + this.props.className + ); + return ( + + ); + } +}); diff --git a/src/components/forms/button.scss b/src/components/forms/button.scss new file mode 100644 index 000000000..4a52e6dde --- /dev/null +++ b/src/components/forms/button.scss @@ -0,0 +1,27 @@ +.button { + display: inline-block; + font-size: .8rem; + padding: .75em 1em; + margin: .5em 0; + background-color: #24a3ec; + color: white; + font-weight: bold; + border-radius: 5px; + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25); + cursor: pointer; + border: none; + + &.white { + background-color: white; + border-top: 1px inset rgba(0, 0, 0, 0.1); + color: #24a3ec; + } + + &:hover { + box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25); + } + + &:active { + box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.25); + } +} \ No newline at end of file diff --git a/src/components/forms/input.jsx b/src/components/forms/input.jsx new file mode 100644 index 000000000..dc4a3e4b4 --- /dev/null +++ b/src/components/forms/input.jsx @@ -0,0 +1,19 @@ +var React = require('react'); +var classNames = require('classnames'); + +require('./input.scss'); + +module.exports = React.createClass({ + propTypes: { + + }, + render: function () { + var classes = classNames( + 'input', + this.props.className + ); + return ( + + ); + } +}); diff --git a/src/components/forms/input.scss b/src/components/forms/input.scss new file mode 100644 index 000000000..29f941bdb --- /dev/null +++ b/src/components/forms/input.scss @@ -0,0 +1,28 @@ +.input { + color:black; + border-radius: 5px; + border: 1px solid rgba(0, 0, 0, 0.1); + font-size: .8rem; + padding: .75em 1em; + margin: .5em 0; + background-color: #f7f7f7; + transition:all 1s ease; + + &:focus { + background-color: #d3eaf8; + outline:none; + border: 1px solid rgba(0, 0, 0, 0.1); + transition:all 1s ease; + } + + &.fail { + border: 1px solid #eab012; + background-color: #fff7df; + } + + &.pass { + border: 1px solid #55db58; + background-color: #eafdea; + } +} + diff --git a/src/components/login/login.jsx b/src/components/login/login.jsx index 48551d3b7..f2656e876 100644 --- a/src/components/login/login.jsx +++ b/src/components/login/login.jsx @@ -1,4 +1,6 @@ var React = require('react'); +var Input = require('../forms/input.jsx'); +var Button = require('../forms/button.jsx'); require('./login.scss'); @@ -15,11 +17,11 @@ module.exports = React.createClass({
- + - - - Forgot password? + + + Forgot password?
); diff --git a/src/components/login/login.scss b/src/components/login/login.scss index f0c2342ae..58910e568 100644 --- a/src/components/login/login.scss +++ b/src/components/login/login.scss @@ -1,7 +1,20 @@ .login { - padding: 14px 9px; + padding: 10px; + + label { + padding-top: 5px; + font-weight: bold; + } .submit-button { - margin-right: 3px; + margin-top: 5px; + } + + a { + margin-top: 15px; + } + + a:hover { + background-color: transparent !important; } } \ No newline at end of file diff --git a/src/components/navigation/_colors.scss b/src/components/navigation/_colors.scss index 4f6923b5d..c2d8aa0e4 100644 --- a/src/components/navigation/_colors.scss +++ b/src/components/navigation/_colors.scss @@ -1,3 +1,3 @@ -$base-background-color: #0f8bc0; -$active-background-color: rgb(1, 96, 135); +$base-background-color: #2aa3ef; +$active-background-color: rgba(0, 0, 0, 0.1); $border-color: rgb(20, 154, 203); diff --git a/src/components/navigation/dropdown.scss b/src/components/navigation/dropdown.scss index 87bfe75f7..db836a037 100644 --- a/src/components/navigation/dropdown.scss +++ b/src/components/navigation/dropdown.scss @@ -3,15 +3,16 @@ .dropdown { position: absolute; right: 0; - min-width: 160px; - max-width: 220px; + min-width: 240px; + max-width: 260px; background-color: $base-background-color; - overflow: hidden; - border-radius: 0px 0px 4px 4px; - box-shadow: inset 0 1px 1px rgba(100,100,100,.25),0 1px 1px rgba(0,0,0,.25); + overflow: visible; + border-radius: 0 0 5px 5px; + padding: 10px; color: white; font-weight: normal; font-size: 0.8125rem; + border: 1px solid $active-background-color; display: none; &.open { @@ -20,12 +21,13 @@ a { color: white; + background-color: transparent; } input { // 100% minus border and padding - width: calc(100% - 2px - 8px); - margin-bottom: 9px; + width: calc(100% - 30px); + margin-bottom: 12px; } label { @@ -47,28 +49,33 @@ padding: 0 10px; &:hover { - background-color: $active-background-color; - text-decoration: none; + background-color: $active-background-color; + text-decoration: none; } } } &.with-arrow { - $arrow-border-width: 11px; - overflow: visible; + $arrow-border-width: 14px; margin-top: $arrow-border-width; - border-radius: 4px; - &:before { + border-radius: 5px; + overflow: visible; + &:before { position: absolute; - display: block; - right: 10%; - top: -$arrow-border-width; - left: auto; - border-color: transparent; - border-bottom-color: $base-background-color; - border-style: solid; - border-width: 0 $arrow-border-width $arrow-border-width $arrow-border-width; - content: " "; + display: block; + top: -$arrow-border-width/2; + right: 10%; + + height: $arrow-border-width; + width: $arrow-border-width; + content: ''; + transform: rotate(45deg); + + background-color: $base-background-color; + border-top: 1px solid $active-background-color; + border-left: 1px solid $active-background-color; + border-radius: 5px; + } } } diff --git a/src/components/navigation/navigation.jsx b/src/components/navigation/navigation.jsx index b9a0f6759..64b8b3320 100644 --- a/src/components/navigation/navigation.jsx +++ b/src/components/navigation/navigation.jsx @@ -1,7 +1,9 @@ var React = require('react'); var classNames = require('classnames'); -var Login = require('../login/login.jsx'); + var Dropdown = require('./dropdown.jsx'); +var Input = require('../forms/input.jsx'); +var Login = require('../login/login.jsx'); require('./navigation.scss'); @@ -54,17 +56,17 @@ module.exports = React.createClass({
  • - - - - + + + +
  • {this.state.loggedIn ? [
  • Messages
  • ,
  • My Stuff
  • ,
  • - + {this.state.loggedInUser.username} diff --git a/src/components/navigation/navigation.scss b/src/components/navigation/navigation.scss index 604b812f3..cbbd26aa4 100644 --- a/src/components/navigation/navigation.scss +++ b/src/components/navigation/navigation.scss @@ -10,7 +10,7 @@ background-color: $base-background-color; /* NOTE: Height should match offset settings in main.scss file */ - height: 35px; + height: 50px; .inner > ul { display: flex; @@ -18,7 +18,7 @@ flex-wrap: nowrap; justify-content: flex-start; - height: 35px; + height: 50px; margin: 0; padding: 0; list-style: none; @@ -28,25 +28,27 @@ align-self: flex-start; float: left; height: 100%; - border-left: 1px solid $border-color; position: relative; } .logo { - border-left: none; - + margin-right: 10px; a { display: block; - width: 80px; - height: 35px; - margin: 4px 6px 0 0; + width: 81px; + height: 50px; + margin: 0px 6px 0 0; border: none; background-image: url('/images/logo_sm.png'); background-repeat: no-repeat; + background-position: center center; + background-size: 95%; + transition: .15s ease all; &:hover { - background-image: url('/images/logo_sm_highlight.png'); + background-size: 100%; + transition: .15s ease all; } } } @@ -54,13 +56,14 @@ .link { > a { display: block; - height: 28px; - padding: 7px 15px 0 15px; + height: 33px; + padding: 17px 15px 0px 15px; color: white; text-decoration: none; - font-size: 0.95rem; + font-size: 0.85rem; white-space: nowrap; + font-weight: bold; } > a:hover { @@ -71,9 +74,11 @@ .search { flex-grow: 3; border-right: none; + color: white; + margin:0px 20px; form { - margin: 6px 0 0 15px; + margin: 0; } input { @@ -81,26 +86,42 @@ height: 14px; outline: none; border: none; + background-color: $active-background-color; + margin-top:5px; } input[type=submit] { position: absolute; - width: 30px; - height: 22px; - - background-color: white; + width: 40px; + height: 40px; + + background-color: transparent; + background-image: url('/images/nav-search-glass.png'); + background-size: 14px 14px; background-repeat: no-repeat; - background-position: center center; - border-right: 1px solid #efefef; - border-radius: 10px 0 0 10px; + background-position: center center; } input[type=text] { width: calc(100% - 50px); - padding-left: 36px; - border-radius: 10px; + height: 40px; + padding: 0; + + color: white; + padding-left: 40px; + padding-right:10px; font-size: 0.85em; + transition: .15s ease background-color; + + &::placeholder { + color:rgba(255, 255, 255, 0.75); + } + + &:focus { + background-color: rgba(0, 0, 0, 0.2); + transition: .15s ease background-color; + } } .ie9 input[type=text] { @@ -112,17 +133,12 @@ align-self: flex-end; float: right; margin-left: auto; - font-weight: bold; - &:last-child { - border-right: 1px solid rgb(20, 154, 203); + a:hover { + background-color: $active-background-color; } } - .join > a:hover { - background-color: #f79231; - } - .messages, .mystuff { > a { background-repeat: no-repeat; @@ -154,15 +170,21 @@ } .account-nav { + .userInfo { + padding-top: 11px; + padding-bottom: 6px; + } + > a { font-weight: normal; font-size: 0.8125rem; - + img { - width: 24px; - height: 24px; - margin-right: 5px; + width: 30px; + height: 30px; + margin-right: 10px; vertical-align: middle; + border-radius: 3px; } &:after { diff --git a/src/main.scss b/src/main.scss index 793c0dec6..243422caf 100644 --- a/src/main.scss +++ b/src/main.scss @@ -51,24 +51,10 @@ a:hover { padding: 10px 0; /* NOTE: Margin should match height in navigation.scss */ - margin-top: 35px; -} - -/* Forms */ -input { - height: 18px; - line-height: 18px; - display: inline-block; - padding: 4px; - margin-bottom: 9px; - font-size: 13px; - color: #555; - border: 1px solid #ccc; - border-radius: 3px; - box-shadow: inset 0 1px 1px rgba(0,0,0,0.075); - transition: border linear .2s,box-shadow linear .2s; + margin-top: 50px; } +/* button { cursor: pointer; line-height: 30px; @@ -88,3 +74,5 @@ button { button:hover { background-image: linear-gradient(#e6e6e6,#e6e6e6); } +*/ + diff --git a/src/views/components/components.jsx b/src/views/components/components.jsx index 3fa834e0e..1e9325b45 100644 --- a/src/views/components/components.jsx +++ b/src/views/components/components.jsx @@ -1,7 +1,10 @@ var React = require('react'); var Box = require('../../components/box/box.jsx'); +var Button = require('../../components/forms/button.jsx'); var Carousel = require('../../components/carousel/carousel.jsx'); +var Input = require('../../components/forms/input.jsx'); + require('./components.scss'); @@ -9,6 +12,10 @@ var View = React.createClass({ render: function () { return (
    +

    Button

    + +

    Form

    +

    Box Component

    1i$6vtl`h~Uii=Z>;?$z^QmKnsT_0SfQe&8T$}gih_)YX9B1K?07!SV9WHMdMF7p9U$GQ|; zm`K?f2%-B%-}k?QtC#huMgtG-2V=p_;4*O58PMfzLC3YBjUMa4hL7xV&YuqTira>C#UnWNmT2U7~94aC{^2yj3!Htuuf znH84YU1iCrN=wErw&dX&OB%Zzfy;;uoPBO|g6W{3c%XBsQPz3flj*B08L{X@lyGn2 zca}V`)RLE1T2i;$kzU8oJ5%V3$I(}m#20#2&}{fu?D1qAb{qaDe}ZpWbZzdN`LXXU zS=Z@_=SO}ahxeebBq9F=$hH~&Wjj5&vm(oP59c^$`BJgN&7H^a#%GOBb(?Ec=&Z4* z1VaWp12R{Db`XrE${+f^^hYbWw{ov1FV)tu8vlv&gG#I5Z#&67XM& z+)3@9T$|l2#gl86we@Phs zk?2(3UMC~7H#l-f7#G8}1TM$(W%BYY|48=D+ng(7RoRz-Uwi&G!(Y?xiRv+N)t-e0dvpH^PBMj&mRr*K+pHlraXRsFn)awcZ=b#g{R5mE@Go92|x1BgIojq zqQ%L@`$77C`w?F(YVS~=FZ*~eZRxf}bJOtZtUaUr&&YQ4X(5bA$Ug+x+`DfMb!KWn zb4%;J7F#F8Y*o8os<&l)cyA;*v%4p+_B5x?Ny48_r!PS^H$L1L)!H=rzxsOK=BNj2 ze}1pQmLvVXyt>*B{Gj$Pz;Cg!lJ(I4%RiM|7|5@Ern%dbKKjDzYqI>BCv);^Z$nak z5NGe=G7i1=>eVy!AU!-~VOnZJDvg31aZds%-wh z7R$dlKlXPQ$Ul^rHL@odhp4URc%R36Onj|pDy25H7IOUupTtHR>%{R7eK3(dw$b6> z-?!FUIX}et2d?ks92yTZutmRV2mStv#|Qa~@LM@^KM0g*?Q86{x6E#|sc}1a_ua+! zmcA!-oCWqYee9nQ*PV3Dz8ir4?|0msfjMs+>ht8AZH{P;RJ6Ksm|BPpJxCR} zJSpcuIrd%y%7Df&PdV488`{Ixf!hY^Ec6;3`hT$2g#JHMjX$;!(+<{oj^^474;hX5 zEuf&dpXzMr(QmW!!A-8~PGX)0et}27t<_dVFW0S{Z6@pMz@Yzo$vY$$9oI{pD^}`k mP$WIHU{D4|hq#LQq_B`V9Xy^ZGFg-fdSx|)J(!ajCjS8sx<)4e literal 1150 zcmaKsT}TvB6vwZ*WrT@+8DwQ2FC`__Lxhr9(L*h5uR=u=QfgRvWsjXtH?64lq@0=GndS;cs%|PfGLE- z;SUTrMD~#yB5PKX3Q|hulRV-Wb=kgApmmTv8Dz8RR4Vm1nM_6_k;sowDD=kT@tmMw zCs|GAIbwE1(>4S&1p(hTp#42?V~XxCz}Tdhbp^vwgn*?!>kbKukq z;8FlM!*Rna+y8k2h(@F16zwK*E{=)*q8~W=lso}`|FQQV{(NIdx(4{ z$7JFh-{bBE?hOO7cemT^)ijOS1D+n>B=ZuZsERCh#O%)ekEOJ% zz3*js&e@4RlgZS}{E}-1-*4*;!_XUFn<#2Au;Z?ymztCs%*mh9GSP4AG~l|dV>}Lv zg)KTW^c^_i1-Nn#iZVu-T@d$!<&AY`xFtlk;2qKfSK&wM@b6 z9W_})CTr2e&lqsyAMn3F%pmQi2Eb^3UJ-lfy&LAFvq*1hEU4>72S ZIR6B}0;PhyiL;W=d0{GUjIA(9-#;Q81l9lm diff --git a/static/images/logo_sm.png b/static/images/logo_sm.png index 8e68b03982cfa461a3279b1128aac919392d1e73..7f4e7353a9f25dc8e5a7b511955eb5f5ad95a640 100644 GIT binary patch literal 7388 zcmV<293$h2P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 ZlgpdvyM?Vtyx<2NU}<)WP=a%f_#ZQ%Kz#rJ diff --git a/static/images/nav-search-glass.png b/static/images/nav-search-glass.png index 9e890c3b9b6f2a7690fbcb8b73a47ecf9fb79bad..831d10e1822399035a26783520cf13085efc2663 100644 GIT binary patch literal 1095 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s3?yAI>n{UREa{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$Ysfq`*hfKP}kP{IFEFjzwX z7(2ZJ;=w?wvn0qbm_e#&+rw`^9`CGBkX-Ql?@Gns4}UIi-+Jk5eA>Tj$--Qb=iJ*_ zeEQeV;9x5L6(*f%e>K4Or&?{&DbbuQGFKet8!;Z!DNSkP@m%=+{6zg-o4(KGU3+3S z|8wqev3=~XF4PB^ZOn`~tnOxMlJR*-i<8yn*!&k8rcHgaT5s=h^DNUF(`{Kr*s^2Z z_9Q>-+X{3PW0JSK3quF1tOt<8S>O>_%)lU~3c`$@K`I}B3i3Q%978nD*G_yI&EzQ1 ze%vYWfJNYk9DkjhfSiNx4&@zv_wL;N`nT_x4&D9yqGo3Kv)a7!y!I3Ff)fKT8t%Gb zQEQW_d@#X9!Kc$RYxc$>Fki=UqX*6Nx)U$@_=KYzqC!Tsw;1*eWAuJ@u zDI_YbJw~oXRMQ|dDAaWShBoso*$o!Vml&=D+RC4JmnAUQZNbU+vwAZEqf{5HwXK+T zn|Y^mfODGhL)1C=k&oe7B(#rgFFE0?Tlr!YMWxGRsqe_Bg#Klu#2hc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPAEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=op{t3xqpO9XsgaqXp(`+$3{6}u&D_jPEZs~j zP0e9?UGkGlb5rw5V0u#!dM$D41to>t0-((D!yC7)9B+VdwfbA*w5$6uh22KGdk3Sa$Z!~OTl)fOi$@&YU0-T6thqs0R<1&0ig#Cw@~_JowYj zxlB{yZ<6C&jn_Y!+&qistb2MS+2TXy+Stf~iY2P7ToKRu@?$oy*0^)xsmX*dNl&eQ zI0`-8ZSnBPb05LI?e~PdMJ;!S&-uo_QmM+*dEbBiC7WM5T?xCXcO-1vmiJxT8JHO~ W&!*b^Z&ddL6%U@SelF{r5}E*7u85uh From e8bfa13a4fac3404ef9fccb8a931c7de49d62247 Mon Sep 17 00:00:00 2001 From: carljbowman Date: Mon, 21 Sep 2015 09:52:53 -0400 Subject: [PATCH 2/4] Updates based on PR Feedback - Removed Commented SCSS in Main - Doubled checked Spaces over Tabs --- src/components/box/box.scss | 2 +- src/components/forms/button.scss | 50 +++++++++++------------ src/components/forms/input.scss | 50 +++++++++++------------ src/components/login/login.scss | 8 ++-- src/components/navigation/dropdown.scss | 28 ++++++------- src/components/navigation/navigation.scss | 16 ++++---- src/main.scss | 23 ----------- 7 files changed, 77 insertions(+), 100 deletions(-) diff --git a/src/components/box/box.scss b/src/components/box/box.scss index d8a4a627d..a48f8688b 100644 --- a/src/components/box/box.scss +++ b/src/components/box/box.scss @@ -14,7 +14,7 @@ clear: both; overflow: hidden; - background-color: #efefef; + background-color: #efefef; border-radius: 10px 10px 0 0; border-top: 1px solid white; border-bottom: 1px solid #ccc; diff --git a/src/components/forms/button.scss b/src/components/forms/button.scss index 4a52e6dde..f4a662016 100644 --- a/src/components/forms/button.scss +++ b/src/components/forms/button.scss @@ -1,27 +1,27 @@ .button { - display: inline-block; - font-size: .8rem; - padding: .75em 1em; - margin: .5em 0; - background-color: #24a3ec; - color: white; - font-weight: bold; - border-radius: 5px; - box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25); - cursor: pointer; - border: none; - - &.white { - background-color: white; - border-top: 1px inset rgba(0, 0, 0, 0.1); - color: #24a3ec; - } - - &:hover { - box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25); - } - - &:active { - box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.25); - } + display: inline-block; + font-size: .8rem; + padding: .75em 1em; + margin: .5em 0; + background-color: #24a3ec; + color: white; + font-weight: bold; + border-radius: 5px; + box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25); + cursor: pointer; + border: none; + + &.white { + background-color: white; + border-top: 1px inset rgba(0, 0, 0, 0.1); + color: #24a3ec; + } + + &:hover { + box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25); + } + + &:active { + box-shadow: inset 0px 1px 2px rgba(0, 0, 0, 0.25); + } } \ No newline at end of file diff --git a/src/components/forms/input.scss b/src/components/forms/input.scss index 29f941bdb..8bdf29e23 100644 --- a/src/components/forms/input.scss +++ b/src/components/forms/input.scss @@ -1,28 +1,28 @@ .input { - color:black; - border-radius: 5px; - border: 1px solid rgba(0, 0, 0, 0.1); - font-size: .8rem; - padding: .75em 1em; - margin: .5em 0; - background-color: #f7f7f7; - transition:all 1s ease; - - &:focus { - background-color: #d3eaf8; - outline:none; - border: 1px solid rgba(0, 0, 0, 0.1); - transition:all 1s ease; - } - - &.fail { - border: 1px solid #eab012; - background-color: #fff7df; - } - - &.pass { - border: 1px solid #55db58; - background-color: #eafdea; - } + color:black; + border-radius: 5px; + border: 1px solid rgba(0, 0, 0, 0.1); + font-size: .8rem; + padding: .75em 1em; + margin: .5em 0; + background-color: #f7f7f7; + transition:all 1s ease; + + &:focus { + background-color: #d3eaf8; + outline:none; + border: 1px solid rgba(0, 0, 0, 0.1); + transition:all 1s ease; + } + + &.fail { + border: 1px solid #eab012; + background-color: #fff7df; + } + + &.pass { + border: 1px solid #55db58; + background-color: #eafdea; + } } diff --git a/src/components/login/login.scss b/src/components/login/login.scss index 58910e568..060bd6849 100644 --- a/src/components/login/login.scss +++ b/src/components/login/login.scss @@ -2,8 +2,8 @@ padding: 10px; label { - padding-top: 5px; - font-weight: bold; + padding-top: 5px; + font-weight: bold; } .submit-button { @@ -11,10 +11,10 @@ } a { - margin-top: 15px; + margin-top: 15px; } a:hover { - background-color: transparent !important; + background-color: transparent !important; } } \ No newline at end of file diff --git a/src/components/navigation/dropdown.scss b/src/components/navigation/dropdown.scss index db836a037..039e3a119 100644 --- a/src/components/navigation/dropdown.scss +++ b/src/components/navigation/dropdown.scss @@ -62,20 +62,20 @@ overflow: visible; &:before { position: absolute; - display: block; - top: -$arrow-border-width/2; - right: 10%; - - height: $arrow-border-width; - width: $arrow-border-width; - content: ''; - transform: rotate(45deg); - - background-color: $base-background-color; - border-top: 1px solid $active-background-color; - border-left: 1px solid $active-background-color; - border-radius: 5px; - + display: block; + top: -$arrow-border-width/2; + right: 10%; + + height: $arrow-border-width; + width: $arrow-border-width; + content: ''; + transform: rotate(45deg); + + background-color: $base-background-color; + border-top: 1px solid $active-background-color; + border-left: 1px solid $active-background-color; + border-radius: 5px; + } } } diff --git a/src/components/navigation/navigation.scss b/src/components/navigation/navigation.scss index cbbd26aa4..435b2bb6a 100644 --- a/src/components/navigation/navigation.scss +++ b/src/components/navigation/navigation.scss @@ -32,7 +32,7 @@ } .logo { - margin-right: 10px; + margin-right: 10px; a { display: block; width: 81px; @@ -115,12 +115,12 @@ transition: .15s ease background-color; &::placeholder { - color:rgba(255, 255, 255, 0.75); + color:rgba(255, 255, 255, 0.75); } &:focus { - background-color: rgba(0, 0, 0, 0.2); - transition: .15s ease background-color; + background-color: rgba(0, 0, 0, 0.2); + transition: .15s ease background-color; } } @@ -170,11 +170,11 @@ } .account-nav { - .userInfo { - padding-top: 11px; - padding-bottom: 6px; + .userInfo { + padding-top: 11px; + padding-bottom: 6px; } - + > a { font-weight: normal; font-size: 0.8125rem; diff --git a/src/main.scss b/src/main.scss index 243422caf..e3852bbbc 100644 --- a/src/main.scss +++ b/src/main.scss @@ -53,26 +53,3 @@ a:hover { /* NOTE: Margin should match height in navigation.scss */ margin-top: 50px; } - -/* -button { - cursor: pointer; - line-height: 30px; - border: 1px solid #eee; - border-radius: 5px; - box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05); - transition: all .25s ease-in-out; - height: 32px; - text-shadow: 0 1px #fff; - font-weight: normal; - color: #666; - border-color: #999; - display: inline-block; - background: linear-gradient(to bottom, #fff, #ccc) -} - -button:hover { - background-image: linear-gradient(#e6e6e6,#e6e6e6); -} -*/ - From d3ebcd674430f817619236bdf221884398269f3c Mon Sep 17 00:00:00 2001 From: carljbowman Date: Mon, 21 Sep 2015 11:32:17 -0400 Subject: [PATCH 3/4] Replacing Tabs with Spaces --- src/views/components/components.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/components/components.jsx b/src/views/components/components.jsx index 1e9325b45..d22682777 100644 --- a/src/views/components/components.jsx +++ b/src/views/components/components.jsx @@ -12,7 +12,7 @@ var View = React.createClass({ render: function () { return (
    -

    Button

    +

    Button

    Form

    From f5351b651a42d55b912ffd861e6b72f038a21fd0 Mon Sep 17 00:00:00 2001 From: carljbowman Date: Mon, 21 Sep 2015 12:25:50 -0400 Subject: [PATCH 4/4] Removing Extra spaces from Button --- src/components/forms/button.jsx | 2 +- src/components/forms/button.scss | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/forms/button.jsx b/src/components/forms/button.jsx index 78e03e579..839995672 100644 --- a/src/components/forms/button.jsx +++ b/src/components/forms/button.jsx @@ -11,7 +11,7 @@ module.exports = React.createClass({ var classes = classNames( 'button', this.props.className - ); + ); return ( ); diff --git a/src/components/forms/button.scss b/src/components/forms/button.scss index f4a662016..d33c07b58 100644 --- a/src/components/forms/button.scss +++ b/src/components/forms/button.scss @@ -1,5 +1,5 @@ .button { - display: inline-block; + display: inline-block; font-size: .8rem; padding: .75em 1em; margin: .5em 0; @@ -9,7 +9,7 @@ border-radius: 5px; box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25); cursor: pointer; - border: none; + border: none; &.white { background-color: white;