diff --git a/.gitignore b/.gitignore index 764493cf2..b37b95097 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ drone *~ ~* *.sqlite +*.sqlite3 *.deb *.deb.* *.rpm diff --git a/cmd/drone-server/drone-server b/cmd/drone-server/drone-server deleted file mode 100755 index abd4d8bd8..000000000 Binary files a/cmd/drone-server/drone-server and /dev/null differ diff --git a/cmd/drone-server/static/index.html b/cmd/drone-server/static/index.html index 36bd223c7..3c9e6ff6a 100644 --- a/cmd/drone-server/static/index.html +++ b/cmd/drone-server/static/index.html @@ -1,17 +1,16 @@ - - - - - - - - - + + + + + + + + diff --git a/cmd/drone-server/static/scripts/views/builds/index/content.html b/cmd/drone-server/static/scripts/views/builds/index/content.html index cb113cdff..f3e33084d 100644 --- a/cmd/drone-server/static/scripts/views/builds/index/content.html +++ b/cmd/drone-server/static/scripts/views/builds/index/content.html @@ -1,18 +1,33 @@ -
-
- -
-
-
-
-

{{ build.head_commit.message }}

+
+
-
\ No newline at end of file + + + \ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/builds/index/toolbar.html b/cmd/drone-server/static/scripts/views/builds/index/toolbar.html index c79f647e2..e17ed49c9 100644 --- a/cmd/drone-server/static/scripts/views/builds/index/toolbar.html +++ b/cmd/drone-server/static/scripts/views/builds/index/toolbar.html @@ -1,18 +1,8 @@ - - - \ No newline at end of file +
    +
  1. + + arrow_back + +
  2. +
  3. {{repo.owner}} / {{repo.name}}
  4. +
\ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/builds/show/toolbar.html b/cmd/drone-server/static/scripts/views/builds/show/toolbar.html index 9dee2b14e..0c5190222 100644 --- a/cmd/drone-server/static/scripts/views/builds/show/toolbar.html +++ b/cmd/drone-server/static/scripts/views/builds/show/toolbar.html @@ -17,4 +17,15 @@ - \ No newline at end of file + + +
    +
  1. + + arrow_back + +
  2. +
  3. {{repo.owner}} / {{repo.name}}
  4. +
  5. chevron_right
  6. +
  7. {{build.number}}
  8. +
\ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/layout.html b/cmd/drone-server/static/scripts/views/layout.html index 6b2068f4d..0367ad0d2 100644 --- a/cmd/drone-server/static/scripts/views/layout.html +++ b/cmd/drone-server/static/scripts/views/layout.html @@ -1,15 +1,71 @@
- - - help - - - supervisor_account - - - settings - - {{ "+"+user.login }} +
+ +
-
-
\ No newline at end of file + +
+ + \ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/profile/content.html b/cmd/drone-server/static/scripts/views/profile/content.html index 4dd819d6c..af2551695 100644 --- a/cmd/drone-server/static/scripts/views/profile/content.html +++ b/cmd/drone-server/static/scripts/views/profile/content.html @@ -1,3 +1,4 @@ +

Login info

@@ -51,4 +52,5 @@
-
\ No newline at end of file + +
\ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/profile/toolbar.html b/cmd/drone-server/static/scripts/views/profile/toolbar.html index 6c829800f..89e320a1c 100644 --- a/cmd/drone-server/static/scripts/views/profile/toolbar.html +++ b/cmd/drone-server/static/scripts/views/profile/toolbar.html @@ -1,6 +1,8 @@ - \ No newline at end of file +
    +
  1. + + arrow_back + +
  2. +
  3. Profile
  4. +
\ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/repos/edit.html b/cmd/drone-server/static/scripts/views/repos/edit.html index efa5b872d..2d5ae0d54 100644 --- a/cmd/drone-server/static/scripts/views/repos/edit.html +++ b/cmd/drone-server/static/scripts/views/repos/edit.html @@ -1,3 +1,4 @@ +

Settings

@@ -72,4 +73,5 @@
{{ repo.keypair.public }}
-
\ No newline at end of file + +
\ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/repos/index/content.html b/cmd/drone-server/static/scripts/views/repos/index/content.html index 4e4169579..720e7e27c 100644 --- a/cmd/drone-server/static/scripts/views/repos/index/content.html +++ b/cmd/drone-server/static/scripts/views/repos/index/content.html @@ -1,14 +1,20 @@ -
-
- -
-
-
-
-

{{ repo.owner }} / {{ repo.name }}

-

{{ repo.clone_url }}

-
-
+
+
+ -
\ No newline at end of file + + + +
+ \ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/repos/index/toolbar.html b/cmd/drone-server/static/scripts/views/repos/index/toolbar.html index 851e529aa..595c6f206 100644 --- a/cmd/drone-server/static/scripts/views/repos/index/toolbar.html +++ b/cmd/drone-server/static/scripts/views/repos/index/toolbar.html @@ -1,9 +1 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/repos/toolbar.html b/cmd/drone-server/static/scripts/views/repos/toolbar.html index 6d7f1b35a..d575a5bbd 100644 --- a/cmd/drone-server/static/scripts/views/repos/toolbar.html +++ b/cmd/drone-server/static/scripts/views/repos/toolbar.html @@ -1,18 +1,8 @@ - - - \ No newline at end of file +
    +
  1. + + arrow_back + +
  2. +
  3. {{repo.owner}} / {{repo.name}}
  4. +
\ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/users/content.html b/cmd/drone-server/static/scripts/views/users/content.html index 225296808..69e4b9e9d 100644 --- a/cmd/drone-server/static/scripts/views/users/content.html +++ b/cmd/drone-server/static/scripts/views/users/content.html @@ -1,36 +1,20 @@ -
+
+
-
-
- - + -
-
+
    +
  • +
    + +
    +
    +

    {{ user.login }}

    +
    +
  • +
-
-
-
- -
-
-

{{ user.login }} - Admin -

-

{{ user.email }}

- - -
-
-
- - -
\ No newline at end of file +
+ \ No newline at end of file diff --git a/cmd/drone-server/static/scripts/views/users/toolbar.html b/cmd/drone-server/static/scripts/views/users/toolbar.html index 1db4fb575..af8cf68c6 100644 --- a/cmd/drone-server/static/scripts/views/users/toolbar.html +++ b/cmd/drone-server/static/scripts/views/users/toolbar.html @@ -1,6 +1,8 @@ - \ No newline at end of file +
    +
  1. + + arrow_back + +
  2. +
  3. Users
  4. +
