From e3cca87bcc3622cf2a3c86c1fc6fe04c864af406 Mon Sep 17 00:00:00 2001 From: vibe-bot Date: Fri, 8 Aug 2025 23:57:50 +0200 Subject: [PATCH] =?UTF-8?q?UI:=20Fix=20Icon-Overlap=20endg=C3=BCltig=20=20?= =?UTF-8?q?gezielte=20Klasse=20'with-left-icon'=20+=20CSS=20padding-left,?= =?UTF-8?q?=20keine=20globalen=20Side-Effects?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/App.tsx | 6 +++--- web/src/styles.css | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index 5a7afbb..adb68ae 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -159,7 +159,7 @@ export default function App() {
- setQuery(e.target.value)} /> + setQuery(e.target.value)} /> search
@@ -186,7 +186,7 @@ export default function App() { {Math.round(volume*100)}%
- setMediaUrl(e.target.value)} onKeyDown={async (e)=>{ if(e.key==='Enter'){ if(!selected){ setError('Bitte Voice-Channel wählen'); setInfo(null); return;} const [guildId,channelId]=selected.split(':'); try{ await playUrl(mediaUrl,guildId,channelId,volume); setError(null); setInfo('MP3 heruntergeladen und abgespielt.'); }catch(err:any){ setInfo(null); setError(err?.message||'Download fehlgeschlagen'); } } }} /> + setMediaUrl(e.target.value)} onKeyDown={async (e)=>{ if(e.key==='Enter'){ if(!selected){ setError('Bitte Voice-Channel wählen'); setInfo(null); return;} const [guildId,channelId]=selected.split(':'); try{ await playUrl(mediaUrl,guildId,channelId,volume); setError(null); setInfo('MP3 heruntergeladen und abgespielt.'); }catch(err:any){ setInfo(null); setError(err?.message||'Download fehlgeschlagen'); } } }} /> link diff --git a/web/src/styles.css b/web/src/styles.css index 04a0289..0e0c027 100644 --- a/web/src/styles.css +++ b/web/src/styles.css @@ -50,6 +50,9 @@ body { [data-theme="light"] .sound-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.1); border-color: #007aff; } .gradient-text { background: -webkit-linear-gradient(45deg, #333, #555); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; } +/* Platz für linke Icons in allen Themes erzwingen */ +.input-field.pl-10 { padding-left: 2.5rem !important; } + /* Rainbow Chaos Theme */ [data-theme="rainbow"] body { background: @@ -139,7 +142,7 @@ header p { opacity: .8; } } .control input, .control select { width: 100%; - padding: 12px 14px 12px 40px; /* Platz für linkes Icon */ + padding: 12px 14px; /* Standard ohne Icon */ border-radius: 14px; border: 1px solid rgba(255,255,255,.25); background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.06)); @@ -155,7 +158,7 @@ header p { opacity: .8; } .select-trigger { width: 100%; text-align: left; - padding: 12px 14px 12px 40px; /* Platz für linkes Icon */ + padding: 12px 14px; /* Standard ohne Icon */ border-radius: 14px; border: 1px solid rgba(255,255,255,.32); background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.12)); @@ -191,6 +194,9 @@ header p { opacity: .8; } backdrop-filter: blur(18px); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); } + +/* Konkrete Felder mit Icons: zusätzliche linke Padding über Klasse steuern */ +.with-left-icon { padding-left: 40px !important; } .control.theme select option { background: #0f1530; color: #e7e7ee; } .control input::placeholder { color: #c8c8d8; }