diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index e8cd48b6e84..e4b6d0fafed 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 fc75c78be46..00000000000
--- a/app/views/errors/404.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- The page you were looking for doesn't exist
-
-
-
-
-
-
-
-
-
-
-
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 00000000000..ba1d5f72dcd
--- /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 e07cbe8635c..00000000000
--- a/app/views/errors/410.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- The page you were looking for doesn't exist anymore
-
-
-
-
-
-
-
-
-
-
-
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 00000000000..07cf3742fd7
--- /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 a214781bd33..00000000000
--- a/app/views/errors/422.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
- Security verification failed - are you blocking cookies?
-
-
-
-
-
-
-
-
-
-
-
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 00000000000..e369cded64d
--- /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 00000000000..54563f7d87c
--- /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