Browse Source

refactor(meeting): 提取控制器删除逻辑并更新图标样式

将重复的控制器删除逻辑提取为独立方法_deleteControllerAfterPop
更新底部操作栏图标为圆角风格
调整底部间距从32.h改为42.h
newdev_shunjiawei
lxm 9 months ago
parent
commit
b20268bef8
  1. 36
      lib/modules/meeting/views/meeting_record_view.dart

36
lib/modules/meeting/views/meeting_record_view.dart

@ -16,6 +16,14 @@ enum _MeetingRecordExitAction {
class MeetingRecordView extends GetView<MeetingRecordController> { class MeetingRecordView extends GetView<MeetingRecordController> {
const MeetingRecordView({super.key}); const MeetingRecordView({super.key});
void _deleteControllerAfterPop() {
Future.delayed(const Duration(milliseconds: 400), () {
if (Get.isRegistered<MeetingRecordController>()) {
Get.delete<MeetingRecordController>(force: true);
}
});
}
Future<_MeetingRecordExitAction?> _showExitConfirmDialog(bool isDarkMode) { Future<_MeetingRecordExitAction?> _showExitConfirmDialog(bool isDarkMode) {
return Get.dialog<_MeetingRecordExitAction>( return Get.dialog<_MeetingRecordExitAction>(
Dialog( Dialog(
@ -191,11 +199,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> {
if (!controller.isRecording.value) { if (!controller.isRecording.value) {
Get.back(); Get.back();
Future.microtask(() { _deleteControllerAfterPop();
if (Get.isRegistered<MeetingRecordController>()) {
Get.delete<MeetingRecordController>(force: true);
}
});
return; return;
} }
@ -209,20 +213,12 @@ class MeetingRecordView extends GetView<MeetingRecordController> {
await controller.saveTitleChange(); await controller.saveTitleChange();
await controller.saveRecording(); await controller.saveRecording();
Get.back(result: 'meeting_record_saved'); Get.back(result: 'meeting_record_saved');
Future.microtask(() { _deleteControllerAfterPop();
if (Get.isRegistered<MeetingRecordController>()) {
Get.delete<MeetingRecordController>(force: true);
}
});
return; return;
case _MeetingRecordExitAction.endWithoutSave: case _MeetingRecordExitAction.endWithoutSave:
await controller.discardRecording(); await controller.discardRecording();
Get.back(result: 'meeting_record_discarded'); Get.back(result: 'meeting_record_discarded');
Future.microtask(() { _deleteControllerAfterPop();
if (Get.isRegistered<MeetingRecordController>()) {
Get.delete<MeetingRecordController>(force: true);
}
});
return; return;
case _MeetingRecordExitAction.continueInBackground: case _MeetingRecordExitAction.continueInBackground:
await controller.saveTitleChange(); await controller.saveTitleChange();
@ -472,7 +468,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> {
)), )),
const Spacer(), const Spacer(),
_buildBottomBar(context, isDarkMode), _buildBottomBar(context, isDarkMode),
SizedBox(height: 32.h), SizedBox(height: 42.h),
], ],
); );
}, },
@ -490,7 +486,9 @@ class MeetingRecordView extends GetView<MeetingRecordController> {
_buildActionButton( _buildActionButton(
onTap: controller.toggleMarked, onTap: controller.toggleMarked,
child: Obx(() => Icon( child: Obx(() => Icon(
controller.isMarked.value ? Icons.star : Icons.star_border, controller.isMarked.value
? Icons.star_rounded
: Icons.star_border_rounded,
size: 36.sp, size: 36.sp,
color: color:
controller.isMarked.value ? Colors.orange : Colors.grey, controller.isMarked.value ? Colors.orange : Colors.grey,
@ -507,7 +505,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> {
child: Obx(() => Icon( child: Obx(() => Icon(
controller.timerStatus.value == TimerStatus.running controller.timerStatus.value == TimerStatus.running
? Icons.pause ? Icons.pause
: Icons.play_arrow, : Icons.play_arrow_rounded,
size: 44.sp, size: 44.sp,
color: Colors.red, color: Colors.red,
)), )),
@ -521,7 +519,7 @@ class MeetingRecordView extends GetView<MeetingRecordController> {
_buildActionButton( _buildActionButton(
onTap: () => _bottomSheet(context, isDarkMode), onTap: () => _bottomSheet(context, isDarkMode),
child: Icon( child: Icon(
Icons.check, Icons.check_rounded,
size: 36.sp, size: 36.sp,
color: Colors.green, color: Colors.green,
), ),

Loading…
Cancel
Save