import { useState, useEffect } from 'react'; import axios from '../services/api'; const resultBox = { marginTop: '12px', padding: '12px 14px', background: 'var(--surface-2)', border: '1px solid var(--border)', borderRadius: '12px', display: 'flex', alignItems: 'center', gap: '10px', justifyContent: 'space-between', }; function TimestampTool() { const [value, setValue] = useState(''); const [direction, setDirection] = useState('unix_to_date'); const [result, setResult] = useState(null); const [copied, setCopied] = useState(false); const [error, setError] = useState(''); const [now, setNow] = useState(Math.floor(Date.now() / 1000)); useEffect(() => { const interval = setInterval(() => setNow(Math.floor(Date.now() / 1000)), 1000); return () => clearInterval(interval); }, []); const convert = async () => { setError(''); setResult(null); try { const res = await axios.post('/api/timestamp/convert', { value, direction }); setResult(res.data); } catch (err) { setError(err.response?.data?.message || 'Ungültiger Wert'); } }; const resultText = result ? direction === 'unix_to_date' ? result.utc : String(result.unix) : ''; const copy = () => { navigator.clipboard.writeText(resultText); setCopied(true); setTimeout(() => setCopied(false), 1500); }; return (
{error}
} {result && (