Simple error page

This commit is contained in:
David Kocik 2024-02-05 14:47:10 +01:00
parent b032bf792b
commit 565d89a2e2
3 changed files with 36 additions and 8 deletions

View File

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Connection failed</title>
<style>
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
margin: 0;
}
.container {
text-align: center;
}
</style>
</head>
<body>
<div class="container">
<h1>Connection failed</h1>
<p>Something went wrong.</p>
</div>
</body>
</html>

View File

@ -174,6 +174,11 @@ void WebViewPanel::load_default_url_delayed()
m_load_default_url = true;
}
void WebViewPanel::load_error_page()
{
load_url(wxString::Format("file://%s/web/connection_failed.html", from_u8(resources_dir())));
}
void WebViewPanel::on_show(wxShowEvent& evt)
{
if (evt.IsShown() && m_load_default_url)
@ -409,10 +414,9 @@ case type: \
WX_ERROR_CASE(wxWEBVIEW_NAV_ERR_OTHER);
}
BOOST_LOG_TRIVIAL(warning) << "WebView error: " << category;
//Show the info bar with an error
BOOST_LOG_TRIVIAL(error) << "WebView error: " << category;
load_error_page();
#ifdef DEBUG_URL_PANEL
m_info->ShowMessage(_L("An error occurred loading ") + evt.GetURL() + "\n" +
"'" + category + "'", wxICON_ERROR);
#endif

View File

@ -39,9 +39,11 @@ public:
void load_url(const wxString& url);
void load_default_url_delayed();
void load_error_page();
void on_show(wxShowEvent& evt);
virtual void on_script_message(wxWebViewEvent& evt);
void on_loaded(wxWebViewEvent& evt);
void on_idle(wxIdleEvent& evt);
void on_url(wxCommandEvent& evt);
@ -71,11 +73,6 @@ public:
wxString get_default_url() const { return m_default_url; }
void set_default_url(const wxString& url) { m_default_url = url; }
virtual bool Show(bool show = true) override
{
return wxPanel::Show(show);
}
protected:
wxWebView* m_browser;