- Introduced "nutrition_detail_charts", "recovery_charts_panel", and "progress_photos" widgets to the dashboard. - Updated widget configuration validation to support new widgets, including chart days for nutrition and recovery charts. - Enhanced the widget catalog and dashboard layout to include the new features. - Bumped app_dashboard version to 1.7.0 to reflect these additions and improvements.
33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
import { useNavigate } from 'react-router-dom'
|
||
import RecoveryCharts from '../RecoveryCharts'
|
||
import { normalizeBodyChartDays } from '../../widgetSystem/bodyChartDays'
|
||
|
||
/**
|
||
* Erholung R1–R5 (wie Verlauf Erholung).
|
||
* @param {{ refreshTick?: number, chartDays?: number }} props
|
||
*/
|
||
export default function RecoveryChartsPanelWidget({ refreshTick = 0, chartDays }) {
|
||
const nav = useNavigate()
|
||
const days = chartDays != null ? normalizeBodyChartDays(chartDays) : 28
|
||
|
||
return (
|
||
<div className="card section-gap" style={{ marginBottom: 16 }}>
|
||
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 10 }}>
|
||
<div>
|
||
<div style={{ fontSize: 14, fontWeight: 700, color: 'var(--text1)' }}>Erholung — Charts</div>
|
||
<div style={{ fontSize: 12, color: 'var(--text3)' }}>Schlaf, Recovery, Vitalwerte · {days} Tage</div>
|
||
</div>
|
||
<button
|
||
type="button"
|
||
className="btn btn-secondary"
|
||
style={{ fontSize: 12, padding: '6px 12px' }}
|
||
onClick={() => nav('/history', { state: { tab: 'recovery' } })}
|
||
>
|
||
Verlauf →
|
||
</button>
|
||
</div>
|
||
<RecoveryCharts key={`${refreshTick}-${days}`} days={days} />
|
||
</div>
|
||
)
|
||
}
|