From 3f84816b24b232d8bfde71c4590d439a1f6fa50b Mon Sep 17 00:00:00 2001
From: Effy Elden <git@effy.is>
Date: Sun, 15 Jan 2017 10:27:54 +1100
Subject: [PATCH] Add nice error page for CSRF errors/cookie issue, and fix
error page handling altogether
---
app/views/errors/404.html | 43 +++++++++++++++++++++++++++++++++++++++
app/views/errors/410.html | 43 +++++++++++++++++++++++++++++++++++++++
app/views/errors/422.html | 43 +++++++++++++++++++++++++++++++++++++++
app/views/errors/500.html | 43 +++++++++++++++++++++++++++++++++++++++
4 files changed, 172 insertions(+)
create mode 100644 app/views/errors/404.html
create mode 100644 app/views/errors/410.html
create mode 100644 app/views/errors/422.html
create mode 100644 app/views/errors/500.html
diff --git a/app/views/errors/404.html b/app/views/errors/404.html
new file mode 100644
index 0000000000..fc75c78be4
--- /dev/null
+++ b/app/views/errors/404.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>The page you were looking for doesn't exist</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <link href="https://fonts.googleapis.com/css?family=Roboto:400" rel="stylesheet">
+ <style>
+ 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;
+ }
+ </style>
+</head>
+
+<body>
+ <div class="dialog">
+ <img src="/oops.png" alt="Mastodon" />
+
+ <div>
+ <h1>The page you were looking for doesn't exist</h1>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/app/views/errors/410.html b/app/views/errors/410.html
new file mode 100644
index 0000000000..e07cbe8635
--- /dev/null
+++ b/app/views/errors/410.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>The page you were looking for doesn't exist anymore</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <link href="https://fonts.googleapis.com/css?family=Roboto:400" rel="stylesheet">
+ <style>
+ 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;
+ }
+ </style>
+</head>
+
+<body>
+ <div class="dialog">
+ <img src="/oops.png" alt="Mastodon" />
+
+ <div>
+ <h1>The page you were looking for doesn't exist anymore</h1>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/app/views/errors/422.html b/app/views/errors/422.html
new file mode 100644
index 0000000000..a214781bd3
--- /dev/null
+++ b/app/views/errors/422.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>Security verification failed - are you blocking cookies?</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <link href="https://fonts.googleapis.com/css?family=Roboto:400" rel="stylesheet">
+ <style>
+ 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;
+ }
+ </style>
+</head>
+
+<body>
+ <div class="dialog">
+ <img src="/oops.png" alt="Mastodon" />
+
+ <div>
+ <h1>We're sorry, but we were unable to verify your request. Have you tried enabling cookies?</h1>
+ </div>
+ </div>
+</body>
+</html>
diff --git a/app/views/errors/500.html b/app/views/errors/500.html
new file mode 100644
index 0000000000..d085d490b0
--- /dev/null
+++ b/app/views/errors/500.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title>We're sorry, but something went wrong</title>
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <link href="https://fonts.googleapis.com/css?family=Roboto:400" rel="stylesheet">
+ <style>
+ 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;
+ }
+ </style>
+</head>
+
+<body>
+ <div class="dialog">
+ <img src="/oops.png" alt="Mastodon" />
+
+ <div>
+ <h1>We're sorry, but something went wrong.</h1>
+ </div>
+ </div>
+</body>
+</html>
--
GitLab