49 lines
1.4 KiB
HTML
49 lines
1.4 KiB
HTML
<link rel="icon" href="https://s3.dualstack.us-east-2.amazonaws.com/pythondotorg-assets/media/files/python-logo-only.svg" type="image/svg+xml">
|
|
<title>Opportunity Export</title>
|
|
|
|
<textarea id="messages" name="messages" rows="45" cols="100" readonly>
|
|
</textarea>
|
|
|
|
<script type="module">
|
|
import { default as $, Rpc2, LogRecord } from '/';
|
|
let { parameters } = await Rpc2.invoke('context');
|
|
|
|
let account = new String(parameters['account']);
|
|
let name = account.split('@', 1).pop() ?? 'unknown';
|
|
name = name.charAt(0).toLocaleUpperCase() + name.slice(1);
|
|
document.title += ` (${name})`;
|
|
|
|
while (await new Promise(o => setTimeout(o, 1000, true))) {
|
|
let result = await Rpc2.invoke('history').catch(() => []);
|
|
let logs = Array.from(result);
|
|
|
|
for (let record of logs) {
|
|
if ($('#messages').childNodes.length >= 500) $('#messages').childNodes.item(0)?.remove();
|
|
let message = LogRecord.format(record);
|
|
let node = document.createTextNode(new String(message).concat('\n'));
|
|
$('#messages').appendChild(node);
|
|
}
|
|
$('#messages').scrollTop = messages.scrollHeight;
|
|
}
|
|
</script>
|
|
|
|
<style type="text/css">
|
|
body {
|
|
width: 100%;
|
|
height: 100%;
|
|
display: inline-flex;
|
|
margin: auto;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
textarea {
|
|
resize: none;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
textarea:focus {
|
|
outline: none;
|
|
}
|
|
</style>
|