Refactor error pages

This commit is contained in:
James Cole
2024-03-09 13:03:02 +01:00
parent 0d7325b3dc
commit 8b87deea58
17 changed files with 311 additions and 514 deletions

View File

@@ -0,0 +1,28 @@
@extends('layout.v2.error')
@section('status_code','404')
@section('status','Not Found')
@section('sub_title', trans('errors.404_header'))
@section('content')
<div class="row">
<div class="col">
@if(str_starts_with($exception->getMessage(),'Webhooks'))
<p class="lead">
{{ $exception->getMessage() }}
</p>
@endif
<p>
{{ trans('errors.404_page_does_not_exist') }}
</p>
<p>
{{ trans('errors.404_send_error') }}
</p>
<p>
{!! trans('errors.404_github_link') !!}
</p>
</div>
</div>
</body>
</html>
@endsection

View File

@@ -1,59 +0,0 @@
<!DOCTYPE html>
<html lang="{{ trans('config.html_language') }}">
<head>
<meta charset="UTF-8">
<meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
<title>Firefly III 404 :(</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<base href="{{ route('index') }}/">
{# CSS things #}
{# libraries #}
<link href="v1/lib/bs/css/bootstrap.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
<link href="v1/lib/fa/css/font-awesome.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# the theme #}
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# favicons #}
{% include('partials.favicons') %}
</head>
<body class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h1><s><strong>Firefly</strong>III</s> 404 Not Found :(</h1>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h3 class="text-info">404 &mdash; {{ trans('errors.404_header') }}</h3>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
{% if exception.message starts with 'Webhooks' %}
<p class="lead">
{{ exception.message }}
</p>
{% endif %}
<p>
{{ trans('errors.404_page_does_not_exist') }}
</p>
<p>
{{ trans('errors.404_send_error') }}
</p>
<p>
{{ trans('errors.404_github_link')|raw }}
</p>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,64 @@
@extends('layout.v2.error')
@section('status_code','500')
@section('status','Internal Server Error')
@section('sub_title', trans('errors.error_occurred'))
@section('content')
<div class="row">
<div class="col">
<p>
{{ trans('errors.error_not_recoverable') }}
</p>
<p class="text-danger">
{{ $exception->getMessage() ?? 'General unknown error' }}
</p>
<p>
{!! trans('errors.error_location', ['file' => $exception->getFile(), 'line' => $exception->getLine(), 'code' => $exception->getCode() ]) !!}
</p>
</div>
</div>
@if(!$debug)
<div class="row">
<div class="col">
<h4>
{{ trans('errors.more_info') }}
</h4>
<p>
{!! trans('errors.collect_info') !!}
{!! trans('errors.collect_info_more') !!}
</p>
<h4>
{{ trans('errors.github_help') }}
</h4>
<p>
{{ trans('errors.github_instructions') }} |raw
</p>
<ol>
<li>{{ trans('errors.use_search') }}</li>
<li>{{ trans('errors.include_info', ['link' => route('debug') ]) }}</li> |raw
<li>{{ trans('errors.tell_more') }}</li>
<li>{{ trans('errors.include_logs') }}</li>
<li>{{ trans('errors.what_did_you_do') }}</li>
</ol>
</div>
</div>
@endif
@if($debug)
<div class="row">
<div class="col">
<h4>{{ trans('errors.error') }}</h4>
<p>
{!! trans('errors.error_location', ['file' => $exception->getFile(), 'line' => $exception->getLine(), 'code' => $exception->getCode() ]) !!}
</p>
<h4>
{{ trans('errors.stacktrace') }}
</h4>
<div style="font-family: monospace;font-size:11px;">
{!! nl2br($exception->getTraceAsString()) !!}
</div>
</div>
</div>
@endif
@endsection

View File

@@ -1,95 +0,0 @@
<!DOCTYPE html>
<html lang="{{ trans('config.html_language') }}">
<head>
<meta charset="UTF-8">
<meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
<title>Firefly III 500 :(</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<base href="{{ route('index') }}/">
{# CSS things #}
{# libraries #}
<link href="v1/lib/bs/css/bootstrap.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
<link href="v1/lib/fa/css/font-awesome.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# the theme #}
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# favicons #}
{% include('partials.favicons') %}
</head>
<body class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h1><a href="{{ route('index') }}"><strong>Firefly</strong>III</a></h1>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h3 class="text-info">{{ trans('errors.error_occurred') }}</h3>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<p>
{{ trans('errors.error_not_recoverable') }}
</p>
<p class="text-danger">
{{ exception.getMessage |default('General unknown errror') }}
</p>
</div>
</div>
{% if not debug %}
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h4>
{{ trans('errors.more_info') }}
</h4>
<p>
{{ trans('errors.collect_info')|raw }}
{{ trans('errors.collect_info_more')|raw }}
</p>
<h4>
{{ trans('errors.github_help') }}
</h4>
<p>
{{ trans('errors.github_instructions')|raw }}
</p>
<ol>
<li>{{ trans('errors.use_search') }}</li>
<li>{{ trans('errors.include_info', { link: route('debug') })|raw }}</li>
<li>{{ trans('errors.tell_more') }}</li>
<li>{{ trans('errors.include_logs') }}</li>
<li>{{ trans('errors.what_did_you_do') }}</li>
</ol>
</div>
</div>
{% endif %}
{% if debug %}
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h4></h4>
<p>
{{ trans('errors.error_location', {file: exception.getFile, line: exception.getLine, code: exception.getCode })|raw }}
</p>
<h4>
{{ trans('errors.stacktrace') }}
</h4>
<div style="font-family: monospace;font-size:11px;">
{{ exception.getTraceAsString|nl2br }}
</div>
</div>
</div>
{% endif %}
</body>
</html>

View File

@@ -0,0 +1,21 @@
@extends('layout.v2.error')
@section('status_code','503')
@section('status','Service Unavailable')
@section('sub_title', trans('errors.maintenance_mode'))
@section('content')
<div class="row">
<div class="col-">
<p>
{{ trans('errors.be_right_back') }}
</p>
<p class="text-danger">
{{ trans('errors.check_back') }}
</p>
</div>
</div>
</body>
</html>
@endsection

View File

@@ -1,45 +0,0 @@
<!DOCTYPE html>
<html lang="{{ trans('config.html_language') }}">
<head>
<meta charset="UTF-8">
<meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
<title>Firefly III Maintenance Mode</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<base href="{{ route('index') }}/">
{# libraries #}
<link href="v1/lib/bs/css/bootstrap.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# the theme #}
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# favicons #}
{% include('partials.favicons') %}
</head>
<body class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h1><a href="{{ route('index') }}"><strong>Firefly</strong>III</a></h1>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h3 class="text-info">{{ trans('errors.maintenance_mode') }}</h3>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<p>
{{ trans('errors.be_right_back') }}
</p>
<p class="text-danger">
{{ trans('errors.check_back') }}
</p>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,61 @@
@extends('layout.v2.error')
@section('status_code','500')
@section('status','Internal Server Error')
@section('sub_title', trans('errors.db_error_occurred'))
@section('content')
<div class="row">
<div class="col">
<p>
{{ trans('errors.error_not_recoverable') }}
</p>
<p class="text-danger">
{{ $exception->getMessage() ?? 'General unknown error' }}
</p>
<p>
{!! trans('errors.error_location', ['file' => $exception->getFile(), 'line' => $exception->getLine(), 'code' => $exception->getCode() ]) !!}
</p>
</div>
</div>
@if(!$debug)
<div class="row">
<div class="col">
<h4>
{{ trans('errors.more_info') }}
</h4>
<p>
{!! trans('errors.collect_info') !!}
{!! trans('errors.collect_info_more') !!}
</p>
<h4>
{{ trans('errors.github_help') }}
</h4>
<p>
{{ trans('errors.github_instructions') }} |raw
</p>
<ol>
<li>{{ trans('errors.use_search') }}</li>
<li>{{ trans('errors.include_info', ['link' => route('debug') ]) }}</li>
<li>{{ trans('errors.tell_more') }}</li>
<li>{{ trans('errors.include_logs') }}</li>
<li>{{ trans('errors.what_did_you_do') }}</li>
</ol>
</div>
</div>
@endif
@if($debug)
<div class="row">
<div class="col">
<h4>{{ trans('errors.error') }}</h4>
<p>
{!! trans('errors.error_location', ['file' => $exception->getFile(), 'line' => $exception->getLine(), 'code' => $exception->getCode() ]) !!}
</p>
<h4>
{{ trans('errors.stacktrace') }}
</h4>
<div style="font-family: monospace;font-size:11px;">
{!! nl2br($exception->getTraceAsString()) !!}
</div>
</div>
</div>
@endif
@endsection

View File

@@ -1,96 +0,0 @@
<!DOCTYPE html>
<html lang="{{ trans('config.html_language') }}">
<head>
<meta charset="UTF-8">
<meta name="robots" content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir">
<title>Firefly III Database Exception :(</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<base href="{{ route('index') }}/">
{# CSS things #}
{# libraries #}
<link href="v1/lib/bs/css/bootstrap.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
<link href="v1/lib/fa/css/font-awesome.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# the theme #}
<link href="v1/lib/adminlte/css/AdminLTE.min.css?v={{ FF_VERSION }}" rel="stylesheet" type="text/css"
nonce="{{ JS_NONCE }}">
{# favicons #}
{% include('partials.favicons') %}
</head>
<body class="container">
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h1><a href="{{ route('index') }}"><strong>Firefly</strong>III</a></h1>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h3 class="text-info">{{ trans('errors.db_error_occurred') }}</h3>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<p>
{{ trans('errors.error_not_recoverable') }}
</p>
<p class="text-danger">
{{ exception.getMessage |default('General unknown errror') }}
</p>
<p>
{{ trans('errors.error_location', {file: exception.getFile, line: exception.getLine, code: exception.getCode })|raw }}
</p>
</div>
</div>
{% if not debug %}
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h4>
{{ trans('errors.more_info') }}
</h4>
<p>
{{ trans('errors.collect_info')|raw }}
{{ trans('errors.collect_info_more')|raw }}
</p>
<h4>
{{ trans('errors.github_help') }}
</h4>
<p>
{{ trans('errors.github_instructions')|raw }}
</p>
<ol>
<li>{{ trans('errors.use_search') }}</li>
<li>{{ trans('errors.include_info', { link: route('debug') })|raw }}</li>
<li>{{ trans('errors.tell_more') }}</li>
<li>{{ trans('errors.include_logs') }}</li>
<li>{{ trans('errors.what_did_you_do') }}</li>
</ol>
</div>
</div>
{% endif %}
{% if debug %}
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h4>{{ trans('errors.error') }}</h4>
<p>
{{ trans('errors.error_location', {file: exception.getFile, line: exception.getLine, code: exception.getCode })|raw }}
</p>
<h4>
{{ trans('errors.stacktrace') }}
</h4>
<div style="font-family: monospace;font-size:11px;">
{{ exception.getTraceAsString|nl2br }}
</div>
</div>
</div>
{% endif %}
</body>
</html>

View File

@@ -1,26 +1,10 @@
@extends('layout.v2.error')
@section('status_code','500')
@section('status','Internal Server Error')
@section('sub_title', trans('errors.error_occurred'))
@section('content')
<!--
<title>Firefly III Exception :(</title>
-->
<div class="row">
<div class="col">
<h1><a href="{{ route('index') }}"><strong>Firefly</strong> III</a></h1>
</div>
</div>
<div class="row">
<div class="col">
<h3 class="text-danger">{{ trans('errors.error_occurred') }}</h3>
</div>
</div>
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<p>
{{ trans('errors.error_not_recoverable') }}
</p>
@@ -32,36 +16,35 @@
</p>
</div>
</div>
@if(!$debug)
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<h4>
{{ trans('errors.more_info') }}
</h4>
<p>
{!! trans('errors.collect_info') !!}
{!! trans('errors.collect_info_more') !!}
</p>
<h4>
{{ trans('errors.github_help') }}
</h4>
<p>
{{ trans('errors.github_instructions') }} |raw
</p>
<ol>
<li>{{ trans('errors.use_search') }}</li>
<li>{{ trans('errors.include_info', ['link' => route('debug') ]) }}</li> |raw
<li>{{ trans('errors.tell_more') }}</li>
<li>{{ trans('errors.include_logs') }}</li>
<li>{{ trans('errors.what_did_you_do') }}</li>
</ol>
<div class="row">
<div class="col">
<h4>
{{ trans('errors.more_info') }}
</h4>
<p>
{!! trans('errors.collect_info') !!}
{!! trans('errors.collect_info_more') !!}
</p>
<h4>
{{ trans('errors.github_help') }}
</h4>
<p>
{{ trans('errors.github_instructions') }} |raw
</p>
<ol>
<li>{{ trans('errors.use_search') }}</li>
<li>{{ trans('errors.include_info', ['link' => route('debug') ]) }}</li>
<li>{{ trans('errors.tell_more') }}</li>
<li>{{ trans('errors.include_logs') }}</li>
<li>{{ trans('errors.what_did_you_do') }}</li>
</ol>
</div>
</div>
</div>
@endif
@if($debug)
<div class="row">
<div class="col-lg-10 col-lg-offset-1 col-md-12 col-sm-12 col-xs-12">
<div class="col">
<h4>{{ trans('errors.error') }}</h4>
<p>
{!! trans('errors.error_location', ['file' => $exception->getFile(), 'line' => $exception->getLine(), 'code' => $exception->getCode() ]) !!}

View File

@@ -1,41 +0,0 @@
<!DOCTYPE html>
<html lang="{{ trans('config.html_language') }}">
<head>
<base href="{{ route('index') }}/">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Firefly III | Offline</title>
<!-- Tell the browser to be responsive to screen width -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="v2/plugins/local-fonts/gf-source.css" nonce="{{ JS_NONCE }}">
<link rel="stylesheet" href="v2/css/app.css" nonce="{{ JS_NONCE }}">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="error-page">
<h2 class="headline text-danger"><span class="fas fa-unlink"></span></h2>
<div class="error-content">
<h3><span class="fas fa-exclamation-triangle text-danger"></span> Offline</h3>
<p>
{{ trans('errors.offline_header') }}
</p>
<p>
{{ trans('errors.offline_unreachable') }}
</p>
<p>
{{ trans('errors.offline_github')|raw }}
</p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>