Browse Source

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

添加条件判断,使工具开关选项仅在官方频道显示。移除未使用的导入以优化代码结构。
weicu
lxm 9 months ago
parent
commit
32993f8b1e
  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_intro/flutter_intro.dart';
import 'package:get/get.dart';
import 'package:haptic_feedback/haptic_feedback.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/message_action_controller.dart';
import 'message_bubble.dart';
import '../widgets/full_screen_editor.dart';
import '../widgets/sound_bar_widget.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:intl/intl.dart';
class AgentView extends StatefulWidget {
const AgentView({Key? key}) : super(key: key);
@ -64,6 +63,8 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
final primaryColor = theme.primaryColor;
final backgroundColor = theme.scaffoldBackgroundColor;
final isDarkMode = Theme.of(context).brightness == Brightness.dark;
final isOfficialChannel = Get.isRegistered<VersionUpdateService>() &&
VersionUpdateService.to.cachedChannel == UserChannel.OFFICIAL;
return Scaffold(
appBar: AppBar(
@ -199,38 +200,40 @@ class _AgentViewState extends State<AgentView> with WidgetsBindingObserver {
),
color: isDarkMode ? Colors.grey[800] : Colors.white,
itemBuilder: (context) => [
// 显示工具开关选项
PopupMenuItem(
child: Obx(() => Row(
children: [
Icon(
controller.isShowToolInterruptEnabled.value
? Icons.build_circle
: Icons.build_circle_outlined,
color: controller.isShowToolInterruptEnabled.value
? primaryColor
: (isDarkMode ? Colors.grey[400] : Colors.grey),
size: 20.sp,
),
SizedBox(width: 8.w),
Text(
//'ttsInterruptToggle'.tr,
"显示工具",
style: TextStyle(fontSize: 14.sp),
),
const Spacer(),
Switch(
value: controller.isShowToolInterruptEnabled.value,
onChanged: (value) =>
controller.toggleShowAIToolInterrupt(),
activeColor: primaryColor,
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
),
],
)),
onTap: () => controller.toggleTtsInterrupt(),
),
if (isOfficialChannel)
PopupMenuItem(
child: Obx(() => Row(
children: [
Icon(
controller.isShowToolInterruptEnabled.value
? Icons.build_circle
: Icons.build_circle_outlined,
color: controller.isShowToolInterruptEnabled.value
? primaryColor
: (isDarkMode
? Colors.grey[400]
: Colors.grey),
size: 20.sp,
),
SizedBox(width: 8.w),
Text(
"显示工具",
style: TextStyle(fontSize: 14.sp),
),
const Spacer(),
Switch(
value:
controller.isShowToolInterruptEnabled.value,
onChanged: (value) =>
controller.toggleShowAIToolInterrupt(),
activeColor: primaryColor,
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
),
],
)),
onTap: () => controller.toggleTtsInterrupt(),
),
// 播报打断开关选项
PopupMenuItem(

Loading…
Cancel
Save