Redid HTTP error pages.

This commit is contained in:
flash 2025-01-30 14:52:01 +00:00
parent 312be0e7fe
commit 3e14f63bdb
16 changed files with 261 additions and 92 deletions

View file

@ -1,16 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Error 500</title>
<style type="text/css">
body {
font: 12px/20px Verdana, Geneva, 'Dejavu Sans', Arial, Helvetica, sans-serif;
}
</style>
</head>
<body>
<h1>Error 500</h1>
<p>Something went very wrong. Please report what you were doing to a developer.</p>
</body>
</html>

View file

@ -1,29 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Error 503</title>
<style type="text/css">
body {
font: 12px/20px Verdana, Geneva, 'Dejavu Sans', Arial, Helvetica, sans-serif;
}
</style>
</head>
<body>
<h1>Error 503</h1>
<p>The site is currently unavailable due to ongoing updates. It should be back shortly!</p>
<p>The page will refresh when the site becomes available again.</p>
<p><a href="javascript:location.reload(true)">Retry</a></p>
<script type="text/javascript">
setInterval(function() {
var xhr = new XMLHttpRequest;
xhr.onreadystatechange = function() {
if(xhr.readyState === 4 && xhr.status !== 503)
document.links[0].click();
};
xhr.open('HEAD', location.pathname + '?_check=' + Date.now().toString());
xhr.send();
}, 10000);
</script>
</body>
</html>

View file

@ -2,7 +2,6 @@
{% set error_code = 400 %}
{% set error_text = 'Bad Request' %}
{% block error_message %}
<p>Whatever you tried to do, you probably shouldn't.</p>
{% endblock %}
{% set error_icon = 'fas fa-ellipsis-h' %}
{% set error_blerb = "Make sure you're sending the right data." %}
{% set error_colour = '#b07200' %}

View file

@ -1,8 +1,7 @@
{% extends 'errors/master.twig' %}
{% set error_code = 401 %}
{% set error_text = 'Unauthorised!' %}
{% block error_message %}
<p>You must log in to view this page.</p>
{% endblock %}
{% set error_text = 'Unauthorized' %}
{% set error_icon = 'fas fa-exclamation-circle' %}
{% set error_blerb = 'You must be logged in to view this page.' %}
{% set error_colour = '#be411e' %}

View file

@ -1,8 +1,7 @@
{% extends 'errors/master.twig' %}
{% set error_code = 403 %}
{% set error_text = 'Access Denied!' %}
{% block error_message %}
<p>You aren't allowed to be here. Try logging in, if you haven't yet.</p>
{% endblock %}
{% set error_text = 'Forbidden' %}
{% set error_icon = 'fas fa-lock' %}
{% set error_blerb = 'You are not supposed to be here.' %}
{% set error_colour = '#83758d' %}

View file

@ -1,8 +1,7 @@
{% extends 'errors/master.twig' %}
{% set error_code = 404 %}
{% set error_text = 'Not Found!' %}
{% block error_message %}
<p>Couldn't find what you were looking for. Check the spelling in the URL or go back to the previous page.</p>
{% endblock %}
{% set error_text = 'Not Found' %}
{% set error_icon = 'fas fa-question-circle' %}
{% set error_blerb = "What you're looking for is no longer here or might not have been here at all." %}
{% set error_colour = '#8559a5' %}

View file

@ -0,0 +1,7 @@
{% extends 'errors/master.twig' %}
{% set error_code = 405 %}
{% set error_text = 'Method Not Allowed' %}
{% set error_icon = 'fas fa-question-circle' %}
{% set error_blerb = "What you're trying to do is not supported." %}
{% set error_colour = '#8f3417' %}

View file

@ -0,0 +1,7 @@
{% extends 'errors/master.twig' %}
{% set error_code = 500 %}
{% set error_text = 'Server Error' %}
{% set error_icon = 'fas fa-dizzy' %}
{% set error_blerb = 'Something went very wrong. Please report what you were trying to do to a developer.' %}
{% set error_colour = '#99061d' %}

