feat:增加TDesign组件库

This commit is contained in:
2026-01-05 15:33:43 +08:00
parent 2b334edf2f
commit 00c8e82a65
18 changed files with 364 additions and 304 deletions

View File

@@ -9,9 +9,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_common/flutter_common.dart';
import 'package:flutter_common/widget/common_widget.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:getwidget/getwidget.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:tdesign_flutter/tdesign_flutter.dart';
class RecordDaily extends StatefulWidget {
const RecordDaily({super.key});
@@ -172,7 +172,7 @@ class _RecordDailyState extends State<RecordDaily> {
break;
case RecordType.sport:
provider.updateSportProject(AppConfig.sportProjectList[0]);
provider.updateSportDuration(30);
provider.updateSportDuration(AppConfig.initSpot);
break;
case RecordType.sleep:
provider.updateSleepStartTime('');
@@ -202,64 +202,44 @@ class _RecordDailyState extends State<RecordDaily> {
return Row(
children: [
Expanded(
child: GFButton(
onPressed: () {
child: TDButton(
text: '取消',
theme: TDButtonTheme.light,
onTap: () {
Navigator.of(context).pop();
_resetRecord();
},
color: Colors.grey,
text: "取消",
),
),
const SizedBox(width: 12),
Expanded(
child: GFButton(
onPressed: () {
child: TDButton(
text: '删除',
theme: TDButtonTheme.danger,
onTap: () {
Navigator.of(context).pop();
_deleteRecord(type);
},
color: Colors.red,
text: "删除",
),
),
const SizedBox(width: 12),
Expanded(
child: GFButton(
onPressed: () {
child: TDButton(
text: '确定',
theme: TDButtonTheme.primary,
onTap: () {
Navigator.of(context).pop();
_saveRecord();
},
color: colors.primary,
text: "确定",
),
),
],
);
}
void _resetRecord() {
final provider = context.read<HealthProvider>();
if (!provider.isEditing) {
switch (provider.type) {
case RecordType.weight:
provider.updateWeight(0);
break;
case RecordType.sport:
provider.updateSportProject('跑步');
provider.updateSportDuration(0);
break;
case RecordType.sleep:
provider.updateSleepStartTime('');
provider.updateSleepEndTime('');
break;
}
}
}
void _deleteRecord(RecordType type) async{
void _deleteRecord(RecordType type) async {
final provider = context.read<HealthProvider>();
switch(type) {
switch (type) {
case RecordType.weight:
provider.updateWeight(0);
break;
@@ -351,7 +331,9 @@ class _RecordDailyState extends State<RecordDaily> {
String startTime = record.sleepStartTime;
String endTime = record.sleepEndTime;
num difference = calSleepMinDuration(startTime, endTime) - lastValue;
String formattedDiff = NumberFormat('+0.00;-0.00').format(difference / 60);
String formattedDiff = NumberFormat(
'+0.00;-0.00',
).format(difference / 60);
change = '较上次 $formattedDiff ${type.unit}';
break;
}