水印优化+ORC优化
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import '../../../providers/watermark_provider.dart';
|
||||
|
||||
/// 首页仪表盘上「水印相机」卡片的摘要:已上传张数 + 最近一张的日期。
|
||||
///
|
||||
/// 卡片高度由 [AppModule.summary] 那段固定高度占位决定(见 dashboard_page),
|
||||
/// 所以这里只负责填内容,布局和「笔记」卡片保持一致 ——
|
||||
/// 每格都是「标签 + 加粗数值」两行,少一个卡片就会比别的矮一截。
|
||||
///
|
||||
/// 数据来自 [photoOverviewProvider](只取 1 条),不碰列表页那套状态。
|
||||
class WatermarkModuleSummary extends ConsumerWidget {
|
||||
const WatermarkModuleSummary({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final page = ref.watch(photoOverviewProvider).value;
|
||||
final latest = (page == null || page.items.isEmpty)
|
||||
? null
|
||||
: page.items.first.takenAt;
|
||||
|
||||
return Row(
|
||||
children: [
|
||||
Expanded(child: _item('已存', page == null ? null : '${page.total} 张')),
|
||||
Expanded(child: _item('最近拍摄', latest == null ? null : _shortDate(latest))),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
/// 后端给的是 `yyyy-MM-dd HH:mm`,卡片上只要 `MM-dd`
|
||||
String _shortDate(String value) =>
|
||||
value.length >= 10 ? value.substring(5, 10) : value;
|
||||
|
||||
Widget _item(String label, String? value) {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(label, style: const TextStyle(fontSize: 11, color: Color(0xFF8D6E63))),
|
||||
const SizedBox(height: 3),
|
||||
Text(
|
||||
value ?? '--',
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: const TextStyle(
|
||||
fontSize: 14.5,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Color(0xFF5D4037),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user