diff --git a/app/views/errs/show.html.haml b/app/views/errs/show.html.haml index a8e9d1a..6aa8430 100644 --- a/app/views/errs/show.html.haml +++ b/app/views/errs/show.html.haml @@ -1,31 +1,44 @@ -- content_for :title, @err.message +- content_for :page_title, @err.message +- content_for :title, @err.klass - content_for :meta do %strong Where: = @err.where %strong Environment: - = @err.environment.titleize - %strong Type: - = @err.klass + = @err.environment %strong Last Notice: = @err.last_notice_at.to_s(:micro) - content_for :action_bar do - = will_paginate @notices, :param_name => :notice, :page_links => false - .float-left viewing occurrence #{@notices.current_page} of #{@notices.total_pages} - = link_to "back to '#{@app.name}'", app_path(@app) - | - = link_to 'resolve', resolve_app_err_path(@app, @err), :method => :put, :confirm => 'Seriously?' if @err.unresolved? + %span= link_to 'resolve', resolve_app_err_path(@app, @err), :method => :put, :confirm => 'Seriously?', :class => 'resolve' if @err.unresolved? -%h3#summary Summary -= render 'notices/summary', :notice => @notice +%h4= @notice.message + += will_paginate @notices, :param_name => :notice, :page_links => false +viewing occurrence #{@notices.current_page} of #{@notices.total_pages} -%h3#backtrace Backtrace -= render 'notices/backtrace', :lines => @notice.backtrace +.tab-bar + %ul + %li= link_to 'Summary', '#summary', :rel => 'summary', :class => 'button' + %li= link_to 'Backtrace', '#backtrace', :rel => 'backtrace', :class => 'button' + %li= link_to 'Environment', '#environment', :rel => 'environment', :class => 'button' + %li= link_to 'Parameters', '#params', :rel => 'params', :class => 'button' + %li= link_to 'Session', '#session', :rel => 'session', :class => 'button' -%h3#environment Environment -= render 'notices/environment', :notice => @notice +#summary + %h3 Summary + = render 'notices/summary', :notice => @notice -%h3#params Parameters -= render 'notices/params', :notice => @notice +#backtrace + %h3 Backtrace + = render 'notices/backtrace', :lines => @notice.backtrace + +#environment + %h3 Environment + = render 'notices/environment', :notice => @notice -%h3#session Session -= render 'notices/session', :notice => @notice \ No newline at end of file +#params + %h3 Parameters + = render 'notices/params', :notice => @notice + +#session + %h3 Session + = render 'notices/session', :notice => @notice \ No newline at end of file diff --git a/app/views/notices/_summary.html.haml b/app/views/notices/_summary.html.haml index 1dc802f..06889e6 100644 --- a/app/views/notices/_summary.html.haml +++ b/app/views/notices/_summary.html.haml @@ -1,9 +1,12 @@ .window %table.summary + %tr + %th Message + %td.main.nowrap= notice.message - if notice.request['url'].present? %tr %th URL - %td.main.nowrap= link_to notice.request['url'], notice.request['url'] + %td.nowrap= link_to notice.request['url'], notice.request['url'] %tr %th Where %td= notice.err.where diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 860e5c4..2026986 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -1 +1,31 @@ -// App JS \ No newline at end of file +// App JS + +$(function(){ + activateTabbedPanels(); +}); + +function activateTabbedPanels() { + $('.tab-bar a').each(function(){ + var tab = $(this); + var panel = $('#'+tab.attr('rel')); + panel.addClass('panel'); + panel.find('h3').hide(); + }) + + $('.tab-bar a').click(function(){ + activateTab($(this)); + return(false); + }); + activateTab($('.tab-bar a').first()); +} + +function activateTab(tab) { + tab = $(tab); + var panel = $('#'+tab.attr('rel')); + + tab.closest('.tab-bar').find('a.active').removeClass('active'); + tab.addClass('active'); + + $('.panel').hide(); + panel.show(); +} \ No newline at end of file diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 34bf2c9..b357753 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -115,9 +115,12 @@ section#content-wrapper { background-color: #e2e2e2; } #content-title h1 { - padding: 0; margin: 0; border: none; + padding: 0; margin: 0; + width: 85%; + border: none; color: #666; font-size: 2em; line-height: 1em; font-weight: bold; font-family: arial, sans-serif; + word-wrap: break-word; } #content-title .meta { font-size: 0.9em; color: #787878; } @@ -301,6 +304,7 @@ pre { opacity: 0.5; -moz-opacity: 0.5; -webkit-opacity: 0.5; + cursor: no-drop; } .pagination em { padding: 0em 0.6em; @@ -337,7 +341,32 @@ a.button { a:hover.button { box-shadow: 0px 0px 4px #69C; -moz-box-shadow: 0px 0px 4px #69C; - -webkit-box-shadow: 0px 0px 4px #69C + -webkit-box-shadow: 0px 0px 4px #69C; + text-decoration: none; +} +a.button.active { + border-color: #fff; + background-color: #CCC; + background-image: none; + box-shadow: inset 0 0 5px #999; + -moz-box-shadow: inset 0 0 5px #999; + -webkit-box-shadow: inset 0 0 5px #999; +} + +/* Tab Bar */ +.tab-bar { + margin-bottom: 24px; + background-color: #E2E2E2; + border: 1px solid #BBB; +} +.tab-bar ul { + padding: 9px 12px; + border-top: 1px solid #FFF; + border-bottom: 1px solid #FFF; +} +.tab-bar li { + display: inline-block; + margin-right: 14px; } /* Apps Table */ -- libgit2 0.21.2