work on profile view
|
@ -20,6 +20,7 @@ input 'assets/javascripts' do
|
||||||
vendor/i18n.js
|
vendor/i18n.js
|
||||||
vendor/facebox.js
|
vendor/facebox.js
|
||||||
vendor/pusher.js
|
vendor/pusher.js
|
||||||
|
vendor/jquery.cookie.js
|
||||||
vendor/jquery.timeago.js
|
vendor/jquery.timeago.js
|
||||||
vendor/sc-routes.js
|
vendor/sc-routes.js
|
||||||
)
|
)
|
||||||
|
|
1
Rakefile
|
@ -9,6 +9,7 @@ namespace :ember do
|
||||||
system 'git clone https://github.com/emberjs/ember.js.git tmp/ember.js'
|
system 'git clone https://github.com/emberjs/ember.js.git tmp/ember.js'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
system 'cd tmp/ember.js; bundle update'
|
||||||
system 'cd tmp/ember.js; rake dist'
|
system 'cd tmp/ember.js; rake dist'
|
||||||
system 'cp tmp/ember.js/dist/ember.js assets/javascripts/vendor/ember.js'
|
system 'cp tmp/ember.js/dist/ember.js assets/javascripts/vendor/ember.js'
|
||||||
end
|
end
|
||||||
|
|
BIN
assets/images/icons/group.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
assets/images/icons/group.small.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
assets/images/icons/link.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
assets/images/icons/link.small.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/images/icons/org.small.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
assets/images/icons/user.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
assets/images/icons/user.small.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
|
@ -28,12 +28,26 @@ Travis.reopen
|
||||||
@routes = new Travis.Routes()
|
@routes = new Travis.Routes()
|
||||||
@pusher = new Travis.Pusher()
|
@pusher = new Travis.Pusher()
|
||||||
|
|
||||||
connect: ->
|
@setCurrentUser(JSON.parse($.cookie('user')))
|
||||||
@controller = Em.Controller.create()
|
|
||||||
view = Em.View.create
|
signIn: ->
|
||||||
template: Em.Handlebars.compile('{{outlet layout}}')
|
# Travis.Auth.signIn()
|
||||||
controller: @controller
|
@setCurrentUser({ id: 1, login: 'svenfuchs', name: 'Sven Fuchs', email: 'me@svenfuchs.com', token: '1234567890', gravatar: '402602a60e500e85f2f5dc1ff3648ecb', locale: 'en' })
|
||||||
view.appendTo(@get('rootElement') || 'body')
|
@render.apply(this, @get('returnTo') || ['home', 'index'])
|
||||||
|
|
||||||
|
signOut: ->
|
||||||
|
@setCurrentUser()
|
||||||
|
|
||||||
|
setCurrentUser: (user) ->
|
||||||
|
user = JSON.parse(user) if typeof user == 'string'
|
||||||
|
$.cookie('user', JSON.stringify(user))
|
||||||
|
@store.load(Travis.User, user) if user
|
||||||
|
@set('currentUser', if user then Travis.User.find(user.id) else undefined)
|
||||||
|
|
||||||
|
render: (name, action, params) ->
|
||||||
|
layout = @connectLayout(name)
|
||||||
|
layout.activate(action, params || {})
|
||||||
|
$('body').attr('id', name)
|
||||||
|
|
||||||
receive: ->
|
receive: ->
|
||||||
@store.receive.apply(@store, arguments)
|
@store.receive.apply(@store, arguments)
|
||||||
|
@ -46,4 +60,20 @@ Travis.reopen
|
||||||
@controller.connectOutlet(outletName: 'layout', controller: @layout, viewClass: viewClass)
|
@controller.connectOutlet(outletName: 'layout', controller: @layout, viewClass: viewClass)
|
||||||
@layout
|
@layout
|
||||||
|
|
||||||
|
connect: ->
|
||||||
|
@controller = Em.Controller.create()
|
||||||
|
view = Em.View.create
|
||||||
|
template: Em.Handlebars.compile('{{outlet layout}}')
|
||||||
|
controller: @controller
|
||||||
|
view.appendTo(@get('rootElement') || 'body')
|
||||||
|
|
||||||
|
toggleSidebar: ->
|
||||||
|
$('body').toggleClass('maximized')
|
||||||
|
# TODO gotta force redraws here :/
|
||||||
|
element = $('<span></span>')
|
||||||
|
$('#top .profile').append(element)
|
||||||
|
Em.run.later (-> element.remove()), 10
|
||||||
|
element = $('<span></span>')
|
||||||
|
$('#repository').append(element)
|
||||||
|
Em.run.later (-> element.remove()), 10
|
||||||
|
|
||||||
|
|
|
@ -27,10 +27,12 @@ Travis.reopen
|
||||||
view
|
view
|
||||||
|
|
||||||
TopController: Em.Controller.extend
|
TopController: Em.Controller.extend
|
||||||
userBinding: 'Travis.currentUser'
|
userBinding: 'Travis.app.currentUser'
|
||||||
|
|
||||||
|
require 'controllers/auth'
|
||||||
require 'controllers/builds'
|
require 'controllers/builds'
|
||||||
require 'controllers/home'
|
require 'controllers/home'
|
||||||
|
require 'controllers/owners'
|
||||||
require 'controllers/profile'
|
require 'controllers/profile'
|
||||||
require 'controllers/repositories'
|
require 'controllers/repositories'
|
||||||
require 'controllers/repository'
|
require 'controllers/repository'
|
||||||
|
|
14
assets/javascripts/app/controllers/auth.coffee
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
require 'controllers'
|
||||||
|
|
||||||
|
@Travis.AuthController = Travis.Controller.extend
|
||||||
|
name: 'auth'
|
||||||
|
|
||||||
|
init: ->
|
||||||
|
@_super('top')
|
||||||
|
@connectTop()
|
||||||
|
@connectOutlet(outletName: 'main', controller: this, viewClass: Travis.AuthView)
|
||||||
|
|
||||||
|
activate: (action, params) ->
|
||||||
|
# noop
|
||||||
|
|
||||||
|
|
12
assets/javascripts/app/controllers/owners.coffee
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
Travis.OwnersController = Ember.ArrayController.extend
|
||||||
|
defaultTab: 'accounts'
|
||||||
|
|
||||||
|
init: ->
|
||||||
|
@activate(@defaultTab)
|
||||||
|
|
||||||
|
activate: (tab, params) ->
|
||||||
|
@set('tab', tab)
|
||||||
|
this["view#{$.camelize(tab)}"](params)
|
||||||
|
|
||||||
|
viewAccounts: ->
|
||||||
|
@set('content', Travis.Owner.find())
|
|
@ -1,24 +1,37 @@
|
||||||
Travis.reopen
|
Travis.ProfileController = Travis.Controller.extend
|
||||||
ProfileController: Travis.Controller.extend
|
name: 'profile'
|
||||||
name: 'profile'
|
userBinding: 'Travis.app.currentUser'
|
||||||
|
|
||||||
init: ->
|
init: ->
|
||||||
@_super('top', 'user', 'hooks')
|
@_super('top', 'owners')
|
||||||
|
@connectTop()
|
||||||
|
@connectOutlet outletName: 'left', controller: @ownersController, viewClass: Travis.OwnersView
|
||||||
|
@connectOutlet(outletName: 'main', controller: this, viewClass: Travis.ProfileView)
|
||||||
|
@owners = @ownersController.get('content')
|
||||||
|
|
||||||
connect: (parent) ->
|
owner: (->
|
||||||
@_super(parent)
|
login = @get('params.login') || Travis.app.get('currentUser.login')
|
||||||
@connectTop()
|
@owners.toArray().filter((owner) -> owner if owner.get('login') == login)[0]
|
||||||
|
).property('owners.length', 'params.login')
|
||||||
|
|
||||||
viewShow: (params) ->
|
activate: (action, params) ->
|
||||||
@connectUser(@currentUser)
|
@setParams(params || @get('params'))
|
||||||
@connectHooks(Travis.Hook.find())
|
this["view#{$.camelize(action)}"]()
|
||||||
|
|
||||||
connectUser: (user) ->
|
viewHooks: ->
|
||||||
@profileController.connectOutlet(outletName: 'main', name: 'user', context: user)
|
@connectTab('hooks')
|
||||||
|
@set('hooks', Travis.Hook.find(login: @get('params.login') || Travis.app.get('currentUser.login')))
|
||||||
|
|
||||||
connectHooks: (hooks) ->
|
viewUser: ->
|
||||||
@userController.connectOutlet(outletName: 'hooks', name: 'hooks', context: hooks) if hooks
|
@connectTab('user')
|
||||||
|
|
||||||
|
connectTab: (tab) ->
|
||||||
|
viewClass = Travis["#{$.camelize(tab)}View"]
|
||||||
|
@set('tab', tab)
|
||||||
|
@connectOutlet(outletName: 'pane', controller: this, viewClass: viewClass)
|
||||||
|
|
||||||
|
setParams: (params) ->
|
||||||
|
@set('params', {})
|
||||||
|
@set("params.#{key}", params[key]) for key, value of params
|
||||||
|
|
||||||
UserController: Em.Controller.extend()
|
|
||||||
HooksController: Em.ArrayController.extend()
|
|
||||||
|
|
||||||
|
|
|
@ -37,3 +37,7 @@
|
||||||
|
|
||||||
email: (email) ->
|
email: (email) ->
|
||||||
"mailto:#{email}"
|
"mailto:#{email}"
|
||||||
|
|
||||||
|
owner: (login) ->
|
||||||
|
"/profile/#{login}"
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ require 'models/build'
|
||||||
require 'models/commit'
|
require 'models/commit'
|
||||||
require 'models/hook'
|
require 'models/hook'
|
||||||
require 'models/job'
|
require 'models/job'
|
||||||
|
require 'models/owner'
|
||||||
require 'models/repository'
|
require 'models/repository'
|
||||||
require 'models/sponsor'
|
require 'models/sponsor'
|
||||||
require 'models/user'
|
require 'models/user'
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
require 'travis/model'
|
require 'travis/model'
|
||||||
|
|
||||||
@Travis.Hook = Travis.Model.extend
|
@Travis.Hook = Travis.Model.extend
|
||||||
primaryKey: 'slug'
|
|
||||||
slug: DS.attr('string')
|
slug: DS.attr('string')
|
||||||
description: DS.attr('string')
|
description: DS.attr('string')
|
||||||
active: DS.attr('boolean')
|
active: DS.attr('boolean')
|
||||||
|
@ -11,7 +10,7 @@ require 'travis/model'
|
||||||
).property('slug')
|
).property('slug')
|
||||||
|
|
||||||
name: (->
|
name: (->
|
||||||
@get('slug').split('/')[1]
|
@get('slug').split('/')[1] if @get('isLoaded')
|
||||||
).property('slug')
|
).property('slug')
|
||||||
|
|
||||||
urlGithub: (->
|
urlGithub: (->
|
||||||
|
@ -25,8 +24,3 @@ require 'travis/model'
|
||||||
toggle: ->
|
toggle: ->
|
||||||
@set 'active', !@get('active')
|
@set 'active', !@get('active')
|
||||||
Travis.app.store.commit()
|
Travis.app.store.commit()
|
||||||
|
|
||||||
@Travis.Hook.reopenClass
|
|
||||||
url: 'profile/hooks'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
13
assets/javascripts/app/models/owner.coffee
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
require 'travis/model'
|
||||||
|
|
||||||
|
@Travis.Owner = Travis.Model.extend
|
||||||
|
primaryKey: 'login'
|
||||||
|
login: DS.attr('string')
|
||||||
|
name: DS.attr('string')
|
||||||
|
type: DS.attr('string')
|
||||||
|
reposCount: DS.attr('number')
|
||||||
|
|
||||||
|
urlGithub: (->
|
||||||
|
"http://github.com/#{@get('login')}"
|
||||||
|
).property()
|
||||||
|
|
|
@ -5,8 +5,13 @@ require 'travis/model'
|
||||||
email: DS.attr('string')
|
email: DS.attr('string')
|
||||||
login: DS.attr('string')
|
login: DS.attr('string')
|
||||||
token: DS.attr('string')
|
token: DS.attr('string')
|
||||||
|
locale: DS.attr('string')
|
||||||
gravatar: DS.attr('string')
|
gravatar: DS.attr('string')
|
||||||
|
|
||||||
urlGithub: (->
|
urlGithub: (->
|
||||||
"http://github.com/#{@get('login')}"
|
"http://github.com/#{@get('login')}"
|
||||||
).property()
|
).property()
|
||||||
|
|
||||||
|
updateLocale: (locale) ->
|
||||||
|
@set('locale', locale)
|
||||||
|
Travis.app.store.commit()
|
||||||
|
|
|
@ -18,14 +18,22 @@ $.extend Travis.Routes.prototype,
|
||||||
Em.routes.set('location', event.target.href.replace("#{@base_uri}/", ''))
|
Em.routes.set('location', event.target.href.replace("#{@base_uri}/", ''))
|
||||||
|
|
||||||
action: (name, action, params) ->
|
action: (name, action, params) ->
|
||||||
@render(name, action, params) if @before(name, action, params)
|
|
||||||
|
|
||||||
render: (name, action, params) ->
|
|
||||||
console.log [name, action, params]
|
|
||||||
# this needs to be a global reference because Em.routes is global
|
# this needs to be a global reference because Em.routes is global
|
||||||
layout = Travis.app.connectLayout(name)
|
Travis.app.render(name, action, params) if @before(name, action, params)
|
||||||
layout.activate(action, params || {})
|
|
||||||
$('body').attr('id', name)
|
|
||||||
|
|
||||||
before: (name, action, params) ->
|
before: (name, action, params) ->
|
||||||
true
|
if @requiresAuth(name, action, params)
|
||||||
|
true
|
||||||
|
else
|
||||||
|
@requireAuth(name, action, params)
|
||||||
|
|
||||||
|
signedIn: ->
|
||||||
|
!!Travis.app.get('currentUser')
|
||||||
|
|
||||||
|
requiresAuth: (name, action, params) ->
|
||||||
|
name != 'profile' || @signedIn()
|
||||||
|
|
||||||
|
requireAuth: (name, action, params) ->
|
||||||
|
Travis.app.set('returnTo', [name, action, params])
|
||||||
|
Travis.app.render('auth', 'show')
|
||||||
|
false
|
||||||
|
|
|
@ -16,6 +16,8 @@ jQuery.support.cors = true
|
||||||
commit: Travis.Commit
|
commit: Travis.Commit
|
||||||
jobs: Travis.Job
|
jobs: Travis.Job
|
||||||
job: Travis.Job
|
job: Travis.Job
|
||||||
|
owner: Travis.Owner
|
||||||
|
owners: Travis.Owner
|
||||||
worker: Travis.Worker
|
worker: Travis.Worker
|
||||||
workers: Travis.Worker
|
workers: Travis.Worker
|
||||||
|
|
||||||
|
|
8
assets/javascripts/app/templates/auth/show.hbs
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<h1>Sign in</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="" class="profile-signup" {{action signIn target="Travis.app"}}>
|
||||||
|
Sign in with GitHub
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
34
assets/javascripts/app/templates/layouts/profile.hbs
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<div id="top">
|
||||||
|
{{outlet top}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="left">
|
||||||
|
{{outlet left}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="main">
|
||||||
|
{{outlet main}}
|
||||||
|
|
||||||
|
<div id="right">
|
||||||
|
<div id="slider" {{action toggleSidebar target="Travis.app"}}>
|
||||||
|
<div class='icon'></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="box">
|
||||||
|
<h4>Getting started?</h4>
|
||||||
|
<p>
|
||||||
|
Please read our <a href="http://about.travis-ci.org/docs/user/getting-started">guide</a>.
|
||||||
|
It will only take a few minutes :)
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
You can find detailled docs on our <a href="http://about.travis-ci.org/">about</a> site.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If you need help please don't hesitate to join
|
||||||
|
<a href="irc://irc.freenode.net#travis">#travis</a> on irc.freenode.net
|
||||||
|
or our <a href="http://groups.google.com/group/travis-ci">mailinglist</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{{t layouts.application.fork_me}}
|
{{t layouts.application.fork_me}}
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div id="slider" {{action toggleSidebar}}>
|
<div id="slider" {{action toggleSidebar target="Travis.app"}}>
|
||||||
<div class='icon'></div>
|
<div class='icon'></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -16,23 +16,23 @@
|
||||||
<a href="http://about.travis-ci.org/docs">Docs</a>
|
<a href="http://about.travis-ci.org/docs">Docs</a>
|
||||||
</li>
|
</li>
|
||||||
{{#if user}}
|
{{#if user}}
|
||||||
<li {{bindAttr class="view.classProfile"}} {{action hideProfile on="mouseLeave"}}>
|
<li {{bindAttr class="view.classProfile"}}>
|
||||||
<a href="#" class="name" {{action showProfile on="mouseEnter"}}>
|
<a href="#" class="name">
|
||||||
<img {{bindAttr src="view.gravatarUrl"}}>
|
<img {{bindAttr src="view.gravatarUrl"}}>
|
||||||
{{user.name}}
|
{{user.name}}
|
||||||
</a>
|
</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a href="/profile" {{action route}}>{{t layouts.top.profile}}</a>
|
<a href="/profile" class="profile" {{action route}}>{{t layouts.top.profile}}</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a {{action signOut}}>{{t layouts.top.sign_out}}</a>
|
<a href="/" class="signout" {{action signOut target="Travis.app"}}>{{t layouts.top.sign_out}}</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
{{else}}
|
{{else}}
|
||||||
<li {{bindAttr class="view.classProfile"}}>
|
<li {{bindAttr class="view.classProfile"}}>
|
||||||
<a href="#" {{action signIn}}>{{t layouts.top.github_login}}</a>
|
<a href="#" {{action signIn target="Travis.app"}}>{{t layouts.top.github_login}}</a>
|
||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
{{#if content.length}}
|
|
||||||
<ul id="hooks">
|
|
||||||
{{#each content}}
|
|
||||||
<li {{bindAttr class="active"}}>
|
|
||||||
<a {{bindAttr href="urlGithub"}} rel="nofollow">{{owner}}/{{name}}</a>
|
|
||||||
<p class="description">{{description}}</p>
|
|
||||||
|
|
||||||
<div class="controls">
|
|
||||||
<a {{bindAttr href="urlGithubAdmin"}} class="github-admin tool-tip" title="Github service hooks admin page"></a>
|
|
||||||
<a {{action toggle}} class="switch"></a>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
{{/each}}
|
|
||||||
</ul>
|
|
||||||
{{else}}
|
|
||||||
<p class="sync">Please wait while we sync with GitHub</p>
|
|
||||||
{{/if}}
|
|
||||||
|
|
18
assets/javascripts/app/templates/profile/owners.hbs
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<div id="search_box">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ul class="tabs">
|
||||||
|
<li id="tab_accounts" {{bindAttr class="view.classAccounts"}}>
|
||||||
|
<h5><a name="accounts" href="">Accounts</a></h5>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="tab">
|
||||||
|
{{#collection Travis.OwnersListView contentBinding="controller"}}
|
||||||
|
<a {{bindAttr href="view.urlOwner"}} {{action route}} class="name">{{view.name}}</a>
|
||||||
|
<p class="summary">
|
||||||
|
<span class="repos_label">Repositories:</span>
|
||||||
|
<abbr class="repos">{{view.content.reposCount}}</abbr>
|
||||||
|
</p>
|
||||||
|
{{/collection}}
|
||||||
|
</div>
|
|
@ -1,46 +1,9 @@
|
||||||
<h2>{{name}}</h2>
|
<h3>{{owner.name}}</h3>
|
||||||
<img {{bindAttr src="view.gravatarUrl"}}>
|
|
||||||
|
|
||||||
<dl class="profile">
|
{{view Travis.ProfileTabsView}}
|
||||||
<dt>
|
|
||||||
{{t profiles.show.github}}:
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<a {{bindAttr href="urlGithub"}}>{{login}}</a>
|
|
||||||
</dd>
|
|
||||||
<dt>
|
|
||||||
{{t profiles.show.email}}:
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{email}}
|
|
||||||
</dd>
|
|
||||||
<dt>
|
|
||||||
{{t profiles.show.token}}:
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
{{token}}
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
|
|
||||||
<p class="notice">
|
<div class="tab">
|
||||||
{{{t profiles.show.messages.notice}}}
|
{{outlet pane}}
|
||||||
</p>
|
</div>
|
||||||
|
|
||||||
<h4>{{t profiles.show.your_locale}}</h4>
|
|
||||||
<form>
|
|
||||||
<select name="user[locale]">
|
|
||||||
</select>
|
|
||||||
<button name="commit">
|
|
||||||
{{t profiles.show.update_locale}}
|
|
||||||
</button>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<h4>{{t profiles.show.your_repos}}</h4>
|
|
||||||
<p class="tip">
|
|
||||||
{{{t profiles.show.message.your_repos}}}
|
|
||||||
<a href="http://about.travis-ci.org/docs/user/build-configuration">
|
|
||||||
{{{t profiles.show.message.config}}}
|
|
||||||
</a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
{{outlet hooks}}
|
|
||||||
|
|
10
assets/javascripts/app/templates/profile/tabs.hbs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<ul class="tabs">
|
||||||
|
<li id="tab_hooks" {{bindAttr class="view.classHooks"}}>
|
||||||
|
<h5><a name="hooks" {{action activate}}>Repositories</a></h5>
|
||||||
|
</li>
|
||||||
|
{{#if view.displayUser}}
|
||||||
|
<li id="tab_user" {{bindAttr class="view.classUser"}}>
|
||||||
|
<h5><a name="user" {{action activate}}>Profile</a></h5>
|
||||||
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
</ul>
|
23
assets/javascripts/app/templates/profile/tabs/hooks.hbs
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<p class="tip">
|
||||||
|
{{{t profiles.show.message.your_repos}}}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
{{#if hooks.length}}
|
||||||
|
<ul id="hooks">
|
||||||
|
{{#each hook in hooks}}
|
||||||
|
<li {{bindAttr class="active"}}>
|
||||||
|
<a {{bindAttr href="hook.urlGithub"}} rel="nofollow">{{hook.slug}}</a>
|
||||||
|
<p class="description">{{hook.description}}</p>
|
||||||
|
|
||||||
|
<div class="controls">
|
||||||
|
<a {{bindAttr href="hook.urlGithubAdmin"}} class="github-admin tool-tip" title="Github service hooks admin page"></a>
|
||||||
|
<a {{action toggle target="hook"}} class="switch"></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
</ul>
|
||||||
|
{{else}}
|
||||||
|
<p class="sync">Please wait while we sync with GitHub</p>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
|
36
assets/javascripts/app/templates/profile/tabs/user.hbs
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
<img {{bindAttr src="view.gravatarUrl"}}>
|
||||||
|
|
||||||
|
<dl class="profile">
|
||||||
|
<dt>
|
||||||
|
{{t profiles.show.github}}:
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
<a {{bindAttr href="urlGithub"}}>{{user.login}}</a>
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
{{t profiles.show.email}}:
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
{{user.email}}
|
||||||
|
</dd>
|
||||||
|
<dt>
|
||||||
|
{{t profiles.show.token}}:
|
||||||
|
</dt>
|
||||||
|
<dd>
|
||||||
|
{{user.token}}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<form>
|
||||||
|
{{view Ember.Select
|
||||||
|
contentBinding="view.locales"
|
||||||
|
selectionBinding="user.locale"
|
||||||
|
optionLabelPath="content.name"
|
||||||
|
optionValuePath="content.key"}}
|
||||||
|
|
||||||
|
<button name="commit" {{action saveLocale}}>
|
||||||
|
{{t profiles.show.update_locale}}
|
||||||
|
</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<div class="tab">
|
<div class="tab">
|
||||||
|
|
||||||
{{outlet pane}}
|
{{outlet pane}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,8 +7,10 @@ require 'ext/ember/namespace'
|
||||||
|
|
||||||
@Travis.reopen
|
@Travis.reopen
|
||||||
HomeLayout: Travis.View.extend(templateName: 'layouts/home')
|
HomeLayout: Travis.View.extend(templateName: 'layouts/home')
|
||||||
ProfileLayout: Travis.View.extend(templateName: 'layouts/simple')
|
ProfileLayout: Travis.View.extend(templateName: 'layouts/profile')
|
||||||
StatsLayout: Travis.View.extend(templateName: 'layouts/simple')
|
StatsLayout: Travis.View.extend(templateName: 'layouts/simple')
|
||||||
|
AuthLayout: Travis.View.extend(templateName: 'layouts/simple')
|
||||||
|
AuthView: Travis.View.extend(templateName: 'auth/show')
|
||||||
|
|
||||||
require 'views/build'
|
require 'views/build'
|
||||||
require 'views/job'
|
require 'views/job'
|
||||||
|
|
|
@ -1,17 +1,87 @@
|
||||||
@Travis.reopen
|
@Travis.reopen
|
||||||
UserView: Travis.View.extend
|
OwnersView: Travis.View.extend
|
||||||
|
tabBinding: 'controller.tab'
|
||||||
|
templateName: 'profile/owners'
|
||||||
|
classAccounts: (->
|
||||||
|
'active' if @get('tab') == 'accounts'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
OwnersListView: Em.CollectionView.extend
|
||||||
|
elementId: 'owners'
|
||||||
|
ownerBinding: 'content'
|
||||||
|
tagName: 'ul'
|
||||||
|
|
||||||
|
emptyView: Ember.View.extend
|
||||||
|
template: Ember.Handlebars.compile('<div class="loading"><span>Loading</span></div>')
|
||||||
|
|
||||||
|
itemViewClass: Travis.View.extend
|
||||||
|
ownerBinding: 'content'
|
||||||
|
typeBinding: 'content.type'
|
||||||
|
selectedBinding: 'owner.selected'
|
||||||
|
|
||||||
|
classNames: ['owner']
|
||||||
|
classNameBindings: ['type', 'selected']
|
||||||
|
|
||||||
|
name: (->
|
||||||
|
@get('content.name') || @get('content.login')
|
||||||
|
).property('content.login', 'content.name')
|
||||||
|
|
||||||
|
urlOwner: (->
|
||||||
|
Travis.Urls.owner(@get('owner.login'))
|
||||||
|
).property('owner.login')
|
||||||
|
|
||||||
|
ProfileView: Travis.View.extend
|
||||||
templateName: 'profile/show'
|
templateName: 'profile/show'
|
||||||
|
|
||||||
|
ProfileTabsView: Travis.View.extend
|
||||||
|
templateName: 'profile/tabs'
|
||||||
|
tabBinding: 'controller.tab'
|
||||||
|
|
||||||
|
activate: (event) ->
|
||||||
|
@get('controller').activate(event.target.name)
|
||||||
|
|
||||||
|
classHooks: (->
|
||||||
|
'active' if @get('tab') == 'hooks'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
classUser: (->
|
||||||
|
'active' if @get('tab') == 'user'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
displayUser: (->
|
||||||
|
@get('controller.owner.login') == @get('controller.user.login')
|
||||||
|
).property('controller.owner.login', 'controller.user.login')
|
||||||
|
|
||||||
|
HooksView: Travis.View.extend
|
||||||
|
templateName: 'profile/tabs/hooks'
|
||||||
|
|
||||||
|
urlGithubAdmin: (->
|
||||||
|
Travis.Urls.githubAdmin(@get('hook.slug'))
|
||||||
|
).property('hook.slug')
|
||||||
|
|
||||||
|
UserView: Travis.View.extend
|
||||||
|
templateName: 'profile/tabs/user'
|
||||||
userBinding: 'controller.user'
|
userBinding: 'controller.user'
|
||||||
|
|
||||||
gravatarUrl: (->
|
gravatarUrl: (->
|
||||||
"http://www.gravatar.com/avatar/#{@get('user.gravatar')}?s=48&d=mm"
|
"http://www.gravatar.com/avatar/#{@get('user.gravatar')}?s=48&d=mm"
|
||||||
).property('user.gravatar')
|
).property('user.gravatar')
|
||||||
|
|
||||||
HooksView: Travis.View.extend
|
locales: (->
|
||||||
templateName: 'profile/hooks'
|
[
|
||||||
|
{ key: 'en', name: 'English' }
|
||||||
urlGithubAdmin: (->
|
{ key: 'ca', name: 'Catalan' }
|
||||||
Travis.Urls.githubAdmin(@get('hook.slug'))
|
{ key: 'cs', name: 'Čeština' }
|
||||||
).property('hook.slug')
|
{ key: 'es', name: 'Español' }
|
||||||
|
{ key: 'fr', name: 'Français' }
|
||||||
|
{ key: 'ja', name: '日本語' }
|
||||||
|
{ key: 'nl', name: 'Nederlands' }
|
||||||
|
{ key: 'nb', name: 'Norsk Bokmål' }
|
||||||
|
{ key: 'pl', name: 'Polski' }
|
||||||
|
{ key: 'pt-BR': name: 'Português brasileiro' }
|
||||||
|
{ key: 'ru', name: 'Русский' }
|
||||||
|
]
|
||||||
|
).property()
|
||||||
|
|
||||||
|
saveLocale: (event) ->
|
||||||
|
@get('user').updateLocale($('#locale').val())
|
||||||
|
|
|
@ -1,7 +1,2 @@
|
||||||
require 'views/repo/repos'
|
|
||||||
|
|
||||||
require 'views/repo/list'
|
require 'views/repo/list'
|
||||||
require 'views/repo/list/tabs'
|
|
||||||
require 'views/repo/show'
|
require 'views/repo/show'
|
||||||
require 'views/repo/show/tabs'
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
@Travis.reopen
|
@Travis.reopen
|
||||||
|
RepositoriesView: Travis.View.extend
|
||||||
|
templateName: 'repos/list'
|
||||||
|
|
||||||
RepositoriesListView: Em.CollectionView.extend
|
RepositoriesListView: Em.CollectionView.extend
|
||||||
elementId: 'repositories'
|
elementId: 'repositories'
|
||||||
repositoryBinding: 'content'
|
repositoryBinding: 'content'
|
||||||
|
@ -24,3 +27,25 @@
|
||||||
urlLastBuild: (->
|
urlLastBuild: (->
|
||||||
Travis.Urls.build(@get('repository.slug'), @get('repository.lastBuildId'))
|
Travis.Urls.build(@get('repository.slug'), @get('repository.lastBuildId'))
|
||||||
).property('repository.slug', 'repository.lastBuildId')
|
).property('repository.slug', 'repository.lastBuildId')
|
||||||
|
|
||||||
|
ReposListTabsView: Travis.View.extend
|
||||||
|
templateName: 'repos/list/tabs'
|
||||||
|
tabBinding: 'controller.tab'
|
||||||
|
|
||||||
|
activate: (event) ->
|
||||||
|
@get('controller').activate(event.target.name)
|
||||||
|
|
||||||
|
classRecent: (->
|
||||||
|
'active' if @get('tab') == 'recent'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
classOwned: (->
|
||||||
|
classes = []
|
||||||
|
classes.push('active') if @get('tab') == 'owned'
|
||||||
|
classes.push('display') if Em.get('Travis.currentUser')
|
||||||
|
classes.join(' ')
|
||||||
|
).property('tab', 'Travis.currentUser')
|
||||||
|
|
||||||
|
classSearch: (->
|
||||||
|
'active' if @get('tab') == 'search'
|
||||||
|
).property('tab')
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
@Travis.reopen
|
|
||||||
ReposListTabsView: Travis.View.extend
|
|
||||||
templateName: 'repos/list/tabs'
|
|
||||||
tabBinding: 'controller.tab'
|
|
||||||
|
|
||||||
activate: (event) ->
|
|
||||||
@get('controller').activate(event.target.name)
|
|
||||||
|
|
||||||
classRecent: (->
|
|
||||||
'active' if @get('tab') == 'recent'
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
classOwned: (->
|
|
||||||
classes = []
|
|
||||||
classes.push('active') if @get('tab') == 'owned'
|
|
||||||
classes.push('display') if Em.get('Travis.currentUser')
|
|
||||||
classes.join(' ')
|
|
||||||
).property('tab', 'Travis.currentUser')
|
|
||||||
|
|
||||||
classSearch: (->
|
|
||||||
'active' if @get('tab') == 'search'
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
@Travis.reopen
|
|
||||||
RepositoriesView: Travis.View.extend
|
|
||||||
templateName: 'repos/list'
|
|
|
@ -1,5 +1,3 @@
|
||||||
require 'views/repo/show/tabs'
|
|
||||||
|
|
||||||
@Travis.reopen
|
@Travis.reopen
|
||||||
RepositoryView: Travis.View.extend
|
RepositoryView: Travis.View.extend
|
||||||
templateName: 'repos/show'
|
templateName: 'repos/show'
|
||||||
|
@ -21,3 +19,84 @@ require 'views/repo/show/tabs'
|
||||||
urlGithubNetwork: (->
|
urlGithubNetwork: (->
|
||||||
Travis.Urls.githubNetwork(@get('repository.slug'))
|
Travis.Urls.githubNetwork(@get('repository.slug'))
|
||||||
).property('repository.slug'),
|
).property('repository.slug'),
|
||||||
|
|
||||||
|
RepoShowTabsView: Travis.View.extend
|
||||||
|
templateName: 'repos/show/tabs'
|
||||||
|
|
||||||
|
repositoryBinding: 'controller.repository'
|
||||||
|
buildBinding: 'controller.build'
|
||||||
|
jobBinding: 'controller.job'
|
||||||
|
tabBinding: 'controller.tab'
|
||||||
|
|
||||||
|
toggleTools: ->
|
||||||
|
$('#tools .pane').toggle()
|
||||||
|
|
||||||
|
# hrm. how to parametrize bindAttr?
|
||||||
|
classCurrent: (->
|
||||||
|
'active' if @get('tab') == 'current'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
classBuilds: (->
|
||||||
|
'active' if @get('tab') == 'builds'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
classPullRequests: (->
|
||||||
|
'active' if @get('tab') == 'pull_requests'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
classBranches: (->
|
||||||
|
'active' if @get('tab') == 'branches'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
classBuild: (->
|
||||||
|
tab = @get('tab')
|
||||||
|
classes = []
|
||||||
|
classes.push('active') if tab == 'build'
|
||||||
|
classes.push('display') if tab == 'build' || tab == 'job'
|
||||||
|
classes.join(' ')
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
classJob: (->
|
||||||
|
'active display' if @get('tab') == 'job'
|
||||||
|
).property('tab')
|
||||||
|
|
||||||
|
urlRepository: (->
|
||||||
|
Travis.Urls.repository(@get('repository.slug'))
|
||||||
|
).property('repository.slug')
|
||||||
|
|
||||||
|
urlBuilds: (->
|
||||||
|
Travis.Urls.builds(@get('repository.slug'))
|
||||||
|
).property('repository.slug')
|
||||||
|
|
||||||
|
urlPullRequests: (->
|
||||||
|
Travis.Urls.pullRequests(@get('repository.slug'))
|
||||||
|
).property('repository.slug')
|
||||||
|
|
||||||
|
urlBranches: (->
|
||||||
|
Travis.Urls.branches(@get('repository.slug'))
|
||||||
|
).property('repository.slug')
|
||||||
|
|
||||||
|
urlBuild: (->
|
||||||
|
Travis.Urls.build(@get('repository.slug'), @get('build.id'))
|
||||||
|
).property('repository.slug', 'build.id')
|
||||||
|
|
||||||
|
urlJob: (->
|
||||||
|
Travis.Urls.job(@get('repository.slug'), @get('job.id'))
|
||||||
|
).property('repository.slug', 'job.id')
|
||||||
|
|
||||||
|
urlStatusImage: (->
|
||||||
|
Travis.Urls.statusImage(@get('repository.slug'), @get('branch.commit.branch'))
|
||||||
|
).property('repository.slug', 'branch')
|
||||||
|
|
||||||
|
markdownStatusImage: (->
|
||||||
|
"[})](#{@get('urlRepository')})"
|
||||||
|
).property('urlStatusImage')
|
||||||
|
|
||||||
|
textileStatusImage: (->
|
||||||
|
"!#{@get('urlStatusImage')}!:#{@get('urlRepository')}"
|
||||||
|
).property('urlStatusImage')
|
||||||
|
|
||||||
|
rdocStatusImage: (->
|
||||||
|
"{<img src=\"#{@get('urlStatusImage')}\" alt=\"Build Status\" />}[#{@get('urlRepository')}]"
|
||||||
|
).property('urlStatusImage')
|
||||||
|
|
||||||
|
|
|
@ -1,81 +0,0 @@
|
||||||
@Travis.reopen
|
|
||||||
RepoShowTabsView: Travis.View.extend
|
|
||||||
templateName: 'repos/show/tabs'
|
|
||||||
|
|
||||||
repositoryBinding: 'controller.repository'
|
|
||||||
buildBinding: 'controller.build'
|
|
||||||
jobBinding: 'controller.job'
|
|
||||||
tabBinding: 'controller.tab'
|
|
||||||
|
|
||||||
toggleTools: ->
|
|
||||||
$('#tools .pane').toggle()
|
|
||||||
|
|
||||||
# hrm. how to parametrize bindAttr?
|
|
||||||
classCurrent: (->
|
|
||||||
'active' if @get('tab') == 'current'
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
classBuilds: (->
|
|
||||||
'active' if @get('tab') == 'builds'
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
classPullRequests: (->
|
|
||||||
'active' if @get('tab') == 'pull_requests'
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
classBranches: (->
|
|
||||||
'active' if @get('tab') == 'branches'
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
classBuild: (->
|
|
||||||
tab = @get('tab')
|
|
||||||
classes = []
|
|
||||||
classes.push('active') if tab == 'build'
|
|
||||||
classes.push('display') if tab == 'build' || tab == 'job'
|
|
||||||
classes.join(' ')
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
classJob: (->
|
|
||||||
'active display' if @get('tab') == 'job'
|
|
||||||
).property('tab')
|
|
||||||
|
|
||||||
urlRepository: (->
|
|
||||||
Travis.Urls.repository(@get('repository.slug'))
|
|
||||||
).property('repository.slug')
|
|
||||||
|
|
||||||
urlBuilds: (->
|
|
||||||
Travis.Urls.builds(@get('repository.slug'))
|
|
||||||
).property('repository.slug')
|
|
||||||
|
|
||||||
urlPullRequests: (->
|
|
||||||
Travis.Urls.pullRequests(@get('repository.slug'))
|
|
||||||
).property('repository.slug')
|
|
||||||
|
|
||||||
urlBranches: (->
|
|
||||||
Travis.Urls.branches(@get('repository.slug'))
|
|
||||||
).property('repository.slug')
|
|
||||||
|
|
||||||
urlBuild: (->
|
|
||||||
Travis.Urls.build(@get('repository.slug'), @get('build.id'))
|
|
||||||
).property('repository.slug', 'build.id')
|
|
||||||
|
|
||||||
urlJob: (->
|
|
||||||
Travis.Urls.job(@get('repository.slug'), @get('job.id'))
|
|
||||||
).property('repository.slug', 'job.id')
|
|
||||||
|
|
||||||
urlStatusImage: (->
|
|
||||||
Travis.Urls.statusImage(@get('repository.slug'), @get('branch.commit.branch'))
|
|
||||||
).property('repository.slug', 'branch')
|
|
||||||
|
|
||||||
markdownStatusImage: (->
|
|
||||||
"[})](#{@get('urlRepository')})"
|
|
||||||
).property('urlStatusImage')
|
|
||||||
|
|
||||||
textileStatusImage: (->
|
|
||||||
"!#{@get('urlStatusImage')}!:#{@get('urlRepository')}"
|
|
||||||
).property('urlStatusImage')
|
|
||||||
|
|
||||||
rdocStatusImage: (->
|
|
||||||
"{<img src=\"#{@get('urlStatusImage')}\" alt=\"Build Status\" />}[#{@get('urlRepository')}]"
|
|
||||||
).property('urlStatusImage')
|
|
||||||
|
|
|
@ -2,12 +2,6 @@
|
||||||
SidebarView: Travis.View.extend
|
SidebarView: Travis.View.extend
|
||||||
templateName: 'layouts/sidebar'
|
templateName: 'layouts/sidebar'
|
||||||
|
|
||||||
toggleSidebar: ->
|
|
||||||
$('body').toggleClass('maximized')
|
|
||||||
element = $('<span></span>') # TODO gotta force redraw here :/
|
|
||||||
$('#repository').append(element)
|
|
||||||
Em.run.later (-> element.remove()), 10
|
|
||||||
|
|
||||||
WorkersView: Travis.View.extend
|
WorkersView: Travis.View.extend
|
||||||
toggle: (event) ->
|
toggle: (event) ->
|
||||||
$(event.target).closest('li').toggleClass('open')
|
$(event.target).closest('li').toggleClass('open')
|
||||||
|
|
|
@ -7,10 +7,6 @@ require 'travis/auth'
|
||||||
tabBinding: 'controller.tab'
|
tabBinding: 'controller.tab'
|
||||||
userBinding: 'controller.user'
|
userBinding: 'controller.user'
|
||||||
|
|
||||||
# currentUser: (->
|
|
||||||
# Travis.app.currentUser
|
|
||||||
# ).property('Travis.app.currentUser')
|
|
||||||
|
|
||||||
gravatarUrl: (->
|
gravatarUrl: (->
|
||||||
"http://www.gravatar.com/avatar/#{@get('user.gravatar')}?s=24&d=mm"
|
"http://www.gravatar.com/avatar/#{@get('user.gravatar')}?s=24&d=mm"
|
||||||
).property('user.gravatar')
|
).property('user.gravatar')
|
||||||
|
@ -34,6 +30,3 @@ require 'travis/auth'
|
||||||
hideProfile: ->
|
hideProfile: ->
|
||||||
$('#top .profile ul').hide()
|
$('#top .profile ul').hide()
|
||||||
|
|
||||||
signIn: ->
|
|
||||||
Travis.Auth.signIn()
|
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,9 @@ require 'ext/ember/namespace'
|
||||||
CONFIG_KEYS: ['rvm', 'gemfile', 'env', 'jdk', 'otp_release', 'php', 'node_js', 'perl', 'python', 'scala']
|
CONFIG_KEYS: ['rvm', 'gemfile', 'env', 'jdk', 'otp_release', 'php', 'node_js', 'perl', 'python', 'scala']
|
||||||
|
|
||||||
ROUTES:
|
ROUTES:
|
||||||
'profile': ['profile', 'show']
|
'profile': ['profile', 'hooks']
|
||||||
|
'profile/:login': ['profile', 'hooks']
|
||||||
|
'profile/:login/profile': ['profile', 'user']
|
||||||
'stats': ['stats', 'show']
|
'stats': ['stats', 'show']
|
||||||
':owner/:name/jobs/:id/:line': ['home', 'job']
|
':owner/:name/jobs/:id/:line': ['home', 'job']
|
||||||
':owner/:name/jobs/:id': ['home', 'job']
|
':owner/:name/jobs/:id': ['home', 'job']
|
||||||
|
|
13
assets/javascripts/vendor/ember-data.js
vendored
|
@ -1748,7 +1748,6 @@ DS.Store = Ember.Object.extend({
|
||||||
|
|
||||||
loadMany: function(type, ids, hashes) {
|
loadMany: function(type, ids, hashes) {
|
||||||
var clientIds = Ember.A([]);
|
var clientIds = Ember.A([]);
|
||||||
|
|
||||||
if (hashes === undefined) {
|
if (hashes === undefined) {
|
||||||
hashes = ids;
|
hashes = ids;
|
||||||
ids = [];
|
ids = [];
|
||||||
|
@ -3132,8 +3131,8 @@ DS.Model = Ember.Object.extend(Ember.Evented, {
|
||||||
if (cachedValue) {
|
if (cachedValue) {
|
||||||
var key = association.options.key || get(this, 'namingConvention').keyToJSONKey(name),
|
var key = association.options.key || get(this, 'namingConvention').keyToJSONKey(name),
|
||||||
ids = data.get(key) || [];
|
ids = data.get(key) || [];
|
||||||
|
|
||||||
var clientIds;
|
var clientIds;
|
||||||
if(association.options.embedded) {
|
if(association.options.embedded) {
|
||||||
clientIds = store.loadMany(association.type, ids).clientIds;
|
clientIds = store.loadMany(association.type, ids).clientIds;
|
||||||
} else {
|
} else {
|
||||||
|
@ -3141,7 +3140,7 @@ DS.Model = Ember.Object.extend(Ember.Evented, {
|
||||||
return store.clientIdForId(association.type, id);
|
return store.clientIdForId(association.type, id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
set(cachedValue, 'content', Ember.A(clientIds));
|
set(cachedValue, 'content', Ember.A(clientIds));
|
||||||
cachedValue.fetch();
|
cachedValue.fetch();
|
||||||
}
|
}
|
||||||
|
@ -3766,7 +3765,7 @@ DS.FixtureAdapter = DS.Adapter.extend({
|
||||||
return ids.indexOf(item.id) !== -1;
|
return ids.indexOf(item.id) !== -1;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fixtures) {
|
if (fixtures) {
|
||||||
this.simulateRemoteCall(function() {
|
this.simulateRemoteCall(function() {
|
||||||
store.loadMany(type, fixtures);
|
store.loadMany(type, fixtures);
|
||||||
|
@ -3786,7 +3785,7 @@ DS.FixtureAdapter = DS.Adapter.extend({
|
||||||
|
|
||||||
findQuery: function(store, type, query, array) {
|
findQuery: function(store, type, query, array) {
|
||||||
var fixtures = this.fixturesForType(type);
|
var fixtures = this.fixturesForType(type);
|
||||||
|
|
||||||
Ember.assert("Unable to find fixtures for model type "+type.toString(), !!fixtures);
|
Ember.assert("Unable to find fixtures for model type "+type.toString(), !!fixtures);
|
||||||
|
|
||||||
fixtures = this.queryFixtures(fixtures, query);
|
fixtures = this.queryFixtures(fixtures, query);
|
||||||
|
@ -3847,7 +3846,7 @@ var get = Ember.get, set = Ember.set;
|
||||||
|
|
||||||
DS.RESTAdapter = DS.Adapter.extend({
|
DS.RESTAdapter = DS.Adapter.extend({
|
||||||
bulkCommit: false,
|
bulkCommit: false,
|
||||||
|
|
||||||
createRecord: function(store, type, record) {
|
createRecord: function(store, type, record) {
|
||||||
var root = this.rootForType(type);
|
var root = this.rootForType(type);
|
||||||
|
|
||||||
|
|
40
assets/javascripts/vendor/jquery.cookie.js
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
/**
|
||||||
|
* jQuery Cookie plugin
|
||||||
|
*
|
||||||
|
* Copyright (c) 2010 Klaus Hartl (stilbuero.de)
|
||||||
|
* Dual licensed under the MIT and GPL licenses:
|
||||||
|
* http://www.opensource.org/licenses/mit-license.php
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
jQuery.cookie = function (key, value, options) {
|
||||||
|
// key and at least value given, set cookie...
|
||||||
|
if (arguments.length > 1 && String(value) !== "[object Object]") {
|
||||||
|
options = jQuery.extend({}, options);
|
||||||
|
|
||||||
|
if (value === null || value === undefined) {
|
||||||
|
options.expires = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof options.expires === 'number') {
|
||||||
|
var days = options.expires, t = options.expires = new Date();
|
||||||
|
t.setDate(t.getDate() + days);
|
||||||
|
}
|
||||||
|
|
||||||
|
value = String(value);
|
||||||
|
return (document.cookie = [
|
||||||
|
encodeURIComponent(key), '=',
|
||||||
|
options.raw ? value : encodeURIComponent(value),
|
||||||
|
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
|
||||||
|
options.path ? '; path=' + options.path : '',
|
||||||
|
options.domain ? '; domain=' + options.domain : '',
|
||||||
|
options.secure ? '; secure' : ''
|
||||||
|
].join(''));
|
||||||
|
}
|
||||||
|
|
||||||
|
// key and possibly options given, get cookie...
|
||||||
|
options = value || {};
|
||||||
|
var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
|
||||||
|
return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
|
||||||
|
};
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
@import "compass"
|
@import "compass"
|
||||||
|
|
||||||
body#home
|
body#home,
|
||||||
|
body#profile
|
||||||
background: inline-image('ui/background-left.png') repeat-y -27px top
|
background: inline-image('ui/background-left.png') repeat-y -27px top
|
||||||
|
|
||||||
#left
|
#left
|
||||||
|
|
62
assets/stylesheets/left/list.sass
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
@import "compass"
|
||||||
|
|
||||||
|
#owners,
|
||||||
|
#repositories
|
||||||
|
li
|
||||||
|
position: relative
|
||||||
|
font-size: 16px
|
||||||
|
overflow: visible
|
||||||
|
padding: 15px 25px 15px 45px
|
||||||
|
border-bottom: 1px solid #ccc
|
||||||
|
background-position: 24px 16px
|
||||||
|
background-repeat: no-repeat
|
||||||
|
|
||||||
|
&:nth-child(odd)
|
||||||
|
background-color: #fff
|
||||||
|
&:nth-child(even)
|
||||||
|
background-color: #f6f6f6
|
||||||
|
|
||||||
|
&.green a
|
||||||
|
color: green
|
||||||
|
&.red a
|
||||||
|
color: #c00
|
||||||
|
|
||||||
|
.last_build
|
||||||
|
float: right
|
||||||
|
|
||||||
|
.summary
|
||||||
|
margin: 5px 0 0 0
|
||||||
|
font-size: 13px
|
||||||
|
color: #666
|
||||||
|
|
||||||
|
.description
|
||||||
|
margin: 5px 0 0 0
|
||||||
|
font-size: 13px
|
||||||
|
color: #666
|
||||||
|
display: none
|
||||||
|
|
||||||
|
.indicator
|
||||||
|
display: none
|
||||||
|
|
||||||
|
&.selected .indicator
|
||||||
|
display: block
|
||||||
|
position: absolute
|
||||||
|
top: 0px
|
||||||
|
right: -17px
|
||||||
|
width: 17px
|
||||||
|
height: 100%
|
||||||
|
background: no-repeat center left
|
||||||
|
|
||||||
|
.loading
|
||||||
|
padding: 15px 25px 15px 30px
|
||||||
|
background-color: #fff
|
||||||
|
|
||||||
|
#owners
|
||||||
|
li
|
||||||
|
margin-left: -4px
|
||||||
|
padding-left: 52px
|
||||||
|
&.user
|
||||||
|
background-image: inline-image('icons/user.small.png')
|
||||||
|
background-position: 29px 17px
|
||||||
|
&.org
|
||||||
|
background-image: inline-image('icons/org.small.png')
|
|
@ -1,51 +0,0 @@
|
||||||
@import "compass"
|
|
||||||
|
|
||||||
#repositories li
|
|
||||||
position: relative
|
|
||||||
font-size: 16px
|
|
||||||
overflow: visible
|
|
||||||
padding: 15px 25px 15px 45px
|
|
||||||
border-bottom: 1px solid #ccc
|
|
||||||
background-position: 24px 16px
|
|
||||||
background-repeat: no-repeat
|
|
||||||
|
|
||||||
&:nth-child(odd)
|
|
||||||
background-color: #fff
|
|
||||||
&:nth-child(even)
|
|
||||||
background-color: #f6f6f6
|
|
||||||
|
|
||||||
&.green a
|
|
||||||
color: green
|
|
||||||
&.red a
|
|
||||||
color: #c00
|
|
||||||
|
|
||||||
.last_build
|
|
||||||
float: right
|
|
||||||
|
|
||||||
.summary
|
|
||||||
margin: 5px 0 0 0
|
|
||||||
font-size: 13px
|
|
||||||
color: #666
|
|
||||||
|
|
||||||
.description
|
|
||||||
margin: 5px 0 0 0
|
|
||||||
font-size: 13px
|
|
||||||
color: #666
|
|
||||||
display: none
|
|
||||||
|
|
||||||
.indicator
|
|
||||||
display: none
|
|
||||||
|
|
||||||
&.selected .indicator
|
|
||||||
display: block
|
|
||||||
position: absolute
|
|
||||||
top: 0px
|
|
||||||
right: -17px
|
|
||||||
width: 17px
|
|
||||||
height: 100%
|
|
||||||
background: no-repeat center left
|
|
||||||
|
|
||||||
#repositories
|
|
||||||
.loading
|
|
||||||
padding: 15px 25px 15px 30px
|
|
||||||
background-color: #fff
|
|
|
@ -1,7 +1,8 @@
|
||||||
#main
|
#main
|
||||||
position: relative
|
position: relative
|
||||||
|
|
||||||
#home
|
#home,
|
||||||
|
#profile
|
||||||
#main
|
#main
|
||||||
min-height: 1000px
|
min-height: 1000px
|
||||||
padding: 20px 270px 30px 430px
|
padding: 20px 270px 30px 430px
|
||||||
|
@ -12,17 +13,17 @@
|
||||||
&.maximized
|
&.maximized
|
||||||
padding: 60px 100px 30px 440px
|
padding: 60px 100px 30px 440px
|
||||||
|
|
||||||
.tabs
|
.tabs
|
||||||
#tab_build,
|
#tab_build,
|
||||||
#tab_job
|
#tab_job
|
||||||
display: none
|
display: none
|
||||||
|
|
||||||
.tabs
|
.tabs
|
||||||
#tab_build.display,
|
#tab_build.display,
|
||||||
#tab_job.display
|
#tab_job.display
|
||||||
display: inline-block
|
display: inline-block
|
||||||
#stats,
|
|
||||||
#profile
|
#stats
|
||||||
#main
|
#main
|
||||||
width: 600px
|
width: 600px
|
||||||
padding: 20px 0 0 0
|
padding: 20px 0 0 0
|
||||||
|
|
|
@ -1,47 +1,55 @@
|
||||||
@import "compass"
|
@import "compass"
|
||||||
|
|
||||||
#profile
|
#profile
|
||||||
a
|
#main
|
||||||
text-decoration: underline
|
h3
|
||||||
|
margin: 15px 60px 0 0
|
||||||
|
font-size: 24px
|
||||||
|
line-height: 24px
|
||||||
|
color: #666
|
||||||
|
|
||||||
img
|
h4
|
||||||
float: left
|
font-size: 15px
|
||||||
margin: 3px 15px 0 0
|
color: #666
|
||||||
@include border-radius(4px)
|
|
||||||
|
|
||||||
dl
|
img
|
||||||
margin: 0 0 20px 18px
|
float: left
|
||||||
color: #666
|
margin: 3px 15px 0 0
|
||||||
font-size: 13px
|
@include border-radius(4px)
|
||||||
|
|
||||||
dt
|
dl
|
||||||
display: block
|
margin: 0 0 20px 18px
|
||||||
float: left
|
color: #666
|
||||||
width: 50px
|
|
||||||
|
|
||||||
dd
|
|
||||||
clear: right
|
|
||||||
|
|
||||||
#welcome
|
|
||||||
margin-top: -35px
|
|
||||||
margin-bottom: 35px
|
|
||||||
font-size: 13px
|
|
||||||
h4, p
|
|
||||||
margin-bottom: 4px
|
|
||||||
|
|
||||||
p.notice
|
|
||||||
background-color: #a8eb75
|
|
||||||
padding: 10px
|
|
||||||
@include border-radius(4px)
|
|
||||||
a
|
|
||||||
text-decoration: underline
|
|
||||||
small
|
|
||||||
font-size: 13px
|
font-size: 13px
|
||||||
|
|
||||||
|
dt
|
||||||
display: block
|
display: block
|
||||||
|
float: left
|
||||||
|
width: 50px
|
||||||
|
|
||||||
p.tip
|
dd
|
||||||
font-size: 13px
|
clear: right
|
||||||
margin-top: -10px
|
|
||||||
|
|
||||||
.highlight
|
#welcome
|
||||||
color: #C7371A
|
margin-top: -35px
|
||||||
|
margin-bottom: 35px
|
||||||
|
font-size: 13px
|
||||||
|
h4, p
|
||||||
|
margin-bottom: 4px
|
||||||
|
|
||||||
|
p.notice
|
||||||
|
background-color: #a8eb75
|
||||||
|
padding: 10px
|
||||||
|
@include border-radius(4px)
|
||||||
|
a
|
||||||
|
text-decoration: underline
|
||||||
|
small
|
||||||
|
font-size: 13px
|
||||||
|
display: block
|
||||||
|
|
||||||
|
p.tip
|
||||||
|
font-size: 13px
|
||||||
|
margin-top: -10px
|
||||||
|
|
||||||
|
.highlight
|
||||||
|
color: #C7371A
|
||||||
|
|
|
@ -29,27 +29,26 @@ $slider-border-hover: #e1e2e6
|
||||||
.icon
|
.icon
|
||||||
border-color: $slider-border-hover $slider-border-hover $slider-border-hover $slider-border-light
|
border-color: $slider-border-hover $slider-border-hover $slider-border-hover $slider-border-light
|
||||||
|
|
||||||
#home.maximized
|
#home,
|
||||||
#top .profile
|
#profile
|
||||||
margin-right: 10px
|
&.maximized
|
||||||
|
#main
|
||||||
|
padding-right: 40px
|
||||||
|
|
||||||
#main
|
#right
|
||||||
padding-right: 40px
|
width: 0
|
||||||
|
padding: 0
|
||||||
|
*:not(#slider):not(.icon):not(.ember-view)
|
||||||
|
display: none
|
||||||
|
|
||||||
#right
|
#slider
|
||||||
width: 0
|
left: -20px
|
||||||
padding: 0
|
width: 20px
|
||||||
*:not(#slider):not(.icon):not(.ember-view)
|
z-index: 50
|
||||||
display: none
|
|
||||||
|
|
||||||
#slider
|
|
||||||
left: -20px
|
|
||||||
width: 20px
|
|
||||||
z-index: 50
|
|
||||||
.icon
|
|
||||||
border-color: $slider-border-normal $slider-border-light $slider-border-normal $slider-border-normal
|
|
||||||
border-width: 5px 5px 5px 0
|
|
||||||
|
|
||||||
&:hover
|
|
||||||
.icon
|
.icon
|
||||||
border-color: $slider-border-hover $slider-border-light $slider-border-hover $slider-border-hover
|
border-color: $slider-border-normal $slider-border-light $slider-border-normal $slider-border-normal
|
||||||
|
border-width: 5px 5px 5px 0
|
||||||
|
|
||||||
|
&:hover
|
||||||
|
.icon
|
||||||
|
border-color: $slider-border-hover $slider-border-light $slider-border-hover $slider-border-hover
|
||||||
|
|
|
@ -49,3 +49,8 @@
|
||||||
|
|
||||||
.tab
|
.tab
|
||||||
margin-top: 20px
|
margin-top: 20px
|
||||||
|
|
||||||
|
#profile
|
||||||
|
#main
|
||||||
|
.tab
|
||||||
|
margin: 30px 0 0 12px
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
#top
|
#top
|
||||||
color: #ccc
|
color: #ccc
|
||||||
width: 100%
|
|
||||||
line-height: 40px
|
line-height: 40px
|
||||||
font-size: 13px
|
font-size: 13px
|
||||||
|
padding-right: 30px
|
||||||
@include background(linear-gradient(#444, #111))
|
@include background(linear-gradient(#444, #111))
|
||||||
|
|
||||||
h1
|
h1
|
||||||
|
@ -22,6 +22,10 @@
|
||||||
color: #ccc
|
color: #ccc
|
||||||
text-decoration: none
|
text-decoration: none
|
||||||
|
|
||||||
|
#home:not(.maximized)
|
||||||
|
#top
|
||||||
|
padding-right: 140px
|
||||||
|
|
||||||
#navigation
|
#navigation
|
||||||
li
|
li
|
||||||
display: inline-block
|
display: inline-block
|
||||||
|
@ -37,19 +41,23 @@
|
||||||
&:hover
|
&:hover
|
||||||
color: white
|
color: white
|
||||||
|
|
||||||
.profile
|
li.profile
|
||||||
position: relative
|
position: relative
|
||||||
float: right
|
float: right
|
||||||
margin-right: 120px
|
|
||||||
|
|
||||||
img
|
img
|
||||||
position: absolute
|
position: absolute
|
||||||
top: 7px
|
top: 7px
|
||||||
left: 12px
|
left: 15px
|
||||||
|
width: 24px
|
||||||
|
height: 24px
|
||||||
@include border-radius(3px)
|
@include border-radius(3px)
|
||||||
|
|
||||||
a
|
& > a
|
||||||
padding: 0 35px 0 45px
|
padding: 0 15px 0 54px
|
||||||
|
|
||||||
|
&:hover > ul
|
||||||
|
display: block
|
||||||
|
|
||||||
ul
|
ul
|
||||||
display: none
|
display: none
|
||||||
|
@ -69,10 +77,9 @@
|
||||||
|
|
||||||
a
|
a
|
||||||
display: block
|
display: block
|
||||||
padding: 5px 35px 5px 45px
|
padding: 5px 0 5px 54px
|
||||||
line-height: 24px
|
line-height: 24px
|
||||||
white-space: nowrap
|
white-space: nowrap
|
||||||
&:hover
|
&:hover
|
||||||
background-color: #555
|
background-color: #555
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
public/images/icons/glyphicons_003_user.png
Normal file
After Width: | Height: | Size: 252 B |
BIN
public/images/icons/glyphicons_043_group.png
Normal file
After Width: | Height: | Size: 353 B |
BIN
public/images/icons/glyphicons_050_link.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
public/images/icons/group.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
public/images/icons/group.small.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
public/images/icons/link.png
Normal file
After Width: | Height: | Size: 360 B |
BIN
public/images/icons/link.small.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
public/images/icons/org.png
Normal file
After Width: | Height: | Size: 353 B |
BIN
public/images/icons/org.small.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
public/images/icons/user.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
public/images/icons/user.small.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
|
@ -14,8 +14,8 @@
|
||||||
Travis.Pusher.KEY = '23ed642e81512118260e'
|
Travis.Pusher.KEY = '23ed642e81512118260e'
|
||||||
Travis.run()
|
Travis.run()
|
||||||
|
|
||||||
Travis.app.store.load(Travis.User, { id: 1, login: 'svenfuchs', name: 'Sven Fuchs', email: 'me@svenfuchs.com', token: '1234567890', gravatar: '402602a60e500e85f2f5dc1ff3648ecb' });
|
// Travis.app.store.load(Travis.User, { id: 1, login: 'svenfuchs', name: 'Sven Fuchs', email: 'me@svenfuchs.com', token: '1234567890', gravatar: '402602a60e500e85f2f5dc1ff3648ecb' });
|
||||||
Travis.set('currentUser', Travis.User.find(1))
|
// Travis.set('currentUser', Travis.User.find(1))
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
|
@ -24357,7 +24357,6 @@ DS.Store = Ember.Object.extend({
|
||||||
|
|
||||||
loadMany: function(type, ids, hashes) {
|
loadMany: function(type, ids, hashes) {
|
||||||
var clientIds = Ember.A([]);
|
var clientIds = Ember.A([]);
|
||||||
|
|
||||||
if (hashes === undefined) {
|
if (hashes === undefined) {
|
||||||
hashes = ids;
|
hashes = ids;
|
||||||
ids = [];
|
ids = [];
|
||||||
|
@ -25741,8 +25740,8 @@ DS.Model = Ember.Object.extend(Ember.Evented, {
|
||||||
if (cachedValue) {
|
if (cachedValue) {
|
||||||
var key = association.options.key || get(this, 'namingConvention').keyToJSONKey(name),
|
var key = association.options.key || get(this, 'namingConvention').keyToJSONKey(name),
|
||||||
ids = data.get(key) || [];
|
ids = data.get(key) || [];
|
||||||
|
|
||||||
var clientIds;
|
var clientIds;
|
||||||
if(association.options.embedded) {
|
if(association.options.embedded) {
|
||||||
clientIds = store.loadMany(association.type, ids).clientIds;
|
clientIds = store.loadMany(association.type, ids).clientIds;
|
||||||
} else {
|
} else {
|
||||||
|
@ -25750,7 +25749,7 @@ DS.Model = Ember.Object.extend(Ember.Evented, {
|
||||||
return store.clientIdForId(association.type, id);
|
return store.clientIdForId(association.type, id);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
set(cachedValue, 'content', Ember.A(clientIds));
|
set(cachedValue, 'content', Ember.A(clientIds));
|
||||||
cachedValue.fetch();
|
cachedValue.fetch();
|
||||||
}
|
}
|
||||||
|
@ -26375,7 +26374,7 @@ DS.FixtureAdapter = DS.Adapter.extend({
|
||||||
return ids.indexOf(item.id) !== -1;
|
return ids.indexOf(item.id) !== -1;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fixtures) {
|
if (fixtures) {
|
||||||
this.simulateRemoteCall(function() {
|
this.simulateRemoteCall(function() {
|
||||||
store.loadMany(type, fixtures);
|
store.loadMany(type, fixtures);
|
||||||
|
@ -26395,7 +26394,7 @@ DS.FixtureAdapter = DS.Adapter.extend({
|
||||||
|
|
||||||
findQuery: function(store, type, query, array) {
|
findQuery: function(store, type, query, array) {
|
||||||
var fixtures = this.fixturesForType(type);
|
var fixtures = this.fixturesForType(type);
|
||||||
|
|
||||||
Ember.assert("Unable to find fixtures for model type "+type.toString(), !!fixtures);
|
Ember.assert("Unable to find fixtures for model type "+type.toString(), !!fixtures);
|
||||||
|
|
||||||
fixtures = this.queryFixtures(fixtures, query);
|
fixtures = this.queryFixtures(fixtures, query);
|
||||||
|
@ -26456,7 +26455,7 @@ var get = Ember.get, set = Ember.set;
|
||||||
|
|
||||||
DS.RESTAdapter = DS.Adapter.extend({
|
DS.RESTAdapter = DS.Adapter.extend({
|
||||||
bulkCommit: false,
|
bulkCommit: false,
|
||||||
|
|
||||||
createRecord: function(store, type, record) {
|
createRecord: function(store, type, record) {
|
||||||
var root = this.rootForType(type);
|
var root = this.rootForType(type);
|
||||||
|
|
||||||
|
@ -27817,6 +27816,46 @@ var _require=function(){var a;a=document.addEventListener?function(b,c){b.addEve
|
||||||
for(var h=0,i=b.length,g=0;g<i;g++)d(b[g],c)}}();(function(){var a=[],b=function(){Pusher.ready()};window.JSON==undefined&&a.push("http://js.pusherapp.com/1.6.4/json2");if(window.WebSocket==undefined){window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=true;a.push("http://js.pusherapp.com/1.6.4/flashfallback");b=function(){FABridge.addInitializationCallback("webSocket",function(){Pusher.ready()});WebSocket.__initialize()}}a.length>0?_require(a,b):b()})();
|
for(var h=0,i=b.length,g=0;g<i;g++)d(b[g],c)}}();(function(){var a=[],b=function(){Pusher.ready()};window.JSON==undefined&&a.push("http://js.pusherapp.com/1.6.4/json2");if(window.WebSocket==undefined){window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=true;a.push("http://js.pusherapp.com/1.6.4/flashfallback");b=function(){FABridge.addInitializationCallback("webSocket",function(){Pusher.ready()});WebSocket.__initialize()}}a.length>0?_require(a,b):b()})();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* jQuery Cookie plugin
|
||||||
|
*
|
||||||
|
* Copyright (c) 2010 Klaus Hartl (stilbuero.de)
|
||||||
|
* Dual licensed under the MIT and GPL licenses:
|
||||||
|
* http://www.opensource.org/licenses/mit-license.php
|
||||||
|
* http://www.gnu.org/licenses/gpl.html
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
jQuery.cookie = function (key, value, options) {
|
||||||
|
// key and at least value given, set cookie...
|
||||||
|
if (arguments.length > 1 && String(value) !== "[object Object]") {
|
||||||
|
options = jQuery.extend({}, options);
|
||||||
|
|
||||||
|
if (value === null || value === undefined) {
|
||||||
|
options.expires = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof options.expires === 'number') {
|
||||||
|
var days = options.expires, t = options.expires = new Date();
|
||||||
|
t.setDate(t.getDate() + days);
|
||||||
|
}
|
||||||
|
|
||||||
|
value = String(value);
|
||||||
|
return (document.cookie = [
|
||||||
|
encodeURIComponent(key), '=',
|
||||||
|
options.raw ? value : encodeURIComponent(value),
|
||||||
|
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
|
||||||
|
options.path ? '; path=' + options.path : '',
|
||||||
|
options.domain ? '; domain=' + options.domain : '',
|
||||||
|
options.secure ? '; secure' : ''
|
||||||
|
].join(''));
|
||||||
|
}
|
||||||
|
|
||||||
|
// key and possibly options given, get cookie...
|
||||||
|
options = value || {};
|
||||||
|
var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
|
||||||
|
return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* timeago: a jQuery plugin, version: 0.9.2 (2010-09-14)
|
* timeago: a jQuery plugin, version: 0.9.2 (2010-09-14)
|
||||||
* @requires jQuery v1.2.3 or later
|
* @requires jQuery v1.2.3 or later
|
||||||
|
|
|
@ -164,23 +164,24 @@ pre::-webkit-scrollbar-thumb:horizontal {
|
||||||
width: 0;
|
width: 0;
|
||||||
}
|
}
|
||||||
/* line 3, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
/* line 3, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
||||||
body#home {
|
body#home,
|
||||||
|
body#profile {
|
||||||
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbQAAAAFCAIAAACit451AAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAXUlEQVRYCe3UsQ0AMQhD0csJCdEg9p+LWahTpWYAf7eueEg+M/MRBBBAQFKgu6sqMyPC3c3svPySIByNAAIILAKM4wJEjQACmgKMo+bfuRoBBBYBxnEBokYAAU2BCx/IBgej7Rj6AAAAAElFTkSuQmCC') repeat-y -27px top;
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbQAAAAFCAIAAACit451AAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAXUlEQVRYCe3UsQ0AMQhD0csJCdEg9p+LWahTpWYAf7eueEg+M/MRBBBAQFKgu6sqMyPC3c3svPySIByNAAIILAKM4wJEjQACmgKMo+bfuRoBBBYBxnEBokYAAU2BCx/IBgej7Rj6AAAAAElFTkSuQmCC') repeat-y -27px top;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* line 6, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
/* line 7, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
||||||
#left {
|
#left {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
width: 400px;
|
width: 400px;
|
||||||
}
|
}
|
||||||
/* line 11, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
/* line 12, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
||||||
#left #search_box {
|
#left #search_box {
|
||||||
height: 90px;
|
height: 90px;
|
||||||
padding: 30px 20px 0 20px;
|
padding: 30px 20px 0 20px;
|
||||||
background-color: #e5e8ee;
|
background-color: #e5e8ee;
|
||||||
}
|
}
|
||||||
/* line 16, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
/* line 17, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
||||||
#left #search_box input[type=text] {
|
#left #search_box input[type=text] {
|
||||||
height: 28px;
|
height: 28px;
|
||||||
width: 97%;
|
width: 97%;
|
||||||
|
@ -195,15 +196,16 @@ body#home {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANCAIAAAASSxgVAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAABTUlEQVQYGU2Qy8qCUBSF/2NWJiE4KO0CRg0MRNEwfI3eIJ8o38VniFRqVKMmXYiIwAYNxKKL/5Lscgae5drfWWfvQ5Ik+Xuv0+k0nU7n8/l2u5UkSVVVy7J4nicfKAxD13V9338fSXdAg8GAfllAgyAA0Wq1TNNst9ur1Wo2m8EURfELLRYLQgiO9vv9QqFQqVRyudxms4FPfZJ2ux3yNE1jWZZhmHK5DI0q/C/UbDZhLZdLmk7jEQMNAT+D8NPpdPAdj8ee58VxPJlMoOF0u92spyiKcDes9XqNliFeq9frGYaRQufzeTQaHY/HarWqKAq4/X7faDRkWdZ1vVar0SAcxzkcDhh1OBxyHPd4PO73ez6fLxaLpVIJk9KXy+V6vQqCYNt2vV5H7fW8eA6KSjuGIIDSISkKsZgcTtbOz0aez+ftdkMNGT/+VwL4ByFknYU4StqkAAAAAElFTkSuQmCC') no-repeat 335px 8px;
|
background: white url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAANCAIAAAASSxgVAAAC7mlDQ1BJQ0MgUHJvZmlsZQAAeAGFVM9rE0EU/jZuqdAiCFprDrJ4kCJJWatoRdQ2/RFiawzbH7ZFkGQzSdZuNuvuJrWliOTi0SreRe2hB/+AHnrwZC9KhVpFKN6rKGKhFy3xzW5MtqXqwM5+8943731vdt8ADXLSNPWABOQNx1KiEWlsfEJq/IgAjqIJQTQlVdvsTiQGQYNz+Xvn2HoPgVtWw3v7d7J3rZrStpoHhP1A4Eea2Sqw7xdxClkSAog836Epx3QI3+PY8uyPOU55eMG1Dys9xFkifEA1Lc5/TbhTzSXTQINIOJT1cVI+nNeLlNcdB2luZsbIEL1PkKa7zO6rYqGcTvYOkL2d9H5Os94+wiHCCxmtP0a4jZ71jNU/4mHhpObEhj0cGDX0+GAVtxqp+DXCFF8QTSeiVHHZLg3xmK79VvJKgnCQOMpkYYBzWkhP10xu+LqHBX0m1xOv4ndWUeF5jxNn3tTd70XaAq8wDh0MGgyaDUhQEEUEYZiwUECGPBoxNLJyPyOrBhuTezJ1JGq7dGJEsUF7Ntw9t1Gk3Tz+KCJxlEO1CJL8Qf4qr8lP5Xn5y1yw2Fb3lK2bmrry4DvF5Zm5Gh7X08jjc01efJXUdpNXR5aseXq8muwaP+xXlzHmgjWPxHOw+/EtX5XMlymMFMXjVfPqS4R1WjE3359sfzs94i7PLrXWc62JizdWm5dn/WpI++6qvJPmVflPXvXx/GfNxGPiKTEmdornIYmXxS7xkthLqwviYG3HCJ2VhinSbZH6JNVgYJq89S9dP1t4vUZ/DPVRlBnM0lSJ93/CKmQ0nbkOb/qP28f8F+T3iuefKAIvbODImbptU3HvEKFlpW5zrgIXv9F98LZua6N+OPwEWDyrFq1SNZ8gvAEcdod6HugpmNOWls05Uocsn5O66cpiUsxQ20NSUtcl12VLFrOZVWLpdtiZ0x1uHKE5QvfEp0plk/qv8RGw/bBS+fmsUtl+ThrWgZf6b8C8/UXAeIuJAAAACXBIWXMAAAsTAAALEwEAmpwYAAABTUlEQVQYGU2Qy8qCUBSF/2NWJiE4KO0CRg0MRNEwfI3eIJ8o38VniFRqVKMmXYiIwAYNxKKL/5Lscgae5drfWWfvQ5Ik+Xuv0+k0nU7n8/l2u5UkSVVVy7J4nicfKAxD13V9338fSXdAg8GAfllAgyAA0Wq1TNNst9ur1Wo2m8EURfELLRYLQgiO9vv9QqFQqVRyudxms4FPfZJ2ux3yNE1jWZZhmHK5DI0q/C/UbDZhLZdLmk7jEQMNAT+D8NPpdPAdj8ee58VxPJlMoOF0u92spyiKcDes9XqNliFeq9frGYaRQufzeTQaHY/HarWqKAq4/X7faDRkWdZ1vVar0SAcxzkcDhh1OBxyHPd4PO73ez6fLxaLpVIJk9KXy+V6vQqCYNt2vV5H7fW8eA6KSjuGIIDSISkKsZgcTtbOz0aez+ftdkMNGT/+VwL4ByFknYU4StqkAAAAAElFTkSuQmCC') no-repeat 335px 8px;
|
||||||
}
|
}
|
||||||
/* line 27, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
/* line 28, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
||||||
#left .tabs #tab_owned {
|
#left .tabs #tab_owned {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/* line 31, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
/* line 32, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left.sass */
|
||||||
#left .tabs #tab_owned.display {
|
#left .tabs #tab_owned.display {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
/* line 3, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 5, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li,
|
||||||
#repositories li {
|
#repositories li {
|
||||||
position: relative;
|
position: relative;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
@ -213,44 +215,53 @@ body#home {
|
||||||
background-position: 24px 16px;
|
background-position: 24px 16px;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
/* line 12, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 14, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li:nth-child(odd),
|
||||||
#repositories li:nth-child(odd) {
|
#repositories li:nth-child(odd) {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
}
|
}
|
||||||
/* line 14, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 16, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li:nth-child(even),
|
||||||
#repositories li:nth-child(even) {
|
#repositories li:nth-child(even) {
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
}
|
}
|
||||||
/* line 17, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 19, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li.green a,
|
||||||
#repositories li.green a {
|
#repositories li.green a {
|
||||||
color: green;
|
color: green;
|
||||||
}
|
}
|
||||||
/* line 19, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 21, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li.red a,
|
||||||
#repositories li.red a {
|
#repositories li.red a {
|
||||||
color: #cc0000;
|
color: #cc0000;
|
||||||
}
|
}
|
||||||
/* line 22, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 24, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li .last_build,
|
||||||
#repositories li .last_build {
|
#repositories li .last_build {
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
/* line 25, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 27, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li .summary,
|
||||||
#repositories li .summary {
|
#repositories li .summary {
|
||||||
margin: 5px 0 0 0;
|
margin: 5px 0 0 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
}
|
}
|
||||||
/* line 30, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 32, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li .description,
|
||||||
#repositories li .description {
|
#repositories li .description {
|
||||||
margin: 5px 0 0 0;
|
margin: 5px 0 0 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/* line 36, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 38, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li .indicator,
|
||||||
#repositories li .indicator {
|
#repositories li .indicator {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/* line 39, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
/* line 41, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li.selected .indicator,
|
||||||
#repositories li.selected .indicator {
|
#repositories li.selected .indicator {
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -260,44 +271,65 @@ body#home {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: no-repeat center left;
|
background: no-repeat center left;
|
||||||
}
|
}
|
||||||
|
/* line 50, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
/* line 49, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/repositories.sass */
|
#owners .loading,
|
||||||
#repositories .loading {
|
#repositories .loading {
|
||||||
padding: 15px 25px 15px 30px;
|
padding: 15px 25px 15px 30px;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* line 55, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li {
|
||||||
|
margin-left: -4px;
|
||||||
|
padding-left: 52px;
|
||||||
|
}
|
||||||
|
/* line 58, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li.user {
|
||||||
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAMCAMAAACOacfrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjNGNDlENDhGMkU2MTFFMUE0MzM5QThDQUQ3MDI4RTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjNGNDlENDlGMkU2MTFFMUE0MzM5QThDQUQ3MDI4RTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGM0Y0OUQ0NkYyRTYxMUUxQTQzMzlBOENBRDcwMjhFMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGM0Y0OUQ0N0YyRTYxMUUxQTQzMzlBOENBRDcwMjhFMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgMNNIUAAABLUExURX9/f4eHh4WFhZCQkPLy8oiIiNra2vDw8LGxsf7+/sLCwvb29oCAgI+Pj5mZmdXV1ba2toODg52dnfPz87i4uN3d3aGhod/f3////yHAc80AAAAZdFJOU////////////////////////////////wABNAq3AAAAV0lEQVR42lTM2Q6AIAxE0YGCsuMu//+llqREvckkPS9F42pec+0HeJEAUBQZzdJGNP+lWHYXtYV1jC8tsILIT4VVJt91Xwm9tJ0NDm8O9iML0mqk6RFgAMVgBry2iJEPAAAAAElFTkSuQmCC');
|
||||||
|
background-position: 29px 17px;
|
||||||
|
}
|
||||||
|
/* line 61, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/left/list.sass */
|
||||||
|
#owners li.org {
|
||||||
|
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAOCAMAAAAc7xz/AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0FEOEI1NUVGMkFDMTFFMTk0NjlDMDYzRjA5MDk2N0MiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0FEOEI1NUZGMkFDMTFFMTk0NjlDMDYzRjA5MDk2N0MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3QUQ4QjU1Q0YyQUMxMUUxOTQ2OUMwNjNGMDkwOTY3QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3QUQ4QjU1REYyQUMxMUUxOTQ2OUMwNjNGMDkwOTY3QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsEVpaAAAACiUExURX9/f4WFhZaWluLi4vDw8IqKisfHx8/Pz/7+/pOTk8jIyOXl5aysrL6+voaGhsPDw7W1tfHx8fb29uTk5L29vdjY2KWlpfn5+f39/cXFxbi4uKioqJCQkKOjo4+Pj93d3ZycnNDQ0N7e3oCAgJ+fn5GRkZqamtnZ2dvb29fX18vLy+7u7piYmKKiop2dnZubm9HR0eDg4KGhoe3t7aSkpP///9cCsuEAAAA2dFJOU///////////////////////////////////////////////////////////////////////AKGPTjEAAACtSURBVHjaVM7nFoIwDAXgi0W2gsoW3HuvvP+rmUjx6P3RnHxtTwLSGaSGkQ7aDnKYpkMBOAE5ptlyDJTkCrtUArHmCuhSR7hDXaDSPGF21s1r5onmGXCilfBDPl00L4At7YSntAfuDWce0BsehZ/DHmBlzLktw85+KBz69ZIH2znG3G3mnztZ5XC7chFElLzwTZ1EUrzCUn38pK+swpNNFP6i9IIj4y8jprcAAwCY3RhR7P84QQAAAABJRU5ErkJggg==');
|
||||||
|
}
|
||||||
/* line 1, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
/* line 1, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
||||||
#main {
|
#main {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* line 5, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
/* line 6, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
||||||
#home #main {
|
#home #main,
|
||||||
|
#profile #main {
|
||||||
min-height: 1000px;
|
min-height: 1000px;
|
||||||
padding: 20px 270px 30px 430px;
|
padding: 20px 270px 30px 430px;
|
||||||
}
|
}
|
||||||
/* line 9, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
/* line 10, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
||||||
#home #main.loading {
|
#home #main.loading,
|
||||||
|
#profile #main.loading {
|
||||||
opacity: 0.1;
|
opacity: 0.1;
|
||||||
}
|
}
|
||||||
/* line 12, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
/* line 13, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
||||||
#home #main.maximized {
|
#home #main.maximized,
|
||||||
|
#profile #main.maximized {
|
||||||
padding: 60px 100px 30px 440px;
|
padding: 60px 100px 30px 440px;
|
||||||
}
|
}
|
||||||
/* line 16, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
/* line 17, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
||||||
#home .tabs #tab_build,
|
#home #main .tabs #tab_build,
|
||||||
#home .tabs #tab_job {
|
#home #main .tabs #tab_job,
|
||||||
|
#profile #main .tabs #tab_build,
|
||||||
|
#profile #main .tabs #tab_job {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/* line 21, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
/* line 22, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
||||||
#home .tabs #tab_build.display,
|
#home #main .tabs #tab_build.display,
|
||||||
#home .tabs #tab_job.display {
|
#home #main .tabs #tab_job.display,
|
||||||
|
#profile #main .tabs #tab_build.display,
|
||||||
|
#profile #main .tabs #tab_job.display {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* line 26, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
/* line 27, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/main.sass */
|
||||||
#stats #main,
|
#stats #main {
|
||||||
#profile #main {
|
|
||||||
width: 600px;
|
width: 600px;
|
||||||
padding: 20px 0 0 0;
|
padding: 20px 0 0 0;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
|
@ -667,12 +699,20 @@ pre#log .bg-white {
|
||||||
-o-border-radius: 3px;
|
-o-border-radius: 3px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
/* line 4, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 5, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile a {
|
#profile #main h3 {
|
||||||
text-decoration: underline;
|
margin: 15px 60px 0 0;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 24px;
|
||||||
|
color: #666666;
|
||||||
}
|
}
|
||||||
/* line 7, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 11, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile img {
|
#profile #main h4 {
|
||||||
|
font-size: 15px;
|
||||||
|
color: #666666;
|
||||||
|
}
|
||||||
|
/* line 15, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
|
#profile #main img {
|
||||||
float: left;
|
float: left;
|
||||||
margin: 3px 15px 0 0;
|
margin: 3px 15px 0 0;
|
||||||
-webkit-border-radius: 4px;
|
-webkit-border-radius: 4px;
|
||||||
|
@ -681,34 +721,34 @@ pre#log .bg-white {
|
||||||
-o-border-radius: 4px;
|
-o-border-radius: 4px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
/* line 12, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 20, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile dl {
|
#profile #main dl {
|
||||||
margin: 0 0 20px 18px;
|
margin: 0 0 20px 18px;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
/* line 17, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 25, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile dt {
|
#profile #main dt {
|
||||||
display: block;
|
display: block;
|
||||||
float: left;
|
float: left;
|
||||||
width: 50px;
|
width: 50px;
|
||||||
}
|
}
|
||||||
/* line 22, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 30, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile dd {
|
#profile #main dd {
|
||||||
clear: right;
|
clear: right;
|
||||||
}
|
}
|
||||||
/* line 25, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 33, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile #welcome {
|
#profile #main #welcome {
|
||||||
margin-top: -35px;
|
margin-top: -35px;
|
||||||
margin-bottom: 35px;
|
margin-bottom: 35px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
/* line 29, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 37, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile #welcome h4, #profile #welcome p {
|
#profile #main #welcome h4, #profile #main #welcome p {
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
/* line 32, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 40, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile p.notice {
|
#profile #main p.notice {
|
||||||
background-color: #a8eb75;
|
background-color: #a8eb75;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
-webkit-border-radius: 4px;
|
-webkit-border-radius: 4px;
|
||||||
|
@ -717,22 +757,22 @@ pre#log .bg-white {
|
||||||
-o-border-radius: 4px;
|
-o-border-radius: 4px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
/* line 36, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 44, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile p.notice a {
|
#profile #main p.notice a {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
/* line 38, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 46, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile p.notice small {
|
#profile #main p.notice small {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
/* line 42, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 50, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile p.tip {
|
#profile #main p.tip {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
margin-top: -10px;
|
margin-top: -10px;
|
||||||
}
|
}
|
||||||
/* line 46, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
/* line 54, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile.sass */
|
||||||
#profile .highlight {
|
#profile #main .highlight {
|
||||||
color: #c7371a;
|
color: #c7371a;
|
||||||
}
|
}
|
||||||
/* line 3, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile/hooks.sass */
|
/* line 3, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/profile/hooks.sass */
|
||||||
|
@ -996,36 +1036,38 @@ pre#log .bg-white {
|
||||||
border-color: #e1e2e6 #e1e2e6 #e1e2e6 #999999;
|
border-color: #e1e2e6 #e1e2e6 #e1e2e6 #999999;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* line 33, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
/* line 35, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
||||||
#home.maximized #top .profile {
|
#home.maximized #main,
|
||||||
margin-right: 10px;
|
#profile.maximized #main {
|
||||||
}
|
|
||||||
/* line 36, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
|
||||||
#home.maximized #main {
|
|
||||||
padding-right: 40px;
|
padding-right: 40px;
|
||||||
}
|
}
|
||||||
/* line 39, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
/* line 38, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
||||||
#home.maximized #right {
|
#home.maximized #right,
|
||||||
|
#profile.maximized #right {
|
||||||
width: 0;
|
width: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
/* line 42, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
/* line 41, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
||||||
#home.maximized #right *:not(#slider):not(.icon):not(.ember-view) {
|
#home.maximized #right *:not(#slider):not(.icon):not(.ember-view),
|
||||||
|
#profile.maximized #right *:not(#slider):not(.icon):not(.ember-view) {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
/* line 45, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
/* line 44, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
||||||
#home.maximized #slider {
|
#home.maximized #slider,
|
||||||
|
#profile.maximized #slider {
|
||||||
left: -20px;
|
left: -20px;
|
||||||
width: 20px;
|
width: 20px;
|
||||||
z-index: 50;
|
z-index: 50;
|
||||||
}
|
}
|
||||||
/* line 49, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
/* line 48, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
||||||
#home.maximized #slider .icon {
|
#home.maximized #slider .icon,
|
||||||
|
#profile.maximized #slider .icon {
|
||||||
border-color: #f2f4f9 #999999 #f2f4f9 #f2f4f9;
|
border-color: #f2f4f9 #999999 #f2f4f9 #f2f4f9;
|
||||||
border-width: 5px 5px 5px 0;
|
border-width: 5px 5px 5px 0;
|
||||||
}
|
}
|
||||||
/* line 54, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
/* line 53, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/slider.sass */
|
||||||
#home.maximized #slider:hover .icon {
|
#home.maximized #slider:hover .icon,
|
||||||
|
#profile.maximized #slider:hover .icon {
|
||||||
border-color: #e1e2e6 #999999 #e1e2e6 #e1e2e6;
|
border-color: #e1e2e6 #999999 #e1e2e6 #e1e2e6;
|
||||||
}
|
}
|
||||||
/* line 5, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/sponsors.sass */
|
/* line 5, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/right/sponsors.sass */
|
||||||
|
@ -1247,12 +1289,17 @@ table.list .red .number a {
|
||||||
#main .tab {
|
#main .tab {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* line 55, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/tabs.sass */
|
||||||
|
#profile #main .tab {
|
||||||
|
margin: 30px 0 0 12px;
|
||||||
|
}
|
||||||
/* line 3, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 3, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#top {
|
#top {
|
||||||
color: #cccccc;
|
color: #cccccc;
|
||||||
width: 100%;
|
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
padding-right: 30px;
|
||||||
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #444444), color-stop(100%, #111111));
|
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #444444), color-stop(100%, #111111));
|
||||||
background: -webkit-linear-gradient(#444444, #111111);
|
background: -webkit-linear-gradient(#444444, #111111);
|
||||||
background: -moz-linear-gradient(#444444, #111111);
|
background: -moz-linear-gradient(#444444, #111111);
|
||||||
|
@ -1279,49 +1326,59 @@ table.list .red .number a {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* line 26, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 26, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
|
#home:not(.maximized) #top {
|
||||||
|
padding-right: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* line 30, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation li {
|
#navigation li {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
/* line 29, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 33, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation li.active {
|
#navigation li.active {
|
||||||
background-color: black;
|
background-color: black;
|
||||||
}
|
}
|
||||||
/* line 31, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 35, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation li.active a {
|
#navigation li.active a {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
/* line 34, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 38, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation li a {
|
#navigation li a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 0 15px;
|
padding: 0 15px;
|
||||||
}
|
}
|
||||||
/* line 37, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 41, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation li a:hover {
|
#navigation li a:hover {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
/* line 40, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 44, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile {
|
#navigation li.profile {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: right;
|
float: right;
|
||||||
margin-right: 120px;
|
|
||||||
}
|
}
|
||||||
/* line 45, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 48, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile img {
|
#navigation li.profile img {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 7px;
|
top: 7px;
|
||||||
left: 12px;
|
left: 15px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
-webkit-border-radius: 3px;
|
-webkit-border-radius: 3px;
|
||||||
-moz-border-radius: 3px;
|
-moz-border-radius: 3px;
|
||||||
-ms-border-radius: 3px;
|
-ms-border-radius: 3px;
|
||||||
-o-border-radius: 3px;
|
-o-border-radius: 3px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
/* line 51, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 56, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile a {
|
#navigation li.profile > a {
|
||||||
padding: 0 35px 0 45px;
|
padding: 0 15px 0 54px;
|
||||||
}
|
}
|
||||||
/* line 54, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 59, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile ul {
|
#navigation li.profile:hover > ul {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
/* line 62, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
|
#navigation li.profile ul {
|
||||||
display: none;
|
display: none;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 300;
|
z-index: 300;
|
||||||
|
@ -1338,12 +1395,12 @@ table.list .red .number a {
|
||||||
-moz-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
|
-moz-box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
|
||||||
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
|
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
|
||||||
}
|
}
|
||||||
/* line 64, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 72, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile ul li {
|
#navigation li.profile ul li {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
/* line 67, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 75, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile ul li:last-child a:hover {
|
#navigation li.profile ul li:last-child a:hover {
|
||||||
-moz-border-radius-bottomleft: 4px;
|
-moz-border-radius-bottomleft: 4px;
|
||||||
-webkit-border-bottom-left-radius: 4px;
|
-webkit-border-bottom-left-radius: 4px;
|
||||||
border-bottom-left-radius: 4px;
|
border-bottom-left-radius: 4px;
|
||||||
|
@ -1351,15 +1408,15 @@ table.list .red .number a {
|
||||||
-webkit-border-bottom-right-radius: 4px;
|
-webkit-border-bottom-right-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
}
|
}
|
||||||
/* line 70, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 78, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile ul a {
|
#navigation li.profile ul a {
|
||||||
display: block;
|
display: block;
|
||||||
padding: 5px 35px 5px 45px;
|
padding: 5px 0 5px 54px;
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
/* line 75, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
/* line 83, /Users/sven/Development/projects/travis/travis-ember/assets/stylesheets/top.sass */
|
||||||
#navigation .profile ul a:hover {
|
#navigation li.profile ul a:hover {
|
||||||
background-color: #555555;
|
background-color: #555555;
|
||||||
}
|
}
|
||||||
#facebox {
|
#facebox {
|
||||||
|
|