ui: Add error and info templates and display debug mode.

This commit is contained in:
tecnovert 2022-09-15 21:54:15 +02:00
parent afba673085
commit 6b4666d632
No known key found for this signature in database
GPG key ID: 8ED6D8750C4E3F93
4 changed files with 56 additions and 22 deletions

View file

@ -107,29 +107,7 @@ def listExplorerActions(swap_client):
return actions
def html_content_start(title, h2=None, refresh=None):
content = '<!DOCTYPE html><html lang="en">\n<head>' \
+ '<meta charset="UTF-8">' \
+ ('' if not refresh else '<meta http-equiv="refresh" content="{}">'.format(refresh)) \
+ '<title>' + title + '</title></head>\n' \
+ '<body>'
if h2 is not None:
content += '<h2>' + h2 + '</h2>'
return content
class HttpHandler(BaseHTTPRequestHandler):
def page_info(self, info_str):
content = html_content_start('BasicSwap Info') \
+ '<p>Info: ' + info_str + '</p>' \
+ '<p><a href=\'/\'>home</a></p></body></html>'
return bytes(content, 'UTF-8')
def page_error(self, error_str):
content = html_content_start('BasicSwap Error') \
+ '<p>Error: ' + error_str + '</p>' \
+ '<p><a href=\'/\'>home</a></p></body></html>'
return bytes(content, 'UTF-8')
def checkForm(self, post_string, name, messages):
if post_string == '':
@ -146,6 +124,10 @@ class HttpHandler(BaseHTTPRequestHandler):
swap_client = self.server.swap_client
if swap_client.ws_server:
args_dict['ws_url'] = swap_client.ws_server.url
if swap_client.debug:
args_dict['debug_mode'] = True
if swap_client.debug_ui:
args_dict['debug_ui_mode'] = True
return bytes(template.render(
title=self.server.title,
h2=self.server.title,
@ -153,6 +135,27 @@ class HttpHandler(BaseHTTPRequestHandler):
**args_dict,
), 'UTF-8')
def render_simple_template(self, template, args_dict):
swap_client = self.server.swap_client
return bytes(template.render(
title=self.server.title,
**args_dict,
), 'UTF-8')
def page_info(self, info_str):
template = env.get_template('info.html')
return self.render_simple_template(template, {
'title_str': 'BasicSwap Info',
'message_str': error_str,
})
def page_error(self, error_str):
template = env.get_template('error.html')
return self.render_simple_template(template, {
'title_str': 'BasicSwap Error',
'message_str': error_str,
})
def page_explorers(self, url_split, post_string):
swap_client = self.server.swap_client

View file

@ -0,0 +1,12 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<link type="text/css" media="all" href="/static/css/simple/style.css" rel="stylesheet">
<link rel=icon sizes="32x32" type="image/png" href="/static/images/favicon-32.png">
<title>{{ title }}</title>
</head>
<body>
<h2>{{ title_str }}</h2>
<p>Error: {{ message_str }}</p>
<p><a href=\'/\'>home</a></p>
</body>
</html>

View file

@ -13,6 +13,13 @@
<h2>{{ h2 }}</h2>
{% endif %}
{% if debug_mode == true %}
<p>Debug mode: Active</p>
{% endif %}
{% if debug_ui_mode == true %}
<p>Debug UI mode: Active</p>
{% endif %}
{% if ws_url %}
<script>
var ws = new WebSocket("{{ ws_url }}"),

View file

@ -0,0 +1,12 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<link type="text/css" media="all" href="/static/css/simple/style.css" rel="stylesheet">
<link rel=icon sizes="32x32" type="image/png" href="/static/images/favicon-32.png">
<title>{{ title }}</title>
</head>
<body>
<h2>{{ title_str }}</h2>
<p>Info: {{ message_str }}</p>
<p><a href=\'/\'>home</a></p>
</body>
</html>