AWL Dark Theme + Tauri 2 Config-Fix

- app.css: Komplett neues Farbschema basierend auf AWL Dark / KDE Breeze Dark
- tauri.conf.json: Shell-Plugin scope entfernt (Tauri 2 inkompatibel)
- capabilities/default.json: Tauri 2 Berechtigungen für Shell-Plugin
- StopButton + Layout: Hardcoded Farben durch CSS-Variablen ersetzt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Eddy 2026-04-13 18:38:17 +02:00
parent ff423e9d80
commit 532c91c605
5 changed files with 91 additions and 63 deletions

View file

@ -0,0 +1,14 @@
{
"$schema": "https://schema.tauri.app/config/2/capability",
"identifier": "default",
"description": "Claude Desktop Standardberechtigungen",
"windows": ["main"],
"permissions": [
"core:default",
"shell:allow-open",
"shell:allow-execute",
"shell:allow-spawn",
"shell:allow-stdin-write",
"shell:allow-kill"
]
}

View file

@ -34,19 +34,7 @@
}, },
"plugins": { "plugins": {
"shell": { "shell": {
"open": true, "open": true
"scope": [
{
"name": "node",
"cmd": "node",
"args": true
},
{
"name": "npm",
"cmd": "npm",
"args": true
}
]
} }
} }
} }

View file

