2023-05-04 00:36:34 -06:00
|
|
|
{{/* This page should only depend the minimal template functions/variables, to avoid triggering new panics.
|
2024-04-23 10:18:41 -06:00
|
|
|
* base template functions: AppName, AssetUrlPrefix, AssetVersion, AppSubUrl, UserThemeName
|
2023-10-31 08:11:48 -06:00
|
|
|
* ctx.Locale
|
|
|
|
* .Flash
|
|
|
|
* .ErrorMsg
|
|
|
|
* .SignedUser (optional)
|
2023-05-04 00:36:34 -06:00
|
|
|
*/}}
|
|
|
|
<!DOCTYPE html>
|
2024-04-23 10:18:41 -06:00
|
|
|
<html lang="{{ctx.Locale.Lang}}" data-theme="{{UserThemeName .SignedUser}}">
|
2023-05-04 00:36:34 -06:00
|
|
|
<head>
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<title>Internal Server Error - {{AppName}}</title>
|
|
|
|
<link rel="icon" href="{{AssetUrlPrefix}}/img/favicon.svg" type="image/svg+xml">
|
|
|
|
<link rel="alternate icon" href="{{AssetUrlPrefix}}/img/favicon.png" type="image/png">
|
2023-05-28 16:33:17 -06:00
|
|
|
{{template "base/head_style" .}}
|
2023-05-04 00:36:34 -06:00
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="full height">
|
2024-03-18 08:47:05 -06:00
|
|
|
<nav class="ui secondary menu">
|
2024-03-22 07:45:10 -06:00
|
|
|
<div class="ui container tw-flex">
|
|
|
|
<div class="item tw-flex-1">
|
2023-10-31 08:11:48 -06:00
|
|
|
<a href="{{AppSubUrl}}/" aria-label="{{ctx.Locale.Tr "home"}}">
|
|
|
|
<img width="30" height="30" src="{{AssetUrlPrefix}}/img/logo.svg" alt="{{ctx.Locale.Tr "logo"}}" aria-hidden="true">
|
2023-05-04 00:36:34 -06:00
|
|
|
</a>
|
|
|
|
</div>
|
2023-06-09 03:10:51 -06:00
|
|
|
<div class="item">
|
|
|
|
<button class="ui icon button disabled">{{svg "octicon-three-bars"}}</button>{{/* a fake button to make the UI looks better*/}}
|
|
|
|
</div>
|
2023-05-04 00:36:34 -06:00
|
|
|
</div>
|
|
|
|
</nav>
|
Migrate margin and padding helpers to tailwind (#30043)
This will conclude the refactor of 1:1 class replacements to tailwind,
except `gt-hidden`. Commands ran:
```bash
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-0#tw-$1$2-0#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-1#tw-$1$2-0.5#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-2#tw-$1$2-1#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-3#tw-$1$2-2#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-4#tw-$1$2-4#g' {web_src/js,templates,routers,services}/**/*
perl -p -i -e 's#gt-(p|m)([lrtbxy])?-5#tw-$1$2-8#g' {web_src/js,templates,routers,services}/**/*
```
2024-03-24 10:42:49 -06:00
|
|
|
<div class="divider tw-my-0"></div>
|
2023-05-04 00:36:34 -06:00
|
|
|
<div role="main" class="page-content status-page-500">
|
2023-06-14 19:12:50 -06:00
|
|
|
<div class="ui container" >
|
|
|
|
<style> .ui.message.flash-message { text-align: left; } </style>
|
|
|
|
{{template "base/alert" .}}
|
2024-06-23 11:45:21 -06:00
|
|
|
<div class="status-page-error">
|
|
|
|
<div class="status-page-error-title">500 Internal Server Error</div>
|
|
|
|
{{if .ErrorMsg}}
|
|
|
|
<div class="tw-mt-8">
|
|
|
|
<p>{{ctx.Locale.Tr "error.occurred"}}:</p>
|
|
|
|
<pre class="tw-whitespace-pre-wrap tw-break-all">{{.ErrorMsg}}</pre>
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
<div class="tw-mt-8 tw-text-center">
|
|
|
|
{{if or .SignedUser.IsAdmin .ShowFooterVersion}}<p>{{ctx.Locale.Tr "admin.config.app_ver"}}: {{AppVer}}</p>{{end}}
|
2024-09-02 12:36:24 -06:00
|
|
|
{{if .SignedUser.IsAdmin}}<p>{{ctx.Locale.Tr "error.report_message" "https://github.com/go-gitea/gitea/issues"}}</p>{{end}}
|
2024-06-23 11:45:21 -06:00
|
|
|
</div>
|
2023-05-04 00:36:34 -06:00
|
|
|
</div>
|
|
|
|
</div>
|
2023-04-13 23:19:11 -06:00
|
|
|
</div>
|
|
|
|
</div>
|
2023-05-04 00:36:34 -06:00
|
|
|
|
|
|
|
{{/* When a sub-template triggers an 500 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. Use this inline script to try to move it to main viewport.
|
|
|
|
And this page shouldn't include any other JS file, avoid duplicate JS execution (still due to the partial rendering).*/}}
|
|
|
|
<script type="module">
|
|
|
|
const embedded = document.querySelector('.page-content .page-content.status-page-500');
|
|
|
|
if (embedded) {
|
|
|
|
// 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>
|
|
|
|
</body>
|
|
|
|
</html>
|