/** * Time unit converter tool - converts between milliseconds and seconds */ import { useState } from 'react'; import { Box, TextField, Typography, Paper, Stack, IconButton, Collapse, Divider, } from '@mui/material'; import { SwapVert as SwapVertIcon, ExpandMore as ExpandMoreIcon, ExpandLess as ExpandLessIcon, } from '@mui/icons-material'; export default function TimeConverter() { const [milliseconds, setMilliseconds] = useState('125'); const [seconds, setSeconds] = useState('0.125'); const [isExpanded, setIsExpanded] = useState(false); const handleMillisecondsChange = (e: React.ChangeEvent) => { const value = e.target.value; setMilliseconds(value); const ms = parseFloat(value); if (!isNaN(ms) && ms !== 0) { setSeconds((ms / 1000).toFixed(6).replace(/\.?0+$/, '')); } else { setSeconds('0'); } }; const handleSecondsChange = (e: React.ChangeEvent) => { const value = e.target.value; setSeconds(value); const s = parseFloat(value); if (!isNaN(s) && s !== 0) { setMilliseconds((s * 1000).toFixed(3).replace(/\.?0+$/, '')); } else { setMilliseconds('0'); } }; const handleSwap = () => { const temp = milliseconds; setMilliseconds(seconds); setSeconds(temp); }; return ( {/* Header */} setIsExpanded(!isExpanded)} > 🔄 Convertisseur de temps {isExpanded ? : } {/* Converter content */} {/* Milliseconds input */} ms }} /> {/* Swap button */} {/* Seconds input */} s }} /> {/* Quick reference */} Référence rapide (valeurs du TP): • Coordinateur: 10 ms = 0.010 s • Serveur rapide: 120 ms = 0.120 s • Serveur moyen: 190 ms = 0.190 s • Serveur lent: 240 ms = 0.240 s • Inter-arrivées: 125 ms = 0.125 s {/* Conversion formula */} Formules: 1 s = 1,000 ms 1 ms = 0.001 s ); }