2015-08-29 19:45:56 +03:00
{{ template "base/head" . }}
2023-04-24 14:08:59 +03:00
<div role="main" aria-label=" {{ .Title }} " class="page-content status-page-500">
2023-04-14 08:19:11 +03:00
<p class="gt-mt-5 center"><img src=" {{ AssetUrlPrefix }} /img/500.png" alt="Internal Server Error"></p>
2015-12-08 01:30:52 +03:00
<div class="ui divider"></div>
2023-04-14 08:19:11 +03:00
<div class="ui container gt-mt-5">
{{ if .ErrorMsg }}
<p> {{ .locale .Tr "error.occurred" }} :</p>
2023-04-25 22:48:30 +03:00
<pre class="gt-whitespace-pre-wrap gt-break-all"> {{ .ErrorMsg }} </pre>
2023-04-14 08:19:11 +03:00
{{ end }}
<div class="center gt-mt-5">
{{ if .ShowFooterVersion }} <p> {{ .locale .Tr "admin.config.app_ver" }} : {{ AppVer }} </p> {{ end }}
{{ if .IsAdmin }} <p> {{ .locale .Tr "error.report_message" | Safe }} </p> {{ end }}
</div>
</div>
2014-03-23 09:12:55 +04:00
</div>
2023-04-14 08:19:11 +03:00
{{ / * when a sub-template triggers an 5 0 0 error , its parent template has been partially rendered ,
then the 500 page will be rendered after that partially rendered page, the HTML/JS are totally broken.
so use this inline script to try to move it to main viewport */}}
<script type="module">
const embedded = document.querySelector('.page-content .page-content.status-page-500');
if (embedded) {
// move footer to main view
const footer = document.querySelector('footer');
if (footer) document.querySelector('body').append(footer);
// move the 500 error page content to main view
const embeddedParent = embedded.parentNode;
let main = document.querySelector('.page-content');
main = main ?? document.querySelector('body');
main.prepend(document.createElement('hr'));
main.prepend(embedded);
embeddedParent.remove(); // remove the unrelated 500-page elements (eg: the duplicate nav bar)
}
</script>
2015-08-29 19:45:56 +03:00
{{ template "base/footer" . }}