6726524c50
- 修复删除快照时 AttributeError: SQLAlchemy.get_or_404 (低版本兼容) - UI/标题/邮件主题从 'Palladium Z1 Monitor' 改为 'Palladium Monitor'
63 lines
2.7 KiB
HTML
63 lines
2.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{% block title %}Palladium Monitor{% endblock %}</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
|
{% block head %}{% endblock %}
|
|
</head>
|
|
<body>
|
|
<nav class="topnav">
|
|
<div class="nav-brand">
|
|
<span class="nav-logo">⚡</span>
|
|
<span class="nav-title">Palladium Monitor</span>
|
|
</div>
|
|
<div class="nav-links">
|
|
<a href="{{ url_for('dashboard') }}" class="{% if request.endpoint == 'dashboard' %}active{% endif %}">仪表板</a>
|
|
<a href="{{ url_for('history') }}" class="{% if request.endpoint == 'history' %}active{% endif %}">历史记录</a>
|
|
<a href="{{ url_for('email_config') }}" class="{% if request.endpoint == 'email_config' %}active{% endif %}">⚙️ 设置</a>
|
|
<button class="nav-btn" onclick="openPasteModal()">📥 粘贴数据</button>
|
|
</div>
|
|
</nav>
|
|
|
|
<main class="container">
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
|
|
<!-- 粘贴数据弹窗 -->
|
|
<div id="pasteModal" class="modal-overlay" style="display:none;">
|
|
<div class="modal">
|
|
<div class="modal-header">
|
|
<h2>📥 粘贴 test_server -short 输出</h2>
|
|
<button class="modal-close" onclick="closePasteModal()">✕</button>
|
|
</div>
|
|
<form action="{{ url_for('paste_data') }}" method="POST">
|
|
<div class="modal-body">
|
|
<p class="modal-hint">在 Palladium 主机执行 <code>test_server -short</code>,将输出粘贴到下方:</p>
|
|
<textarea name="raw_output" rows="20" class="paste-textarea"
|
|
placeholder="Emulator: sc01_emu Hardware: Palladium ..."></textarea>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" onclick="closePasteModal()">取消</button>
|
|
<button type="submit" class="btn btn-primary">解析并存储</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
function openPasteModal() {
|
|
document.getElementById('pasteModal').style.display = 'flex';
|
|
}
|
|
function closePasteModal() {
|
|
document.getElementById('pasteModal').style.display = 'none';
|
|
}
|
|
document.getElementById('pasteModal').addEventListener('click', function(e) {
|
|
if (e.target === this) closePasteModal();
|
|
});
|
|
</script>
|
|
{% block scripts %}{% endblock %}
|
|
</body>
|
|
</html>
|