diff --git a/lib/modules/translation/views/translation_detail_view.dart b/lib/modules/translation/views/translation_detail_view.dart index 5b988b5c5..c31db5552 100644 --- a/lib/modules/translation/views/translation_detail_view.dart +++ b/lib/modules/translation/views/translation_detail_view.dart @@ -72,14 +72,14 @@ class TranslationDetailView extends GetView { ), onPressed: () => Get.back(), ), - title: Text( - 'Detail', - style: TextStyle( - color: isDarkMode ? Colors.white : Colors.black, - fontSize: 24.sp, - fontWeight: FontWeight.bold, - ), - ), + // title: Text( + // 'Detail', + // style: TextStyle( + // color: isDarkMode ? Colors.white : Colors.black, + // fontSize: 24.sp, + // fontWeight: FontWeight.bold, + // ), + // ), centerTitle: true, actions: [ IconButton( @@ -108,15 +108,16 @@ class TranslationDetailView extends GetView { isDarkMode: isDarkMode, )), ), - SizedBox(width: 12.w), - Expanded( - child: Obx(() => _buildTabButton( - title: '记录摘要', - isSelected: controller.selectedTabIndex.value == 1, - onTap: () => controller.switchTab(1), - isDarkMode: isDarkMode, - )), - ), + //屏蔽“记录摘要”,需要是开启 + // SizedBox(width: 12.w), + // Expanded( + // child: Obx(() => _buildTabButton( + // title: '记录摘要', + // isSelected: controller.selectedTabIndex.value == 1, + // onTap: () => controller.switchTab(1), + // isDarkMode: isDarkMode, + // )), + // ), ], ), ); diff --git a/lib/modules/translation/views/translation_history_view.dart b/lib/modules/translation/views/translation_history_view.dart index 1283a4c27..4aeb6ef38 100644 --- a/lib/modules/translation/views/translation_history_view.dart +++ b/lib/modules/translation/views/translation_history_view.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:intl/intl.dart'; import '../controllers/translation_controller.dart'; import '../controllers/translation_history_controller.dart'; import '../bindings/translation_detail_binding.dart'; import 'translation_detail_view.dart'; import '../../../core/theme/app_colors.dart'; +import '../../../data/services/language_manager.dart'; class TranslationHistoryView extends GetView { const TranslationHistoryView({Key? key}) : super(key: key); @@ -116,7 +118,7 @@ class TranslationHistoryView extends GetView { child: Padding( padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 16.h), child: Row( - crossAxisAlignment: CrossAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, children: [ Expanded( child: Column( @@ -144,9 +146,36 @@ class TranslationHistoryView extends GetView { maxLines: 2, overflow: TextOverflow.ellipsis, ), + SizedBox(height: 8.h), + // 时间和语种信息行 + Row( + children: [ + // 时间信息 + Text( + _formatSessionTime(item.timestamp), + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.grey[500] : Colors.grey[600], + ), + ), + SizedBox(width: 12.w), + // 语种信息 + Expanded( + child: Text( + _formatLanguagePair(item), + style: TextStyle( + fontSize: 12.sp, + color: isDarkMode ? Colors.grey[500] : Colors.grey[600], + ), + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), ], ), ), + SizedBox(width: 12.w), Icon( Icons.chevron_right, color: isDarkMode ? Colors.grey[600] : Colors.grey[350], @@ -161,7 +190,7 @@ class TranslationHistoryView extends GetView { void _showTranslationDetail(TranslationItem item) { // 获取该会话的所有翻译项 final List sessionItems = controller.getSessionItems(item.sessionId); - + Get.to( () => TranslationDetailView(), arguments: { @@ -173,6 +202,33 @@ class TranslationHistoryView extends GetView { ); } + // 格式化会话时间 + String _formatSessionTime(DateTime timestamp) { + final now = DateTime.now(); + final today = DateTime(now.year, now.month, now.day); + final itemDate = DateTime(timestamp.year, timestamp.month, timestamp.day); + + if (itemDate == today) { + // 今天:只显示时间 HH:mm + return DateFormat('HH:mm').format(timestamp); + } else { + // 其他日期:显示月日和时间 MM-dd HH:mm + return DateFormat('MM-dd HH:mm').format(timestamp); + } + } + + // 格式化语种对信息 + String _formatLanguagePair(TranslationItem item) { + final languageManager = Get.find(); + + // 获取源语言和目标语言的中文名称 + final sourceName = languageManager.getChineseNameByAsrCode(item.sourceLanguageCode) ?? '未知语言'; + final targetName = languageManager.getChineseNameByAsrCode(item.targetLanguageCode) ?? '未知语言'; + + // 使用双向箭头符号表示翻译方向 + return '$sourceName ⇄ $targetName'; + } + void _showClearHistoryConfirmDialog() { final isDarkMode = Get.isDarkMode;