diff --git a/app/components/jobs-item.coffee b/app/components/jobs-item.coffee new file mode 100644 index 00000000..ca085418 --- /dev/null +++ b/app/components/jobs-item.coffee @@ -0,0 +1,21 @@ +`import Ember from 'ember'` +`import { colorForState } from 'travis/utils/helpers'` +`import { languageConfigKeys } from 'travis/utils/keys-map';` + +JobsItemComponent = Ember.Component.extend + tagName: 'li' + classNameBindings: ['job.state'] + classNames: ['tile', 'tile--jobs', 'row'] + + languages: (-> + output = [] + + if config = @get('job.config') + for key, languageName of languageConfigKeys + if version = config[key] + output.push(languageName + ': ' + version) + + output.join(' ') + ).property('job.config') + +`export default JobsItemComponent` diff --git a/app/components/jobs-list.coffee b/app/components/jobs-list.coffee new file mode 100644 index 00000000..65e26d5d --- /dev/null +++ b/app/components/jobs-list.coffee @@ -0,0 +1,11 @@ +`import Ember from 'ember'` + +JobsListComponent = Ember.Component.extend + jobTableId: Ember.computed(-> + if @get('required') + 'jobs' + else + 'allowed_failure_jobs' + ) + +`export default JobsListComponent` diff --git a/app/controllers/build.coffee b/app/controllers/build.coffee index 1f86f62c..4e868705 100644 --- a/app/controllers/build.coffee +++ b/app/controllers/build.coffee @@ -12,6 +12,11 @@ Controller = Ember.Controller.extend GithubUrlPropertievs, currentItemBinding: 'build' + jobsLoaded: (-> + if jobs = @get('build.jobs') + jobs.everyBy('config') + ).property('build.jobs.@each.config') + loading: (-> @get('build.isLoading') ).property('build.isLoading') diff --git a/app/controllers/flash.coffee b/app/controllers/flash.coffee index a047ea94..2b1fc44f 100644 --- a/app/controllers/flash.coffee +++ b/app/controllers/flash.coffee @@ -8,7 +8,7 @@ Controller = Ember.ArrayController.extend init: -> @_super.apply this, arguments - @set('flashes', LimitedArray.create(limit: 2, content: [])) + @set('flashes', LimitedArray.create(limit: 1, content: [])) model: (-> broadcasts = @get('unseenBroadcasts') diff --git a/app/controllers/queue.coffee b/app/controllers/queue.coffee index cabd5b7f..a89d1b28 100644 --- a/app/controllers/queue.coffee +++ b/app/controllers/queue.coffee @@ -1,9 +1,14 @@ `import Ember from 'ember'` Controller = Ember.ArrayController.extend + isLoaded: false content: (-> - @store.filter 'job', {}, (job) -> + result = @store.filter('job', {}, (job) -> ['created', 'queued'].indexOf(job.get('state')) != -1 + ) + result.then => + @set('isLoaded', true) + result ).property() `export default Controller` diff --git a/app/controllers/repos.coffee b/app/controllers/repos.coffee index 5299869a..390500f6 100644 --- a/app/controllers/repos.coffee +++ b/app/controllers/repos.coffee @@ -7,6 +7,19 @@ Controller = Ember.ArrayController.extend activate: (name) -> @activate(name) + showRunningJobs: -> + @activate('running') + + showMyRepositories: -> + # this is a bit of a hack. I don't want to switch URL for 'running' + # so depending on current state I'm either just switching back or + # redirecting + if @get('tab') == 'running' + @activate('owned') + else + @transitionToRoute('main.repositories') + + tabOrIsLoadedDidChange: (-> @possiblyRedirectToGettingStartedPage() ).observes('isLoaded', 'tab', 'length') @@ -17,7 +30,7 @@ Controller = Ember.ArrayController.extend @container.lookup('router:main').send('redirectToGettingStarted') isLoadedBinding: 'content.isLoaded' - needs: ['currentUser', 'repo'] + needs: ['currentUser', 'repo', 'runningJobs', 'queue'] currentUserBinding: 'controllers.currentUser' selectedRepo: (-> # we need to observe also repo.content here, because we use @@ -26,6 +39,11 @@ Controller = Ember.ArrayController.extend @get('controllers.repo.repo.content') || @get('controllers.repo.repo') ).property('controllers.repo.repo', 'controllers.repo.repo.content') + startedJobsCount: Ember.computed.alias('controllers.runningJobs.length') + allJobsCount: (-> + @get('startedJobsCount') + @get('controllers.queue.length') + ).property('startedJobsCount', 'controllers.queue.length') + init: -> @_super.apply this, arguments if !Ember.testing @@ -57,6 +75,8 @@ Controller = Ember.ArrayController.extend viewOwned: -> @set('content', @get('userRepos')) + viewRunning: -> + userRepos: (-> if login = @get('currentUser.login') Repo.accessibleBy(@store, login) @@ -91,4 +111,8 @@ Controller = Ember.ArrayController.extend 'Could not find any repos' ).property('tab') + showRunningJobs: (-> + @get('tab') == 'running' + ).property('tab') + `export default Controller` diff --git a/app/controllers/running-jobs.coffee b/app/controllers/running-jobs.coffee index 44ca18fc..10b09e45 100644 --- a/app/controllers/running-jobs.coffee +++ b/app/controllers/running-jobs.coffee @@ -1,9 +1,23 @@ `import Ember from 'ember'` Controller = Ember.ArrayController.extend + init: -> + @_super.apply this, arguments + if !Ember.testing + Visibility.every @config.intervals.updateTimes, @updateTimes.bind(this) + + updateTimes: -> + if content = @get('content') + content.forEach (job) -> job.updateTimes() + + isLoaded: false content: (-> - @store.filter 'job', { state: 'started' }, (job) -> + result = @store.filter('job', { state: 'started' }, (job) -> ['started', 'received'].indexOf(job.get('state')) != -1 + ) + result.then => + @set('isLoaded', true) + result ).property() `export default Controller` diff --git a/app/controllers/sidebar.coffee b/app/controllers/sidebar.coffee deleted file mode 100644 index 47336d56..00000000 --- a/app/controllers/sidebar.coffee +++ /dev/null @@ -1,19 +0,0 @@ -`import Ember from 'ember'` - -Controller = Ember.ArrayController.extend - init: -> - @_super.apply this, arguments - @tickables = [] - - tips: [ - "Did you know that you can parallelize tests on Travis CI? Learn more" - "Did you know that you can split a build into several smaller pieces? Learn more" - "Did you know that you can skip a build? Learn more" - ] - - tip: (-> - if tips = @get('tips') - tips[Math.floor(Math.random()*tips.length)] - ).property().volatile() - -`export default Controller` diff --git a/app/styles/app.scss b/app/styles/app.scss index 9cea74ef..282cc284 100644 --- a/app/styles/app.scss +++ b/app/styles/app.scss @@ -10,7 +10,7 @@ @import "app/auth"; @import "app/caches"; @import "app/charm"; -@import "app/flash"; +// @import "app/flash"; @import "app/forms"; @import "app/getting_started"; @import "app/github"; @@ -21,24 +21,19 @@ @import "app/main/annotations"; @import "app/main/list"; @import "app/main/log"; -// @import "app/main/repository"; @import "app/main/sponsors"; -// @import "app/main/summary"; -// @import "app/main/tools"; @import "app/main"; -@import "app/maximize"; +// @import "app/maximize"; @import "app/misc"; @import "app/popup"; @import "app/pro"; @import "app/profile/hooks"; @import "app/profile"; @import "app/requests"; -@import "app/right/lists"; -@import "app/right/sponsors"; -@import "app/right"; +// @import "app/right/lists"; +// @import "app/right/sponsors"; +// @import "app/right"; @import "app/settings"; -// @import "app/stats"; -// @import "app/status"; @import "app/tabs"; @import "app/tipsy"; @@ -54,6 +49,7 @@ @import "app/modules/dropdown"; @import "app/modules/tabs"; @import "app/modules/tooltips"; +@import "app/modules/flash"; @import "app/layout"; @import "app/layouts/dashboard"; diff --git a/app/styles/app/layout.sass b/app/styles/app/layout.sass index aea15936..358cf42a 100644 --- a/app/styles/app/layout.sass +++ b/app/styles/app/layout.sass @@ -41,49 +41,25 @@ .wrapper overflow: hidden #main, - #left, - #right + #left margin-bottom: -99999px padding-bottom: 100034px -@media #{$medium-up} - - // layout magic http://lea.verou.me/2011/01/styling-children-based-on-their-number-with-css3/ - .wrapper-main - overflow: hidden - & > div:first-child:nth-last-child(2) - width: grid-calc(20, 24) - float: left - - & > div:first-child:nth-last-child(2) ~ div - width: grid-calc(4, 24) - max-width: 180px - float: right - - .maximized - .wrapper-main - & > div:first-child:nth-last-child(2) - width: grid-calc(24, 24) - float: none - - & > div:first-child:nth-last-child(2) ~ div - display: none - @media #{$large-up} #left, #right, .wrapper-main min-height: 100vh #left - width: grid-calc(5, 24) + width: grid-calc(6, 24) float: left margin-left: -100% max-width: 325px .wrapper-main - width: grid-calc(19, 24) + width: grid-calc(18, 24) float: left - margin-left: grid-calc(5, 24) + margin-left: grid-calc(6, 24) overflow: visible @media #{$xlarge-up} @@ -120,56 +96,56 @@ a margin-left: 5px -@media screen and (max-width: 1400px) - #left .duration_label - display: inline-block - width: 11px - height: 11px - margin-right: 1px - text-indent: 10px - overflow: hidden - background: inline-image('ui/clock.svg') no-repeat 0px 0px - background-size: contain +// @media screen and (max-width: 1400px) +// #left .duration_label +// display: inline-block +// width: 11px +// height: 11px +// margin-right: 1px +// text-indent: 10px +// overflow: hidden +// background: inline-image('ui/clock.svg') no-repeat 0px 0px +// background-size: contain -@media screen and (max-width: 1400px) - #left .finished_at_label - display: none +// @media screen and (max-width: 1400px) +// #left .finished_at_label +// display: none -@media screen and (max-width: 1400px) - table#builds .committer - display: none +// @media screen and (max-width: 1400px) +// table#builds .committer +// display: none -@media handheld, only screen and (max-device-width: 980px) - #left - display: none - #main - min-width: 99% - max-width: 99% - padding: 0px +// @media handheld, only screen and (max-device-width: 980px) +// #left +// display: none +// #main +// min-width: 99% +// max-width: 99% +// padding: 0px - .tabs - margin-top: 5px +// .tabs +// margin-top: 5px - p.description - margin: 5px 0px +// p.description +// margin: 5px 0px - #repo - padding: 15px 10px - width: 95% +// #repo +// padding: 15px 10px +// width: 95% - #top - width: 100% - min-width: 960px - #tools - display: none +// #top +// width: 100% +// min-width: 960px +// #tools +// display: none -a - text-decoration : none +// a +// text-decoration : none -.application, -.dashboard - height: 100% +// .application, +// .dashboard +// height: 100% -.no-padding - padding : 0 +// .no-padding +// padding : 0 diff --git a/app/styles/app/layouts/build-job.sass b/app/styles/app/layouts/build-job.sass index d5953443..f28cdd66 100644 --- a/app/styles/app/layouts/build-job.sass +++ b/app/styles/app/layouts/build-job.sass @@ -34,7 +34,7 @@ p white-space: normal a - color: $grey1 + color: $grey2 .tile-status--job width: 2em @@ -120,4 +120,8 @@ @include colorJobs($created-color, #f4efd8) .is-empty - opacity: .3 + opacity: .5 + +.jobs-list + @include resetul + diff --git a/app/styles/app/layouts/sidebar.sass b/app/styles/app/layouts/sidebar.sass index f04c92d6..12b5cd1e 100644 --- a/app/styles/app/layouts/sidebar.sass +++ b/app/styles/app/layouts/sidebar.sass @@ -23,7 +23,8 @@ $sb-font-size: 14px @include colorSidebarTiles($pass-color) &.started, &.created, - &.received + &.received, + &.queued @include colorSidebarTiles($created-color) h2, p @@ -60,10 +61,11 @@ $sb-font-size: 14px border-bottom: solid 2px $sb-grey width: 90% margin: auto - ul - height: 1.7em - li.float-right - padding-right: 0 + + .active a:after, + a:hover:after + bottom: -4px + .icon--plus &:after transform: translateX(35%) @@ -73,14 +75,37 @@ $sb-font-size: 14px .icon--plus:after color: $teal1 &:after - bottom: 0.05em + bottom: 0 + + @media (min-width: #{lower-bound($large-range)}) + ul + height: 1.7em + li + padding-right: 1em + + @media #{$xxlarge-up} + li + padding-right: 2em + + @media (max-width: #{lower-bound($large-range)}) + li + display: block !important + float: none + a + padding: 0 0 .35em + margin-bottom: .8em .sidebar-list margin-top: 1.4rem + color: $grey1 ul @include resetul border-bottom: .46rem solid #FAF9F7 background-color: #FAF9F7 - +.sidebar-seperator + width: 90% + margin: 1rem auto + border: none + border-bottom: solid 2px #f2f2f2 diff --git a/app/styles/app/main/repository.sass b/app/styles/app/main/repository.sass deleted file mode 100644 index d6e9fc42..00000000 --- a/app/styles/app/main/repository.sass +++ /dev/null @@ -1,94 +0,0 @@ - -// #repo -// position: relative -// width: 100% -// overflow-x: hidden -// padding: 1px 0 0 10px - -// h3 -// margin-right: 5px - -// .status-image -// display: inline-block -// position: relative -// width: 90px -// height: 25px -// vertical-align: top - -// a#status-image-popup -// display: inline-block -// opacity: 1.0 -// img -// border: none - -// .github-icon -// width: 21px -// height: 21px -// display: inline-block -// position: relative -// vertical-align: top -// img -// opacity: 0.65 - -// .not-found -// display: block -// padding: 10px 5px -// font-size: 12px - -// .description, .language -// font-weight: normal -// font-size: 15px - -// .description -// margin: 10px 0 35px 0 -// color: #9ca0a7 - -// .language -// display: none -// padding-right: 5px -// color: #666a72 - -// .github-stats -// position: absolute -// top: 15px -// right: 10px -// > * -// float: left -// a -// height: 16px -// display: block -// font-size: $font-size-smaller -// font-weight: bold -// text-decoration: none -// margin-left: 10px -// padding-left: 20px -// background: no-repeat 0px 2px -// color: $color-text-light -// &.watchers -// background-image: inline-image('ui/github-watchers.png') -// &.forks -// background-image: inline-image('ui/github-forks.png') - -// .tab dd -// a[href^="https://github.com"], -// a[href^="http://github.com"], -// a[href^="https://www.github.com"], -// a[href^="http://www.github.com"] -// &:hover -// background: transparent url(/images/icons/github.png) center right no-repeat -// background-size: 12px -// opacity: 1 -// padding-right: 16px - - -// @media #{$large-up} -// h3 -// display: inline-block -// .github-icon -// display: inline-block -// top: 17px -// margin-right: 1em -// .status-image -// top: 18px - - diff --git a/app/styles/app/main/summary.sass b/app/styles/app/main/summary.sass deleted file mode 100644 index 2aad741e..00000000 --- a/app/styles/app/main/summary.sass +++ /dev/null @@ -1,241 +0,0 @@ - -.green .build-status - background: - color: #549e54 - image: inline-image('icons/state-passed-white.svg') - -.yellow .build-status - background: - color: #bcaf39 - image: inline-image('icons/state-pending-white.svg') - -.red .build-status - background: - color: #b54223 - image: inline-image('icons/state-failed-white.svg') - -.gray .build-status - background: - color: #a8a8a9 - image: inline-image('icons/state-errored-white.svg') - -.build-status - background-size: 14px 14px - background-position: 12px 12px - background-repeat: no-repeat - -#new-summary - @include clearfix - border-radius: 4px - padding: 0 11px 0 51px - position: relative - min-height: 155px - - background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mN4/+HDfwAJcAPPMJixRQAAAABJRU5ErkJggg=='), #fafafa - background-size: 41px 100% - background-repeat: no-repeat - - @media #{$large-up} - padding-right: 240px - - .mainline - display: -webkit-flex - display: flex - width: 100% - -webkit-flex-wrap: wrap - flex-wrap: wrap - margin: 0 auto - -webkit-align-items: flex-start - align-items: flex-start - - .request-kind - opacity: 0.55 - position: absolute - top: 15px - left: 11px - background-size: contain - background-repeat: no-repeat - height: 21px - width: 21px - - &.push - background-image: inline-image('icons/push.svg') - - &.pull_request - background-image: inline-image('icons/pull-request.svg') - - .branch - margin-right: 5px - font-weight: bold - color: #6c878e - font-size: 16px - max-width: 300px - margin-top: 10px - overflow: hidden - white-space: nowrap - - .subject - font-size: 15px - color: #6c878e - margin-top: 12px - overflow: hidden - margin-right: 2px - line-height: 20px - word-wrap: break-word - padding-left: 0.55em - text-indent: -0.55em - - .body - display: block - font-size: 12px - font-family: Monaco, 'Liberation Mono', Courier, monospace - margin-bottom: 3.5em - margin-top: 17px - overflow: hidden - word-break: break-word - white-space: pre-wrap - - a - text-decoration: underline - - .build-status - border-radius: 4px - color: white - padding: 8px 0 - font-size: 16px - text-align: left - padding-left: 10px - - a - color: white - padding-left: 21px - - .runtime - background-image: inline-image('icons/run-time.svg') - - .finished - background-image: inline-image('icons/finished.svg') - - .tags - background-image: inline-image('icons/tags.svg') - - .commit-changes - background-image: inline-image('icons/github.svg') - - .runtime - margin-top: 5px - - .runtime, .finished, .tags, .commit-changes - background-position: left center - background-repeat: no-repeat - background-size: 14px 14px - padding-left: 20px - font-size: 13px - display: block - width: 100% - height: 24px - text-align: left - line-height: 24px - margin-left: 12px - - .commit-changes - div - display: inline - clear: none - height: 24px - - a - text-overflow: ellipsis - white-space: nowrap - overflow: hidden - display: inline-block - max-width: 175px - line-height: 24px - color: $color-link - - .right - font-size: 11px - - color: $color-link - a:hover - text-decoration: underline - - @media #{$large-up} - position: absolute - top: 10px - right: 10px - width: 220px - - .footer - a - color: #818181 - text-decoration: underline - - img - vertical-align: middle - border-radius: 100px - - .text - line-height: 15px - display: inline-block - position: relative - top: 2px - font-size: $font-size-small - - .author - float: left - margin-top: 10px - position: absolute - bottom: 9px - left: 48px - - div - display: inline - clear: none - color: #818181 - - img - height: 16px - width: 16px - margin-right: 4px - margin-left: 2px - -#summary - margin: 0 0 0 12px - @include clearfix - - .left, - .right - float: left - - a - text-decoration: underline - - dt, dd - float: left - min-height: 25px - margin: 0 - dt - clear: left - width: 90px - dd - width: 150px - white-space: nowrap - > dd - width: 80% - min-width: 315px - overflow: hidden - text-overflow: ellipsis - white-space: nowrap - - .message - white-space: normal - min-width: 0 - - pre - font-size: 12px - display: inline-block - width: 100% - line-height: 18px - margin-bottom: 0 - font-family: Monaco, 'Liberation Mono', Courier, monospace diff --git a/app/styles/app/main/tools.sass b/app/styles/app/main/tools.sass deleted file mode 100644 index 3d7183c5..00000000 --- a/app/styles/app/main/tools.sass +++ /dev/null @@ -1,138 +0,0 @@ - -#tools - position: relative - margin-top: 5px - - & > a.menu-popup-button - display: inline-block - text-align: left - color: #fff - font-size: 13px - padding: 3px 24px 3px 25px - background-image: inline-image('icons/settings.svg'), inline-image('icons/dropdown-arrow-white.svg') - background-size: 14px 14px, 8px 8px - background-position: 6px 7px, right 9px center - background-color: #a6adad - background-repeat: no-repeat - border-radius: 4px - cursor: pointer - img - width: 7px - padding-left: 10px - - .menu - @include resetul - @include border-bottom-radius(4px) - margin-top: 1px - z-index: 1000 - display: none - position: absolute - width: 140px - background-color: #a6adad - a - display: block - color: $white - font-size: $font-size-small - padding: 5px 25px 5px 25px - &:hover:not(.disabled) - background-color: #909393 - &:last-child - @include border-bottom-radius(4px) - &.disabled - cursor: default - color: $color-link-disabled - - @media screen and (min-width: 46em) - position: relative - top: 2px - width: 600px - float: right - & > a.menu-popup-button - margin-top: -37px - float: right - .menu - right: 0 - top: -8px - margin-top: 0 - -#code-climate - a - text-decoration: underline - font-weight: bold - - img - &#code-climate-logo - float: right - width: 150px - margin-top: 5px - margin-right: 10px - -#actions - text-align: right - - ul - @include resetul - li - display: inline - - @media #{$medium-up} - float: right - position: relative - top: 1.8em - ul - margin-top: -21px - - li.restart-build a, li.restart-job a - background-image: inline-image('icons/repeat.svg') - - li.cancel-build a, li.cancel-job a - background-image: inline-image('icons/off.svg') - - li.code-climate a - background-image: inline-image('icons/code-climate-icon.svg') - - li.icon - span.loading - background: inline-image('ui/round-spinner.svg') no-repeat - background-size: 17px 17px - display: inline-block - height: 28px - width: 28px - position: relative - top: -7px - cursor: pointer - color: #ffffff - background-color: #5e869a - text-align: center - border-radius: 50% - background-position: center center - - a - text-indent: -9999px - display: inline-block - width: 28px - height: 28px - position: relative - top: -7px - cursor: pointer - color: #fef4e9 - border-radius: 50% - background-color: #5e869a - background-size: 16px 16px - background-position: center center - background-repeat: no-repeat - text-align: center - - img - width: 16px - height: 16px - margin-top: 6px - margin-left: 0px - - &:hover - opacity: 1.0 - - &.disabled - opacity: 0.6 - display: none - visibility: hidden diff --git a/app/styles/app/maximize.sass b/app/styles/app/maximize.sass index c18d9d8e..d4e1b1ea 100644 --- a/app/styles/app/maximize.sass +++ b/app/styles/app/maximize.sass @@ -18,7 +18,7 @@ width: 20px height: 20px border-bottom-left-radius: 4px - display: block + // display: block &:hover background-color: $color-border-slider-hover diff --git a/app/styles/app/modules/flash.sass b/app/styles/app/modules/flash.sass new file mode 100644 index 00000000..f2248c0c --- /dev/null +++ b/app/styles/app/modules/flash.sass @@ -0,0 +1,52 @@ +.flash + @include resetul + font-size: 18px + text-align: center + li + opacity: 0 + position: relative + max-height: 3.5rem + height: 0 + animation: comeIn 7s 1 ease + + .close + @extend .icon + position: absolute + top: 1em + right: 1em + width: 1.1rem + height: 1.1rem + + p + padding: .7em 0 + margin: 0 + + .success, + .notice + color: #3ba85b + background-color: #deebdd + .close + @extend .icon--dismiss-green + + .error + color: #de4248 + background-color: #f1b6ad + .close + @extend .icon--dismiss-red + +@keyframes comeIn + 0% + opacity: 1 + height: 0 + top: -10em + 5% + height: 3.5rem + top: 0 + 95% + height: 3.5rem + opacity: 1 + 99% + height: 3.5em + 100% + height: 0 + opacity: 0 \ No newline at end of file diff --git a/app/styles/app/modules/icons.sass b/app/styles/app/modules/icons.sass index e58075d7..8564d57b 100644 --- a/app/styles/app/modules/icons.sass +++ b/app/styles/app/modules/icons.sass @@ -14,6 +14,10 @@ .icon--clock background-image: inline-image('svg/duration-icon.svg') +.icon-clock-dark, +.icon--clock-dark + background-image: inline-image('svg/duration-icon-dark2.svg') + .icon-github, .icon--github background-image: inline-image('svg/commit-icon.svg') @@ -29,6 +33,10 @@ .icon--hash background-image: inline-image('svg/build-number-icon.svg') +.icon-hash-dark, +.icon--hash-dark + background-image: inline-image('svg/build-number-icon-dark2.svg') + .icon-cog, .icon--cog background-image: inline-image('icons/settings.svg') @@ -87,7 +95,7 @@ .icon--env - background-image: inline-image('svg/icon-environment.svg') + background-image: inline-image('svg/icon-environment-dark2.svg') .icon--cross-red, .icon--job.failed background-image: inline-image('svg/icon-job-failed.svg') @@ -107,14 +115,14 @@ background-image: inline-image('svg/icon-job-canceled.svg') .icon--lang - background-image: inline-image('svg/icon-language.svg') + background-image: inline-image('svg/icon-language-dark2.svg') .icon--linux, .icon.linux - background-image: inline-image('svg/icon-linux.svg') + background-image: inline-image('svg/icon-linux-dark2.svg') .icon--mac, .icon.mac .icon.osx - background-image: inline-image('svg/icon-mac.svg') + background-image: inline-image('svg/icon-mac-dark2.svg') .icon--eye background-image: inline-image('svg/icon-showmore.svg') .icon--question @@ -127,6 +135,12 @@ .icon--search background-image: inline-image('svg/search.svg') +.icon--dismiss-green + background-image: inline-image('svg/icon-success-dismiss.svg') +.icon--dismiss-red + background-image: inline-image('svg/icon-error-dismiss.svg') + + .icon--plus &:after content: "+" diff --git a/app/styles/app/modules/section.sass b/app/styles/app/modules/section.sass index 5e7a96d7..4bdd6285 100644 --- a/app/styles/app/modules/section.sass +++ b/app/styles/app/modules/section.sass @@ -5,4 +5,4 @@ background-color: $white .section--maxheight - height: 3.3em \ No newline at end of file + height: 3.3em diff --git a/app/styles/app/modules/tooltips.sass b/app/styles/app/modules/tooltips.sass index 51cd9308..db463507 100644 --- a/app/styles/app/modules/tooltips.sass +++ b/app/styles/app/modules/tooltips.sass @@ -32,7 +32,7 @@ $tooltip-grey: #6A6C6D bottom: -2.5em @media #{$medium-up} - width: 25rem + width: 18rem .tooltip-inner height: 4.1em diff --git a/app/styles/app/stats.sass b/app/styles/app/stats.sass deleted file mode 100644 index aecdcf56..00000000 --- a/app/styles/app/stats.sass +++ /dev/null @@ -1,7 +0,0 @@ - -#repo_count_container, -#build_count_container - width: 100% - height: 300px - margin: 30px 0 - diff --git a/app/styles/app/status.sass b/app/styles/app/status.sass deleted file mode 100644 index 2ddd2618..00000000 --- a/app/styles/app/status.sass +++ /dev/null @@ -1,97 +0,0 @@ - -.status - display: inline-block - width: 10px - height: 10px - margin-right: 2px - background-size: auto auto - background-position: 0px 0px - -.list .status - margin-left: 7px - -#repos .yellow, -.yellow #summary .number, -.list .yellow .number - .status - background-image: inline-image('icons/state-pending.svg') - a - color: $color-text-status-pending - -#repos .green, -.green #summary .number, -.list .green .number, -#requests .accepted .request-id - .status - background-image: inline-image('icons/state-passed.svg') - a - color: $color-text-status-passed - -#repos .red, -.red #summary .number, -.list .red .number, -#requests .rejected .request-id - .status - background-image: inline-image('icons/state-failed.svg') - a - color: $color-text-status-failed - -#repos .gray, -.gray #summary .number, -.list .gray .number - .status - background-image: inline-image('icons/state-errored.svg') - a - color: $color-text-status-gray - -table.list - tbody - td - background-color: $color-bg-job - tr:hover td - background-color: $color-bg-job-highlight - - .green, .accepted - td - background-color: $color-bg-job-passed - &:hover td - background-color: $color-bg-job-passed-highlight - .number a, .request-id a - color: $color-text-status-passed - - .red, .rejected - td - background-color: $color-bg-job-failed - &:hover td - background-color: $color-bg-job-failed-highlight - .number a, .request-id a - color: $color-text-status-failed - - .gray - td - background-color: $color-bg-job-gray - &:hover td - background-color: $color-bg-job-gray-highlight - .number a - color: $color-text-status-gray - - .number a - display: inline-block - text-decoration: none - &:hover - text-decoration: underline - -#workers - .status - background-color: $color-bg-status-waiting - - .waiting .status - background-color: $color-bg-status-waiting - - .errored .status - background-color: $color-bg-status-errored - - .stopped .status - background-color: $color-bg-status-stopped - - diff --git a/app/styles/app/tabs.sass b/app/styles/app/tabs.sass index a8860474..37d04e95 100644 --- a/app/styles/app/tabs.sass +++ b/app/styles/app/tabs.sass @@ -96,26 +96,6 @@ @media #{$medium-up} display: inline-block - // .tab - // margin-top: 15px - // ul.navigation - // @include resetul - // border-bottom: 1px solid #EAEAEA - // li - // margin-right: 10px - // a - // color: #ACACAC - // font-weight: 600 - // font-size: 14px - // a.active - // color: #55888E - // @media #{$small-up} - // li - // display: inline-block - // @media #{$medium-up} - // height: 40px - // line-height: 40px - #builds a display: inline @@ -136,24 +116,17 @@ .tab margin: 30px 0 0 12px -#right - .tabs - margin-left: -3px +// #right +// .tabs +// margin-left: -3px - .active - background-color: $color-bg-right - border-bottom-color: $color-bg-right - h5 - font-weight: bold +// .active +// background-color: $color-bg-right +// border-bottom-color: $color-bg-right +// h5 +// font-weight: bold -@media handheld, only screen and (max-device-width: 980px) - #main - // .tabs - // margin-top: 5px - // li - // margin-right: 0px - // h5 - // min-width: 0px - - #tab_branches - display: none +// @media handheld, only screen and (max-device-width: 980px) +// #main +// #tab_branches +// display: none diff --git a/app/templates/application.hbs b/app/templates/application.hbs index 54b490eb..c24cd689 100644 --- a/app/templates/application.hbs +++ b/app/templates/application.hbs @@ -1,8 +1 @@ {{outlet}} - - -{{#if config.pro}} -
-
  -
-{{/if}} diff --git a/app/templates/build.hbs b/app/templates/build.hbs index cba093f5..d467cdb4 100644 --- a/app/templates/build.hbs +++ b/app/templates/build.hbs @@ -61,7 +61,7 @@
  • {{#if build.isFinished}}ran{{else}}running{{/if}} for {{format-duration build.duration}} -
  • +
  • {{format-time build.finishedAt}}
  • @@ -76,8 +76,14 @@ {{/unless}} {{#if build.isMatrix}} - {{view 'jobs' jobs=build.requiredJobs required="true"}} - {{view 'jobs' jobs=build.allowedFailureJobs}} + {{#if jobsLoaded}} + {{jobs-list jobs=build.requiredJobs required="true"}} + {{jobs-list jobs=build.allowedFailureJobs}} + {{else}} +
    + +
    + {{/if}} {{else}} {{view 'log' job=build.jobs.firstObject}} {{/if}} diff --git a/app/templates/components/jobs-item.hbs b/app/templates/components/jobs-item.hbs new file mode 100644 index 00000000..e6ec8359 --- /dev/null +++ b/app/templates/components/jobs-item.hbs @@ -0,0 +1,46 @@ +{{#link-to "job" job.repo job}} +
    + +
    + +

    + + {{job.number}} +

    + +

    + +

    + + {{#if languages}} +

    + + {{languages}} +

    + {{else}} +

    + + no language set +

    + {{/if}} + +
    + {{#if job.config.env}} +

    + + {{job.config.env}} +

    + {{else}} +

    + + no environment variables set +

    + {{/if}} + +

    + + {{format-duration job.duration}} +

    + +
    +{{/link-to}} diff --git a/app/templates/components/jobs-list.hbs b/app/templates/components/jobs-list.hbs new file mode 100644 index 00000000..e6d0aa6d --- /dev/null +++ b/app/templates/components/jobs-list.hbs @@ -0,0 +1,21 @@ +{{#if jobs.length}} +
    + + {{#if required}} +

    Build Jobs

    + {{else}} +

    Allowed Failures + +
    +

    These are jobs you can allow to fail without failing your entire build

    +
    +

    + {{/if}} + + +
    +{{/if}} diff --git a/app/templates/jobs.hbs b/app/templates/jobs.hbs index 15da7f88..d443ef2f 100644 --- a/app/templates/jobs.hbs +++ b/app/templates/jobs.hbs @@ -7,7 +7,7 @@

    Allowed Failures
    -

    These are jobs you can allow to fail without failing your entire build

    +

    These are jobs are allowed to fail, without failing your entire build.

    {{/if}} @@ -23,7 +23,7 @@

    - + {{#if job.id}} {{#if job.repo.slug}} {{number}} @@ -57,12 +57,12 @@ {{else}}

    - no environments set + no environment variables set

    {{/if}}

    - + {{format-duration duration}}

    diff --git a/app/templates/layouts/home.hbs b/app/templates/layouts/home.hbs index 2e601499..e0a94ab5 100644 --- a/app/templates/layouts/home.hbs +++ b/app/templates/layouts/home.hbs @@ -4,16 +4,12 @@ {{render "top"}} + {{render "flash"}} +
    - {{render "flash"}} {{yield}}
    - {{#if config.pro}} - - {{/if}}