This commit is contained in:
lzx
2026-01-23 16:11:20 +08:00
parent e4e0e44555
commit efce651809
10 changed files with 276 additions and 77 deletions

View File

@@ -295,12 +295,15 @@ class MainScreen extends StatelessWidget {
label: const Text('查看/修改配置'),
),
ElevatedButton.icon(
onPressed: clientInfo.status == ClientStatus.mining && clientInfo.miningInfo != null
onPressed: (clientInfo.status == ClientStatus.mining || clientInfo.status == ClientStatus.sustainingMining) && clientInfo.miningInfo != null
? () {
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => MiningInfoScreen(miningInfo: clientInfo.miningInfo!),
builder: (_) => MiningInfoScreen(
miningInfo: clientInfo.miningInfo!,
isSustainMining: clientInfo.status == ClientStatus.sustainingMining,
),
),
);
}
@@ -308,7 +311,7 @@ class MainScreen extends StatelessWidget {
icon: const Icon(Icons.diamond),
label: const Text('挖矿信息'),
style: ElevatedButton.styleFrom(
backgroundColor: clientInfo.status == ClientStatus.mining && clientInfo.miningInfo != null
backgroundColor: ((clientInfo.status == ClientStatus.mining || clientInfo.status == ClientStatus.sustainingMining) && clientInfo.miningInfo != null)
? null
: Colors.grey,
),

View File

@@ -6,10 +6,12 @@ import '../core/mining_manager.dart';
class MiningInfoScreen extends StatefulWidget {
final MiningInfo miningInfo;
final bool isSustainMining; // 是否为持续挖矿
const MiningInfoScreen({
super.key,
required this.miningInfo,
this.isSustainMining = false,
});
@override
@@ -63,8 +65,10 @@ class _MiningInfoScreenState extends State<MiningInfoScreen> {
@override
Widget build(BuildContext context) {
final endTime = DateTime.fromMillisecondsSinceEpoch(widget.miningInfo.endTimestamp * 1000);
final formatter = DateFormat('yyyy-MM-dd HH:mm:ss');
final endTime = widget.isSustainMining
? null
: DateTime.fromMillisecondsSinceEpoch(widget.miningInfo.endTimestamp * 1000);
return Scaffold(
appBar: AppBar(
@@ -100,12 +104,14 @@ class _MiningInfoScreenState extends State<MiningInfoScreen> {
_buildInfoRow('挖矿软件', widget.miningInfo.miner!),
if (widget.miningInfo.pid != null)
_buildInfoRow('进程ID', widget.miningInfo.pid.toString()),
_buildInfoRow(
'结束时间',
formatter.format(endTime),
),
const SizedBox(height: 16),
_buildTimeRemaining(endTime),
if (!widget.isSustainMining && endTime != null) ...[
_buildInfoRow(
'结束时间',
formatter.format(endTime),
),
const SizedBox(height: 16),
_buildTimeRemaining(endTime),
],
],
),
),