\ No newline at end of file diff --git a/cmd/drone-server/static/styles/alert.css b/cmd/drone-server/static/styles/alert.css new file mode 100644 index 000000000..a487b7349 --- /dev/null +++ b/cmd/drone-server/static/styles/alert.css @@ -0,0 +1,48 @@ +.alert { + padding: 40px; + background-color: #F5F7F9; + color: #4f5b66; + text-align: center; + font-size: 16px; + border-radius:3px; + margin-bottom:30px; + position:relative; +} +.alert em { + font-weight: bold; + color: #2b303b; +} +.alert i.material-icons { + font-size: 42px; + display: block; + text-align: center; + width: 100%; + margin-bottom: 20px; +} +.alert-error { + background: #bf616a; + color: #fff; +} +.alert-create-not-found { + color: rgba(255,255,255,0.95); + background:#ebcb8b; + outline:none; + border:none; + width:100%; + cursor: pointer; + font-family: Roboto; +} +.alert-error em, +.alert-create-not-found em { + font-weight: bold; + color: #fff; + font-size: 120%; + margin-left:10px; +} + +/* I'm not sure at the moment if we want + * to display these icons or not + */ +.alert-create-not-found i.material-icons { + display:none; +} diff --git a/cmd/drone-server/static/styles/blankslate.css b/cmd/drone-server/static/styles/blankslate.css new file mode 100644 index 000000000..8c99a249d --- /dev/null +++ b/cmd/drone-server/static/styles/blankslate.css @@ -0,0 +1,13 @@ +.blankslate { + padding: 40px 20px; + background-color: #eff1f5; + color: #303030; + text-align: center; + font-size: 16px; +} +.blankslate.clean-background { + +} +.blankslate.spacious { + +} diff --git a/cmd/drone-server/static/styles/drone.css b/cmd/drone-server/static/styles/drone.css deleted file mode 100644 index b8f75d3c1..000000000 --- a/cmd/drone-server/static/styles/drone.css +++ /dev/null @@ -1,1872 +0,0 @@ -@import url(//fonts.googleapis.com/css?family=Roboto:300,400,600,900); -@import url(//fonts.googleapis.com/css?family=Droid+Sans+Mono); - -/* RESETS */ - -html, body { - margin: 0; - padding: 0; -} - -h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, em, img, q, s, samp, small, strike, strong, sub, sup, tt, var, dd, dl, dt, li, ol, ul, fieldset, form, label, legend, button, table, caption, tbody, tfoot, thead, tr, th, td { - margin: 0; - padding: 0; - border: 0; - font-weight: normal; - font-style: normal; - font-size: 100%; - line-height: 1; - font-family: inherit; -} - -table { - border-collapse: collapse; - border-spacing: 0; -} - -ol, ul { - list-style: none; -} - -q:before, q:after, blockquote:before, blockquote:after { - content: ""; -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -/* TRANSITIONS & ANIMATIONS */ - -.transition-fade { - -webkit-transition: all 0s ease-out; - -moz-transition: all 0s ease-out; - -o-transition: all 0s ease-out; - -ms-transition: all 0s ease-out; - transition: all 0s ease-out; -} - -.show .transition-fade { - -webkit-transition: all 0s ease-in; - -moz-transition: all 0s ease-in; - -o-transition: all 0s ease-in; - -ms-transition: all 0s ease-in; - transition: all 0s ease-in; -} - -/* FLEXBOX */ - -.flex-parent { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} - -.flex-center { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-align-items: center; - align-items: center; -} - -.flex-item { - -webkit-flex: 1 1 auto; - -moz-flex: 1 1 auto; - -o-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; -} - -/* TABLE MAGIC */ - -table { - padding: 0; - border-collapse: collapse; - width: auto; - min-height: 100%; -} - -tbody { - width: 100%; -} - -th, td, tr { - border: 0; - margin: 0; - padding-top: 0; - padding-bottom: 16px; -} - -tr { - border-bottom: solid 1px rgba(0, 0, 0, 0.025); - cursor: pointer; -} - -tr:first-of-type { - cursor: default; -} - -tr:not(:first-of-type):hover { - background-color: rgba(228, 241, 254, 0.2); -} - -th { - text-align: left; - font-weight: 400; - font-size: 12px; - color: rgba(0, 0, 0, 0.54); - text-transform: uppercase; - letter-spacing: 0.8px; - padding: 16px 24px; - height: 59px; -} - -td { - height: 72px; - vertical-align: middle; - font-weight: 400; - font-size: 14px; - color: rgba(0, 0, 0, 0.87); - line-height: 150%; - padding: 16px 24px; -} - -td.type-icon:first-of-type { - vertical-align: middle; - text-align: center; -} - -th:first-of-type, td:first-of-type { - padding-left: 32px; -} - -th:last-of-type, td:last-of-type { - padding-right: 32px; -} - -.status { - position: relative; -} - -.status.success:before { - font-size: 20px; - content: '\f084'; - color: #26A65B; -} - -.status.failure:before, -.status.killed:before, -.status.error:before { - font-size: 20px; - content: '\f082'; - color: #EF5350; - opacity: 0.85; -} - -/* CARD STUFF */ - -ul.cardset { - background-color: transparent; - width: 100%; - height: 100%; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-flex-flow: row wrap; - -ms-flex-flow: row wrap; - flex-flow: row wrap; - padding: 28px; - padding-top: 0; - margin-top: -8px; -} - -.cardset li { - -webkit-flex: 1 1 auto; - -moz-flex: 1 1 auto; - -o-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 25%; - padding: 0 4px; - outline: none; - -webkit-appearance: none; -} - -.cardset.list li { - -webkit-flex: 1 1 100%; - -moz-flex: 1 1 100%; - -o-flex: 1 1 100%; - -ms-flex: 1 1 100%; - flex: 1 1 100%; - padding: 4px; -} - -.cardset li.dummy { - -} - -.card { - width: 100%; - height: 260px; - background-color: #fff; - border-radius: 0; - box-shadow: 0 0 1px rgba(0, 0, 0, 0.125); - cursor: pointer; - overflow: hidden; - position: relative; - outline: none; - -webkit-appearance: none; -} - -.card a { - position: absolute; - top: 0; - right: 0; - left: 0; - bottom: 0; - width: 100%; - height: 100%; - z-index: 1; - -webkit-transition: all 0.15s ease; - -moz-transition: all 0.15s ease; - -o-transition: all 0.15s ease; - -ms-transition: all 0.15s ease; - transition: all 0.15s ease; -} - -.card a:hover { - background-color: rgba(52, 152, 219, 0.1); -} - -.card .top { - padding: 16px; - background-color: transparent; -} - -.card .bottom { - padding: 16px; - padding-top: 64px; - height: 220px; - background-color: transparent; -} - -.card .time-ran { - font-size: 12px; - line-height: 135%; - font-weight: 400; - color: #9a9a9a; - float: left; -} - -.card.success .time-ran { - color: #26A65B -} - -.card.killed .time-ran, -.card.error .time-ran, -.card.failure .time-ran { - color: #EF5350 -} - -.card .time-duration { - font-size: 12px; - line-height: 135%; - font-weight: 300; - color: #7c7c7c; - float: left; - clear: left; -} - -.card .status { - float: right; -} - -.card .title { - font-size: 16px; - line-height: 135%; - font-weight: 400; - color: #cfcfcf; - margin-bottom: 16px; -} - -.card .title.upper { - font-size: 13px; - color: #9a9a9a; - margin-bottom: 2px; -} - -.card .title.lower { - color: dfdfdf; -} - -.card .author { - font-size: 12px; - line-height: 135%; - font-weight: 400; - margin-bottom: 16px; - color: #afafaf; - position: absolute; - bottom: 0; -} - -.card .branch { - position: absolute; - bottom: 33px; - left: auto; - display: inline-block; - font-size: 12px; - line-height: 135%; - font-weight: 300; - text-transform: uppercase; - letter-spacing: 0.5px; - margin-bottom: 4px; - color: #eee; - padding: 1px 4px; - background-color: #7a7a7a -} - -.card .sha { - font-size: 11px; - line-height: 135%; - font-weight: 300; - text-transform: uppercase; - margin-bottom: 16px; - color: #8a8a8a; -} - -/* LIST */ - -.cardset.list { - margin-top: -8px; -} - -.cardset.list li { - padding: 0 4px; -} - -.list .card { - background-color: #fff; -} - -.list .card a:hover { - background-color: rgba(255, 255, 255, 0.05); -} - -.list .card .meta { - width: 120px; - margin-right: 32px; - float: left; -} - -.list .card .build-details { - width: 120px; - margin-right: 32px; - float: left; -} - -.list .card .details { - width: auto; - padding-right: 50px; - overflow: hidden; -} - -.list .card .push-details { - font-size: 13px; - line-height: 135%; - font-weight: 300; - color: #7a7a7a; - margin-bottom: 0; -} - -.list .card p span { - background-color: #8a8a8a; - padding: 1px 4px; - margin: 0 4px; - color: #000; - font-weight: 400; - letter-spacing: 0.5px; - font-size: 10px; -} - -.list .card { - height: auto; - padding-bottom: 0; - min-height: 70px; -} - -.list .card p { - margin-bottom: 2px; - font-size: 13px; - font-weight: 300; -} - -.list .card .build-number { - display: block; - width: 50px; - margin-right: 32px; - float: left; -} - -.list .card .build-number p { - display: inline-block; - font-size: 16px; - line-height: 135%; - font-weight: 300; - margin-bottom: 0; - color: #fff; - padding: 1px 6px; - border-radius: 5px; - min-width: 20px; - -} - -.success .build-number p { - background-color: #26A65B; -} - -.killed .build-number p, -.error .build-number p, -.failed .build-number p { - background-color: #EF5350; -} - -.list .card .message { - font-size: 14px; - line-height: 135%; - font-weight: 300; - color: #cfcfcf; - margin-bottom: 8px; - letter-spacing: 0.35px; -} - -.list .card .author { - position: static; - font-size: 20px; - line-height: 135%; - font-weight: 400; - clear: left; - color: #3f3f3f; - margin-bottom: 8px; -} - -.list .card .time-ran { - font-size: 13px; - line-height: 140%; - font-weight: 300; - color: #7a7a7a; - margin-bottom: 0; -} - -/* HALF LIST */ - -.cardset.list.commit-header { - padding-bottom: 0; - margin-bottom: 0; -} - -.cardset.list.commit-header .card { - min-height: 200px; - background-color: #282828; - margin-bottom: 0; - cursor: default; - border-bottom: none; -} - -.cardset.list.half-list { - margin-top: 4px; -} - -.cardset.list.half-list li { - -webkit-flex: 1 1 50%; - -moz-flex: 1 1 50%; - -o-flex: 1 1 50%; - -ms-flex: 1 1 50%; - flex: 1 1 50%; - padding: 4px; - margin-bottom: 0; -} - -.cardset.list.half-list .card { - height: 80px; -} - -.cardset.list.half-list .status { - float: left; - width: 50px; -} - -.cardset.list.half-list .details { - padding-left: 0; -} - -.dummy .card { - background-color: rgba(255, 255, 255, 0.05); - box-shadow: none; - cursor: default; -} - -.dummy:nth-last-child(1) .card, .dummy:nth-last-child(1) .card, .dummy:nth-last-child(1) .card, .dummy:nth-last-child(1) .card { - display: none; -} - -.half-list .dummy .card { - display: none !important; -} - -/* OUTPUT */ - -.card.output { - background-color: rgba(0, 0, 0, 0.5); - padding: 16px; - margin-top: 4px; -} - -/* DATASET */ - -.card .dataset { - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-flex-flow: row wrap; - flex-flow: row wrap; - padding: 16px 0; - position: relative; -} - -.card .dataset a { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - width: 100%; - border-radius: 0; -} - -.card .dataset a:hover { - background-color: rgba(52, 152, 219, 0.05); -} - -.card .dataset > div { - padding: 0 16px; - padding-bottom: 0; - -webkit-box-flex: 1 1 auto; - -moz-box-flex: 1 1 auto; - -webkit-flex: 1 1 auto; - -ms-flex: 1 1 auto; - flex: 1 1 auto; -} - -.card .dataset p { - font-size: 16px; - font-weight: 400; - line-height: 135%; -} - -.card .dataset > div:nth-of-type(1) { - -webkit-box-flex: 0 0 128px; - -moz-box-flex: 0 0 128px; - -webkit-flex: 0 0 128px; - -ms-flex: 0 0 128px; - flex: 0 0 128px; -} - -.card .dataset > div:nth-of-type(2) { - -} - -.card .dataset > div:nth-of-type(3) { - text-align: left; - -webkit-box-flex: 1 1 300px; - -moz-box-flex: 1 1 300px; - -webkit-flex: 1 1 300px; - -ms-flex: 1 1 300px; - flex: 1 1 300px; - margin-left: 128px; -} - -.card .dataset .number { - padding: 5px; - display: inline-block; - width: 60px; - border-radius: 5px; - color: #fafafa; - font-size: 16px; - text-align: center; -} - -.card.success .dataset .number { - background-color: #26A65B; -} - -.card.error .dataset .number, -.card.killed .dataset .number, -.card.failure .dataset .number { - background-color: #EF5350; -} - -.card .dataset .branch-sha { - font-size: 17px -} - -.card .dataset .author-time { - font-size: 14px; - font-weight: 400; - color: #bababa; -} - -.card .dataset .commit-message { - font-size: 14px; - font-weight: 400; - color: #7f7f7f; -} - -/* STRUCTURE */ - -html { - margin: 0; - padding: 0; - font-family: "Roboto", "Arial"; - font-weight: 300; - font-size: 16px; - height: 100%; - -} - -body { - margin: 0; - padding: 0; - height: 100%; - background: #fafafa; - padding-bottom: 72px; -} - -.truncate { - text-overflow: ellipsis; - white-space: nowrap; - overflow-y: hidden; -} - -.float-left { - float: left; -} - -.float-right { - float: right; -} - -#container { - display: inline; -} - -footer { - display: none; - min-height: 128px; - background-color: #5f5f5f; -} - -section { - display: block; - width: 100%; - padding: 16px 74px; -} - -section.central-container { - height: auto; - min-height: 100%; - margin-top: -72px; - /*margin-bottom: 72px;*/ - position: relative; - padding-top: 0; -} - -section:nth-of-type(even) { - -} - -.show section:first-of-type { - margin-top: 0px; -} - -.pane { - background-color: transparent; - margin: 12px; - /*box-shadow: 0 0 1px rgba(0,0,0,0.05);*/ - /*border-radius: 3px;*/ - overflow: hidden; - height: auto; - min-height: 100%; - /*padding-bottom: 88px;*/ - box-sizing: content-box; -} - -.pane.contains-cardset { - background-color: #fafafa; -} - -.pane.fixed { - -webkit-flex: 0 0 400px; - -moz-flex: 0 0 400px; - -o-flex: 0 0 400px; - -ms-flex: 0 0 400px; - flex: 0 0 400px; -} - -.pane.restrict-center { - max-width: 1100px; - margin-left: auto; - margin-right: auto; -} - -/* - header { - height: 64px; - width: 100%; - background: #fafafa; - padding: 6px 24px; - line-height: 72px; - overflow: hidden; - } -*/ -.dockable { - background-color: #fafafa; -} - -.show .dockable { - position: fixed; - z-index: 100; - top: 0; - left: 0; - right: 0; - width: 100%; - margin-top: 0; - background-color: rgba(0, 0, 0, 0.65); - /*box-shadow: 0 1px 0 0 rgba(0,0,0,0.025);*/ -} - -nav { - width: 100%; - height: 60px; - background-color: transparent; - /*box-shadow: 0 1px 0 0 rgba(0,0,0,0.075); */ - /*border-bottom: solid 1px rgba(0,0,0,0.065);*/ - padding: 0 32px; - overflow: hidden; -} - -.nav-item { - margin-right: 0; - margin-left: 16px; - height: auto; - opacity: 0.65; - cursor: pointer; -} - -.nav-item.float-left { - margin-left: 0; - margin-right: 10px; -} - -.nav-item:hover { - opacity: 1; -} - -.nav-item i { - color: rgba(255, 255, 255, 0.749); -} - -.nav-item { - font-size: 20px; - line-height: 20px; - padding: 19px 0; - text-decoration: none; -} - -.nav-item.unstar, -.nav-item.star { - font-size: 14px; - background: transparent; - line-height: 20px; -} - -input.nav-item { - position: relative; - height: 59px; - width: 170px; - display: block; - background-color: transparent; - border: none; - font-weight: 400; - font-size: 15px; - color: #1c1c1c; - letter-spacing: 0.2px; - font-family: "Roboto", Arial; - outline: none; - -webkit-appearance: none; - opacity: 1; - padding-top: 20px; - cursor: text; -} - -.nav-item.search:before { - font-size: 22px; - content: '\f05f'; - opacity: 1 !important; - color: #2f2f2f; -} - -.nav-item.search { - color: #2f2f2f; - opacity: 1 !important; - cursor: default; -} - -.title { - font-weight: 400; - font-size: 16px; - color: rgba(0, 0, 0, 0.65); - letter-spacing: 0.2px; - line-height: 60px; -} - -header .title { - flex: 1 1 auto; -} - -header .user { - text-align: right; - line-height: 70px; -} - -header .user img { - border-radius: 50%; - width: 34px; - height: 34px; - display: inline-block; - vertical-align: middle; - margin-right: 22px; - margin-left: 15px; -} - -header .user span { - font-size: 16px; - color: rgba(255, 255, 255, 0.8); - display: inline-block; - vertical-align: middle; -} - -.menu-item { - height: 40px; - width: auto; - margin: 7px 16px; - opacity: 0.8; - display: block; - cursor: pointer; - position: relative; - -webkit-transition: all 0.25s ease; - -moz-transition: all 0.25s ease; - -o-transition: all 0.25s ease; - -ms-transition: all 0.25s ease; - transition: all 0.25s ease; - text-decoration: none; -} - -.logo { - margin-left: 0; -} - -/* - .logo:hover { - opacity: 1; - } - - .logo:before { - content: ''; - display: block; - height: 100%; - width: 50px; - background: url("/static/images/logo.svg") no-repeat left center; - background-size: 60%; - -webkit-filter: contrast(150%); - filter: contrast(100%); - } - - .logo:after { - display: none; - position: absolute; - top: 50%; - margin-top: -10px; - left: 43px; - content: 'Drone'; - height: 100%; - line-height: 100%; - font-size: 20px; - letter-spacing: 0.5px; - color: #fff; - opacity: 1; - font-weight: 400; - } - */ - -.material-icons.md-18 { - font-size: 18px; -} - -.material-icons.md-24 { - font-size: 24px; -} - -.material-icons.md-36 { - font-size: 36px; -} - -.material-icons.md-48 { - font-size: 48px; -} - -.menu-item { - margin-right: 0; - height: auto; - opacity: 0.65; -} - -.menu-item:hover { - opacity: 1; -} - -.menu-item i { - color: #2f2f2f; -} - -img.menu-item { - border-radius: 50%; - height: 28px; - width: 28px; - margin: 18px 0 18px 7px; - display: block; -} - -.menu-item { - font-size: 20px; - line-height: 20px; - padding: 10px 0; -} - -.menu-item.user-name { - height: 50px; - font-size: 14px; - line-height: 14px; - letter-spacing: 0.5px; - color: #3c3c3c; - font-weight: 400; - margin: 0; - padding: 20px 0 18px 0; -} - -.subnav { - background: rgba(255, 255, 255, 0.8); - padding: 0px 25px; - height: 70px; - position: relative; -} - -.subnav .icon { - display: inline-block; - display: block; - line-height: 70px; - text-decoration: none; - font-size: 22px; - color: #999; - margin-left: 10px; -} - -.subnav .icon.icon-settings:before { - content: "\f060"; - font-family: "Material-Design-Iconic-Font"; -} - -.subnav .menu { - position: absolute; - top: 0px; - right: 25px; -} - -/* - .breadcrumb { - padding: 0; - height: 60px; - line-height: 60px; - color: #2f2f2f; - position: absolute; - top: -64px; - left: auto; - } - - .show .breadcrumb { - position: fixed; - top: 3px; - z-index: 200; - } - - .breadcrumb a, - .breadcrumb span { - height: 60px; - line-height: 60px; - position: relative; - padding-right: 4px; - padding-left: 4px; - text-decoration:none; - } - - .breadcrumb .level { - cursor: pointer; - letter-spacing: 0.35px; - color: #2a2a2a; - font-size: 18px; - font-weight: 400; - } - - .breadcrumb :before { - position: absolute; - top: -21px; - left: 0; - cursor: pointer; - width: 20px; - height: 20px; - color: #3a3a3a; - font-size: 14px; - font-family: "Material-Design-Iconic-Font"; - opacity: 0.75; - } - - .breadcrumb .backarrow { - margin-right: 18px; - margin-top: -1px; - } - - .breadcrumb .backarrow:before { - content: "\f297"; - font-size: 20px; - } - - .breadcrumb .spacer { - padding-right: 10px; - margin-right: 5px; - } - - .breadcrumb .spacer:before { - content: "\f29c"; - font-size: 20px; - } - - .show .breadcrumb *, .show .breadcrumb *:before, .show .lower-items *, .show .lower-items *:before { - font-weight: 400; - color: #fafafa !important; - } -*/ -.test { - position: absolute; - top: -72px; - height: 72px; - line-height: 72px; -} - -.test span { - display: block; - color: #efefef; - font-weight: 400; - font-size: 1.1rem; - margin-top: 2px; - letter-spacing: 0.025rem; -} - -/*.breadcrumb span { - display:inline-block; - font-size: 20px; - vertical-align: middle; - color: #efefef; - font-weight: 300; -} - -.breadcrumb a { - display:inline-block; - vertical-align:middle; - text-decoration:none; - font-size: 18px; - color: #cfcfcf; - font-weight: 300; - line-height: 70px; -} -.breadcrumb span.spacer:after { - font-family: "Material-Design-Iconic-Font"; - content: "\f29c"; - display:inline-block; - vertical-align:middle; - opacity:0.3; - line-height:70px; -} - -.breadcrumb a.icon-home { - display:inline-block; - margin-left:0px; - margin-right:10px; - margin-left:-2px; -} -.breadcrumb a.icon-home:after { - font-family: "Material-Design-Iconic-Font"; - display:inline-block; - vertical-align:middle; - opacity:0.3; - line-height:70px; - content: "\f297"; - font-size:26px; -} -*/ - -/* INFO PANE */ - -.banner { - height: 73px; - width: 100%; - background-color: #89C4F4; - position: relative; -} - -.banner .badge { - position: absolute; - bottom: 0; - left: 50%; - margin-left: -30px; - margin-bottom: -30px; - border-radius: 50%; - width: 60px; - height: 60px; - background-color: #fafafa; - border: solid 3px #fff; -} - -.badge .status:before { - position: absolute; - left: 50%; - margin-left: -20px; - top: 50%; - margin-top: -20px; - font-size: 40px; -} - -[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { - display: none !important; -} - -body { - background: #f5f5f5; -} - -header { - background: #FFF; -} - -header[show-nav] { - display: none; -} - -section.central-container { - margin-top: 50px; -} - -header { - height: 60px; - background: #FFF; - line-height: 60px; - overflow: hidden; - padding-left: 15px; - padding-right: 25px; -} - -header .logo { - content: ''; - display: block; - height: 60px; - width: 33px; - background: url("/static/images/logo.svg") no-repeat center center; - background-size: 33px; - float: left; -} - -.toolbar { - background: #424242; - position: relative; - height: 56px; - position: sticky; - top: 0px; - z-index: 1; - box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); - box-shadow: none; -} - -.toolbar .breadcrumb { - max-width: 900px; - margin: 0px auto; - line-height: 56px; - height: 56px; -} - -.breadcrumb a { - color: #FFF; - font-size: 20px; - line-height: 56px; - height: 56px; - text-decoration: none; - display: inline-block; -} - -.breadcrumb span { - color: rgba(255, 255, 255, 0.749); - line-height: 56px; - height: 56px; -} - -.breadcrumb a.icon-home { - position: absolute; - left: -50px; -} - -.breadcrumb a.icon-home i { - line-height:56px; - color: rgba(255, 255, 255, 0.749); - vertical-align: middle; -} - -.menu { - position: absolute; - right: 25px; - top: 0px; -} - -pre.success { - border-left: 10px solid #81C784; - background: #424242; -} - -pre.error, -pre.killed, -pre.failure { - border-left: 10px solid #E57373; - background: #424242; -} - -article > pre { - font-family: "Droid Sans Mono", "Roboto", "Arial"; - font-size: 13px; - color: #fff; - background: #424242; - line-height: 18px; - white-space: pre-wrap; - word-wrap: break-word; - padding: 30px; - margin-top: 30px; - border-radius: 2px; -} - -article { - padding: 0px 20px; - max-width: 900px; - margin: 0px auto; - box-sizing: content-box; - margin-bottom: 30px; - padding-top: 15px; -} - -section { - background: #FFF; - padding: 0px; - margin-top: 30px; - border-radius: 2px; - - border: 1px solid #EEE; - border: none; -} - -section h2 { - margin: 0px; - padding: 30px 30px; - padding-bottom: 10px; - font-size: 18px; - color: #424242; - font-weight: normal; -} - -section .row { - padding: 0px 30px; - text-decoration: none; - display: block; - display: flex; - text-decoration: none; - position: relative; -} - -section a.row:hover { - background: #FAFAFA; -} - -section .row > div:first-child { - padding: 30px 0px; - border-bottom: 1px solid #EEE; - width: 200px; - min-width: 200px; - font-size: 14px; - color: #757575; -} - -section .row > div:last-child { - color: #9E9E9E; - flex: 1 1 auto; - padding: 30px 30px; - border-bottom: 1px solid #EEE; - font-size: 14px; -} - -section .row:last-child > div { - border-bottom: none; -} - -section .build-row .build-num { - display: inline-block; - width: 40px; - height: 40px; - line-height: 40px; - border-radius: 50%; - color: rgba(255, 255, 255, 0.9); - font-size: 16px; - text-align: center; - - width: 36px; - height: 36px; - line-height: 36px; -} - -section .build-row .build-num.success:after { - cursor: pointer; - width: 20px; - height: 20px; - color: rgba(255, 255, 255, 0.701961); - font-size: 20px; - font-family: Material-Design-Iconic-Font; - opacity: 1; - font-size: 16px; - content: '\f084'; -} - -section .build-row .build-num.killed:after, -section .build-row .build-num.error:after, -section .build-row .build-num.failure:after { - cursor: pointer; - width: 20px; - height: 20px; - color: rgba(255, 255, 255, 0.701961); - font-size: 20px; - font-family: Material-Design-Iconic-Font; - opacity: 1; - font-size: 16px; - content: "\f082"; -} - -section .build-row > div:last-child { - padding-left: 0px; -} - -section a.build-row:after { - content: ""; - -line-height: 115px; -} - -.pending, -.running { - background: #FFD740; -} - -.success { - background: #66BB6A; -} - -.error, -.killed, -.failure { - background: #EF5350; -} - -.build-last.success:after { - font-size: 18px; - content: '\f084'; - color: rgba(255, 255, 255, 0.701961); - width: 24px; - font-family: Material-Design-Iconic-Font; -} - -section .icon { - background: #BDBDBD; - display: inline-block; - width: 40px; - height: 40px; - line-height: 40px; - border-radius: 50%; - color: rgba(255, 255, 255, 0.9); - font-size: 16px; - text-align: center; - - width: 36px; - height: 36px; - line-height: 36px; -} - -section .icon-repo:after { - font-size: 18px; - content: '\f001'; - color: rgba(255, 255, 255, 0.701961); - width: 24px; - font-family: "octicons"; -} - -section .build-row > div:first-child { - width: 70px; - min-width: 70px; -} - -section .build-row h3 { - color: #212121; - font-size: 18px; - margin-bottom: 10px; - margin-top: 4px; -} - -section .build-row strong { - color: #616161; - font-weight: normal; -} - -section .build-row.sub-build-row > div { - padding-top: 20px; - padding-bottom: 20px; -} - -section .build-row.sub-build-row h3 { - color: #212121; - font-size: 13px; - margin-bottom: 0px; - margin-top: 12px; - /*font-family: "Droid Sans Mono","Roboto","Arial";*/ -} - -section .build-row.sub-build-row h3 > div { - margin-bottom: 7px; -} - -section .build-row.sub-build-row h3 > div:last-child { - margin-bottom: 0px; -} - -section > .search { - padding: 30px; - - padding: 20px; - padding-bottom: 5px; -} - -section > .search a { - text-decoration: none; - background: #00BCD4; - background: #9E9E9E; - padding: 12px 20px; - color: rgba(255, 255, 255, 0.8); - float: right; - transition: all .5s; - border-radius: 2px; - text-transform: uppercase; - font-size: 14px; -} - -section > .search a:hover { - background: #00ACC1; -} - -pre.snippet { - white-space: pre-wrap; - word-wrap: break-word; - font-size: 13px; - line-height: 18px; - color: #9E9E9E; - font-family: "Droid Sans Mono", "Roboto", "Arial"; -} - -pre.snippet-padding { - padding: 30px; -} - -textarea:focus, input:focus { - outline: 0; -} - -.alert { - padding: 20px; - text-align: center; - margin-top: 20px; - margin-bottom: 20px; -} - -.alert-success { - background: #DCEDC8; - color: #33691E; -} - -.alert-error { - background: #F44336; - color: #FFCDD2; -} - -.clearfix:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; -} - -@media (max-width: 990px) { - .breadcrumb { - padding-left: 20px; - } - .breadcrumb a.icon-home { - position: static; - padding-right: 20px; - } - - article { - padding-top: 0px; - margin-top: -5px; - } -} - -/* -http://codepen.io/batazor/pen/KwKryj -*/ - -.switch { - display: inline-block; - position: relative; - width: 50px; - height: 20.833333333333336px; - border-radius: 10.416666666666668px; - background: #E0E0E0; - -webkit-transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1); - transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1); - vertical-align: middle; - cursor: pointer; -} - -.switch::before { - content: ''; - position: absolute; - top: -2.604166666666667px; - left: -2.604166666666667px; - width: 26.04166666666667px; - height: 26.04166666666667px; - background: #bdbdbd; - border-radius: 50%; - -webkit-transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); - transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); -} - -.switch:active::before { - box-shadow: 0 2px 10.416666666666668px rgba(0, 0, 0, 0.28), 0 0 0 25px rgba(0, 0, 0, 0.1); -} - -input { - font-size: 14px; - padding: 10px 20px; - width: 400px; - border: 1px solid #d9d9d9; - outline: none; -} - -input:checked + .switch { - background: rgba(0, 150, 136, 0.5); - background: rgba(102, 187, 106, 0.5); -} - -input:checked + .switch::before { - left: 26.562499999999996px; - background: #009688; - background: #66bb6a; -} - -input:checked + .switch:active::before { - box-shadow: 0 2px 10.416666666666668px rgba(0, 0, 0, 0.28), 0 0 0 25px rgba(0, 150, 136, 0.2); -} - -.row.row-user div:first-child { - width: 50px; - max-width: 50px; - min-width: 50px; -} - -.row.row-user div:last-child { - position: relative; -} - -.row-user img { - background: #E0E0E0; - border-radius: 50%; - width: 36px; - height: 36px; - border: none; -} - -.row-user h3 { - white-space: nowrap; - color: #212121; - font-size: 18px; - margin-bottom: 10px; - margin-top: 4px; -} - -.row-user small { - background: #4CAF50; - color: #FFF; - display: inline-block; - text-transform: uppercase; - font-size: 13px; - margin-left: 10px; - line-height: 18px; - padding: 0px 3px; - border-radius: 2px; -} - -.row-env { - padding: 15px 0px; - border-bottom: 1px solid #EEE; - position: relative; - color: #757575; - font-family: 'Droid Sans Mono', 'Roboto', 'Arial'; - font-size: 14px; -} - -.row-env span { - color: #2196F3; - display: inline-block; -} - -.row-env div { - display: inline-block; -} - -.btn-admin, -.btn-remove { - border: none; - background: #E0E0E0; - color: rgba(255, 255, 255, 0.9); - border-radius: 50%; - width: 25px; - height: 25px; - border-radius: 50%; - text-align: center; - cursor: pointer; - vertical-align: middle; -} - -.btn-remove:hover { - background: #EF5350; - color: #FFF; -} - -.btn-admin.btn-checked, -.btn-admin:hover { - background: #4CAF50; - color: #FFF; -} - -.row-env .btn-remove { - position: absolute; - right: 0px; - top: 12px; -} - -.row-user .btn-remove { - position: absolute; - right: 0px; - top: 40px; -} - -.row-user .btn-admin { - position: absolute; - right: 40px; - top: 40px; -} - -.slider-label { - display: inline-block; - margin-left: 10px; -} - -input[type="range"]:focus ~ .slider-label { - display: inline-block; -} - -input[type=range] { - -webkit-appearance: none; - margin: 6px 0; - width: 200px; -} - -input[type=range]:focus { - outline: none; -} - -input[type=range]::-webkit-slider-runnable-track { - width: 100%; - height: 8px; - cursor: pointer; - animate: 0.2s; - box-shadow: none; - background: rgba(0, 150, 136, 0.5); - background: rgba(102, 187, 106, 0.5); - border-radius: 5px; - border: none; -} - -input[type=range]::-webkit-slider-thumb { - box-shadow: none; - border: none; - height: 26px; - width: 26px; - border-radius: 50px; - background: #009688; - background: #66bb6a; - cursor: pointer; - -webkit-appearance: none; - margin-top: -10px; -} - -input[type=range]:focus::-webkit-slider-runnable-track { - background: rgba(0, 150, 136, 0.5); - background: rgba(102, 187, 106, 0.5); -} - -input[type=range]::-moz-range-track { - width: 100%; - height: 8px; - cursor: pointer; - animate: 0.2s; - box-shadow: none; - background: rgba(0, 150, 136, 0.5); - background: rgba(102, 187, 106, 0.5); - border-radius: 5px; - border: none; -} - -input[type=range]::-moz-range-thumb { - box-shadow: none; - border: none; - height: 26px; - width: 26px; - border-radius: 50px; - background: #009688; - background: #66bb6a; - cursor: pointer; -} - -input[type=range]::-ms-track { - width: 100%; - height: 8.4px; - cursor: pointer; - animate: 0.2s; - background: transparent; - border-color: transparent; - border-width: 16px 0; - color: transparent; -} - -input[type=range]::-ms-fill-lower { - background: #2a6495; - border: 0.2px solid #010101; - border-radius: 2.6px; - box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; -} - -input[type=range]::-ms-fill-upper { - background: #3071a9; - border: 0.2px solid #010101; - border-radius: 2.6px; - box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; -} - -input[type=range]::-ms-thumb { - box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; - border: 1px solid #000000; - height: 36px; - width: 16px; - border-radius: 3px; - background: #ffffff; - cursor: pointer; -} - -input[type=range]:focus::-ms-fill-lower { - background: #3071a9; -} - -input[type=range]:focus::-ms-fill-upper { - background: #367ebd; -} - -/* -header { - background:transparent; -} -.toolbar { - position:static; - background:transparent; -} -.breadcrumb { - position:absolute !important; - background:transparent; - top:2px !important; - left:100px; -} -.breadcrumb a { - color:#424242; -} -.breadcrumb a.icon-home { - left:-35px; -} -.breadcrumb a:after { - color:rgba(0,0,0,0.5) !important; -} -article { - margin-top:-50px; -} -.menu { - max-width:900px; - margin:0 auto; - position: static !important; - top:auto; - right:auto; - height: 56px; -} - -.menu .nav-item:before, -.menu .nav-item:after { - color: #2f2f2f !important; -} - -*/ \ No newline at end of file diff --git a/cmd/drone-server/static/styles/fonts.css b/cmd/drone-server/static/styles/fonts.css new file mode 100644 index 000000000..dd0d475fb --- /dev/null +++ b/cmd/drone-server/static/styles/fonts.css @@ -0,0 +1,3 @@ +@import url(//fonts.googleapis.com/css?family=Roboto:400,300,500,700); +@import url(//fonts.googleapis.com/css?family=Roboto+Mono:400,300,500); +@import url(//fonts.googleapis.com/icon?family=Material+Icons); \ No newline at end of file diff --git a/cmd/drone-server/static/styles/list.css b/cmd/drone-server/static/styles/list.css new file mode 100644 index 000000000..bdfec5adf --- /dev/null +++ b/cmd/drone-server/static/styles/list.css @@ -0,0 +1,71 @@ +.list > a, +.list > li { + display: flex; + padding: 30px 0px; + border-top: 1px solid #f0f4f7; + color:#4c555a; + text-decoration: none; + position: relative; +} +.list > a:first-child, +.list > li:first-child { + border-top: none; +} + +.list .column-avatar { + width: 60px; + min-width: 60px; +} +.list .column-status { + width: 45px; + min-width: 45px; +} +.list .column-fill { + flex: 1 1 auto; +} + +.comfortable > a, +.comfortable > div, +.comfortable > li { + padding-top:30px; + padding-bottom:30px; +} + +.cozy > a, +.cozy > div, +.cozy > li { + padding-top:15px; + padding-bottom:15px; +} + +.compact > a, +.compact > div, +.compact > li { + padding-top:10px; + padding-bottom:10px; +} + +.list .column-avatar img { + width:32px; + height:32px; + border-radius:50%; + margin-left:5px; +} +.list h2 { + line-height:32px; + font-size:18px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom:1px; +} +.list p { + color:#a7adba; + margin-top:3px; + font-size:14px; + line-height:20px; +} +.list em, +.list em { + color:#65737e; +} diff --git a/cmd/drone-server/static/styles/main.css b/cmd/drone-server/static/styles/main.css new file mode 100644 index 000000000..f8566a50d --- /dev/null +++ b/cmd/drone-server/static/styles/main.css @@ -0,0 +1,645 @@ +html, body { + background:#fff; + color:#4c555a; + font-size:14px; + font-family:"Roboto"; + min-height:100vh; +} + +body > div { + display: flex; + flex-direction: column; + min-height: 100vh; +} + +/* + * Header and Logo + */ + +.logo { + float: left; + height: 36px; + width: 36px; + opacity: 1; + margin: 14px 0px 0px 14px; + margin: 14px 0px 0px 18px; + background: url(data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCg0KPHN2Zw0KICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIg0KICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyINCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyINCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiDQogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSINCiAgIHdpZHRoPSIzMiINCiAgIGhlaWdodD0iMzIiDQogICBpZD0ic3ZnMiINCiAgIHZlcnNpb249IjEuMSINCiAgIGlua3NjYXBlOnZlcnNpb249IjAuNDguMy4xIHI5ODg2Ig0KICAgc29kaXBvZGk6ZG9jbmFtZT0iZHJvbmVfMzIucG5nIj4NCiAgPGRlZnMNCiAgICAgaWQ9ImRlZnM0IiAvPg0KICA8c29kaXBvZGk6bmFtZWR2aWV3DQogICAgIGlkPSJiYXNlIg0KICAgICBwYWdlY29sb3I9IiNmZmZmZmYiDQogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2Ig0KICAgICBib3JkZXJvcGFjaXR5PSIxLjAiDQogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiDQogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiDQogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSINCiAgICAgaW5rc2NhcGU6Y3g9IjkuNjYyNzY2NCINCiAgICAgaW5rc2NhcGU6Y3k9IjYuMzk3Njg2NCINCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9InB4Ig0KICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiDQogICAgIHNob3dncmlkPSJ0cnVlIg0KICAgICBpbmtzY2FwZTpzbmFwLWdsb2JhbD0iZmFsc2UiDQogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTI5NSINCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iNzQ0Ig0KICAgICBpbmtzY2FwZTp3aW5kb3cteD0iNjUiDQogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNCINCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSINCiAgICAgZml0LW1hcmdpbi10b3A9IjAiDQogICAgIGZpdC1tYXJnaW4tbGVmdD0iMCINCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCINCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjAiPg0KICAgIDxpbmtzY2FwZTpncmlkDQogICAgICAgdHlwZT0ieHlncmlkIg0KICAgICAgIGlkPSJncmlkMjk5NiINCiAgICAgICBlbXBzcGFjaW5nPSI1Ig0KICAgICAgIHZpc2libGU9InRydWUiDQogICAgICAgZW5hYmxlZD0idHJ1ZSINCiAgICAgICBzbmFwdmlzaWJsZWdyaWRsaW5lc29ubHk9InRydWUiDQogICAgICAgb3JpZ2lueD0iLTIxLjcyMDc3OXB4Ig0KICAgICAgIG9yaWdpbnk9Ii05OTAuMzcxODhweCIgLz4NCiAgPC9zb2RpcG9kaTpuYW1lZHZpZXc+DQogIDxtZXRhZGF0YQ0KICAgICBpZD0ibWV0YWRhdGE3Ij4NCiAgICA8cmRmOlJERj4NCiAgICAgIDxjYzpXb3JrDQogICAgICAgICByZGY6YWJvdXQ9IiI+DQogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0Pg0KICAgICAgICA8ZGM6dHlwZQ0KICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPg0KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4NCiAgICAgIDwvY2M6V29yaz4NCiAgICA8L3JkZjpSREY+DQogIDwvbWV0YWRhdGE+DQogIDxnDQogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIg0KICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIg0KICAgICBpZD0ibGF5ZXIxIg0KICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjEuNzIwNzc5LC0yOS45OTAyODcpIj4NCiAgICA8cGF0aA0KICAgICAgIHNvZGlwb2RpOnR5cGU9ImFyYyINCiAgICAgICBzdHlsZT0iZmlsbDojMjQyNzI5O2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowO3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtZGFzaGFycmF5Om5vbmUiDQogICAgICAgaWQ9InBhdGgyOTk4Ig0KICAgICAgIHNvZGlwb2RpOmN4PSIxNzIuMTA0NzQiDQogICAgICAgc29kaXBvZGk6Y3k9IjQ1OC4zOTI0OSINCiAgICAgICBzb2RpcG9kaTpyeD0iNS40Mjk1Njk3Ig0KICAgICAgIHNvZGlwb2RpOnJ5PSI1LjA1MDc2MjciDQogICAgICAgZD0ibSAxNzcuNTM0MzEsNDU4LjM5MjQ5IGEgNS40Mjk1Njk3LDUuMDUwNzYyNyAwIDEgMSAtMTAuODU5MTQsMCA1LjQyOTU2OTcsNS4wNTA3NjI3IDAgMSAxIDEwLjg1OTE0LDAgeiINCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjc1NDE4MzA2LDAsMCwwLjgxMDc0NjgxLC05Mi4wNzA0MDEsLTMyMy4wMDQpIiAvPg0KICAgIDxwYXRoDQogICAgICAgc3R5bGU9ImZpbGw6IzI0MjcyOTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MDtzdHJva2UtbWl0ZXJsaW1pdDo0Ig0KICAgICAgIGQ9Im0gMzcuNzI4MDc1LDMyLjkyNjc2MiBjIDcuMTQ4NjU3LDAuMDU1OTkgMTUuMjc2MDY3LDUuMDk1MzgzIDE2LjAwNzI5NSwxNC41OTI2OTggbCAtOS42Nzg4MywwIGMgMCwwIC0xLjI0Njg3MSwtNS4yNDY5MTYgLTYuMzI4NDY1LC01LjIxMTY3OCAtNS4wODE1OTUsMC4wMzUyMiAtNi4zMjg0NjYsNS4yMTE2NzggLTYuMzI4NDY2LDUuMjExNjc4IGwgLTkuNjc4ODMsMCBjIDAuNDcwMjUsLTkuMzI5NDQ3IDguNDYyMDk3LC0xNC42NTE3NzYgMTYuMDA3Mjk2LC0xNC41OTI2OTggeiINCiAgICAgICBpZD0icmVjdDM4MTAiDQogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCINCiAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9InNjY3pjY3MiIC8+DQogICAgPHBhdGgNCiAgICAgICBzdHlsZT0iZmlsbDojMjQyNzI5O2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowO3N0cm9rZS1taXRlcmxpbWl0OjQiDQogICAgICAgZD0iTSAzNy43OTQ1NTMsNTkuOTkwMjYgQyAzMi40NjQyMDIsNjAuMDA0NDQgMjcuNDg0NjczLDU1Ljk4MjIyMSAyNS40NDM0MDYsNDkuNzUzMDM2IGwgNS45NTYyMDMsMCBjIDAsMCAxLjI4NDg2NSw1LjE4NzcxOSA2LjM2NjQ1OSw1LjE1MjQ4IDUuMDgxNTk0LC0wLjAzNTIyIDYuMjkwNDcyLC01LjE1MjQ4IDYuMjkwNDcyLC01LjE1MjQ4IGwgNS45NTYyMDMsMCBjIC0xLjMyNzc1LDYuNTg5Nzc0IC02Ljg4NzgzOCwxMC4yMjMwMzggLTEyLjIxODE5LDEwLjIzNzIyNCB6Ig0KICAgICAgIGlkPSJyZWN0MzgxMC0xIg0KICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiDQogICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJzY2N6Y2NzIiAvPg0KICA8L2c+DQo8L3N2Zz4=) no-repeat center center; +} +header { + height:60px; + min-height:60px; + max-height:60px; + /*border-bottom:1px solid #f2f2f2;*/ + box-sizing: border-box; +} +header ul { + float:right; + margin-right:20px; +} +header ul li span { + margin-right:7px; + margin-right:3px; +} +header li { + display:inline-block; +} +header li a { + line-height:60px; + display:inline-block; + vertical-align: middle; + padding:0px 10px; + text-transform: lowercase; + color:#4c555a; + text-decoration: none; + font-size:15px; +} +header li i { + vertical-align: middle; +} +header li.active a { + color:#0099e5; +} + +header li img { + border-radius:50%; + width:32px; + height:32px; + vertical-align: middle; + margin-right:3px; +} + +header ol { + float:left; + margin-left:15px; +} +header ol li { + line-height:60px; + display:inline-block; + vertical-align: middle; + font-size:21px; +} +header ol li:first-child { + font-size:0px; +} +header ol li i { + vertical-align: middle; + font-size:28px; +} +header ol li a { + line-height:inherit; + vertical-align: middle; + font-size:0px; +} +header ol li a i.material-icons { + vertical-align: middle; + font-size:25px; +} +header .private { + color: #ebcb8b; + opacity: 0.8; + /*color: #000; + opacity:0.25;*/ + padding-left:15px; + margin-top:-5px; + display:none; +} +header .private i { + font-size:27px; +} + +input[type="search"] { + font-family:Roboto; +} + +/* + * Main Seciton / Layout + */ + +.flex { + display:flex; + flex:1 1 auto; + margin-top:0px; +} +main article { + margin:0px auto; + max-width:900px; + padding:30px 40px; +} +.flex article { + padding-bottom:0px; +} +.flex article pre { + min-height: calc(100vh - 120px); + margin-bottom:20px; +} +main aside { + min-width:500px; + width:500px; + box-sizing: border-box; + padding:40px 50px; +} +main aside > div { + position: sticky; + top:0px; +} + +/* + * Build Console + */ + +.console { + margin:0px; + flex: 1 1 auto; + /*margin-top: -1px;*/ + max-width:auto; + padding:30px 40px 20px 0px; +} + +.console pre { + color:#eff1f5; + border-radius:2px; + background:#2b303b; + white-space: pre-wrap; + word-wrap: break-word; + box-sizing: border-box; + padding:35px 40px; + line-height:18px; + font-family: "RobotoMono"; + font-size:12px; + font-weight:300; +} + +/* + * Repo List + */ + + + /* + * Build List + */ + + .repo-list { } + .repo-list li { + display:flex; + padding:30px 0px; + border-top:1px solid #f0f4f7; + position:relative; +} +.repo-list img { + width:32px; + height:32px; + border-radius:50%; + margin-left:5px; +} +.repo-list li:first-child { + border-top:none; +} +.repo-list li > div:first-child { + width:60px; + min-width:60px; +} +.repo-list li > div:nth-child(2) { + flex:1 1 auto; +} +.repo-list h2 { + line-height:32px; + font-size:18px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom:1px; +} +.repo-list p { + color:#a7adba; + margin-top:3px; + font-size:14px; + line-height:20px; + display:none; +} + + +/* + * Build List + */ + +.build-list { } +.build-list li { + display:flex; + /*padding:30px 0px 30px 35px;*/ + padding:30px 0px; + border-top:1px solid #f0f4f7; + position:relative; +} +/*.build-list li:nth-child(even) { + background:#FAFBFC; +}*/ +.build-list li:first-child { + border-top:none; +} +.build-list li > div:first-child { + width:60px; + min-width:60px; +} +.build-list li > div:nth-child(2) { + flex:1 1 auto; +} +.build-list h2 { + line-height:32px; + font-size:18px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom:1px; +} +.build-section p, +.build-list p { + color:#a7adba; + margin-top:3px; + font-size:14px; + line-height:20px; +} +.build-section em, +.build-list em { + color:#65737e; +} +.build-list h2 small:before { + content:"#"; + margin-right:3px; +} +.build-list h2 small:after { + content:" "; + margin-right:10px; +} + + +/* + * Build Details + */ + +.build-section { + margin-bottom:40px; + display:flex; +} +.build-section > div:first-child { + min-width:60px; + width:60px; + display:none; +} +.build-section > div:last-child { + flex: 1 1 auto; + padding-top:4px; + font-size:17px; + line-height:22px; +} +.build-detail { + padding-left:50px; + box-sizing: border-box; +} +.build-summary h2 { + line-height:25px; +} +.build-summary p { + margin-top:15px; +} + +/* + * Job List + */ + +.job-list { } +.job-list li { + display:flex; + padding:20px 0px; + border-top:1px solid #f0f4f7; +} +.job-list li > div:first-child { + width:50px; + min-width:50px; +} +.job-list li > div:nth-child(2) { /** TEMPORARILY HIDDEN. MAY DECIDE TO REMOVE */ + min-width:25px; + font-size:13px; + text-align:right; + padding: 10px 20px 0px 10px; + font-weight:bold; + font-size:15px; + display:none; +} +.job-list li > div:nth-child(3) { + flex:1 1 auto; + font-size:13px; +} +.job-list li div.param { + margin-top:5px; +} +.job-list li div.param:first-child { + margin-top:10px; +} + + + +li menu { + position:absolute; + top:15px; + right:0px; +} +li menu .button { + border-radius:50%; + width:36px; + height:36px; + line-height:36px; + padding:0px; + + color:#dfe1e8; + background: #fff; +} +li menu .button:hover { + border:1px solid #a7adba; + background:#FFF; + color:#a7adba; +} +li menu .button i { + font-size:22px; +} + +li menu .button.success { + color: #FFF; + border:1px solid #a3be8c; + background: #a3be8c; + + color: #a3be8c; + background:#FFF; +} +li menu .button.danger:hover { + color: #FFF; + background: #bf616a; + + color:#bf616a; + background:#FFF; + border:1px solid #bf616a; +} + +/* + * Tail button to follow a build + */ + +.button-tail { + position: fixed; + bottom: 50px; + right: 80px; + width: 38px; + height: 38px; + background: rgba(255,255,255,0.2); + border-radius: 50%; + box-shadow: 1px 2px 2px rgba(0,0,0,0.2); + cursor: pointer; + + bottom: 15px; + right: 60px; + } +.button-tail i { + text-align:center; + color:rgba(255,255,255,0.5); + width:38px; + line-height:38px; + display:inline-block; +} + +/* + * Random buttons used throughtout + */ +/* +menu { + display:block; + text-align:right; + margin-bottom:20px; +} + +menu .button { + margin-left:5px; + border:1px solid #f0f0f0; +} +menu .button span { + margin:0px 10px; + text-transform: uppercase; +}*/ +.button { + border-radius:2px; + line-height:32px; + display:inline-block; + vertical-align: middle; + padding:4px 15px 4px 15px; + text-decoration: none; + font-size:13px; + background:#eff1f5; + color: rgba(0,0,0,0.5); +} +.button:hover { + background:#dfe1e8; +} +/* +.button-watch { + background: #a7adba; +} +.button-settings { + background:#d08770; +} +*/ +.button i { + vertical-align: middle; + /*margin-right:5px;*/ + line-height:17px; + font-size:18px; +} + +/* + * Status Indicator + */ + +.status { + width: 36px; + height: 36px; + border-radius: 50%; + display: inline-block; +} +.status i { + line-height: 36px; + width: 36px; + vertical-align: middle; + text-align: center; + font-size:32px; +} +.status-small { + +} +.status.error, +.status.killed, +.status.failure { + color: #bf616a; +} +.status.success { + color:#a3be8c; +} + +/* Search Form */ +.search { + display:block; + width:100%; + margin:0px 0px 37px 0px; +} +input[type="search"] { + background: #eff1f5; + line-height: 50px; + border:none; + border-radius:3px; + display:block; + width:100%; + font-size:14px; + padding:0px 15px; + font-family:"Roboto"; + +} + +/* SETTINGS SECTION */ + + +section .row { + display: flex; + position: relative; +} + +section .row > div:first-child { + padding: 30px 0px; + border-bottom: 1px solid #f0f4f7; + width: 200px; + min-width: 200px; + font-size:15px; + color: #343d46; +} + +section .row > div:last-child { + flex: 1 1 auto; + padding: 30px; + border-bottom: 1px solid #f0f4f7; + overflow:hidden; + color: #65737e; +} + +section .row:last-child > div { + border-bottom: none; +} + +pre.snippet-padding { + padding: 30px 0px; +} +pre.snippet { + white-space: pre-wrap; + word-wrap: break-word; + font-size: 13px; + line-height: 18px; + font-family: "RobotoMono"; +} +.slider-label { + display: inline-block; + margin-left: 10px; +} + + +::-webkit-input-placeholder { /* WebKit browsers */ + color: #a7adba; +} +:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ + color: #a7adba; + opacity: 1; +} +::-moz-placeholder { /* Mozilla Firefox 19+ */ + color: #a7adba; + opacity: 1; +} +:-ms-input-placeholder { /* Internet Explorer 10+ */ + color: #a7adba; +} + + + +/* ROUND INDICATORS */ +.status { + width:12px; + height:12px; + border-radius:50px; + margin-top:10px; +} +.status i { + font-size:0px; +} +.status.error, +.status.killed, +.status.failure { + background: #bf616a; +} +.status.success { + background:#a3be8c; +} +.build-list li > div:first-child, +.job-list li > div:first-child { + width: 45px; + min-width: 45px; +} + + + +/* + * Search Menu + */ + +section.search { + background: #eff1f5; + margin: 0px 0px 37px 0px; + border-radius: 3px; + display:flex; + flex-shrink: 0; +} +section.search input[type="search"] { + line-height: 50px; + border: none; + border-radius: 3px; + display: block; + width: 100%; + font-size: 16px; + padding: 0px 15px; + flex:1 1 auto; + font-family:"Roboto"; +} +section.search menu { + display:flex; + flex-shrink: 0; +} +section.search menu button, +section.search menu a { + line-height: 50px; + vertical-align: middle; + display: inline-block; + padding: 0px 15px; + color: rgba(0,0,0,0.3); + background:transparent; + border:none; + border-left: 1px solid #FFF; + cursor:pointer; + outline:none; +} +section.search menu i { + vertical-align: middle; +} + + + +/* + * Lists + */ + + + + + + + diff --git a/cmd/drone-server/static/styles/range.css b/cmd/drone-server/static/styles/range.css new file mode 100644 index 000000000..91bcb79f8 --- /dev/null +++ b/cmd/drone-server/static/styles/range.css @@ -0,0 +1,109 @@ +input[type="range"]:focus ~ .slider-label { + display: inline-block; +} + +input[type=range] { + -webkit-appearance: none; + margin: 6px 0; + width: 200px; +} + +input[type=range]:focus { + outline: none; +} + +input[type=range]::-webkit-slider-runnable-track { + width: 100%; + height: 8px; + cursor: pointer; + animate: 0.2s; + box-shadow: none; + background: rgba(0, 150, 136, 0.5); + background: rgba(102, 187, 106, 0.5); + border-radius: 5px; + border: none; +} + +input[type=range]::-webkit-slider-thumb { + box-shadow: none; + border: none; + height: 26px; + width: 26px; + border-radius: 50px; + background: #009688; + background: #66bb6a; + cursor: pointer; + -webkit-appearance: none; + margin-top: -10px; +} + +input[type=range]:focus::-webkit-slider-runnable-track { + background: rgba(0, 150, 136, 0.5); + background: rgba(102, 187, 106, 0.5); +} + +input[type=range]::-moz-range-track { + width: 100%; + height: 8px; + cursor: pointer; + animate: 0.2s; + box-shadow: none; + background: rgba(0, 150, 136, 0.5); + background: rgba(102, 187, 106, 0.5); + border-radius: 5px; + border: none; +} + +input[type=range]::-moz-range-thumb { + box-shadow: none; + border: none; + height: 26px; + width: 26px; + border-radius: 50px; + background: #009688; + background: #66bb6a; + cursor: pointer; +} + +input[type=range]::-ms-track { + width: 100%; + height: 8.4px; + cursor: pointer; + animate: 0.2s; + background: transparent; + border-color: transparent; + border-width: 16px 0; + color: transparent; +} + +input[type=range]::-ms-fill-lower { + background: #2a6495; + border: 0.2px solid #010101; + border-radius: 2.6px; + box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; +} + +input[type=range]::-ms-fill-upper { + background: #3071a9; + border: 0.2px solid #010101; + border-radius: 2.6px; + box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; +} + +input[type=range]::-ms-thumb { + box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d; + border: 1px solid #000000; + height: 36px; + width: 16px; + border-radius: 3px; + background: #ffffff; + cursor: pointer; +} + +input[type=range]:focus::-ms-fill-lower { + background: #3071a9; +} + +input[type=range]:focus::-ms-fill-upper { + background: #367ebd; +} diff --git a/cmd/drone-server/static/styles/reset.css b/cmd/drone-server/static/styles/reset.css new file mode 100644 index 000000000..e3c6b7c3a --- /dev/null +++ b/cmd/drone-server/static/styles/reset.css @@ -0,0 +1,47 @@ +* { + box-sizing: border-box; +} +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +textarea, input { outline: none; } diff --git a/cmd/drone-server/static/styles/switch.css b/cmd/drone-server/static/styles/switch.css new file mode 100644 index 000000000..9ac08d662 --- /dev/null +++ b/cmd/drone-server/static/styles/switch.css @@ -0,0 +1,52 @@ +/* +http://codepen.io/batazor/pen/KwKryj +*/ + +.switch { + display: inline-block; + position: relative; + width: 40px; + height: 8px; + border-radius: 10.416666666666668px; + background: #E0E0E0; + -webkit-transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1); + transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1); + vertical-align: middle; + cursor: pointer; +} + +.switch::before { + content: ''; + position: absolute; + top: -8.604166666666667px; + left: -2.604166666666667px; + width: 26.04166666666667px; + height: 26.04166666666667px; + background: #bdbdbd; + border-radius: 50%; + -webkit-transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); + transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1); +} + +.switch:active::before { + box-shadow: 0 2px 10.416666666666668px rgba(0, 0, 0, 0.28), 0 0 0 25px rgba(0, 0, 0, 0.1); +} + +.switch:active::before { + box-shadow: 0 2px 10.416666666666668px rgba(0, 0, 0, 0.28), 0 0 0 25px rgba(0, 0, 0, 0.1); +} + +input:checked + .switch { + background: rgba(0, 150, 136, 0.5); + background: rgba(102, 187, 106, 0.5); +} + +input:checked + .switch::before { + left: 20.562499999999996px; + background: #009688; + background: #66bb6a; +} + +input:checked + .switch:active::before { + box-shadow: 0 2px 10.416666666666668px rgba(0, 0, 0, 0.28), 0 0 0 25px rgba(0, 150, 136, 0.2); +} diff --git a/pkg/config/config.go b/pkg/config/config.go index b84abe04d..70af08749 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -8,7 +8,7 @@ import ( "strings" log "github.com/drone/drone/Godeps/_workspace/src/github.com/Sirupsen/logrus" - "github.com/drone/drone/Godeps/_workspace/src/github.com/naoina/toml" + // "github.com/drone/drone/Godeps/_workspace/src/github.com/naoina/toml" "github.com/drone/drone/Godeps/_workspace/src/github.com/vrischmann/envconfig" ) @@ -108,11 +108,11 @@ func Load(path string) (*Config, error) { // reads parameters from environment variables. func LoadBytes(data []byte) (*Config, error) { conf := &Config{} - err := toml.Unmarshal(data, conf) - if err != nil { - return nil, err - } - err = envconfig.InitWithPrefix(conf, "DRONE") + // err := toml.Unmarshal(data, conf) + // if err != nil { + // return nil, err + // } + err := envconfig.InitWithPrefix(conf, "DRONE") if err != nil { return nil, err }