重构录制页面,更新对话框逻辑,优化赛事信息粘贴功能,调整相关文本标签。
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:flutter/services.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:recording_tool/core/platform/app_platform_info.dart';
|
||||
import 'package:recording_tool/core/platform/device_health_checker.dart';
|
||||
import 'package:recording_tool/features/dialog/dialog-record.dart';
|
||||
import 'package:recording_tool/features/recording/model/model_recording.dart';
|
||||
import 'package:recording_tool/features/recording/platform/recording_platform.dart';
|
||||
import 'package:recording_tool/features/recording/utils/recording_display_name.dart';
|
||||
@@ -46,7 +47,11 @@ class _RecordingPageState extends ConsumerState<RecordingPage> {
|
||||
final lines = DeviceHealthChecker.warningLines(snapshot);
|
||||
if (lines.isEmpty) return;
|
||||
|
||||
await AppDialog.deviceHealthAlert(context, lines: lines);
|
||||
await RecordDialog.showSingle(
|
||||
context,
|
||||
title: lines.join('\n'),
|
||||
buttonText: '确定',
|
||||
);
|
||||
}
|
||||
|
||||
/// 页面启动:健康检查、读剪贴板、进入录制模式、准备相机会话
|
||||
@@ -92,21 +97,24 @@ class _RecordingPageState extends ConsumerState<RecordingPage> {
|
||||
return '录制完成';
|
||||
}
|
||||
|
||||
/// 从剪贴板粘贴赛事信息(与 header「粘贴赛事信息」一致)。
|
||||
Future<void> _pasteEventInfo() async {
|
||||
final result = await ref
|
||||
.read(recordingViewModelProvider.notifier)
|
||||
.getClipboardContent();
|
||||
if (!mounted) return;
|
||||
if (result != ClipboardReadResult.success) {
|
||||
AppToast.show('无选手信息');
|
||||
}
|
||||
}
|
||||
|
||||
/// 无选手信息时弹窗提示
|
||||
Future<void> _showNoPlayerInfoDialog() {
|
||||
return showDialog<void>(
|
||||
context: context,
|
||||
builder: (dialogContext) {
|
||||
return AlertDialog(
|
||||
content: const Text('无选手信息'),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () => Navigator.of(dialogContext).pop(),
|
||||
child: const Text('确定'),
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
return RecordDialog.showSingle(
|
||||
context,
|
||||
title: '无选手信息!',
|
||||
buttonText: '粘贴',
|
||||
onPressed: _pasteEventInfo,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -208,15 +216,7 @@ class _RecordingPageState extends ConsumerState<RecordingPage> {
|
||||
eventTitle: showClipboardInfo ? clipboard.title : null,
|
||||
isRecording: state.isRecording,
|
||||
elapsedLabel: state.elapsedLabel,
|
||||
onPasteEventInfo: () async {
|
||||
final result = await ref
|
||||
.read(recordingViewModelProvider.notifier)
|
||||
.getClipboardContent();
|
||||
if (!context.mounted) return;
|
||||
if (result != ClipboardReadResult.success) {
|
||||
AppToast.show('无赛事信息');
|
||||
}
|
||||
},
|
||||
onPasteEventInfo: _pasteEventInfo,
|
||||
onClearEventInfo: _clearClipboardForNewRound,
|
||||
),
|
||||
Expanded(
|
||||
|
||||
Reference in New Issue
Block a user