View file

@ -0,0 +1,7 @@
{% extends 'errors/master.twig' %}
{% set error_code = 502 %}
{% set error_text = 'Bad Gateway' %}
{% set error_icon = 'fas fa-tired' %}
{% set error_blerb = 'Something went very wrong. Please report what you were trying to do to a developer.' %}
{% set error_colour = '#dd6427' %}

View file

@ -0,0 +1,7 @@
{% extends 'errors/master.twig' %}
{% set error_code = 503 %}
{% set error_text = 'Temporarily Unavailable' %}
{% set error_icon = 'fas fa-tools' %}
{% set error_blerb = 'The website is currently unavailable, it will likely be back soon!' %}
{% set error_colour = '#354e97' %}

View file

@ -1,22 +1,60 @@
{% extends 'master.twig' %}
{% extends 'html.twig' %}
{% from 'macros.twig' import container_title %}
{# fuck it #}
{% set http_code = http_code|default(error_code) %}
{% set error_string = '%03d %s'|format(error_code, error_text) %}
{% set html_title = error_string ~ ' :: ' ~ globals.site_info.name %}
{% block content %}
<div class="container">
{{ container_title((title|default(error_code|default(http_code) >= 400 ? '<i class="fas fa-exclamation-circle fa-fw"></i> Error' : '<i class="fas fa-info-circle fa-fw"></i> Information')) ~ ' ' ~ (error_code|default(http_code >= 400 ? http_code : '')) ~ (error_text is defined ? ' - ' ~ error_text : '')) }}
{% block html_head %}
<meta name="description" content="{{ error_blerb }}">
<link href="/vendor/fontawesome/css/all.min.css" type="text/css" rel="stylesheet">
<link href="{{ asset('errors.css') }}" rel="stylesheet">
<style>
:root {
--error-colour: {{ error_colour }};
}
</style>
{% endblock %}
<div class="container__content">
{% if message is defined %}
<p>{{ message }}</p>
{% else %}
{% block error_message %}
<p>Try again later, perhaps.</p>
{% endblock %}
{% endif %}
{% block html_body %}
<div class="error">
<div class="error-wrapper">
<div class="error-container">
<nav class="error-top">
<div class="error-logo"><a href="{{ globals.site_info.url }}"><img src="/images/logos/imouto-default.png" alt=""></a></div>
<div class="error-home"><a href="{{ globals.site_info.url }}">{{ globals.site_info.name }}</a></div>
{% if error_code >= 500 %}
<div class="error-nav">
{% if globals.site_info.email is not empty %}
<a href="mailto:{{ globals.site_info.email }}" rel="noopener" target="_blank">E-mail</a>
{% endif %}
{% if globals.site_info.bsky is not empty %}
<a href="{{ globals.site_info.bsky }}" rel="noopener" target="_blank">Bluesky</a>
{% endif %}
</div>
{% endif %}
</nav>
<article class="error-body">
<div class="error-icon">
<i class="{{ error_icon }}"></i>
</div>
<h1 class="error-title">{{ error_string }}</h1>
<p class="error-blerb">{{ error_blerb }}</p>
</article>
<footer class="error-footer">
<p>
<a href="https://flash.moe" target="_blank" rel="noopener">flashwave</a>
2013-{{ ''|date('Y') }} /
{% set git_branch = git_branch() %}
{% if git_branch != 'HEAD' %}
<a href="https://patchii.net/flashii/misuzu/src/branch/{{ git_branch }}" target="_blank" rel="noopener">{{ git_branch }}</a>
{% else %}
{% set git_tag = git_tag() %}
<a href="https://patchii.net/flashii/misuzu/src/tag/{{ git_tag }}" target="_blank" rel="noopener">{{ git_tag }}</a>
{% endif %}
# <a href="https://patchii.net/flashii/misuzu/commit/{{ git_commit_hash(true) }}" target="_blank" rel="noopener">{{ git_commit_hash() }}</a>
</p>
</footer>
</div>
</div>
</div>
{% endblock %}