v1.4.0: fix #43, #31, #29, #49, #33 + shared templating

This commit is contained in:
2026-05-20 20:08:25 +03:00
parent ca4d00c895
commit 64991f0228
63 changed files with 5005 additions and 45 deletions
+168
View File
@@ -0,0 +1,168 @@
@charset "UTF-8";
:root {
--bg-body: #0D1B2A;
--bg-card: #1B2838;
--bg-card-hover: #1e3044;
--bg-sidebar: #0A1628;
--bg-input: #1e2a3e;
--border: #253248;
--border-focus: #00ADEF;
--text-primary: #E8EDF2;
--text-secondary: #A0B4C8;
--text-muted: #6B8299;
--accent: #00ADEF;
--accent-hover: #33c4f5;
--accent-dim: rgba(0, 173, 239, 0.15);
--success: #22c55e;
--warning: #f59e0b;
--danger: #ef4444;
--info: #6366f1;
--font: 'Inter', 'Segoe UI', sans-serif;
--radius: 10px;
--shadow: 0 2px 12px rgba(0,0,0,0.4);
}
[data-theme="light"] {
--bg-body: #F5F7FA;
--bg-card: #FFFFFF;
--bg-card-hover: #f0f4f8;
--bg-sidebar: #FFFFFF;
--bg-input: #FFFFFF;
--border: #e2e8f0;
--border-focus: #00ADEF;
--text-primary: #1a1a2e;
--text-secondary: #5a6a7a;
--text-muted: #8899aa;
--accent: #00ADEF;
--accent-hover: #0095cc;
--accent-dim: rgba(0, 173, 239, 0.1);
--success: #16a34a;
--warning: #d97706;
--danger: #dc2626;
--info: #4f46e5;
--shadow: 0 2px 12px rgba(10, 42, 77, 0.1);
}
[data-theme="dark"] {
--bg-body: #0D1B2A;
--bg-card: #1B2838;
--bg-card-hover: #1e3044;
--bg-sidebar: #0A1628;
--bg-input: #1e2a3e;
--border: #253248;
--border-focus: #00ADEF;
--text-primary: #E8EDF2;
--text-secondary: #A0B4C8;
--text-muted: #6B8299;
--accent: #00ADEF;
--accent-hover: #33c4f5;
--accent-dim: rgba(0, 173, 239, 0.15);
--success: #22c55e;
--warning: #f59e0b;
--danger: #ef4444;
--info: #6366f1;
--shadow: 0 2px 12px rgba(0,0,0,0.4);
}
body {
background: var(--bg-body);
color: var(--text-primary);
transition: background 0.3s, color 0.3s;
}
.theme-switcher {
display: flex;
align-items: center;
gap: 6px;
}
.theme-switcher button {
background: var(--accent-dim);
border: 1px solid var(--border);
border-radius: 6px;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
font-size: 16px;
color: var(--text-secondary);
transition: all 0.2s;
}
.theme-switcher button:hover {
background: var(--accent);
color: #fff;
border-color: var(--accent);
}
.theme-label {
font-size: 11px;
color: var(--text-muted);
white-space: nowrap;
}
/* EasyMDE dark theme overrides */
[data-theme="dark"] .EasyMDEContainer .editor-toolbar {
background: var(--bg-card);
border-color: var(--border);
}
[data-theme="dark"] .EasyMDEContainer .CodeMirror {
background: var(--bg-input);
color: var(--text-primary);
border-color: var(--border);
}
[data-theme="dark"] .editor-toolbar button {
color: var(--text-secondary);
border-color: transparent;
}
[data-theme="dark"] .editor-toolbar button:hover {
background: var(--accent-dim);
border-color: var(--accent);
color: var(--text-primary);
}
[data-theme="dark"] .editor-toolbar button.active {
background: var(--accent-dim);
border-color: var(--accent);
color: var(--accent);
}
[data-theme="dark"] .CodeMirror-cursor {
border-color: var(--accent) !important;
}
[data-theme="dark"] .CodeMirror-selected {
background: var(--accent-dim) !important;
}
[data-theme="dark"] .editor-preview {
background: var(--bg-card);
color: var(--text-primary);
}
[data-theme="dark"] .editor-preview-side {
background: var(--bg-card);
color: var(--text-primary);
border-color: var(--border);
}
[data-theme="dark"] .editor-statusbar {
color: var(--text-muted);
}
/* Sticky editor toolbar */
.EasyMDEContainer .editor-toolbar {
position: sticky;
top: 0;
z-index: 10;
background: var(--bg-card);
border-radius: var(--radius) var(--radius) 0 0;
}
/* Sticky bottom actions on edit page */
.edit-form-actions {
position: sticky;
bottom: 0;
z-index: 10;
background: var(--bg-card);
padding: 12px 0;
border-top: 1px solid var(--border);
margin-top: 8px;
}