feat: intégration VU-mètre circulaire autour du bouton PTT

NOUVEAU DESIGN :
- VU-mètre transformé en anneau SVG autour du bouton PTT
- Cercle progressif (0-360°) selon le niveau audio
- Couleurs dynamiques selon le niveau :
  - Vert (0-75%) : audio normal
  - Orange (75-90%) : niveau élevé
  - Rouge (90-100%) : saturation/danger avec effet glow
  - Bleu : mode talking (micro actif)

AVANTAGES :
- Beaucoup plus discret et élégant
- Intégré visuellement au bouton principal
- Pas d'encombrement UI supplémentaire
- Contextuellement pertinent (niveau autour du contrôle)

TECHNIQUE :
- SVG avec stroke-dasharray pour l'arc progressif
- Transition fluide 0.1s sur le niveau
- Drop-shadow dynamique selon couleur
- Responsive (adapté mobile/paysage)
- z-index stratifié (anneau derrière, bouton devant)

SUPPRESSION :
- Ancien composant AudioIndicator.jsx retiré de App.jsx
- Garde plus d'espace pour UserList et GroupSelector

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-05-23 10:17:29 +02:00
parent ed6d2e763d
commit 7e42164c5c
3 changed files with 100 additions and 15 deletions
+2 -5
View File
@@ -2,7 +2,6 @@ import { useState, useEffect } from 'react';
import useLiveKit from './hooks/useLiveKit';
import PTTButton from './components/PTTButton';
import UserList from './components/UserList';
import AudioIndicator from './components/AudioIndicator';
import GroupSelector from './components/GroupSelector';
import './App.css';
@@ -241,14 +240,12 @@ function App() {
{/* Liste des participants */}
<UserList participants={participants} />
{/* Indicateur audio */}
<AudioIndicator level={audioLevel} isTalking={isTalking} />
{/* Bouton PTT principal */}
{/* Bouton PTT principal avec VU-mètre intégré */}
<PTTButton
isTalking={isTalking}
onPressStart={startTalking}
onPressEnd={stopTalking}
audioLevel={audioLevel}
/>
</main>
</div>