diff --git a/web/src/App.tsx b/web/src/App.tsx
index e281b3a..c88c4c8 100644
--- a/web/src/App.tsx
+++ b/web/src/App.tsx
@@ -216,12 +216,12 @@ export default function App() {
try {
await playSound(s.name, guildId, channelId, volume, s.relativePath);
setLastPlayed(s.name);
- setTimeout(() => setLastPlayed(''), 4000);
} catch (e: any) { notify(e?.message || 'Play fehlgeschlagen', 'error'); }
}
async function handleStop() {
if (!selected) return;
+ setLastPlayed('');
try { await fetch(`/api/stop?guildId=${encodeURIComponent(guildId)}`, { method: 'POST' }); } catch { }
}
@@ -421,6 +421,34 @@ export default function App() {
+
+ {
+ const newVol = volume > 0 ? 0 : 0.5;
+ setVolume(newVol);
+ if (guildId) setVolumeLive(guildId, newVol).catch(() => {});
+ }}
+ >
+ {volume === 0 ? 'volume_off' : volume < 0.5 ? 'volume_down' : 'volume_up'}
+
+ {
+ const v = parseFloat(e.target.value);
+ setVolume(v);
+ if (guildId) try { await setVolumeLive(guildId, v); } catch { }
+ }}
+ style={{ '--vol': `${Math.round(volume * 100)}%` } as React.CSSProperties}
+ />
+ {Math.round(volume * 100)}%
+
+