@ -1,17 +1,29 @@
/* Claude Desktop — Basis-Styles */ /* Claude Desktop — Basis-Styles (AWL Dark Theme) */
:root { :root {
/* Farbschema */ /* AWL Dark Farbschema — basierend auf KDE Breeze Dark */
--bg-primary: #1a1a2e; --bg-primary: #202326; /* Body/Window BG */
--bg-secondary: #16213e; --bg-secondary: #272c31; /* Top-Menü / Header BG */
--bg-tertiary: #0f3460; --bg-tertiary: #292c30; /* Button/Tabellen-Header BG */
--text-primary: #eaeaea; --bg-input: #141618; /* Input-Felder / ungerade Zeilen */
--text-secondary: #a0a0a0; --bg-hover: #2a2e33; /* Hover-State */
--accent: #e94560; --bg-selected: #1e5774; /* Ausgewählte Elemente */
--accent-hover: #ff6b6b;
--success: #4ade80; --text-primary: #cccccc; /* Haupttext (VSCode Dark+ Niveau) */
--warning: #fbbf24; --text-secondary: #a1a9b1; /* Sekundärtext (ForegroundInactive) */
--error: #ef4444; --text-heading: #d4d4d4; /* Titel/Überschriften */
--accent: #3daee9; /* DecorationFocus (Breeze Blau) */
--accent-hover: #4dbdf9; /* Heller beim Hover */
--link: #1d99f3; /* ForegroundLink */
--success: #27ae60; /* Grün (KDE Breeze) */
--warning: #f67400; /* Orange (KDE Breeze) */
--error: #da4453; /* Rot (KDE Breeze) */
/* Rahmen */
--border: #3b3f44; /* Dezente Trennlinien */
--border-active: #3daee9; /* Aktive Elemente */
/* Abstände */ /* Abstände */
--spacing-xs: 0.25rem; --spacing-xs: 0.25rem;
@ -21,29 +33,18 @@
--spacing-xl: 2rem; --spacing-xl: 2rem;
/* Border-Radius */ /* Border-Radius */
--radius-sm: 4px; --radius-sm: 3px;
--radius-md: 8px; --radius-md: 6px;
--radius-lg: 12px; --radius-lg: 10px;
/* Schatten */ /* Schatten */
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4); --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.4);
--shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.5); --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.5);
/* Font */ /* Font */
--font-mono: 'JetBrains Mono', 'Fira Code', monospace; --font-mono: 'Hack', 'JetBrains Mono', 'Fira Code', monospace;
--font-sans: 'Inter', system-ui, sans-serif; --font-sans: 'Noto Sans', 'Inter', system-ui, sans-serif;
}
/* Light Mode */
@media (prefers-color-scheme: light) {
:root {
--bg-primary: #f8f9fa;
--bg-secondary: #e9ecef;
--bg-tertiary: #dee2e6;
--text-primary: #212529;
--text-secondary: #6c757d;
}
} }
* { * {
@ -58,20 +59,21 @@ html, body {
background: var(--bg-primary); background: var(--bg-primary);
color: var(--text-primary); color: var(--text-primary);
overflow: hidden; overflow: hidden;
font-size: 14px;
} }
/* Scrollbar-Styling */ /* Scrollbar — KDE-Style, dezent */
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 8px; width: 8px;
height: 8px; height: 8px;
} }
::-webkit-scrollbar-track { ::-webkit-scrollbar-track {
background: var(--bg-secondary); background: var(--bg-primary);
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
background: var(--bg-tertiary); background: var(--border);
border-radius: var(--radius-sm); border-radius: var(--radius-sm);
} }
@ -89,34 +91,52 @@ button {
} }
/* Input-Reset */ /* Input-Reset */
input, textarea { input, textarea, select {
font-family: inherit; font-family: inherit;
border: none; border: 1px solid var(--border);
background: var(--bg-secondary); background: var(--bg-input);
color: var(--text-primary); color: var(--text-primary);
padding: var(--spacing-sm) var(--spacing-md); padding: var(--spacing-sm) var(--spacing-md);
border-radius: var(--radius-md); border-radius: var(--radius-md);
transition: border-color 0.2s ease;
} }
input:focus, textarea:focus { input:focus, textarea:focus, select:focus {
outline: 2px solid var(--accent); outline: none;
outline-offset: 2px; border-color: var(--accent);
} }
/* Code-Blöcke */ /* Code-Blöcke */
code, pre { code, pre {
font-family: var(--font-mono); font-family: var(--font-mono);
background: var(--bg-secondary); background: var(--bg-input);
border-radius: var(--radius-sm); border-radius: var(--radius-sm);
} }
code { code {
padding: 0.1em 0.3em; padding: 0.1em 0.3em;
font-size: 0.9em;
} }
pre { pre {
padding: var(--spacing-md); padding: var(--spacing-md);
overflow-x: auto; overflow-x: auto;
border: 1px solid var(--border);
}
/* Überschriften */
h1, h2, h3, h4 {
color: var(--text-heading);
}
/* Links */
a {
color: var(--link);
text-decoration: none;
}
a:hover {
text-decoration: underline;
} }
/* Animationen */ /* Animationen */
@ -137,3 +157,9 @@ pre {
.animate-spin { .animate-spin {
animation: spin 1s linear infinite; animation: spin 1s linear infinite;
} }
/* Selection */
::selection {
background: var(--bg-selected);
color: var(--text-primary);
}

View file

@ -32,28 +32,28 @@
justify-content: center; justify-content: center;
gap: var(--spacing-md); gap: var(--spacing-md);
padding: var(--spacing-md) var(--spacing-lg); padding: var(--spacing-md) var(--spacing-lg);
background: linear-gradient(135deg, #dc2626, #b91c1c); background: linear-gradient(135deg, var(--error), #c0392b);
color: white; color: white;
font-size: 1rem; font-size: 1rem;
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.05em; letter-spacing: 0.05em;
border-radius: var(--radius-md); border-radius: var(--radius-md);
border: 2px solid #ef4444; border: 2px solid var(--error);
cursor: pointer; cursor: pointer;
transition: all 0.2s ease; transition: all 0.2s ease;
box-shadow: 0 4px 15px rgba(220, 38, 38, 0.4); box-shadow: 0 4px 15px rgba(218, 68, 83, 0.3);
} }
.stop-button:not(.disabled):hover { .stop-button:not(.disabled):hover {
background: linear-gradient(135deg, #ef4444, #dc2626); background: linear-gradient(135deg, #e74c3c, var(--error));
transform: translateY(-1px); transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(220, 38, 38, 0.5); box-shadow: 0 6px 20px rgba(218, 68, 83, 0.4);
} }
.stop-button:not(.disabled):active { .stop-button:not(.disabled):active {
transform: translateY(0); transform: translateY(0);
box-shadow: 0 2px 10px rgba(220, 38, 38, 0.4); box-shadow: 0 2px 10px rgba(218, 68, 83, 0.3);
} }
.stop-button.disabled { .stop-button.disabled {
@ -80,7 +80,7 @@
} }
@keyframes border-pulse { @keyframes border-pulse {
0%, 100% { border-color: #ef4444; } 0%, 100% { border-color: var(--error); }
50% { border-color: #fca5a5; } 50% { border-color: #e88; }
} }
</style> </style>

View file

@ -161,8 +161,8 @@
} }
@keyframes glow { @keyframes glow {
0%, 100% { box-shadow: 0 -2px 10px rgba(233, 69, 96, 0.3); } 0%, 100% { box-shadow: 0 -2px 10px rgba(218, 68, 83, 0.2); }
50% { box-shadow: 0 -2px 20px rgba(233, 69, 96, 0.6); } 50% { box-shadow: 0 -2px 20px rgba(218, 68, 83, 0.4); }
} }
.footer-stats { .footer-stats {