42 lines
1.6 KiB
HTML
42 lines
1.6 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 %}星笺{% endblock %}</title>
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body>
|
|
{% block nav %}
|
|
<nav class="navbar">
|
|
<a href="/dashboard" class="nav-brand">{{ 'brand'|t(user.language if user else 'zh') }}</a>
|
|
<div class="nav-links">
|
|
{% if user is defined and user %}
|
|
<a href="/profiles">{{ 'nav.profiles'|t(user.language) }}</a>
|
|
<a href="/settings">{{ 'nav.settings'|t(user.language) }}</a>
|
|
{% if user.is_admin %}
|
|
<a href="/admin/invites">{{ 'nav.invites'|t(user.language) }}</a>
|
|
{% endif %}
|
|
<form method="post" action="/settings/language" class="inline" style="display:inline-flex;align-items:center;gap:0">
|
|
<input type="hidden" name="language" value="{{ 'en' if user.language == 'zh' else 'zh' }}">
|
|
<button type="submit" class="nav-lang-btn">{{ 'EN' if user.language == 'zh' else '中' }}</button>
|
|
</form>
|
|
<a href="/logout" class="nav-logout">{{ 'nav.logout'|t(user.language) }}</a>
|
|
{% endif %}
|
|
</div>
|
|
</nav>
|
|
{% endblock %}
|
|
<main class="container">
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
</body>
|
|
<script>
|
|
// Auto-trim whitespace from all text inputs and textareas on form submit
|
|
document.addEventListener('submit', function(e) {
|
|
e.target.querySelectorAll('input[type="text"], textarea').forEach(function(el) {
|
|
el.value = el.value.trim();
|
|
});
|
|
}, true);
|
|
</script>
|
|
</html>
|