| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- {{/* This page should only depend the minimal template functions/variables, to avoid triggering new panics.
- * base template functions: AppName, AssetUrlPrefix, AssetVersion, AppSubUrl, UserThemeName
- * ctx.Locale
- * .Flash
- * .ErrorMsg
- * .SignedUser (optional)
- */}}
- <!DOCTYPE html>
- <html lang="{{ctx.Locale.Lang}}" data-theme="{{UserThemeName .SignedUser}}">
- <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">
- {{template "base/head_style" .}}
- </head>
- <body>
- <div class="full height">
- <nav class="ui secondary menu">
- <div class="ui container tw-flex">
- <div class="item tw-flex-1">
- <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">
- </a>
- </div>
- <div class="item">
- <button class="ui icon button disabled">{{svg "octicon-three-bars"}}</button>{{/* a fake button to make the UI looks better*/}}
- </div>
- </div>
- </nav>
- <div class="divider tw-my-0"></div>
- <div role="main" class="page-content status-page-500">
- <div class="ui container" >
- <style> .ui.message.flash-message { text-align: left; } </style>
- {{template "base/alert" .}}
- <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-wrap-anywhere">{{.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}}
- {{if .SignedUser.IsAdmin}}<p>{{ctx.Locale.Tr "error.report_message" "https://github.com/go-gitea/gitea/issues"}}</p>{{end}}
- </div>
- </div>
- </div>
- </div>
- </div>
-
- {{/* 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>
|