diff --git a/dashboard/src/components/audio/NowPlaying.jsx b/dashboard/src/components/audio/NowPlaying.jsx index 8480400..707df23 100644 --- a/dashboard/src/components/audio/NowPlaying.jsx +++ b/dashboard/src/components/audio/NowPlaying.jsx @@ -63,28 +63,35 @@ export default function NowPlaying({ compact = false }) { const styles = { container: { display: 'flex', gap: 16, padding: 16, - background: 'var(--surface)', borderRadius: 'var(--radius)', - border: '1px solid var(--border)', + background: 'var(--glass-bg)', + backdropFilter: 'blur(var(--glass-blur))', + WebkitBackdropFilter: 'blur(var(--glass-blur))', + borderRadius: 'var(--radius-lg)', + border: '1px solid rgba(255, 255, 255, 0.1)', alignItems: 'center', + animation: 'slideInDown 0.3s ease-out', + transition: 'all 0.2s', }, compact: { padding: '10px 14px' }, cover: { width: 64, height: 64, flexShrink: 0, - background: 'var(--surface2)', borderRadius: 6, + background: 'rgba(255, 255, 255, 0.08)', + borderRadius: 'var(--radius)', display: 'flex', alignItems: 'center', justifyContent: 'center', overflow: 'hidden', + border: '1px solid rgba(255, 255, 255, 0.1)', }, coverImg: { width: '100%', height: '100%', objectFit: 'cover' }, coverIcon: { fontSize: 28, color: 'var(--muted)' }, - info: { flex: 1, minWidth: 0, display: 'flex', flexDirection: 'column', gap: 4 }, + info: { flex: 1, minWidth: 0, display: 'flex', flexDirection: 'column', gap: 6 }, title: { fontWeight: 600, fontSize: 14, color: 'var(--text)', whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, - artist: { fontSize: 12, color: 'var(--muted)' }, + artist: { fontSize: 12, color: 'var(--muted)', fontWeight: 500 }, album: { fontSize: 11, color: 'var(--muted)', opacity: 0.7 }, progressRow: { display: 'flex', alignItems: 'center', gap: 8, marginTop: 4 }, - progressBg: { flex: 1, height: 3, background: 'var(--border)', borderRadius: 2, overflow: 'hidden' }, + progressBg: { flex: 1, height: 3, background: 'rgba(255, 255, 255, 0.1)', borderRadius: 2, overflow: 'hidden' }, progressFill: { height: '100%', background: 'var(--accent)', borderRadius: 2, transition: 'width 1s linear' }, - timeText: { fontSize: 10, color: 'var(--muted)', fontFamily: 'var(--font-mono)', minWidth: 30 }, - controls: { display: 'flex', gap: 4, marginTop: 4 }, - btn: { width: 36, height: 36, fontSize: 14, background: 'var(--surface2)', color: 'var(--text)', minWidth: 36 }, - playBtn: { background: 'var(--accent)', color: '#000', fontWeight: 700 }, + timeText: { fontSize: 10, color: 'var(--muted)', fontFamily: 'var(--font-mono)', minWidth: 30, fontWeight: 500 }, + controls: { display: 'flex', gap: 6, marginTop: 4 }, + btn: { width: 36, height: 36, fontSize: 14, background: 'rgba(255, 255, 255, 0.08)', color: 'var(--text)', minWidth: 36, border: '1px solid rgba(255, 255, 255, 0.1)', borderRadius: 'var(--radius)', transition: 'all 0.2s' }, + playBtn: { background: 'var(--accent)', color: 'white', fontWeight: 700, border: 'none' }, } diff --git a/dashboard/src/components/nav/InstrumentPanel.jsx b/dashboard/src/components/nav/InstrumentPanel.jsx index 697904f..4bff748 100644 --- a/dashboard/src/components/nav/InstrumentPanel.jsx +++ b/dashboard/src/components/nav/InstrumentPanel.jsx @@ -6,7 +6,7 @@ import WindRose from '../instruments/WindRose.jsx' function DataRow({ label, value, unit, highlight }) { return ( -
+
{label} {value != null ? `${typeof value === 'number' ? value.toFixed(1) : value}` : '—'} @@ -97,12 +97,16 @@ export default function InstrumentPanel() { const styles = { panel: { display: 'flex', flexDirection: 'column', gap: 16 }, - gauges: { display: 'flex', gap: 8, flexWrap: 'wrap', justifyContent: 'center' }, + gauges: { display: 'flex', gap: 10, flexWrap: 'wrap', justifyContent: 'center' }, waypointBox: { - background: 'var(--surface)', borderRadius: 'var(--radius)', - border: '1px solid var(--accent)', + background: 'var(--glass-bg)', + backdropFilter: 'blur(var(--glass-blur))', + WebkitBackdropFilter: 'blur(var(--glass-blur))', + borderRadius: 'var(--radius-lg)', + border: '1px solid rgba(14, 165, 233, 0.2)', padding: 12, + animation: 'slideInUp 0.3s ease-out', }, waypointTitle: { fontSize: 12, fontWeight: 700, color: 'var(--accent)', @@ -116,7 +120,7 @@ const styles = { waypointRoute: { display: 'flex', flexDirection: 'column', gap: 6, marginTop: 4, paddingTop: 8, - borderTop: '1px solid var(--border)', + borderTop: '1px solid rgba(255, 255, 255, 0.1)', }, routeLabel: { fontSize: 11, color: 'var(--muted)' }, waypoints: { @@ -125,22 +129,26 @@ const styles = { waypointTag: { width: 28, height: 28, display: 'flex', alignItems: 'center', justifyContent: 'center', - borderRadius: 4, fontSize: 11, fontWeight: 600, + borderRadius: 6, fontSize: 11, fontWeight: 600, transition: 'all 0.2s', }, table: { display: 'grid', gridTemplateColumns: '1fr 1fr', - gap: '0 24px', background: 'var(--surface)', - borderRadius: 'var(--radius)', padding: 16, - border: '1px solid var(--border)', + gap: '0 24px', + background: 'var(--glass-bg)', + backdropFilter: 'blur(var(--glass-blur))', + WebkitBackdropFilter: 'blur(var(--glass-blur))', + borderRadius: 'var(--radius-lg)', padding: 16, + border: '1px solid rgba(255, 255, 255, 0.1)', + animation: 'slideInUp 0.3s ease-out', }, row: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', - padding: '7px 0', borderBottom: '1px solid var(--border)', + padding: '7px 0', borderBottom: '1px solid rgba(255, 255, 255, 0.05)', transition: 'background 0.2s', }, - label: { fontSize: 12, color: 'var(--muted)' }, - value: { fontFamily: 'var(--font-mono)', fontSize: 13, color: 'var(--text)' }, + label: { fontSize: 12, color: 'var(--muted)', fontWeight: 500 }, + value: { fontFamily: 'var(--font-mono)', fontSize: 13, color: 'var(--text)', fontWeight: 600 }, unit: { color: 'var(--muted)', fontSize: 11 }, } diff --git a/dashboard/src/components/systems/EngineData.jsx b/dashboard/src/components/systems/EngineData.jsx index 2850994..55db209 100644 --- a/dashboard/src/components/systems/EngineData.jsx +++ b/dashboard/src/components/systems/EngineData.jsx @@ -15,8 +15,13 @@ export default function EngineData() { const styles = { grid: { - display: 'flex', gap: 8, flexWrap: 'wrap', justifyContent: 'center', - padding: 16, background: 'var(--surface)', - borderRadius: 'var(--radius)', border: '1px solid var(--border)', + display: 'flex', gap: 12, flexWrap: 'wrap', justifyContent: 'center', + padding: 16, + background: 'var(--glass-bg)', + backdropFilter: 'blur(var(--glass-blur))', + WebkitBackdropFilter: 'blur(var(--glass-blur))', + borderRadius: 'var(--radius-lg)', + border: '1px solid rgba(255, 255, 255, 0.1)', + animation: 'slideInUp 0.3s ease-out', } }