From 7fad98811da1f437d0b7d52a985ada9fc33cfcb0 Mon Sep 17 00:00:00 2001 From: Lisa P Date: Thu, 15 Jan 2015 12:38:05 +0100 Subject: [PATCH] add dashboard files --- assets/images/dashboard/cal.svg | 22 + assets/images/dashboard/footer-logo.svg | 491 ++++++ assets/images/dashboard/gravatar.png | Bin 0 -> 2361 bytes assets/images/dashboard/health-stats.svg | 18 + assets/images/dashboard/orgs-eurucamp.png | Bin 0 -> 4919 bytes assets/images/dashboard/orgs-openkarma.png | Bin 0 -> 7787 bytes .../images/dashboard/orgs-saltinejustine.png | Bin 0 -> 7457 bytes assets/images/dashboard/orgs-travisci.png | Bin 0 -> 15062 bytes assets/images/dashboard/private-icon.svg | 12 + assets/images/dashboard/search-icon.svg | 13 + assets/images/dashboard/star-off.svg | 8 + assets/images/dashboard/star-on.svg | 8 + assets/images/dashboard/status-cancelled.svg | 10 + assets/images/dashboard/status-errored.svg | 10 + assets/images/dashboard/status-failed.svg | 9 + assets/images/dashboard/status-passed.svg | 11 + assets/images/dashboard/status-pending.svg | 11 + assets/images/dashboard/time.svg | 14 + assets/images/dashboard/travis-logo.svg | 28 + assets/scripts/app/templates/dashboard.hbs | 67 +- .../app/templates/layouts/dashboard.hbs | 117 +- assets/styles/dashboard/a_foundation.scss | 1537 +++++++++++++++++ assets/styles/dashboard/dashboard.scss | 635 ++++++- public/styles/dashboard.css | 4 - 24 files changed, 3016 insertions(+), 9 deletions(-) create mode 100644 assets/images/dashboard/cal.svg create mode 100644 assets/images/dashboard/footer-logo.svg create mode 100644 assets/images/dashboard/gravatar.png create mode 100644 assets/images/dashboard/health-stats.svg create mode 100644 assets/images/dashboard/orgs-eurucamp.png create mode 100644 assets/images/dashboard/orgs-openkarma.png create mode 100644 assets/images/dashboard/orgs-saltinejustine.png create mode 100644 assets/images/dashboard/orgs-travisci.png create mode 100644 assets/images/dashboard/private-icon.svg create mode 100644 assets/images/dashboard/search-icon.svg create mode 100644 assets/images/dashboard/star-off.svg create mode 100644 assets/images/dashboard/star-on.svg create mode 100644 assets/images/dashboard/status-cancelled.svg create mode 100644 assets/images/dashboard/status-errored.svg create mode 100644 assets/images/dashboard/status-failed.svg create mode 100644 assets/images/dashboard/status-passed.svg create mode 100644 assets/images/dashboard/status-pending.svg create mode 100644 assets/images/dashboard/time.svg create mode 100644 assets/images/dashboard/travis-logo.svg create mode 100644 assets/styles/dashboard/a_foundation.scss delete mode 100644 public/styles/dashboard.css diff --git a/assets/images/dashboard/cal.svg b/assets/images/dashboard/cal.svg new file mode 100644 index 00000000..6bc52dd7 --- /dev/null +++ b/assets/images/dashboard/cal.svg @@ -0,0 +1,22 @@ + + + + + + + + + + diff --git a/assets/images/dashboard/footer-logo.svg b/assets/images/dashboard/footer-logo.svg new file mode 100644 index 00000000..e63fcf97 --- /dev/null +++ b/assets/images/dashboard/footer-logo.svg @@ -0,0 +1,491 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/dashboard/gravatar.png b/assets/images/dashboard/gravatar.png new file mode 100644 index 0000000000000000000000000000000000000000..cabf8b185b5447724913fed6d0d948172f6deb2d GIT binary patch literal 2361 zcmV-93C8w`P)1H;&IlJd~ zp5JqM-}l6@ZCk!55BHOtLJ0@R1`&`koYw@wm*i z_*?uhyzs5#hYueP#Mk3(%PSF?o}Q8G*RIL+>(}LLd-lk|7Y|BfQ?vZOw|C&T=X!hG zZdXqz6bgTC%+%J@`duFPiK;4J_v*^3c-(IJO2;lS@L4>*E|cTqQd(9jmTk$c8#iTY zd_qb}OWOeCq-9wr>+9>^FvK`9duR4Pf-)Zoq_*z3=`wG7Jf80I@^V>Qi%HMv(^7%= zy!c-)UzWM~dD*?YO`d;#uXMfilKkZ5mt}Wbo0OE4h-KLTZ5%U9W4y7csq2Zr)YaAd z0Hg@XV1uMzj{r2&!2ZTQdcX6 zK{o-AX;$LU?^^u+6aTemYHDhNZkM~wbi1T-(I<`hS^q9R-(J#|K0D%&wl<3soGp6b9d&Xsi{JcAjnXv;K{cXR}UAANM{kznW%+qSw*!xSV&YHDlb#e+YRhQ>zq z$XYBa^#BmVD;G}ULiP1q$)vP?`DtZ}L|ax`hKGlEVO=-NK4qhDv1s(TM4s)~BhCI6P;4kmMc8>wZ5^mj;qO(6uCD48lBtyVd{vOcBV}b} z5`mO|xo|-e@r0T3%5o$kON)zgIlJb@dd;-8jVVMd4>96XmChIMn+^E{%CAyl*Yyel`F-a<4LBNv2~}tm)Z=L=}09Dy?HUAe18zX$?%o!OR8k8MRJtZ!9qqVgam3Ft( zAx+iQH8KOhgM))|^X5%00Zb$rbW&tIh(=!sD3M46at3Z_Xz(F|m86>=0;wWKZ_z0J z?Sl`b7-p{DT2GV9=;)YC&CJMqfBusU3_5a9%HiP=1vEK12`?-{X{)fhN+BSsU^+?k z=a>PA_DlhA9FN_gA8E~4hX-zbdP}ZexgvqUx24GCrp}UpBwu~z85F|J+OI}NhGb}H zSXmi`OqTkh5J>*t+^mrS1XWr#EP6_-?bI2@nURgfV)BPSz9$EM@I(3OE3Y8(#hNUF ziXh&M@U`pzbYdTx(Nxhd*}B5r%L6i5V4tlS*CD@~WZJxENW^F=G^(*2tKf8_xHW8_^4s zE}IDPMJ|^04=XNrT3TEp@4w$C!#8eVzNtaHD!-gi_Bq+i3@k zc5VFF1^y8&fc!42c@7LFv0!s^Gv2xM!eoW@fW3+F=95x+Opg|_*-%J!?A(DgJuM}W zZ0F9M(u_(S2}dB;HI4NG&UK1s`hIxw3{3^tzudZU>r#PdQpwZ+cGISf&T^_GYmLoH z3@VE;C=sZd+vHeLDHuO>#wqd?!9yNdS_;dyZ7oRKr?O-$X}4y3a4Ignc;7qpi2{w2 zH+#I$Gp3lTj98f`Db5<1jgnG%!4x;fV^#1>Ig&fgCLckYBYnt^lksh$1F3?Np9UNXd{ z7+zj+c2>s) zc4D%~cut`WpwCD#q|=4-8)Y6a+s>ux6j&L5)ZM{RM@LiXWO8V0Qo66LWe1h_Pa|u9BJn~j$etwSn1#nh`b-)>p9NPKn%(%9e zcs9h)Y)Eh9$PQVF#n!YwY0>cg!~@PGFIng7Sb flrPZZ-vSH(Iv6`{B=41D00000NkvXXu0mjfb*zck literal 0 HcmV?d00001 diff --git a/assets/images/dashboard/health-stats.svg b/assets/images/dashboard/health-stats.svg new file mode 100644 index 00000000..47ca9902 --- /dev/null +++ b/assets/images/dashboard/health-stats.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + diff --git a/assets/images/dashboard/orgs-eurucamp.png b/assets/images/dashboard/orgs-eurucamp.png new file mode 100644 index 0000000000000000000000000000000000000000..4e52ceb622b95a904f1003bfd7c3ccd87f072613 GIT binary patch literal 4919 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 Ri#Yq0rKO<@FHuJZ{s-|9`62)S literal 0 HcmV?d00001 diff --git a/assets/images/dashboard/orgs-openkarma.png b/assets/images/dashboard/orgs-openkarma.png new file mode 100644 index 0000000000000000000000000000000000000000..4e02f61c656d1834e2c9ff44dd00444f4a460b9e GIT binary patch literal 7787 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 iN=Sqw^G81v6QlOx+}N)*=O#?uV1Bp@S)i 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 + + + + + + + diff --git a/assets/images/dashboard/search-icon.svg b/assets/images/dashboard/search-icon.svg new file mode 100644 index 00000000..32cf04c0 --- /dev/null +++ b/assets/images/dashboard/search-icon.svg @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/assets/images/dashboard/star-off.svg b/assets/images/dashboard/star-off.svg new file mode 100644 index 00000000..d2e41ebf --- /dev/null +++ b/assets/images/dashboard/star-off.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/images/dashboard/star-on.svg b/assets/images/dashboard/star-on.svg new file mode 100644 index 00000000..61b73a98 --- /dev/null +++ b/assets/images/dashboard/star-on.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/assets/images/dashboard/status-cancelled.svg b/assets/images/dashboard/status-cancelled.svg new file mode 100644 index 00000000..91c180d7 --- /dev/null +++ b/assets/images/dashboard/status-cancelled.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/assets/images/dashboard/status-errored.svg b/assets/images/dashboard/status-errored.svg new file mode 100644 index 00000000..fa691c36 --- /dev/null +++ b/assets/images/dashboard/status-errored.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/assets/images/dashboard/status-failed.svg b/assets/images/dashboard/status-failed.svg new file mode 100644 index 00000000..86107baa --- /dev/null +++ b/assets/images/dashboard/status-failed.svg @@ -0,0 +1,9 @@ + + + + + + diff --git a/assets/images/dashboard/status-passed.svg b/assets/images/dashboard/status-passed.svg new file mode 100644 index 00000000..93e75a67 --- /dev/null +++ b/assets/images/dashboard/status-passed.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/images/dashboard/status-pending.svg b/assets/images/dashboard/status-pending.svg new file mode 100644 index 00000000..e5b19378 --- /dev/null +++ b/assets/images/dashboard/status-pending.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/assets/images/dashboard/time.svg b/assets/images/dashboard/time.svg new file mode 100644 index 00000000..123f6c41 --- /dev/null +++ b/assets/images/dashboard/time.svg @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/assets/images/dashboard/travis-logo.svg b/assets/images/dashboard/travis-logo.svg new file mode 100644 index 00000000..47b7e4c9 --- /dev/null +++ b/assets/images/dashboard/travis-logo.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + diff --git a/assets/scripts/app/templates/dashboard.hbs b/assets/scripts/app/templates/dashboard.hbs index 76de1c7a..4c1fcaee 100644 --- a/assets/scripts/app/templates/dashboard.hbs +++ b/assets/scripts/app/templates/dashboard.hbs @@ -1 +1,66 @@ -

DASHBOARD GOES HERE!

+
+
+
+
+
+
+
+

travis-ci

+

travisbot

+
56 sec
+
1 day ago
+

#3286 Failed

+
+
+
+
+
+
+
+
+
+
+

travis-ci

+

travis-cookbooks

+
Private
+
27 sec
+
3 min ago
+

#3286 Started

+
+
+
+
+
+ +
+
+
+
+
+

travis-ci

+

docs-travis-ci-com

+
4 min 5 sec
+
1 day ago
+

#3286 Passed

+
+
+
+
+
+
+
+
+
+
+

travis-ci

+

travis-worker

+
11 min 12 sec
+
2 days ago
+

#3286 Passed

+
+
+
+
+
+
+
diff --git a/assets/scripts/app/templates/layouts/dashboard.hbs b/assets/scripts/app/templates/layouts/dashboard.hbs index 8fd17179..6f8fbbe8 100644 --- a/assets/scripts/app/templates/layouts/dashboard.hbs +++ b/assets/scripts/app/templates/layouts/dashboard.hbs @@ -1,5 +1,118 @@ -{{#link-to "main"}}Home{{/link-to}} +
+
+
+ + + +
+
    +
  • +

    Justine Arreche

    + +
      +
    • Help
    • +
    • Sign Out
    • +
    +
  • +
+
+
+
+ + {{yield}} -END +
+ + \ No newline at end of file diff --git a/assets/styles/dashboard/a_foundation.scss b/assets/styles/dashboard/a_foundation.scss new file mode 100644 index 00000000..dab690ad --- /dev/null +++ b/assets/styles/dashboard/a_foundation.scss @@ -0,0 +1,1537 @@ +meta.foundation-version { + font-family: "/5.5.0/"; } + +meta.foundation-mq-small { + font-family: "/only screen/"; + width: 0; } + +meta.foundation-mq-small-only { + font-family: "/only screen and (max-width: 40em)/"; + width: 0; } + +meta.foundation-mq-medium { + font-family: "/only screen and (min-width:40.063em)/"; + width: 40.063em; } + +meta.foundation-mq-medium-only { + font-family: "/only screen and (min-width:40.063em) and (max-width:64em)/"; + width: 40.063em; } + +meta.foundation-mq-large { + font-family: "/only screen and (min-width:64.063em)/"; + width: 64.063em; } + +meta.foundation-mq-large-only { + font-family: "/only screen and (min-width:64.063em) and (max-width:90em)/"; + width: 64.063em; } + +meta.foundation-mq-xlarge { + font-family: "/only screen and (min-width:90.063em)/"; + width: 90.063em; } + +meta.foundation-mq-xlarge-only { + font-family: "/only screen and (min-width:90.063em) and (max-width:120em)/"; + width: 90.063em; } + +meta.foundation-mq-xxlarge { + font-family: "/only screen and (min-width:120.063em)/"; + width: 120.063em; } + +meta.foundation-data-attribute-namespace { + font-family: false; } + +html, body { + height: 100%; } + +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +html, +body { + font-size: 100%; } + +body { + background: #fff; + color: #5e6872; + padding: 0; + margin: 0; + font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; + font-weight: normal; + font-style: normal; + line-height: 1.5; + position: relative; + cursor: auto; } + +a:hover { + cursor: pointer; } + +img { + max-width: 100%; + height: auto; } + +img { + -ms-interpolation-mode: bicubic; } + +#map_canvas img, +#map_canvas embed, +#map_canvas object, +.map_canvas img, +.map_canvas embed, +.map_canvas object { + max-width: none !important; } + +.left { + float: left !important; } + +.right { + float: right !important; } + +.clearfix:before, .clearfix:after { + content: " "; + display: table; } +.clearfix:after { + clear: both; } + +.hide { + display: none !important; + visibility: hidden; } + +.invisible { + visibility: hidden; } + +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } + +img { + display: inline-block; + vertical-align: middle; } + +textarea { + height: auto; + min-height: 50px; } + +select { + width: 100%; } + +.row { + width: 100%; + margin-left: auto; + margin-right: auto; + margin-top: 0; + margin-bottom: 0; + max-width: 1024px; } + .row:before, .row:after { + content: " "; + display: table; } + .row:after { + clear: both; } + .row.collapse > .column, + .row.collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.collapse .row { + margin-left: 0; + margin-right: 0; } + .row .row { + width: auto; + margin-left: -0.9375em; + margin-right: -0.9375em; + margin-top: 0; + margin-bottom: 0; + max-width: none; } + .row .row:before, .row .row:after { + content: " "; + display: table; } + .row .row:after { + clear: both; } + .row .row.collapse { + width: auto; + margin: 0; + max-width: none; } + .row .row.collapse:before, .row .row.collapse:after { + content: " "; + display: table; } + .row .row.collapse:after { + clear: both; } + +.column, +.columns { + padding-left: 0.9375em; + padding-right: 0.9375em; + width: 100%; + float: left; } + +[class*="column"] + [class*="column"]:last-child { + float: right; } + +[class*="column"] + [class*="column"].end { + float: left; } + +@media only screen { + .small-push-0 { + position: relative; + left: 0%; + right: auto; } + + .small-pull-0 { + position: relative; + right: 0%; + left: auto; } + + .small-push-1 { + position: relative; + left: 8.33333%; + right: auto; } + + .small-pull-1 { + position: relative; + right: 8.33333%; + left: auto; } + + .small-push-2 { + position: relative; + left: 16.66667%; + right: auto; } + + .small-pull-2 { + position: relative; + right: 16.66667%; + left: auto; } + + .small-push-3 { + position: relative; + left: 25%; + right: auto; } + + .small-pull-3 { + position: relative; + right: 25%; + left: auto; } + + .small-push-4 { + position: relative; + left: 33.33333%; + right: auto; } + + .small-pull-4 { + position: relative; + right: 33.33333%; + left: auto; } + + .small-push-5 { + position: relative; + left: 41.66667%; + right: auto; } + + .small-pull-5 { + position: relative; + right: 41.66667%; + left: auto; } + + .small-push-6 { + position: relative; + left: 50%; + right: auto; } + + .small-pull-6 { + position: relative; + right: 50%; + left: auto; } + + .small-push-7 { + position: relative; + left: 58.33333%; + right: auto; } + + .small-pull-7 { + position: relative; + right: 58.33333%; + left: auto; } + + .small-push-8 { + position: relative; + left: 66.66667%; + right: auto; } + + .small-pull-8 { + position: relative; + right: 66.66667%; + left: auto; } + + .small-push-9 { + position: relative; + left: 75%; + right: auto; } + + .small-pull-9 { + position: relative; + right: 75%; + left: auto; } + + .small-push-10 { + position: relative; + left: 83.33333%; + right: auto; } + + .small-pull-10 { + position: relative; + right: 83.33333%; + left: auto; } + + .small-push-11 { + position: relative; + left: 91.66667%; + right: auto; } + + .small-pull-11 { + position: relative; + right: 91.66667%; + left: auto; } + + .column, + .columns { + position: relative; + padding-left: 0.9375em; + padding-right: 0.9375em; + float: left; } + + .small-1 { + width: 8.33333%; } + + .small-2 { + width: 16.66667%; } + + .small-3 { + width: 25%; } + + .small-4 { + width: 33.33333%; } + + .small-5 { + width: 41.66667%; } + + .small-6 { + width: 50%; } + + .small-7 { + width: 58.33333%; } + + .small-8 { + width: 66.66667%; } + + .small-9 { + width: 75%; } + + .small-10 { + width: 83.33333%; } + + .small-11 { + width: 91.66667%; } + + .small-12 { + width: 100%; } + + .small-offset-0 { + margin-left: 0% !important; } + + .small-offset-1 { + margin-left: 8.33333% !important; } + + .small-offset-2 { + margin-left: 16.66667% !important; } + + .small-offset-3 { + margin-left: 25% !important; } + + .small-offset-4 { + margin-left: 33.33333% !important; } + + .small-offset-5 { + margin-left: 41.66667% !important; } + + .small-offset-6 { + margin-left: 50% !important; } + + .small-offset-7 { + margin-left: 58.33333% !important; } + + .small-offset-8 { + margin-left: 66.66667% !important; } + + .small-offset-9 { + margin-left: 75% !important; } + + .small-offset-10 { + margin-left: 83.33333% !important; } + + .small-offset-11 { + margin-left: 91.66667% !important; } + + .small-reset-order { + margin-left: 0; + margin-right: 0; + left: auto; + right: auto; + float: left; } + + .column.small-centered, + .columns.small-centered { + margin-left: auto; + margin-right: auto; + float: none; } + + .column.small-uncentered, + .columns.small-uncentered { + margin-left: 0; + margin-right: 0; + float: left; } + + .column.small-centered:last-child, + .columns.small-centered:last-child { + float: none; } + + .column.small-uncentered:last-child, + .columns.small-uncentered:last-child { + float: left; } + + .column.small-uncentered.opposite, + .columns.small-uncentered.opposite { + float: right; } + + .row.small-collapse > .column, + .row.small-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.small-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.small-uncollapse > .column, + .row.small-uncollapse > .columns { + padding-left: 0.9375em; + padding-right: 0.9375em; + float: left; } } +@media only screen and (min-width: 40.063em) { + .medium-push-0 { + position: relative; + left: 0%; + right: auto; } + + .medium-pull-0 { + position: relative; + right: 0%; + left: auto; } + + .medium-push-1 { + position: relative; + left: 8.33333%; + right: auto; } + + .medium-pull-1 { + position: relative; + right: 8.33333%; + left: auto; } + + .medium-push-2 { + position: relative; + left: 16.66667%; + right: auto; } + + .medium-pull-2 { + position: relative; + right: 16.66667%; + left: auto; } + + .medium-push-3 { + position: relative; + left: 25%; + right: auto; } + + .medium-pull-3 { + position: relative; + right: 25%; + left: auto; } + + .medium-push-4 { + position: relative; + left: 33.33333%; + right: auto; } + + .medium-pull-4 { + position: relative; + right: 33.33333%; + left: auto; } + + .medium-push-5 { + position: relative; + left: 41.66667%; + right: auto; } + + .medium-pull-5 { + position: relative; + right: 41.66667%; + left: auto; } + + .medium-push-6 { + position: relative; + left: 50%; + right: auto; } + + .medium-pull-6 { + position: relative; + right: 50%; + left: auto; } + + .medium-push-7 { + position: relative; + left: 58.33333%; + right: auto; } + + .medium-pull-7 { + position: relative; + right: 58.33333%; + left: auto; } + + .medium-push-8 { + position: relative; + left: 66.66667%; + right: auto; } + + .medium-pull-8 { + position: relative; + right: 66.66667%; + left: auto; } + + .medium-push-9 { + position: relative; + left: 75%; + right: auto; } + + .medium-pull-9 { + position: relative; + right: 75%; + left: auto; } + + .medium-push-10 { + position: relative; + left: 83.33333%; + right: auto; } + + .medium-pull-10 { + position: relative; + right: 83.33333%; + left: auto; } + + .medium-push-11 { + position: relative; + left: 91.66667%; + right: auto; } + + .medium-pull-11 { + position: relative; + right: 91.66667%; + left: auto; } + + .column, + .columns { + position: relative; + padding-left: 0.9375em; + padding-right: 0.9375em; + float: left; } + + .medium-1 { + width: 8.33333%; } + + .medium-2 { + width: 16.66667%; } + + .medium-3 { + width: 25%; } + + .medium-4 { + width: 33.33333%; } + + .medium-5 { + width: 41.66667%; } + + .medium-6 { + width: 50%; } + + .medium-7 { + width: 58.33333%; } + + .medium-8 { + width: 66.66667%; } + + .medium-9 { + width: 75%; } + + .medium-10 { + width: 83.33333%; } + + .medium-11 { + width: 91.66667%; } + + .medium-12 { + width: 100%; } + + .medium-offset-0 { + margin-left: 0% !important; } + + .medium-offset-1 { + margin-left: 8.33333% !important; } + + .medium-offset-2 { + margin-left: 16.66667% !important; } + + .medium-offset-3 { + margin-left: 25% !important; } + + .medium-offset-4 { + margin-left: 33.33333% !important; } + + .medium-offset-5 { + margin-left: 41.66667% !important; } + + .medium-offset-6 { + margin-left: 50% !important; } + + .medium-offset-7 { + margin-left: 58.33333% !important; } + + .medium-offset-8 { + margin-left: 66.66667% !important; } + + .medium-offset-9 { + margin-left: 75% !important; } + + .medium-offset-10 { + margin-left: 83.33333% !important; } + + .medium-offset-11 { + margin-left: 91.66667% !important; } + + .medium-reset-order { + margin-left: 0; + margin-right: 0; + left: auto; + right: auto; + float: left; } + + .column.medium-centered, + .columns.medium-centered { + margin-left: auto; + margin-right: auto; + float: none; } + + .column.medium-uncentered, + .columns.medium-uncentered { + margin-left: 0; + margin-right: 0; + float: left; } + + .column.medium-centered:last-child, + .columns.medium-centered:last-child { + float: none; } + + .column.medium-uncentered:last-child, + .columns.medium-uncentered:last-child { + float: left; } + + .column.medium-uncentered.opposite, + .columns.medium-uncentered.opposite { + float: right; } + + .row.medium-collapse > .column, + .row.medium-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.medium-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.medium-uncollapse > .column, + .row.medium-uncollapse > .columns { + padding-left: 0.9375em; + padding-right: 0.9375em; + float: left; } + + .push-0 { + position: relative; + left: 0%; + right: auto; } + + .pull-0 { + position: relative; + right: 0%; + left: auto; } + + .push-1 { + position: relative; + left: 8.33333%; + right: auto; } + + .pull-1 { + position: relative; + right: 8.33333%; + left: auto; } + + .push-2 { + position: relative; + left: 16.66667%; + right: auto; } + + .pull-2 { + position: relative; + right: 16.66667%; + left: auto; } + + .push-3 { + position: relative; + left: 25%; + right: auto; } + + .pull-3 { + position: relative; + right: 25%; + left: auto; } + + .push-4 { + position: relative; + left: 33.33333%; + right: auto; } + + .pull-4 { + position: relative; + right: 33.33333%; + left: auto; } + + .push-5 { + position: relative; + left: 41.66667%; + right: auto; } + + .pull-5 { + position: relative; + right: 41.66667%; + left: auto; } + + .push-6 { + position: relative; + left: 50%; + right: auto; } + + .pull-6 { + position: relative; + right: 50%; + left: auto; } + + .push-7 { + position: relative; + left: 58.33333%; + right: auto; } + + .pull-7 { + position: relative; + right: 58.33333%; + left: auto; } + + .push-8 { + position: relative; + left: 66.66667%; + right: auto; } + + .pull-8 { + position: relative; + right: 66.66667%; + left: auto; } + + .push-9 { + position: relative; + left: 75%; + right: auto; } + + .pull-9 { + position: relative; + right: 75%; + left: auto; } + + .push-10 { + position: relative; + left: 83.33333%; + right: auto; } + + .pull-10 { + position: relative; + right: 83.33333%; + left: auto; } + + .push-11 { + position: relative; + left: 91.66667%; + right: auto; } + + .pull-11 { + position: relative; + right: 91.66667%; + left: auto; } } +@media only screen and (min-width: 64.063em) { + .large-push-0 { + position: relative; + left: 0%; + right: auto; } + + .large-pull-0 { + position: relative; + right: 0%; + left: auto; } + + .large-push-1 { + position: relative; + left: 8.33333%; + right: auto; } + + .large-pull-1 { + position: relative; + right: 8.33333%; + left: auto; } + + .large-push-2 { + position: relative; + left: 16.66667%; + right: auto; } + + .large-pull-2 { + position: relative; + right: 16.66667%; + left: auto; } + + .large-push-3 { + position: relative; + left: 25%; + right: auto; } + + .large-pull-3 { + position: relative; + right: 25%; + left: auto; } + + .large-push-4 { + position: relative; + left: 33.33333%; + right: auto; } + + .large-pull-4 { + position: relative; + right: 33.33333%; + left: auto; } + + .large-push-5 { + position: relative; + left: 41.66667%; + right: auto; } + + .large-pull-5 { + position: relative; + right: 41.66667%; + left: auto; } + + .large-push-6 { + position: relative; + left: 50%; + right: auto; } + + .large-pull-6 { + position: relative; + right: 50%; + left: auto; } + + .large-push-7 { + position: relative; + left: 58.33333%; + right: auto; } + + .large-pull-7 { + position: relative; + right: 58.33333%; + left: auto; } + + .large-push-8 { + position: relative; + left: 66.66667%; + right: auto; } + + .large-pull-8 { + position: relative; + right: 66.66667%; + left: auto; } + + .large-push-9 { + position: relative; + left: 75%; + right: auto; } + + .large-pull-9 { + position: relative; + right: 75%; + left: auto; } + + .large-push-10 { + position: relative; + left: 83.33333%; + right: auto; } + + .large-pull-10 { + position: relative; + right: 83.33333%; + left: auto; } + + .large-push-11 { + position: relative; + left: 91.66667%; + right: auto; } + + .large-pull-11 { + position: relative; + right: 91.66667%; + left: auto; } + + .column, + .columns { + position: relative; + padding-left: 0.9375em; + padding-right: 0.9375em; + float: left; } + + .large-1 { + width: 8.33333%; } + + .large-2 { + width: 16.66667%; } + + .large-3 { + width: 25%; } + + .large-4 { + width: 33.33333%; } + + .large-5 { + width: 41.66667%; } + + .large-6 { + width: 50%; } + + .large-7 { + width: 58.33333%; } + + .large-8 { + width: 66.66667%; } + + .large-9 { + width: 75%; } + + .large-10 { + width: 83.33333%; } + + .large-11 { + width: 91.66667%; } + + .large-12 { + width: 100%; } + + .large-offset-0 { + margin-left: 0% !important; } + + .large-offset-1 { + margin-left: 8.33333% !important; } + + .large-offset-2 { + margin-left: 16.66667% !important; } + + .large-offset-3 { + margin-left: 25% !important; } + + .large-offset-4 { + margin-left: 33.33333% !important; } + + .large-offset-5 { + margin-left: 41.66667% !important; } + + .large-offset-6 { + margin-left: 50% !important; } + + .large-offset-7 { + margin-left: 58.33333% !important; } + + .large-offset-8 { + margin-left: 66.66667% !important; } + + .large-offset-9 { + margin-left: 75% !important; } + + .large-offset-10 { + margin-left: 83.33333% !important; } + + .large-offset-11 { + margin-left: 91.66667% !important; } + + .large-reset-order { + margin-left: 0; + margin-right: 0; + left: auto; + right: auto; + float: left; } + + .column.large-centered, + .columns.large-centered { + margin-left: auto; + margin-right: auto; + float: none; } + + .column.large-uncentered, + .columns.large-uncentered { + margin-left: 0; + margin-right: 0; + float: left; } + + .column.large-centered:last-child, + .columns.large-centered:last-child { + float: none; } + + .column.large-uncentered:last-child, + .columns.large-uncentered:last-child { + float: left; } + + .column.large-uncentered.opposite, + .columns.large-uncentered.opposite { + float: right; } + + .row.large-collapse > .column, + .row.large-collapse > .columns { + padding-left: 0; + padding-right: 0; } + .row.large-collapse .row { + margin-left: 0; + margin-right: 0; } + .row.large-uncollapse > .column, + .row.large-uncollapse > .columns { + padding-left: 0.9375em; + padding-right: 0.9375em; + float: left; } + + .push-0 { + position: relative; + left: 0%; + right: auto; } + + .pull-0 { + position: relative; + right: 0%; + left: auto; } + + .push-1 { + position: relative; + left: 8.33333%; + right: auto; } + + .pull-1 { + position: relative; + right: 8.33333%; + left: auto; } + + .push-2 { + position: relative; + left: 16.66667%; + right: auto; } + + .pull-2 { + position: relative; + right: 16.66667%; + left: auto; } + + .push-3 { + position: relative; + left: 25%; + right: auto; } + + .pull-3 { + position: relative; + right: 25%; + left: auto; } + + .push-4 { + position: relative; + left: 33.33333%; + right: auto; } + + .pull-4 { + position: relative; + right: 33.33333%; + left: auto; } + + .push-5 { + position: relative; + left: 41.66667%; + right: auto; } + + .pull-5 { + position: relative; + right: 41.66667%; + left: auto; } + + .push-6 { + position: relative; + left: 50%; + right: auto; } + + .pull-6 { + position: relative; + right: 50%; + left: auto; } + + .push-7 { + position: relative; + left: 58.33333%; + right: auto; } + + .pull-7 { + position: relative; + right: 58.33333%; + left: auto; } + + .push-8 { + position: relative; + left: 66.66667%; + right: auto; } + + .pull-8 { + position: relative; + right: 66.66667%; + left: auto; } + + .push-9 { + position: relative; + left: 75%; + right: auto; } + + .pull-9 { + position: relative; + right: 75%; + left: auto; } + + .push-10 { + position: relative; + left: 83.33333%; + right: auto; } + + .pull-10 { + position: relative; + right: 83.33333%; + left: auto; } + + .push-11 { + position: relative; + left: 91.66667%; + right: auto; } + + .pull-11 { + position: relative; + right: 91.66667%; + left: auto; } } +.inline-list { + margin: 0 auto 1.0625rem auto; + margin-left: -1.375rem; + margin-right: 0; + padding: 0; + list-style: none; + overflow: hidden; } + .inline-list > li { + list-style: none; + float: left; + margin-left: 1.375rem; + display: block; } + .inline-list > li > * { + display: block; } + +/* Tooltips */ +.has-tip { + border-bottom: dotted 1px #CCCCCC; + cursor: help; + font-weight: bold; + color: #333333; } + .has-tip:hover, .has-tip:focus { + border-bottom: dotted 1px #17343e; + color: #347389; } + .has-tip.tip-left, .has-tip.tip-right { + float: none !important; } + +.tooltip { + display: none; + position: absolute; + z-index: 1006; + font-weight: normal; + font-size: 0.875rem; + line-height: 1.3; + padding: 0.75rem; + max-width: 300px; + left: 50%; + width: 100%; + color: #FFFFFF; + background: #333333; } + .tooltip > .nub { + display: block; + left: 5px; + position: absolute; + width: 0; + height: 0; + border: solid 5px; + border-color: transparent transparent #333333 transparent; + top: -10px; + pointer-events: none; } + .tooltip > .nub.rtl { + left: auto; + right: 5px; } + .tooltip.radius { + border-radius: 3px; } + .tooltip.round { + border-radius: 1000px; } + .tooltip.round > .nub { + left: 2rem; } + .tooltip.opened { + color: #347389 !important; + border-bottom: dotted 1px #17343e !important; } + +.tap-to-close { + display: block; + font-size: 0.625rem; + color: #777777; + font-weight: normal; } + +@media only screen and (min-width: 40.063em) { + .tooltip > .nub { + border-color: transparent transparent #333333 transparent; + top: -10px; } + .tooltip.tip-top > .nub { + border-color: #333333 transparent transparent transparent; + top: auto; + bottom: -10px; } + .tooltip.tip-left, .tooltip.tip-right { + float: none !important; } + .tooltip.tip-left > .nub { + border-color: transparent transparent transparent #333333; + right: -10px; + left: auto; + top: 50%; + margin-top: -5px; } + .tooltip.tip-right > .nub { + border-color: transparent #333333 transparent transparent; + right: auto; + left: -10px; + top: 50%; + margin-top: -5px; } } +[class*="block-grid-"] { + display: block; + padding: 0; + margin: 0 -0.625rem; } + [class*="block-grid-"]:before, [class*="block-grid-"]:after { + content: " "; + display: table; } + [class*="block-grid-"]:after { + clear: both; } + [class*="block-grid-"] > li { + display: block; + height: auto; + float: left; + padding: 0 0.625rem 1.25rem; } + +@media only screen { + .small-block-grid-1 > li { + width: 100%; + list-style: none; } + .small-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + + .small-block-grid-2 > li { + width: 50%; + list-style: none; } + .small-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + + .small-block-grid-3 > li { + width: 33.33333%; + list-style: none; } + .small-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + + .small-block-grid-4 > li { + width: 25%; + list-style: none; } + .small-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + + .small-block-grid-5 > li { + width: 20%; + list-style: none; } + .small-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + + .small-block-grid-6 > li { + width: 16.66667%; + list-style: none; } + .small-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + + .small-block-grid-7 > li { + width: 14.28571%; + list-style: none; } + .small-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + + .small-block-grid-8 > li { + width: 12.5%; + list-style: none; } + .small-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + + .small-block-grid-9 > li { + width: 11.11111%; + list-style: none; } + .small-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + + .small-block-grid-10 > li { + width: 10%; + list-style: none; } + .small-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + + .small-block-grid-11 > li { + width: 9.09091%; + list-style: none; } + .small-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + + .small-block-grid-12 > li { + width: 8.33333%; + list-style: none; } + .small-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .small-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } } +@media only screen and (min-width: 40.063em) { + .medium-block-grid-1 > li { + width: 100%; + list-style: none; } + .medium-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + + .medium-block-grid-2 > li { + width: 50%; + list-style: none; } + .medium-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + + .medium-block-grid-3 > li { + width: 33.33333%; + list-style: none; } + .medium-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + + .medium-block-grid-4 > li { + width: 25%; + list-style: none; } + .medium-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + + .medium-block-grid-5 > li { + width: 20%; + list-style: none; } + .medium-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + + .medium-block-grid-6 > li { + width: 16.66667%; + list-style: none; } + .medium-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + + .medium-block-grid-7 > li { + width: 14.28571%; + list-style: none; } + .medium-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + + .medium-block-grid-8 > li { + width: 12.5%; + list-style: none; } + .medium-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + + .medium-block-grid-9 > li { + width: 11.11111%; + list-style: none; } + .medium-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + + .medium-block-grid-10 > li { + width: 10%; + list-style: none; } + .medium-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + + .medium-block-grid-11 > li { + width: 9.09091%; + list-style: none; } + .medium-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + + .medium-block-grid-12 > li { + width: 8.33333%; + list-style: none; } + .medium-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .medium-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } } +@media only screen and (min-width: 64.063em) { + .large-block-grid-1 > li { + width: 100%; + list-style: none; } + .large-block-grid-1 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-1 > li:nth-of-type(1n+1) { + clear: both; } + + .large-block-grid-2 > li { + width: 50%; + list-style: none; } + .large-block-grid-2 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-2 > li:nth-of-type(2n+1) { + clear: both; } + + .large-block-grid-3 > li { + width: 33.33333%; + list-style: none; } + .large-block-grid-3 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-3 > li:nth-of-type(3n+1) { + clear: both; } + + .large-block-grid-4 > li { + width: 25%; + list-style: none; } + .large-block-grid-4 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-4 > li:nth-of-type(4n+1) { + clear: both; } + + .large-block-grid-5 > li { + width: 20%; + list-style: none; } + .large-block-grid-5 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-5 > li:nth-of-type(5n+1) { + clear: both; } + + .large-block-grid-6 > li { + width: 16.66667%; + list-style: none; } + .large-block-grid-6 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-6 > li:nth-of-type(6n+1) { + clear: both; } + + .large-block-grid-7 > li { + width: 14.28571%; + list-style: none; } + .large-block-grid-7 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-7 > li:nth-of-type(7n+1) { + clear: both; } + + .large-block-grid-8 > li { + width: 12.5%; + list-style: none; } + .large-block-grid-8 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-8 > li:nth-of-type(8n+1) { + clear: both; } + + .large-block-grid-9 > li { + width: 11.11111%; + list-style: none; } + .large-block-grid-9 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-9 > li:nth-of-type(9n+1) { + clear: both; } + + .large-block-grid-10 > li { + width: 10%; + list-style: none; } + .large-block-grid-10 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-10 > li:nth-of-type(10n+1) { + clear: both; } + + .large-block-grid-11 > li { + width: 9.09091%; + list-style: none; } + .large-block-grid-11 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-11 > li:nth-of-type(11n+1) { + clear: both; } + + .large-block-grid-12 > li { + width: 8.33333%; + list-style: none; } + .large-block-grid-12 > li:nth-of-type(1n) { + clear: none; } + .large-block-grid-12 > li:nth-of-type(12n+1) { + clear: both; } } diff --git a/assets/styles/dashboard/dashboard.scss b/assets/styles/dashboard/dashboard.scss index df030d25..de782631 100644 --- a/assets/styles/dashboard/dashboard.scss +++ b/assets/styles/dashboard/dashboard.scss @@ -1,3 +1,634 @@ -h1 { - color: #A80000; +html, body { + font-family : 'Source Sans Pro', Helvetica, sans-serif; + font-size : 16px; + line-height : 1.2em; + color : #838b8c; + margin : 0; + padding : 0; } + +a { + text-decoration : none; +} + +.no-padding { + padding : 0; +} + +#top { + position: static; + height : 55px; + font-size : 15px; + color : #e9e9e9; + line-height : 28px; + background : #404650; + overflow: hidden; +} + +#logo { + float : left; + width : 123px; + height : 55px; + margin-right : 14px; + text-indent : -9999px; + background : #dc4136 url('/images/dashboard/travis-logo.svg') no-repeat 20px 18px; +} + +.status-graph { + background : url('/images/dashboard/health-stats.svg') no-repeat; + background : contain; + margin-top : 17px; + height : 18px; + width : 78px; + text-indent : -9999px; +} + +#top #nav { + margin-top : 9px; +} + +#top #nav li { + margin-right : 15px; +} + +#top ul, li { + list-style-type : none; + display : inline-block; + padding : 0; + line-height : 14px; + margin-top : 6px; +} + +#top a { + color : #ffffff; +} + +#top a:hover { + color : #ADC7D0; +} + +#top p { + display : inline-block; +} + +#user { + text-align : right; + cursor : pointer; +} + +#user p { + display : none; +} + +#top img { + float : right; + margin : 5px 10px 0 10px; + width : 30px; + height : 30px; + border-radius : 100px; + -webkit-border-radius : 100px; + -moz-border-radius : 100px; +} + +#user ul { + text-align : left; + display : inline; + margin : 0; + padding : 15px 0 17px 0; + list-style : none; + z-index : 1000; +} + +#user ul li ul { + padding : 0; + position : absolute; + top : 45px; + right : 0; + width : 150px; + display : none; + opacity : 0; + visibility : hidden; +} + +#user ul li ul li { + background : #404650; + color : #ffffff; + display : block; + line-height : 18px; + padding : 8px 18px; + margin : 0; +} + +#user ul li ul li:last-child { + border-bottom-left-radius : 4px; + border-bottom-right-radius : 4px; +} + +#user ul li ul li:hover { + background : #5e869a; + color : #ffffff; +} + +#user ul li:hover ul { + display : block; + opacity : 1; + visibility : visible; +} + +.current-org-avatar { + display : inline-block; + height : 20px; + width : 20px; + vertical-align: top; + margin : -5px 5px 0 0; +} + +#filters-search { + background : #ffffff; + font-size : 14px; + padding : 5px 0 5px 0; + max-height : 44px; +} + +#filters { + float : left; +} + +#filters ul { + text-align : left; + display : inline; + margin : 0; + padding : 0; + list-style : none; + z-index : 1000; +} + +#filters ul li { + background : #fff; + position : relative; + display : inline-block; + padding : 10px 0 10px 0; + margin-right : -4px; + margin-top : 0; + cursor : pointer; + border-radius : 0px; + -webkit-border-radius : 0px; + -moz-border-radius : 0px; +} + +#filters li.filters-start:hover { + background-color : #fff; +} + +#filters ul li ul { + padding : 0; + position : absolute; + top : 35px; + left : 0; + width : 200px; + display : none; + opacity : 0; + visibility : hidden; + box-shadow : 2px 1px 4px 0px rgba(148,145,138,0.4); + -webkit-box-shadow : 2px 1px 4px 0px rgba(148,145,138,0.4); + -moz-box-shadow : 2px 1px 4px 0px rgba(148,145,138,0.4); +} + +#filters ul li ul li { + display : block; + line-height : 23px; + padding-left : 20px; +} + +#filters ul li ul li:first-child { + border-top-left-radius : 4px; + border-top-right-radius : 4px; +} + +#filters ul li ul li:last-child { + border-bottom-left-radius : 4px; + border-bottom-right-radius : 4px; +} + +#filters ul li ul li div { + display : inline-block; + width : 20px; + height : 20px; + margin-right : 5px; + text-indent : -9999px; + border-radius : 100px; + -webkit-border-radius : 100px; + -moz-border-radius : 100px; +} + +.org-travisci { + background : url('/images/dashboard/orgs-travisci.png') no-repeat; + background-size : contain; +} + +.org-saltinejustine { + background : url('/images/dashboard/orgs-saltinejustine.png') no-repeat; + background-size : contain; +} + +.org-openkarma { + background : url('/images/dashboard/orgs-openkarma.png') no-repeat; + background-size : contain; +} + +.org-eurucamp { + background : url('/images/dashboard/orgs-eurucamp.png') no-repeat; + background-size : contain; +} + +#filters ul li ul li:hover { + background : #5e869a; + color : #ffffff; +} + +#filters ul li:hover ul { + display : block; + opacity : 1; + visibility : visible; +} + +#views { + float : left; +} + +#views ul { + text-align : left; + display : inline; + margin : 0; + padding : 0; + list-style : none; + z-index : 1000; +} + +#views ul li { + background : #fff; + position : relative; + display : inline-block; + padding : 10px 0 10px 0; + margin-right : -4px; + margin-top : 0; + cursor : pointer; + border-radius : 0px; + -webkit-border-radius : 0px; + -moz-border-radius : 0px; +} + +#views li.views-start:hover { + background-color : #fff; +} + +#views ul li ul { + padding : 0; + position : absolute; + top : 35px; + left : 0; + width : 200px; + display : none; + opacity : 0; + visibility : hidden; + box-shadow : 2px 1px 4px 0px rgba(148,145,138,0.4); + -webkit-box-shadow : 2px 1px 4px 0px rgba(148,145,138,0.4); + -moz-box-shadow : 2px 1px 4px 0px rgba(148,145,138,0.4); +} + +#views ul li ul li { + display : block; + line-height : 23px; + padding-left : 20px; +} + +#views ul li ul li:first-child { + border-top-left-radius : 4px; + border-top-right-radius : 4px; +} + +#views ul li ul li:last-child { + border-bottom-left-radius : 4px; + border-bottom-right-radius : 4px; +} + +#views ul li ul li:hover { + background : #5e869a; + color : #ffffff; +} + +#views ul li:hover ul { + display : block; + opacity : 1; + visibility : visible; +} + +.currently-selected { + font-weight : 600; +} + +.arrow-down { + width : 0; + height : 0; + display : inline-block; + padding-top : 2px; + margin-left : 5px; + border-left : 5px solid transparent; + border-right : 5px solid transparent; + border-top : 5px solid #9d9fa1; +} + +#search { + float : right; +} + +#search ul { + text-align : left; + margin : 0; + padding-left : 0; + list-style : none; +} + +#search ul li { + position : relative; + display : inline-block; + padding : 9px 0 8px 0; + margin-top : 0; + width : 158px; + line-height : 17px; +} + +.search-icon { + background : url('/images/dashboard/search-icon.svg') no-repeat; + background-size : contain; + display : inline-block; + float : right; + height : 16px; + width : 16px; + text-indent : -9999px; +} + +.tiles { + background : #f4f3ea; + padding : 30px 0 10px 0; +} + +.tile { + background : #fff; + min-height : 125px; + color : #9d9fa1; + font-size : 14px; + margin-bottom : 20px; + padding : 0 10px 0 0; + border-radius : 4px; + -webkit-border-radius : 4px; + -moz-border-radius : 4px; +} + +.build-passed { + position : absolute; + background : #3ba85d url('/images/dashboard/status-passed.svg') no-repeat 7px 10px; + background-size : 20px 20px; + min-height : 125px; + width : 33px; + border-radius : 4px 0 0 4px; +} + +.build-failed { + position : absolute; + background : #d04729 url('/images/dashboard/status-failed.svg') no-repeat 7px 10px; + background-size : 20px 20px; + min-height : 125px; + width : 33px; + border-radius : 4px 0 0 4px; +} + +.build-pending { + position : absolute; + background : #d2ca28 url('/images/dashboard/status-pending.svg') no-repeat 7px 10px; + background-size : 20px 20px; + min-height : 125px; + width : 33px; + border-radius : 4px 0 0 4px; +} + +.build-errored { + position : absolute; + background : #bec0c2 url('/images/dashboard/status-errored.svg') no-repeat 7px 10px; + background-size : 20px 20px; + min-height : 125px; + width : 33px; + border-radius : 4px 0 0 4px; +} + +.tile .build-information { + padding-left : 45px; + padding-top : 8px; +} + +.tile .org { + margin : 0; +} + +.tile .repo { + font-size : 20px; + display : inline-block; + margin : 0; + max-width : 250px; + white-space : nowrap; + overflow : hidden; + text-overflow : ellipsis; +} + +p.org.passed { + color : #3ba85d; +} + +p.org.failed { + color : #d04729; +} + +p.org.pending { + color : #848032; +} + +p.org.errored { + color : #999999; +} + +p.repo.passed { + color : #3ba85d; +} + +p.repo.failed { + color : #d04729; +} + +p.repo.pending { + color : #848032; +} + +p.repo.errored { + color : #999999; +} + +p.build-status { + position : absolute; + bottom : 25px; +} + +p.build-status.passed { + color : #3ba85d; +} + +p.build-status.failed { + color : #d04729; +} + +p.build-status.pending { + color : #848032; +} + +p.repo.errored { + color : #999999; +} + +.duration, .finished { + margin-top : 8px; + background-repeat: no-repeat; + background-position: 0 1px; +} + +.duration { + background-image: url('/images/dashboard/time.svg'); + background-size : 11px 11px; + text-indent : 15px; + line-height : 13px; +} + +.finished { + background-image: url('/images/dashboard/cal.svg'); + background-size : 11px 11px; + text-indent : 15px; + line-height : 14px; +} + +.build-status { + margin-bottom : 0; +} + +.tile .star-feature { + position : absolute; + top : 0; + right : 0; + background : url('/images/dashboard/star-on.svg') no-repeat 7px 10px; + background-size : 20px 20px; +} + +.if_private { + display : inline-block; + background : url('/images/dashboard/private-icon.svg') no-repeat 0 0; + background-size : contain; + height : 12px; + width : 9px; + margin-left : 5px; + text-indent : -9999px; +} + +footer { + padding : 20px 0; + background-color : #e0e0e0; + min-height : 65px; + font-size : 12px; + line-height : 22px; + margin-top: -334px; /* sticky footer */ +} + +.wrapper { + padding-bottom: 334px; + min-height: 100%; + height: auto; +} +@media (min-width: 640px) { + .wrapper { + padding-bottom: 204px; + } + footer { + margin-top: -204px; + } +} + +footer h3 { + font-size : 15px; + margin : 0 0 10px 0; + padding-top : 6px; + font-weight : 400; + color : #8f9ba2; + border-top : solid 4px #ccd0d5; +} + +footer .row p { + display : inline-block; + margin : 0; +} + +footer .row ul, +footer .row li { + display : block; + color : #404650; + line-height : 22px; + padding : 0; + margin-top : 0; + list-style-type : none; +} + +footer a { + text-decoration : none; + display : inline-block; + color : #404650; +} + +footer a:hover, +footer a:active { + text-decoration : underline; +} + +a { + text-decoration : none; + display : block; + color : #404650; +} + +.status-circle { + background : #3ba85d; + display : inline-block; + height : 11px; + width : 11px; + text-indent : -9999px; + margin-right : 5px; + border-radius : 100px; + -webkit-border-radius : 100px; + -moz-border-radius : 100px; + vertical-align: middle; +} + + +@media only screen and (min-width: 64.063em) { + #top img { + margin : 5px 0 0 10px; + } +} + +@media only screen and (min-width: 640px) { + #top #status li { + display : inline-block; + } + + #user p { + display : inline-block; + } + + #search { + float : right; + } +} \ No newline at end of file diff --git a/public/styles/dashboard.css b/public/styles/dashboard.css deleted file mode 100644 index 5a39a2c8..00000000 --- a/public/styles/dashboard.css +++ /dev/null @@ -1,4 +0,0 @@ -/* line 1, /Users/drogus/code/travis/travis-web/assets/styles/dashboard/dashboard.scss */ -h1 { - color: #A80000; -}