feat: 个人最佳趋势改为折线图 + 底部最佳趋势日期 + 修复
- 趋势组件 trend-chart 新增 chartType(line/bar),line 模式用内联 SVG 渲染折线+渐变面积(无 canvas) - 记录页个人最佳趋势改用折线图,峰值信息移到图表下方对称高亮块显示最佳趋势产生日期 - 修复1: linePoints 漏存绝对坐标 y 导致运行时 toFixed 崩溃 - 修复2: 折线模式漏渲染数据点数值(valueText),现圆点上方显示且 0 值不显示
This commit is contained in:
@@ -92,3 +92,80 @@
|
||||
color: var(--primary);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ---- Line mode ---- */
|
||||
.trend-chart.line {
|
||||
/* extra top room so the value caption above the highest dot isn't clipped */
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
|
||||
.trend-line {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.trend-line-img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.trend-line-dot {
|
||||
position: absolute;
|
||||
width: 16rpx;
|
||||
height: 16rpx;
|
||||
margin-left: -8rpx;
|
||||
margin-top: -8rpx;
|
||||
border-radius: 50%;
|
||||
background: var(--primary);
|
||||
border: 3rpx solid var(--card-bg, #FFFFFF);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.trend-chart.peak .trend-line-dot {
|
||||
background: var(--primary);
|
||||
}
|
||||
|
||||
.trend-line-dot.highlight {
|
||||
width: 20rpx;
|
||||
height: 20rpx;
|
||||
margin-left: -10rpx;
|
||||
margin-top: -10rpx;
|
||||
box-shadow: 0 0 14rpx rgba(var(--primary-rgb), 0.6);
|
||||
}
|
||||
|
||||
/* value caption floats above the dot so it never eats into the line */
|
||||
.trend-line-value {
|
||||
position: absolute;
|
||||
bottom: 100%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
margin-bottom: 6rpx;
|
||||
font-size: 16rpx;
|
||||
color: var(--text-secondary);
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.trend-line-dot.highlight .trend-line-value {
|
||||
color: var(--primary);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.trend-line-labels {
|
||||
position: relative;
|
||||
height: 28rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.trend-line-label {
|
||||
position: absolute;
|
||||
transform: translateX(-50%);
|
||||
font-size: 20rpx;
|
||||
color: var(--text-secondary);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.trend-line-label.highlight {
|
||||
color: var(--primary);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user