Browse Source

feat(agent_view): 仅在官方渠道显示工具开关选项

添加条件判断,使工具开关选项仅在官方频道显示。移除未使用的导入以优化代码结构。
newdev_shunjiawei
lxm 9 months ago
parent
commit
b33b098f5e
  1. 73
      lib/modules/agent/views/agent_view.dart

73
lib/modules/agent/views/agent_view.dart

@ -4,16 +4,15 @@ import 'dart:math';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_intro/flutter_intro.dart'; import 'package:flutter_intro/flutter_intro.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:haptic_feedback/haptic_feedback.dart';
import '../../../core/widgets/intro_overlay_builder.dart'; import '../../../core/widgets/intro_overlay_builder.dart';
import '../../../data/models/user_Info.dart'; import '../../../data/models/channel_app_model.dart';
import '../../../data/services/version_update_service.dart';
import '../controllers/agent_controller.dart'; import '../controllers/agent_controller.dart';
import '../controllers/message_action_controller.dart'; import '../controllers/message_action_controller.dart';
import 'message_bubble.dart'; import 'message_bubble.dart';
import '../widgets/full_screen_editor.dart'; import '../widgets/full_screen_editor.dart';
import '../widgets/sound_bar_widget.dart'; import '../widgets/sound_bar_widget.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:intl/intl.dart';
class AgentView extends StatefulWidget { class AgentView extends StatefulWidget {
const AgentView({Key? key}) : super(key: key); const AgentView({Key? key}) : super(key: key);
@ -64,6 +63,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
final primaryColor = theme.primaryColor; final primaryColor = theme.primaryColor;
final backgroundColor = theme.scaffoldBackgroundColor; final backgroundColor = theme.scaffoldBackgroundColor;
final isDarkMode = Theme.of(context).brightness == Brightness.dark; final isDarkMode = Theme.of(context).brightness == Brightness.dark;
final isOfficialChannel = Get.isRegistered<VersionUpdateService>() &&
VersionUpdateService.to.cachedChannel == UserChannel.OFFICIAL;
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
@ -199,38 +200,40 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
), ),
color: isDarkMode ? Colors.grey[800] : Colors.white, color: isDarkMode ? Colors.grey[800] : Colors.white,
itemBuilder: (context) => [ itemBuilder: (context) => [
// 显示工具开关选项 if (isOfficialChannel)
PopupMenuItem( PopupMenuItem(
child: Obx(() => Row( child: Obx(() => Row(
children: [ children: [
Icon( Icon(
controller.isShowToolInterruptEnabled.value controller.isShowToolInterruptEnabled.value
? Icons.build_circle ? Icons.build_circle
: Icons.build_circle_outlined, : Icons.build_circle_outlined,
color: controller.isShowToolInterruptEnabled.value color: controller.isShowToolInterruptEnabled.value
? primaryColor ? primaryColor
: (isDarkMode ? Colors.grey[400] : Colors.grey), : (isDarkMode
size: 20.sp, ? Colors.grey[400]
), : Colors.grey),
SizedBox(width: 8.w), size: 20.sp,
Text( ),
//'ttsInterruptToggle'.tr, SizedBox(width: 8.w),
"显示工具", Text(
style: TextStyle(fontSize: 14.sp), "显示工具",
), style: TextStyle(fontSize: 14.sp),
const Spacer(), ),
Switch( const Spacer(),
value: controller.isShowToolInterruptEnabled.value, Switch(
onChanged: (value) => value:
controller.toggleShowAIToolInterrupt(), controller.isShowToolInterruptEnabled.value,
activeColor: primaryColor, onChanged: (value) =>
materialTapTargetSize: controller.toggleShowAIToolInterrupt(),
MaterialTapTargetSize.shrinkWrap, activeColor: primaryColor,
), materialTapTargetSize:
], MaterialTapTargetSize.shrinkWrap,
)), ),
onTap: () => controller.toggleTtsInterrupt(), ],
), )),
onTap: () => controller.toggleTtsInterrupt(),
),
// 播报打断开关选项 // 播报打断开关选项
PopupMenuItem( PopupMenuItem(

Loading…
Cancel
Save