first commit
This commit is contained in:
78
webapp/templates/base.html
Normal file
78
webapp/templates/base.html
Normal file
@@ -0,0 +1,78 @@
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>EVE Web Helper – {% block title %}{% endblock %}</title>
|
||||
<style>
|
||||
:root { color-scheme: light dark; }
|
||||
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;margin:2rem}
|
||||
.container{max-width:1440px;margin:0 auto}
|
||||
|
||||
/* Einheitliche Tabs */
|
||||
.nav{display:flex;gap:.6rem;margin-bottom:1.2rem}
|
||||
.tab{padding:.5rem .8rem;border:1px solid #e5e7eb;border-radius:.6rem;text-decoration:none;color:#111827}
|
||||
.tab.active{background:#111827;color:#fff;border-color:#111827}
|
||||
|
||||
/* Grund-UI */
|
||||
.card{border:1px solid #e5e7eb;border-radius:.8rem;padding:1rem 1.2rem;margin-bottom:1rem;background:#fff}
|
||||
.wide{max-width:1200px}
|
||||
.full{width:100%}
|
||||
h1{font-size:1.35rem;margin:.2rem 0 1rem}
|
||||
label{font-weight:600;display:block;margin-bottom:.35rem}
|
||||
select,input,textarea,button,a.button{padding:.5rem .7rem;border:1px solid #d1d5db;border-radius:.45rem}
|
||||
textarea{width:100%;min-height:90px;resize:vertical}
|
||||
button,a.button{background:#111827;color:#fff;cursor:pointer;text-decoration:none;display:inline-block}
|
||||
.muted{color:#6b7280;font-size:.9rem}
|
||||
|
||||
table{width:100%;border-collapse:collapse;table-layout:fixed}
|
||||
th,td{padding:.5rem .45rem;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top;word-break:break-word;overflow-wrap:anywhere}
|
||||
th{font-weight:700}
|
||||
.id{font-family:ui-monospace,SFMono-Regular,Consolas,Menlo,monospace;font-size:.85em;max-width:90px}
|
||||
.num{text-align:right}
|
||||
.actions form{display:inline}
|
||||
.empty{padding:.65rem .8rem;border:1px dashed #d1d5db;border-radius:.6rem;color:#6b7280;background:transparent}
|
||||
.table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:.6rem}
|
||||
.table-wrap thead th{position:sticky;top:0;background:#fff;z-index:1}
|
||||
|
||||
/* Modal (global) */
|
||||
.modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:4vh 1rem;background:rgba(0,0,0,.45);z-index:999}
|
||||
.modal:target{display:flex}
|
||||
.dialog{max-width:1100px;width:min(92vw,1100px);background:#fff;border-radius:14px;padding:1rem 1.2rem;box-shadow:0 20px 45px rgba(0,0,0,.35);max-height:92vh;overflow:auto;position:relative;z-index:1000;pointer-events:auto}
|
||||
.modal *{pointer-events:auto}
|
||||
.modal h2{margin:.2rem 0 1rem;font-size:1.2rem}
|
||||
.close{position:sticky;top:0;float:right;font-size:1.4rem;text-decoration:none;color:#111827;padding:.2rem .5rem;border-radius:.4rem;z-index:2}
|
||||
.kv{display:grid;grid-template-columns:180px 1fr;gap:.35rem .8rem}
|
||||
.pill{display:inline-block;background:#111827;color:#fff;border-radius:999px;padding:.2rem .55rem;font-size:.85rem}
|
||||
.result{border:1px solid #e5e7eb;border-radius:.6rem;padding:.7rem .8rem;background:#fafafa;margin-top:.6rem}
|
||||
.err{color:#b91c1c}
|
||||
|
||||
@media (prefers-color-scheme:dark){
|
||||
body{background:#0b0f19;color:#e5e7eb}
|
||||
.tab{border-color:#374151;color:#e5e7eb}
|
||||
.tab.active{background:#1f2937;border-color:#374151}
|
||||
.card,.dialog{background:#0f1423;border-color:#374151}
|
||||
th,td{border-bottom-color:#374151}
|
||||
.table-wrap{border-color:#374151}
|
||||
.table-wrap thead th{background:#0f1423}
|
||||
.result{background:#111318;border-color:#374151}
|
||||
.close{color:#e5e7eb}
|
||||
}
|
||||
</style>
|
||||
{% block head_extra %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<nav class="nav">
|
||||
{% set p = request.path %}
|
||||
<a class="tab {{ 'active' if p == '/' else '' }}" href="/">Home</a>
|
||||
<a class="tab {{ 'active' if p.startswith('/strukturen') else '' }}" href="/strukturen">Strukturen</a>
|
||||
<a class="tab {{ 'active' if p.startswith('/archiv') else '' }}" href="/archiv">Archiv</a>
|
||||
</nav>
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
|
||||
{% block scripts %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user