Commit 24db1d16b8ebeef84011a2af44b03ffdb73f39c8
1 parent
f624fb84
Exists in
master
and in
1 other branch
fixes #956 integrate font-awesome
Showing
32 changed files
with
83 additions
and
55 deletions
Show diff stats
Gemfile
| ... | ... | @@ -8,29 +8,27 @@ gem 'actionmailer', RAILS_VERSION |
| 8 | 8 | gem 'actionpack', RAILS_VERSION |
| 9 | 9 | gem 'railties', RAILS_VERSION |
| 10 | 10 | |
| 11 | -gem 'mongoid', '5.0.0' | |
| 12 | -gem 'mongoid_rails_migrations' | |
| 13 | - | |
| 11 | +gem 'actionmailer_inline_css' | |
| 12 | +gem 'decent_exposure' | |
| 14 | 13 | gem 'devise' |
| 14 | +gem 'dotenv-rails' | |
| 15 | +gem 'draper' | |
| 16 | +gem 'errbit_plugin' | |
| 17 | +gem 'errbit_github_plugin' | |
| 18 | +gem 'font-awesome-rails' | |
| 15 | 19 | gem 'haml' |
| 16 | 20 | gem 'htmlentities' |
| 17 | -gem 'rack-ssl', :require => 'rack/ssl' # force SSL | |
| 18 | - | |
| 19 | -gem 'useragent' | |
| 20 | -gem 'decent_exposure' | |
| 21 | -gem 'actionmailer_inline_css' | |
| 22 | 21 | gem 'kaminari', '>= 0.14.1' |
| 22 | +gem 'mongoid', '5.0.0' | |
| 23 | +gem 'mongoid_rails_migrations' | |
| 24 | +gem 'rack-ssl', :require => 'rack/ssl' # force SSL | |
| 23 | 25 | gem 'rack-ssl-enforcer', :require => false |
| 24 | 26 | gem 'rails_autolink' |
| 27 | +gem 'useragent' | |
| 28 | + | |
| 25 | 29 | # Please don't update hoptoad_notifier to airbrake. |
| 26 | 30 | # It's for internal use only, and we monkeypatch certain methods |
| 27 | 31 | gem 'hoptoad_notifier', "~> 2.4" |
| 28 | -gem 'draper' | |
| 29 | - | |
| 30 | -gem 'errbit_plugin' | |
| 31 | -gem 'errbit_github_plugin' | |
| 32 | - | |
| 33 | -gem 'dotenv-rails' | |
| 34 | 32 | |
| 35 | 33 | # Notification services |
| 36 | 34 | # --------------------------------------- | ... | ... |
Gemfile.lock
| ... | ... | @@ -136,6 +136,8 @@ GEM |
| 136 | 136 | flowdock (0.6.0) |
| 137 | 137 | httparty (~> 0.7) |
| 138 | 138 | multi_json |
| 139 | + font-awesome-rails (4.2.0.0) | |
| 140 | + railties (>= 3.2, < 5.0) | |
| 139 | 141 | globalid (0.3.6) |
| 140 | 142 | activesupport (>= 4.1.0) |
| 141 | 143 | haml (4.0.6) |
| ... | ... | @@ -436,6 +438,7 @@ DEPENDENCIES |
| 436 | 438 | errbit_plugin |
| 437 | 439 | fabrication |
| 438 | 440 | flowdock |
| 441 | + font-awesome-rails | |
| 439 | 442 | haml |
| 440 | 443 | hipchat |
| 441 | 444 | hoi | ... | ... |
app/assets/stylesheets/application.css.erb
app/assets/stylesheets/errbit.css.erb
| ... | ... | @@ -93,9 +93,10 @@ a.action { float: right; font-size: 0.9em;} |
| 93 | 93 | padding: 0 14px; |
| 94 | 94 | line-height: 30px; |
| 95 | 95 | } |
| 96 | -#header #session-links #sign-out { | |
| 97 | - background: transparent url(<%= asset_path "images/icons/bullet-red-sm.png" %>) 12px 50% no-repeat; | |
| 98 | - padding-left: 29px; | |
| 96 | +#header #session-links #sign-out i { | |
| 97 | + color: #cc0033; | |
| 98 | + font-size: 11px; | |
| 99 | + margin-right: 3px; | |
| 99 | 100 | } |
| 100 | 101 | #header #session-links a:hover { |
| 101 | 102 | text-decoration: none; |
| ... | ... | @@ -133,10 +134,12 @@ a.action { float: right; font-size: 0.9em;} |
| 133 | 134 | color: #333; |
| 134 | 135 | } |
| 135 | 136 | |
| 137 | +#nav-bar li i { | |
| 138 | + margin-right: 5px; | |
| 139 | +} | |
| 136 | 140 | #nav-bar li a { |
| 137 | 141 | color: #666; |
| 138 | - display: block; | |
| 139 | - padding: 0 20px 0 40px; | |
| 142 | + padding: 0 20px; | |
| 140 | 143 | font-size: 14px; |
| 141 | 144 | font-weight: bold; |
| 142 | 145 | line-height: 37px; |
| ... | ... | @@ -146,9 +149,6 @@ a.action { float: right; font-size: 0.9em;} |
| 146 | 149 | background: transparent 10px 6px no-repeat; |
| 147 | 150 | } |
| 148 | 151 | #nav-bar li a:hover { color: #666;} |
| 149 | -#nav-bar li.apps a { background-image: url(<%= asset_path "images/icons/briefcase.png" %>); } | |
| 150 | -#nav-bar li.errs a { background-image: url(<%= asset_path "images/icons/error.png" %>); } | |
| 151 | -#nav-bar li.users a { background-image: url(<%= asset_path "images/icons/user.png" %>); } | |
| 152 | 152 | #nav-bar li:not(.active):hover { |
| 153 | 153 | box-shadow: 0 0 3px #69c; |
| 154 | 154 | -moz-box-shadow: 0 0 3px #69c; |
| ... | ... | @@ -215,8 +215,7 @@ a.action { float: right; font-size: 0.9em;} |
| 215 | 215 | } |
| 216 | 216 | #action-bar span a { |
| 217 | 217 | color: #666; |
| 218 | - display: block; | |
| 219 | - padding: 0 20px 0 40px; | |
| 218 | + padding: 0 20px; | |
| 220 | 219 | font-size: 14px; font-weight: bold; line-height: 39px; text-decoration: none; |
| 221 | 220 | text-shadow: 1px 1px 0px #FFF; -webkit-text-shadow: 1px 1px 0px #FFF; |
| 222 | 221 | background: transparent 10px 8px no-repeat; |
| ... | ... | @@ -227,17 +226,11 @@ a.action { float: right; font-size: 0.9em;} |
| 227 | 226 | -moz-box-shadow: 0 0 3px #69c; |
| 228 | 227 | -webkit-box-shadow: 0 0 3px #69c; |
| 229 | 228 | } |
| 230 | -#action-bar a.add { | |
| 231 | - background-image: url(<%= asset_path "images/icons/add.png" %>); | |
| 232 | -} | |
| 233 | - | |
| 234 | -#action-bar .calendar_link { | |
| 235 | - background: url(<%= asset_path "images/icons/ical.png" %>) no-repeat scroll 12px 6px transparent; | |
| 236 | - padding-left: 47px; | |
| 229 | +#action-bar a i { | |
| 230 | + margin-right: 5px; | |
| 237 | 231 | } |
| 238 | 232 | |
| 239 | -#action-bar span.github a { background: url(<%= asset_path "images/icons/github.png" %>) no-repeat 6px 5px; } | |
| 240 | -#action-bar span.unlink_github a { background: url(<%= asset_path "images/icons/unlink_github.png" %>) no-repeat 6px 5px; } | |
| 233 | +#action-bar span.github a:before { font-family: FontAwesome; content: "\f09b"; margin-right: 8px; position: relative; top: 4px; font-size: 26px; } | |
| 241 | 234 | |
| 242 | 235 | /* Content */ |
| 243 | 236 | #content { |
| ... | ... | @@ -306,7 +299,7 @@ form label { |
| 306 | 299 | } |
| 307 | 300 | form label.inline { display: inline; } |
| 308 | 301 | form .checkbox label { display: inline; } |
| 309 | -form .required label { padding-right: 20px; background: transparent url(<%= asset_path "images/icons/required.png" %>) right 50% no-repeat; } | |
| 302 | +form .required label:after { font-family: FontAwesome; content: "\f069"; color: #cc0033; margin-left: 5px; font-weight: normal; } | |
| 310 | 303 | form .field_with_errors label { color: #900; } |
| 311 | 304 | form input[type=text], form input[type=password], form input[type=email] { |
| 312 | 305 | width: 96%; padding: 0.8em; |
| ... | ... | @@ -365,10 +358,13 @@ form div.buttons input, form div.buttons button { |
| 365 | 358 | -webkit-text-shadow: 1px 1px 0px #FFF; |
| 366 | 359 | border: none; |
| 367 | 360 | } |
| 368 | -form div.buttons button.sign_in { | |
| 369 | - padding-left: 40px; | |
| 370 | - background: transparent url(<%= asset_path "images/icons/right-arrow.png" %>) 3px 3px no-repeat; | |
| 361 | + | |
| 362 | +.sign_in:before { | |
| 363 | + font-family: FontAwesome; | |
| 364 | + content: "\f061"; | |
| 365 | + margin-right: 8px; | |
| 371 | 366 | } |
| 367 | + | |
| 372 | 368 | form strong.option { |
| 373 | 369 | display: block; |
| 374 | 370 | margin: 0.7em 0; |
| ... | ... | @@ -650,7 +646,7 @@ td.count, td.issue_link { |
| 650 | 646 | padding: 0.1em 0.7em; |
| 651 | 647 | margin-top: 3px; |
| 652 | 648 | color: #fff; |
| 653 | - background: #cc0033 url(<%= asset_path "images/error-badge-bg.png" %>) 0 bottom repeat-x; | |
| 649 | + background-color: #cc0033; | |
| 654 | 650 | border: 1px solid #900; |
| 655 | 651 | border-radius: 18px; |
| 656 | 652 | -moz-border-radius: 18px; |
| ... | ... | @@ -661,7 +657,7 @@ td.count, td.issue_link { |
| 661 | 657 | -webkit-opacity: 0.8 |
| 662 | 658 | } |
| 663 | 659 | .count a.resolved { |
| 664 | - background: #05B81d url(<%= asset_path "images/resolved-badge-bg.png" %>) 0 bottom repeat-x; | |
| 660 | + background-color: #05B81d; | |
| 665 | 661 | border: 1px solid #080; |
| 666 | 662 | } |
| 667 | 663 | .count a:hover { |
| ... | ... | @@ -729,13 +725,17 @@ table.deploys td.when { |
| 729 | 725 | } |
| 730 | 726 | |
| 731 | 727 | /* Resolve Errs */ |
| 732 | -#action-bar a.resolve { | |
| 733 | - background: transparent url(<%= asset_path "images/icons/thumbs-up.png" %>) 6px 5px no-repeat; | |
| 728 | +#action-bar .resolve:before { | |
| 729 | + font-family: FontAwesome; | |
| 730 | + content: "\f087"; | |
| 731 | + margin-right: 5px; | |
| 734 | 732 | } |
| 735 | 733 | |
| 736 | 734 | /* Go Up */ |
| 737 | -#action-bar a.up { | |
| 738 | - background: transparent url(<%= asset_path "images/icons/up.png" %>) 6px 5px no-repeat; | |
| 735 | +#action-bar a.up:before { | |
| 736 | + font-family: FontAwesome; | |
| 737 | + content: "\f077"; | |
| 738 | + margin-right: 5px; | |
| 739 | 739 | } |
| 740 | 740 | |
| 741 | 741 | /* Notices Pagination */ | ... | ... |
app/assets/stylesheets/images/content-fade.png
134 Bytes
app/assets/stylesheets/images/error-badge-bg.png
75 Bytes
app/assets/stylesheets/images/header.png
109 Bytes
app/assets/stylesheets/images/icons/add.png
908 Bytes
app/assets/stylesheets/images/icons/briefcase.png
635 Bytes
app/assets/stylesheets/images/icons/bullet-red-sm.png
338 Bytes
app/assets/stylesheets/images/icons/cross.png
285 Bytes
app/assets/stylesheets/images/icons/edit.png
1.13 KB
app/assets/stylesheets/images/icons/github.png
1.57 KB
app/assets/stylesheets/images/icons/ical.png
1.59 KB
app/assets/stylesheets/images/icons/required.png
198 Bytes
app/assets/stylesheets/images/icons/right-arrow.png
847 Bytes
app/assets/stylesheets/images/icons/trash.png
1.59 KB
app/assets/stylesheets/images/icons/unlink_github.png
1.87 KB
app/assets/stylesheets/images/icons/up.png
837 Bytes
app/assets/stylesheets/images/icons/user.png
822 Bytes
app/assets/stylesheets/images/notebook.png
91 Bytes
app/assets/stylesheets/images/resolved-badge-bg.png
75 Bytes
app/views/apps/index.html.haml
| 1 | 1 | - content_for :title, t('.title') |
| 2 | 2 | - content_for :action_bar do |
| 3 | - %span= link_to(t('.new_app'), new_app_path, :class => 'add') if current_user.admin? | |
| 3 | + - if current_user.admin? | |
| 4 | + %span | |
| 5 | + = link_to(new_app_path) do | |
| 6 | + %i.fa.fa-plus-circle | |
| 7 | + = t('.new_app') | |
| 4 | 8 | |
| 5 | 9 | %table.apps |
| 6 | 10 | %thead | ... | ... |
app/views/deploys/index.html.haml
| 1 | 1 | - content_for :title, 'Deploys' |
| 2 | 2 | - content_for :action_bar do |
| 3 | 3 | - if current_user.authentication_token |
| 4 | - %span= link_to 'iCal', app_deploys_path(@app, :format => "ics", :auth_token => current_user.authentication_token), :class => "calendar_link" | |
| 4 | + %span | |
| 5 | + = link_to app_deploys_path(@app, :format => "ics", :auth_token => current_user.authentication_token) do | |
| 6 | + %i.fa.fa-calendar | |
| 7 | + iCal | |
| 5 | 8 | = render 'table', :deploys => @deploys |
| 6 | 9 | = paginate @deploys |
| 7 | 10 | ... | ... |
app/views/problems/show.html.haml
| ... | ... | @@ -16,8 +16,10 @@ |
| 16 | 16 | %span= link_to 'resolve', [:resolve, app, problem], :method => :put, |
| 17 | 17 | :data => { :confirm => problem_confirm('resolve_one') }, :class => 'resolve' |
| 18 | 18 | - if current_user.authentication_token |
| 19 | - %span= link_to 'iCal', polymorphic_path([app, problem], :format => "ics", | |
| 20 | - :auth_token => current_user.authentication_token), :class => "calendar_link" | |
| 19 | + %span | |
| 20 | + = link_to polymorphic_path([app, problem], :format => "ics", :auth_token => current_user.authentication_token) do | |
| 21 | + %i.fa.fa-calendar | |
| 22 | + iCal | |
| 21 | 23 | %span>= link_to 'up', (request.env['HTTP_REFERER'] ? :back : app_problems_path(app)), :class => 'up' |
| 22 | 24 | %br |
| 23 | 25 | = render "issue_tracker_links" | ... | ... |
app/views/shared/_flash_messages.html.haml
app/views/shared/_link_github_account.html.haml
| 1 | 1 | - if Errbit::Config.github_authentication && user == current_user |
| 2 | 2 | - if user.github_account? |
| 3 | - %span.unlink_github= link_to "Unlink GitHub account", unlink_github_user_path(user), :method => :delete, :data => { :confirm => "Are you sure?" } | |
| 3 | + %span.github= link_to "Unlink GitHub account", unlink_github_user_path(user), :method => :delete, :data => { :confirm => "Are you sure?" } | |
| 4 | 4 | - else |
| 5 | 5 | %span.github= link_to "Link GitHub account", user_omniauth_authorize_path(:github) | ... | ... |
app/views/shared/_navigation.html.haml
| 1 | 1 | #nav-bar |
| 2 | 2 | %ul |
| 3 | - %li.apps{:class => active_if_here(:apps)}= link_to t('.apps'), apps_path | |
| 4 | - %li.errs{:class => active_if_here(:problems)}= link_to t('.errors'), problems_path | |
| 3 | + %li{:class => active_if_here(:apps)} | |
| 4 | + = link_to apps_path do | |
| 5 | + %i.fa.fa-briefcase | |
| 6 | + = t('.apps') | |
| 7 | + %li{:class => active_if_here(:problems)} | |
| 8 | + = link_to problems_path do | |
| 9 | + %i.fa.fa-warning | |
| 10 | + = t('.errors') | |
| 5 | 11 | - if user_signed_in? && current_user.admin? |
| 6 | - %li.users{:class => active_if_here(:users)}= link_to t('.users'), users_path | |
| 12 | + %li{:class => active_if_here(:users)} | |
| 13 | + = link_to users_path do | |
| 14 | + %i.fa.fa-users | |
| 15 | + = t('.users') | |
| 7 | 16 | %div.clear | ... | ... |
app/views/shared/_session.html.haml
| 1 | 1 | - if current_user |
| 2 | 2 | %ul#session-links |
| 3 | - %li= link_to t('.sign_out'), destroy_session_path(:user), :id => 'sign-out', :method => :delete | |
| 3 | + %li | |
| 4 | + = link_to destroy_session_path(:user), :id => 'sign-out', :method => :delete do | |
| 5 | + %i.fa.fa-circle | |
| 6 | + = t('.sign_out') | |
| 7 | + | |
| 4 | 8 | %li= link_to t('.edit_profile'), edit_user_path(current_user), :id => 'edit-profile' | ... | ... |
app/views/users/index.html.haml
app/views/users/show.html.haml
| ... | ... | @@ -7,7 +7,6 @@ |
| 7 | 7 | |
| 8 | 8 | - content_for :action_bar do |
| 9 | 9 | = render 'shared/link_github_account' |
| 10 | - %span= link_to('Add a New User', new_user_path, :class => 'add') | |
| 11 | 10 | = link_to 'edit', edit_user_path(user), :class => 'button' |
| 12 | 11 | = link_to 'destroy', user_path(user), :method => :delete, |
| 13 | 12 | :data => { :confirm => t('users.confirm_delete') }, :class => 'delete button' | ... | ... |
config/locales/en.yml
| ... | ... | @@ -84,6 +84,8 @@ en: |
| 84 | 84 | confirm_delete: "Permanently delete this comment?" |
| 85 | 85 | users: |
| 86 | 86 | confirm_delete: "Permanently delete this user?" |
| 87 | + index: | |
| 88 | + new: Add a New User | |
| 87 | 89 | apps: |
| 88 | 90 | confirm_delete: "Permanently delete this app?" |
| 89 | 91 | confirm_destroy_all_problems: "Permanently delete all of this app's errors?" | ... | ... |