From e22a56183a26283941a3260341ef84ce03e8ba44 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 21 Jan 2017 22:30:47 +0100 Subject: [PATCH] Improve error page layouting. 500 page has to stay static because it's used from nginx when Rails fails. --- app/controllers/application_controller.rb | 6 ++-- app/views/errors/404.html | 43 ----------------------- app/views/errors/404.html.haml | 5 +++ app/views/errors/410.html | 43 ----------------------- app/views/errors/410.html.haml | 5 +++ app/views/errors/422.html | 43 ----------------------- app/views/errors/422.html.haml | 5 +++ app/views/layouts/error.html.haml | 36 +++++++++++++++++++ {app/views/errors => public}/500.html | 0 9 files changed, 54 insertions(+), 132 deletions(-) delete mode 100644 app/views/errors/404.html create mode 100644 app/views/errors/404.html.haml delete mode 100644 app/views/errors/410.html create mode 100644 app/views/errors/410.html.haml delete mode 100644 app/views/errors/422.html create mode 100644 app/views/errors/422.html.haml create mode 100644 app/views/layouts/error.html.haml rename {app/views/errors => public}/500.html (100%) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e8cd48b6e..e4b6d0faf 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -51,21 +51,21 @@ class ApplicationController < ActionController::Base def not_found respond_to do |format| format.any { head 404 } - format.html { render "errors/404" } + format.html { render 'errors/404', layout: 'error' } end end def gone respond_to do |format| format.any { head 410 } - format.html { render "errors/410" } + format.html { render 'errors/410', layout: 'error' } end end def unprocessable_entity respond_to do |format| format.any { head 422 } - format.html { render "errors/422" } + format.html { render 'errors/422', layout: 'error' } end end diff --git a/app/views/errors/404.html b/app/views/errors/404.html deleted file mode 100644 index fc75c78be..000000000 --- a/app/views/errors/404.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - The page you were looking for doesn't exist - - - - - - -
- Mastodon - -
-

The page you were looking for doesn't exist

-
-
- - diff --git a/app/views/errors/404.html.haml b/app/views/errors/404.html.haml new file mode 100644 index 000000000..ba1d5f72d --- /dev/null +++ b/app/views/errors/404.html.haml @@ -0,0 +1,5 @@ +- content_for :page_title do + The page you were looking for doesn't exist + +- content_for :content do + The page you were looking for doesn't exist diff --git a/app/views/errors/410.html b/app/views/errors/410.html deleted file mode 100644 index e07cbe863..000000000 --- a/app/views/errors/410.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - The page you were looking for doesn't exist anymore - - - - - - -
- Mastodon - -
-

The page you were looking for doesn't exist anymore

-
-
- - diff --git a/app/views/errors/410.html.haml b/app/views/errors/410.html.haml new file mode 100644 index 000000000..07cf3742f --- /dev/null +++ b/app/views/errors/410.html.haml @@ -0,0 +1,5 @@ +- content_for :page_title do + The page you were looking for doesn't exist anymore + +- content_for :content do + The page you were looking for doesn't exist anymore diff --git a/app/views/errors/422.html b/app/views/errors/422.html deleted file mode 100644 index a214781bd..000000000 --- a/app/views/errors/422.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - Security verification failed - are you blocking cookies? - - - - - - -
- Mastodon - -
-

We're sorry, but we were unable to verify your request. Have you tried enabling cookies?

-
-
- - diff --git a/app/views/errors/422.html.haml b/app/views/errors/422.html.haml new file mode 100644 index 000000000..e369cded6 --- /dev/null +++ b/app/views/errors/422.html.haml @@ -0,0 +1,5 @@ +- content_for :page_title do + Security verification failed + +- content_for :content do + Security verification failed. Are you blocking cookies? diff --git a/app/views/layouts/error.html.haml b/app/views/layouts/error.html.haml new file mode 100644 index 000000000..54563f7d8 --- /dev/null +++ b/app/views/layouts/error.html.haml @@ -0,0 +1,36 @@ +!!! +%html{:lang => "en"} + %head + %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/ + %meta{:charset => "utf-8"}/ + %title= yield :page_title + %meta{:content => "width=device-width,initial-scale=1", :name => "viewport"}/ + %link{:href => "https://fonts.googleapis.com/css?family=Roboto:400", :rel => "stylesheet"}/ + :css + body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background: #282c37; + color: #9baec8; + text-align: center; + margin: 0; + padding: 20px; + } + + .dialog img { + display: block; + margin: 20px auto; + margin-top: 50px; + max-width: 600px; + width: 100%; + height: auto; + } + + .dialog h1 { + font: 20px/28px -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + font-weight: 400; + } + %body + .dialog + %img{:alt => "Mastodon", :src => "/oops.png"}/ + %div + %h1= yield :content diff --git a/app/views/errors/500.html b/public/500.html similarity index 100% rename from app/views/errors/500.html rename to public/500.html