import 'package:flutter/material.dart';
import 'package:yumi/app/config/strategies/base_business_logic_strategy.dart';
import 'package:yumi/app_localizations.dart';
import 'package:yumi/shared/tools/sc_dialog_utils.dart';
import 'package:yumi/ui_kit/theme/socialchat_theme.dart';

import '../../../modules/home/popular/event/home_event_page.dart';
import '../../../modules/home/popular/mine/sc_home_mine_page.dart';
import '../../../modules/home/popular/party/sc_home_party_page.dart';

/// 马甲包业务逻辑策略实现
/// 提供与原始应用不同的业务逻辑
class Variant1BusinessLogicStrategy extends BaseBusinessLogicStrategy {

  /// 马甲包版本：调整Tab顺序，家族放在最后
  @override
  List<Widget> getHomeTabPages(BuildContext context) {
    final List<Widget> pages = [];
    pages.add(SCHomePartyPage());
    pages.add(SCHomeMinePage());
    // pages.add(HomeEventPage());
    return pages;
  }

  @override
  List<Widget> getHomeTabLabels(BuildContext context) {
    final List<Widget> tabs = [];
    tabs.add(Tab(text: SCAppLocalizations.of(context)!.party));
    tabs.add(Tab(text: SCAppLocalizations.of(context)!.me));
    // 马甲包：家族标签放在最后
    // tabs.add(Tab(text: SCAppLocalizations.of(context)!.event));
    return tabs;
  }

  @override
  int getHomeInitialTabIndex() {
    // 马甲包：从探索页开始
    return 0; // explore页
  }

  /// 马甲包版本：不同的首充提示位置
  @override
  Map<String, double?> getFirstRechargePosition() {
    // 马甲包：调整到左上角，提供完整的四个键值对
    return {'top': 100.0, 'start': 15.0, 'bottom': null, 'end': null};
  }

  /// 马甲包版本：增强的首充提示点击处理
  @override
  void onFirstRechargeTap(BuildContext context) {
    // 马甲包：显示更详细的首充对话框
    SCDialogUtils.showFirstRechargeDialog(context);
    // 额外逻辑：记录点击事件或触发其他行为
    debugPrint('马甲包首充提示被点击');
  }

  /// === 登录页面差异化方法实现（马甲包专属样式）===

  @override
  String getLoginBackgroundImage() {
    // 马甲包专属背景图片
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/splash/sc_splash.png";
  }

  @override
  String getLoginAppIcon() {
    // 马甲包专属应用图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/splash/sc_icon_splash_icon.png";
  }

  @override
  Color getLoginButtonColor() {
    // 马甲包按钮颜色 - 使用主题色
    return const Color(0xffFF5722); // SocialChatTheme.primaryColor
  }

  @override
  List<Color>? getLoginButtonGradient() {
    // 马甲包按钮渐变：从Figma设计中提取的橙色渐变
    return [
      const Color(0xffB4FCCE), // rgb(254, 178, 25)
      const Color(0xff5AF492), // rgb(254, 178, 25)
      const Color(0xff077142), // rgb(255, 147, 38)
    ];
  }

  @override
  Color getLoginButtonTextColor() {
    // 马甲包按钮文本颜色（白色，与渐变背景形成对比）
    return Colors.white;
  }

  @override
  Color getLoginLabelTextColor() {
    // 马甲包标签文本颜色（黑色）
    return Colors.white;
  }

  @override
  BoxDecoration getLoginInputDecoration() {
    // 马甲包输入框装饰：浅灰色背景，圆形边框
    return BoxDecoration(
      color: Colors.white24, // #f2f2f2
      borderRadius: BorderRadius.circular(12), // 56px圆角
      border: Border.all(color: Colors.transparent, width: 0),
    );
  }

  @override
  EdgeInsets getLoginPagePadding() {
    // 马甲包页面内边距：根据Figma设计调整
    return const EdgeInsets.only(top: 120); // 顶部319px间距
  }

  @override
  bool shouldShowLoginStatusBar() {
    // 马甲包：显示黑色状态栏
    return true;
  }

  @override
  Color getLoginHintTextColor() {
    // 马甲包：提示文本颜色（黑色45%透明度）
    return Colors.white;
  }

  @override
  Color getLoginInputTextColor() {
    // 马甲包：输入文本颜色（黑色）
    return Colors.white;
  }

  /// === 家族页面差异化方法实现（马甲包专属） ===






  @override
  bool shouldShowPasswordRoomIcon() {
    // 马甲包策略：不显示密码房间图标，简化UI
    return false;
  }

  /// === 探索页面差异化方法实现（马甲包专属） ===

  @override
  int getExploreRoomDisplayThreshold() {
    // 马甲包策略：显示更多房间在抽屉上方，减少抽屉使用
    return 9;
  }

  @override
  String getExploreGridIcon() {
    // 马甲包策略：使用马甲包专属网格视图图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/index/sc_icon_index_room_model_1.png";
  }

  @override
  String getExploreListIcon() {
    // 马甲包策略：使用马甲包专属列表视图图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/index/sc_icon_index_room_model_2.png";
  }

  @override
  String getExploreRankIconPattern(bool isGrid, int rank) {
    // 马甲包策略：使用统一的排名图标，不区分网格/列表视图
    // TODO: 根据Figma设计添加马甲包专属排名图标
    if (isGrid) {
      return "sc_images/index/sc_icon_explore_room_model_1_rank_$rank.png";
    } else {
      return "sc_images/index/sc_icon_explore_room_model_2_rank_$rank.png";
    }
  }

  @override
  Color getExploreRoomBorderColor() {
    // 马甲包策略：使用马甲包主题色作为边框颜色
    return SocialChatTheme.primaryLight; // 马甲包主题色
  }

  @override
  double getExploreRoomBorderWidth() {
    // 马甲包策略：更细的边框，更简洁的UI
    return 1.0;
  }

  @override
  int getExploreDrawerGridCrossAxisCount() {
    // 马甲包策略：4列网格，更紧凑的布局
    return 4;
  }

  @override
  int getExploreRoomNameMarqueeThreshold() {
    // 马甲包策略：更长的房间名称才显示滚动效果，减少不必要的动画
    return 15;
  }

  @override
  int getExploreRoomDescMarqueeThreshold() {
    // 马甲包策略：更长的房间描述才显示滚动效果
    return 18;
  }

  /// === 个人主页差异化方法实现（马甲包专属） ===

  @override
  String getMePageDefaultBackgroundImage() {
    // 马甲包策略：使用马甲包专属默认背景图片
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/person/sc_icon_my_head_bg_defalt.png";
  }

  @override
  String getMePageGenderBackgroundImage(bool isFemale) {
    // 马甲包策略：使用统一的背景图片，不区分性别
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/person/sc_icon_my_head_bg_defalt.png";
  }

  @override
  String getMePageCpDialogHeadImage() {
    // 马甲包策略：使用马甲包专属CP对话框头像图片
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/person/sc_icon_send_cp_requst_dialog_head.png";
  }

  @override
  String getMePageDefaultAvatarImage() {
    // 马甲包策略：使用马甲包专属默认头像图片
    // TODO: 根据Figma设计添加马甲包专属头像图标
    return "sc_images/general/sc_icon_avar_defalt.png";
  }

  @override
  String getMePageIdBackgroundImage(bool hasSpecialId) {
    // 马甲包策略：使用统一的ID背景图片，简化UI
    // TODO: 根据Figma设计添加马甲包专属ID背景图片
    return "sc_images/general/sc_icon_id_bg.png";
  }

  @override
  String getMePageCopyIdIcon() {
    // 马甲包策略：使用马甲包专属复制ID图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_user_card_copy_id.png";
  }

  @override
  String getMePageGenderAgeBackgroundImage(bool isFemale) {
    // 马甲包策略：使用统一的性别年龄背景图片，不区分性别
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/login/sc_icon_sex_woman_bg.png";
  }

  @override
  String getMePageVisitorsFollowFansBackgroundImage(bool isFemale) {
    // 马甲包策略：使用统一的访客关注粉丝背景图片，不区分性别
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/person/sc_icon_vistors_follow_fans_bg_woman.png";
  }

  @override
  String getMePageEditUserInfoIcon() {
    // 马甲包策略：使用马甲包专属编辑用户信息图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/person/sc_icon_edit_user_info2.png";
  }

  @override
  Color getMePageShineColor() {
    // 马甲包策略：使用马甲包主题色作为闪耀文本颜色
    return const Color(0xffFF5722); // 马甲包主题色
  }

  @override
  List<Color> getMePageGradientColors(bool isFemale) {
    // 马甲包策略：使用统一的渐变颜色，不区分性别
    return [
      const Color(0xffFF5722), // 马甲包主题色
      const Color(0xffFEB219), // 马甲包辅助色
      const Color(0xffFF9326), // 马甲包辅助色
    ];
  }

  @override
  List<Color> getMePageTabIndicatorGradient(bool isFemale) {
    // 马甲包策略：使用统一的Tab指示器渐变，不区分性别
    return [
      const Color(0xffFF5722), // 马甲包主题色
      const Color(0xffFEB219), // 马甲包辅助色
    ];
  }

  @override
  Color getMePageVisitorsFollowFansTextColor() {
    // 马甲包策略：使用更亮的文本颜色，提高可读性
    return const Color(0xffFFFFFF); // 白色
  }

  @override
  int getMePageInitialTabIndex() {
    // 马甲包策略：从动态页开始，鼓励用户发布内容
    return 0; // dynamic页
  }

  @override
  double getMePageScrollOpacityThreshold() {
    // 马甲包策略：降低滚动阈值，更快显示AppBar效果
    return 200.0;
  }

  @override
  int getMePageNicknameScrollThreshold() {
    // 马甲包策略：提高昵称滚动阈值，减少不必要的动画
    return 18;
  }

  @override
  int getMePageAgeDisplayWidthThreshold() {
    // 马甲包策略：降低年龄显示宽度阈值，更早调整布局
    return 99;
  }

  @override
  double getMePageOpacityThresholdForAvatarDisplay() {
    // 马甲包策略：降低头像显示透明度阈值，更早显示头像
    return 0.3;
  }

  /// === 热门页面差异化方法实现（马甲包专属） ===

  @override
  String getPopularLeaderboardBackgroundImage(String leaderboardType) {
    // 马甲包策略：使用马甲包专属的排行榜背景图片
    // 原始应用：使用现有的图像资源路径
    switch (leaderboardType) {
      case 'room':
        return "sc_images/index/sc_icon_leader_spinner_room_bg.png";
      case 'wealth':
        return "sc_images/index/sc_icon_leader_spinner_wealth_bg.png";
      case 'charm':
        return "sc_images/index/sc_icon_leader_spinner_charm_bg.png";
      default:
        return "sc_images/index/sc_icon_leader_spinner_room_bg.png";
    }
  }

  /// === 游戏页面差异化方法实现（马甲包专属） ===

  @override
  String getGameRankBackgroundImage(int rank) {
    // 马甲包策略：使用统一的背景图片，简化UI
    return "sc_images/game/sc_icon_game_list_item_bg_variant1.png";
  }

  @override
  String getGameRankIcon(int rank) {
    // 马甲包策略：使用统一的排名图标
    return "sc_images/game/sc_icon_game_rank_variant1.png";
  }

  @override
  Color getGamePageThemeColor() {
    // 马甲包策略：使用马甲包主题色
    return const Color(0xffFF9326);
  }

  @override
  Color getGamePageBackgroundColor() {
    // 马甲包策略：更亮的背景颜色
    return const Color(0xfffafafa);
  }

  @override
  int getGamePageGridCrossAxisCount() {
    // 马甲包策略：4列网格，更紧凑的布局
    return 4;
  }

  @override
  double getGamePageGridChildAspectRatio() {
    // 马甲包策略：更高的高度比例
    return 1.5;
  }

  @override
  Color getGameRankTextColor(int rank) {
    // 马甲包策略：使用统一的文本颜色，简化UI
    return const Color(0xffFF5722);
  }

  @override
  Color getGamePageGradientSecondColor() {
    // 马甲包策略：使用马甲包风格的渐变第二颜色
    return const Color(0xffFFE0B2);
  }

  @override
  String getGameHotTagBackgroundImage() {
    // 马甲包策略：使用马甲包风格的热门游戏标签背景图片
    return "sc_images/index/sc_icon_hotgames_tag_bg_variant1.png";
  }

  @override
  String getGameNewTagImage() {
    // 马甲包策略：使用马甲包风格的新游戏标签图片
    return "sc_images/index/sc_icon_game_new_tag_variant1.png";
  }

  @override
  String getGamePageMaskImage() {
    // 马甲包策略：使用马甲包风格的游戏页面遮罩图片
    return "sc_images/index/sc_icon_index_mask_variant1.png";
  }

  /// === VIP页面差异化方法实现（马甲包专属） ===

  @override
  String getVipPageBackgroundImage(int vipLevel) {
    // 原始应用：使用现有的VIP背景图像模式
    return "sc_images/vip/sc_icon_vip_level_bg_$vipLevel.png";
  }

  @override
  String getVipPageIcon(int vipLevel) {
    // 原始应用：使用现有的VIP图标模式
    return "sc_images/vip/sc_icon_vip_level_$vipLevel.png";
  }

  @override
  List<Color> getVipPageButtonGradient() {
    // 原始应用：VIP按钮渐变颜色
    return [const Color(0xffFF5722), const Color(0xffFEB219)];
  }

  @override
  int getVipPageGridCrossAxisCount() {
    // 原始应用：3列网格
    return 3;
  }

  @override
  double getVipPageGridChildAspectRatio() {
    // 原始应用：默认高度比例
    return 1.5;
  }

  @override
  String getVipPageHeadBackgroundImage(int vipLevel) {
    // 原始应用：VIP头部背景图像模式
    return "sc_images/vip/sc_icon_vip_head_bg_v$vipLevel.png";
  }

  @override
  String getVipPageTabSelectedIcon(int vipLevel) {
    // 原始应用：Tab选中状态图标模式
    return "sc_images/vip/sc_icon_tab_vip_text_on_v$vipLevel.png";
  }

  @override
  String getVipPageTabUnselectedIcon(int vipLevel) {
    // 原始应用：Tab未选中状态图标模式
    return "sc_images/vip/sc_icon_tab_vip_text_no_v$vipLevel.png";
  }

  @override
  String getVipPageLargeIcon(int vipLevel) {
    // 原始应用：VIP页面大图标路径模式
    return "sc_images/vip/sc_icon_vip${vipLevel}_ic.webp";
  }

  @override
  String getVipPageTitleImage(int vipLevel) {
    // 原始应用：VIP页面标题图像路径模式
    return "sc_images/vip/sc_icon_vip${vipLevel}_t1.png";
  }

  @override
  String getVipPageTagImage(int vipLevel, int tagIndex) {
    // 原始应用：VIP页面标签图像路径模式
    return "sc_images/vip/sc_icon_vip${vipLevel}_tag$tagIndex.png";
  }

  @override
  String getVipPageItemBackgroundImage(int vipLevel) {
    // 原始应用：VIP页面功能项背景图像路径模式
    return "sc_images/vip/sc_icon_vip${vipLevel}_item_bg.png";
  }

  @override
  String getVipPagePrivilegeIcon(int vipLevel, int privilegeIndex) {
    // 原始应用：VIP页面特权图标路径模式
    return "sc_images/vip/sc_icon_vip${vipLevel}_privilege$privilegeIndex.png";
  }

  @override
  String getVipPageFeatureIcon(int vipLevel, String featureName) {
    // 原始应用：VIP页面功能图标路径模式
    return "sc_images/vip/sc_icon_vip${vipLevel}_$featureName.png";
  }

  @override
  String getVipPagePreviewImage(
    int vipLevel,
    String previewType,
    String featureName,
  ) {
    // 原始应用：VIP页面预览图像路径模式
    if (featureName == 'profile_frame') {
      return "sc_images/vip/sc_icon_vip${vipLevel}_profile_rev.png";
    } else if (featureName == 'profile_card') {
      return "sc_images/vip/sc_icon_vip${vipLevel}_profile_card_rev.png";
    } else if (featureName == 'room_cover_headdress') {
      return "sc_images/vip/sc_icon_vip${vipLevel}_room_cover_border_rev.png";
    } else if (featureName == 'mic_rippl_theme') {
      return "sc_images/vip/sc_icon_vip${vipLevel}_sesc_rev.png";
    } else if (featureName == 'chatbox') {
      return "sc_images/vip/sc_icon_vip${vipLevel}_chatbox_pre.png";
    } else {
      return "sc_images/vip/sc_icon_vip${vipLevel}_${featureName}_$previewType.png";
    }
  }

  @override
  String getVipPagePurchaseBackgroundImage(int vipLevel) {
    // 原始应用：VIP页面购买背景图像路径模式
    return "sc_images/vip/sc_icon_vip${vipLevel}_buy_bg.png";
  }

  @override
  String getVipPagePurchaseButtonImage() {
    // 原始应用：VIP页面购买按钮图像路径
    return "sc_images/vip/sc_icon_vip_buy_btn.png";
  }

  @override
  Color getVipPageTextColor(int vipLevel) {
    // 原始应用：根据VIP等级返回不同的文本颜色
    switch (vipLevel) {
      case 1:
        return const Color(0xFF71D671);
      case 2:
        return const Color(0xFF7179D6);
      case 3:
        return const Color(0xFFAA71D6);
      case 4:
        return const Color(0xFF71D6B3);
      case 5:
        return const Color(0xFFD67171);
      case 6:
        return const Color(0xFFFEE5BB);
      default:
        return Colors.white;
    }
  }

  /// === 通用页面差异化方法实现 ===

  @override
  String getCommonRankBackgroundImage(String pageType, int rank) {
    // 原始应用：通用的排名背景图像模式
    return "sc_images/$pageType/sc_icon_${pageType}_rank_bg_$rank.png";
  }

  @override
  String getCommonRankIcon(String pageType, int rank) {
    // 原始应用：通用的排名图标模式
    return "sc_images/$pageType/sc_icon_${pageType}_rank_$rank.png";
  }

  @override
  int getCommonPageGridCrossAxisCount(String pageType) {
    // 原始应用：通用的2列网格
    return 2;
  }

  @override
  double getCommonPageGridChildAspectRatio(String pageType) {
    // 原始应用：通用的高度比例
    return 1.4;
  }

  /// === Admin编辑页面差异化方法实现（马甲包专属） ===

  @override
  String getAdminEditingBackgroundImage() {
    // 马甲包策略：使用马甲包专属背景图片
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/room/sc_icon_room_settig_bg.png";
  }

  @override
  List<Color> getAdminEditingButtonGradient(String buttonType) {
    // 马甲包策略：使用马甲包主题渐变
    return [
      const Color(0xffFF9326), // 马甲包主题色
      const Color(0xffFEB219), // 马甲包辅助色
    ];
  }

  @override
  String getAdminEditingIcon(String iconType) {
    // 马甲包策略：使用统一的图标，简化UI
    // TODO: 根据Figma设计添加马甲包专属图标
    switch (iconType) {
      case 'specialIdBg':
        return "sc_images/general/sc_icon_special_id_bg.png";
      case 'normalIdBg':
        return "sc_images/general/sc_icon_id_bg.png";
      case 'copyId':
        return "sc_images/room/sc_icon_user_card_copy_id.png";
      case 'addPic':
        return "sc_images/general/sc_icon_add_pic.png";
      case 'closePic':
        return "sc_images/general/sc_icon_pic_close.png";
      case 'checked':
        return "sc_images/general/sc_icon_checked.png";
      default:
        return "";
    }
  }

  @override
  BoxDecoration getAdminEditingInputDecoration() {
    // 马甲包策略：使用马甲包风格的输入框装饰
    return BoxDecoration(
      color: const Color(0xfff2f2f2), // #f2f2f2
      borderRadius: BorderRadius.circular(56), // 56px圆角，与登录页保持一致
      border: Border.all(color: Colors.transparent, width: 0),
    );
  }

  @override
  int getAdminEditingMaxImageUploadCount() {
    // 马甲包策略：增加图片上传数量，支持更多图片
    return 5; // 允许上传最多5张图片
  }

  @override
  int getAdminEditingDescriptionMaxLength() {
    // 马甲包策略：增加描述最大长度
    return 300; // 允许更长的描述
  }

  @override
  Map<String, int> getAdminEditingViolationTypeMapping(String targetType) {
    // 马甲包策略：使用相同的违规类型映射，或可自定义
    // 暂时使用原始应用的映射，后续可根据需求调整
    if (targetType == 'User') {
      return {'Pornography': 1, 'Illegal information': 2};
    } else if (targetType == 'Room') {
      return {
        'Pornography': 3,
        'Illegal information': 4,
        'Fraud': 5,
        'Other': 6,
      };
    }
    return {};
  }

  /// === Admin搜索页面差异化方法实现（马甲包专属） ===

  @override
  String getAdminSearchBackgroundImage(String pageType) {
    // 马甲包策略：使用马甲包专属背景图片
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/index/sc_icon_coupon_head_bg.png";
  }

  @override
  List<Color> getAdminSearchButtonGradient(String pageType) {
    // 马甲包策略：使用马甲包主题渐变
    return [
      const Color(0xffFF9326), // 马甲包主题色
      const Color(0xffFEB219), // 马甲包辅助色
    ];
  }

  @override
  Color getAdminSearchButtonTextColor(String pageType) {
    // 马甲包策略：使用白色文本，提高可读性
    return Colors.white;
  }

  @override
  String getAdminSearchEditIcon(String pageType) {
    // 马甲包策略：使用马甲包专属编辑图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_room_edit.png";
  }

  @override
  Color getAdminSearchInputBorderColor(String pageType) {
    // 马甲包策略：使用马甲包主题色作为边框
    return const Color(0xffFF5722); // 马甲包主题色
  }

  @override
  Color getAdminSearchInputTextColor(String pageType) {
    // 马甲包策略：使用更深的文本颜色
    return Colors.black87;
  }

  @override
  String getAdminSearchUserInfoIcon(String iconType) {
    // 马甲包策略：使用统一的图标
    // TODO: 根据Figma设计添加马甲包专属图标
    switch (iconType) {
      case 'specialIdBg':
        return "sc_images/general/sc_icon_special_id_bg.png";
      case 'normalIdBg':
        return "sc_images/general/sc_icon_id_bg.png";
      case 'copyId':
        return "sc_images/room/sc_icon_user_card_copy_id.png";
      default:
        return "";
    }
  }

  /// === 主登录页面差异化方法实现（马甲包专属） ===

  @override
  String getLoginMainBackgroundImage() {
    // 马甲包策略：使用马甲包专属背景图片
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/splash/sc_splash.png";
  }

  @override
  String getLoginMainAppIcon() {
    // 马甲包策略：使用马甲包专属应用图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/splash/sc_icon_splash_icon.png";
  }

  @override
  String getLoginMainGoogleIcon() {
    // 马甲包策略：使用马甲包专属Google图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/login/sc_icon_google.png";
  }

  @override
  String getLoginMainAppleIcon() {
    // 马甲包策略：使用马甲包专属Apple图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/login/sc_icon_iphone.png";
  }

  @override
  String getLoginMainAccountIcon() {
    // 马甲包策略：使用马甲包专属账号图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/login/sc_icon_account.png";
  }

  @override
  String getLoginMainAgreementIcon(bool isSelected) {
    // 马甲包策略：使用马甲包专属协议图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return isSelected
        ? "sc_images/login/sc_icon_login_ser_select.png"
        : "sc_images/login/sc_icon_login_ser_select_un.png";
  }

  @override
  Color getLoginMainDividerColor() {
    // 马甲包策略：使用马甲包主题色作为分割线颜色
    return const Color(0xffE6E6E6); // 马甲包主题色
  }

  @override
  Color getLoginMainButtonBorderColor() {
    // 马甲包策略：使用马甲包主题色作为按钮边框颜色
    return Colors.white24; // 马甲包主题色
  }

  @override
  Color getLoginMainButtonBackgroundColor() {
    // 马甲包策略：使用浅色背景，提高可读性
    return Colors.white24; // 浅灰色
  }

  @override
  Color getLoginMainButtonTextColor() {
    // 马甲包策略：按钮文本颜色（黑色）
    return Colors.white;
  }

  @override
  Color getLoginMainLinkColor() {
    // 马甲包策略：使用马甲包主题色作为链接颜色
    return const Color(0xff18F2B1); // 马甲包主题色
  }

  /// === 编辑个人资料页面差异化方法实现（马甲包专属） ===

  @override
  String getEditProfileBackgroundImage() {
    // 马甲包策略：使用马甲包专属背景图片
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/splash/sc_splash.png";
  }

  @override
  String getEditProfileDefaultAvatarImage() {
    // 马甲包策略：使用马甲包专属默认头像图片
    // TODO: 根据Figma设计添加马甲包专属头像图标
    return "sc_images/general/sc_icon_avar_defalt.png";
  }

  @override
  String getEditProfileGenderIcon(bool isMale) {
    // 马甲包策略：使用马甲包专属性别图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return isMale
        ? "sc_images/login/sc_icon_avar_sex_man.png"
        : "sc_images/login/sc_icon_avar_sex_woman.png";
  }

  @override
  List<Color> getEditProfileGenderButtonGradient(bool isMale, bool isSelected) {
    // 马甲包策略：使用马甲包主题渐变
    return [
      const Color(0xff18F2B1), // 马甲包主题色
      const Color(0xff18F2B1), // 马甲包辅助色
    ];
  }

  @override
  Color getEditProfileInputBackgroundColor() {
    // 马甲包策略：使用更亮的背景颜色，提高可读性
    return Colors.white24;
  }

  @override
  Color getEditProfileDatePickerConfirmColor() {
    // 马甲包策略：使用马甲包主题色
    return const Color(0xff18F2B1); // 马甲包主题色
  }

  @override
  Color getEditProfileContinueButtonColor() {
    // 马甲包策略：使用马甲包主题色
    return const Color(0xff18F2B1); // 马甲包主题色
  }

  /// === Country页面差异化方法实现（马甲包专属） ===

  @override
  String getCountrySelectOkIcon() {
    // 马甲包策略：使用马甲包专属选择确认图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/general/sc_icon_select_ok.png";
  }

  @override
  String getCountrySelectUnOkIcon() {
    // 马甲包策略：使用马甲包专属选择未确认图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/general/sc_icon_select_un_ok.png";
  }

  @override
  String getCountryRadioSelectedIcon() {
    // 马甲包策略：使用马甲包专属单选选中图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/login/sc_icon_login_ser_select.png";
  }

  @override
  String getCountryRadioUnselectedIcon() {
    // 马甲包策略：使用马甲包专属单选未选中图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/login/sc_icon_login_ser_select_un.png";
  }

  @override
  Color getCountryItemBorderColor() {
    // 马甲包策略：使用马甲包主题色作为边框颜色
    return SocialChatTheme.primaryLight; // 马甲包主题色
  }

  @override
  Color getCountryPageScaffoldBackgroundColor() {
    // 马甲包策略：使用浅灰色背景
    return const Color(0xfff5f5f5);
  }

  @override
  Color getCountryPageIconColor() {
    // 马甲包策略：使用深灰色图标
    return const Color(0xff333333);
  }

  @override
  Color getCountryPagePrimaryTextColor() {
    // 马甲包策略：使用深灰色文本
    return const Color(0xff212121);
  }

  @override
  Color getCountryPageSecondaryTextColor() {
    // 马甲包策略：使用中等灰色文本
    return const Color(0xff757575);
  }

  @override
  Color getCountryPageContainerBackgroundColor() {
    // 马甲包策略：使用白色容器背景
    return Colors.white;
  }

  /// === Chat页面差异化方法实现（马甲包专属） ===

  /// === 消息页面 (SCMessagePage) 方法实现 ===

  @override
  String getMessagePageIndexMaskIcon() {
    // 马甲包策略：使用马甲包专属索引遮罩图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/index/sc_icon_index_bg.png";
  }

  @override
  String getMessagePageAnnouncementTagIcon() {
    // 马甲包策略：使用马甲包专属公告标签图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_message_activity.png";
  }

  @override
  String getMessagePageActivityMessageIcon() {
    // 马甲包策略：使用马甲包专属活动消息图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_message_activity.png";
  }

  @override
  String getMessagePageActivityTitleBackground(bool isRtl) {
    // 马甲包策略：使用马甲包专属活动消息标题背景图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return isRtl
        ? "sc_images/msg/sc_icon_message_activity.png"
        : "sc_images/msg/sc_icon_message_activity.png";
  }

  @override
  String getMessagePageSystemMessageIcon() {
    // 马甲包策略：使用马甲包专属系统消息图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_message_system.png";
  }

  @override
  String getMessagePageSystemTitleBackground(bool isRtl) {
    // 马甲包策略：使用马甲包专属系统消息标题背景图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return isRtl
        ? "sc_images/msg/sc_icon_system_title_bg_rtl.png"
        : "sc_images/msg/sc_icon_system_title_bg.png";
  }

  @override
  String getMessagePageNotificationMessageIcon() {
    // 马甲包策略：使用马甲包专属通知消息图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_message_noti.png";
  }

  @override
  String getMessagePageNotificationTitleBackground(bool isRtl) {
    // 马甲包策略：使用马甲包专属通知消息标题背景图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return isRtl
        ? "sc_images/msg/sc_icon_notifcation_title_bg_rtl.png"
        : "sc_images/msg/sc_icon_notifcation_title_bg.png";
  }

  /// === 聊天页面 (SCMessageChatPage) 方法实现 ===

  @override
  String getSCMessageChatPageRoomSettingBackground() {
    // 马甲包策略：使用马甲包专属房间设置背景图像
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  String getSCMessageChatPageEmojiIcon() {
    // 马甲包策略：使用马甲包专属表情图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_msg_emoji.png";
  }

  @override
  String getSCMessageChatPageChatKeyboardIcon() {
    // 马甲包策略：使用马甲包专属聊天键盘图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_chat_key.png";
  }

  @override
  String getSCMessageChatPageAddIcon() {
    // 马甲包策略：使用马甲包专属添加图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_add.png";
  }

  @override
  String getSCMessageChatPageSendMessageIcon() {
    // 马甲包策略：使用马甲包专属发送消息图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_chat_message_send.png";
  }

  @override
  String getSCMessageChatPageCameraIcon() {
    // 马甲包策略：使用马甲包专属相机图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_xiangji.png";
  }

  @override
  String getSCMessageChatPagePictureIcon() {
    // 马甲包策略：使用马甲包专属图片图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_tupian.png";
  }

  @override
  String getSCMessageChatPageRedEnvelopeIcon() {
    // 马甲包策略：使用马甲包专属红包图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_hongbao.png";
  }

  @override
  String getSCMessageChatPageRedEnvelopeMessageBackground() {
    // 马甲包策略：使用马甲包专属红包消息背景图像
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/msg/sc_icon_msg_send_hongbao_bg.png";
  }

  @override
  String getSCMessageChatPageRedEnvelopeConfigTabButtonIcon() {
    // 马甲包策略：使用马甲包专属红包配置标签按钮图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_red_envelope_config_tab_btn.png";
  }

  @override
  String getSCMessageChatPageRedEnvelopeMessageItemBackground() {
    // 马甲包策略：使用马甲包专属红包消息项背景图像
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/msg/sc_icon_red_envelopes_msg_item_bg.png";
  }

  @override
  String getSCMessageChatPageRedEnvelopeReceivePackageIcon() {
    // 马甲包策略：使用马甲包专属红包接收包图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_red_envelope_rec_pack.png";
  }

  @override
  String getSCMessageChatPageRedEnvelopeOpenBackground() {
    // 马甲包策略：使用马甲包专属红包打开背景图像
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/msg/sc_icon_red_envelopes_msg_open_bg.png";
  }

  @override
  String getSCMessageChatPageRedEnvelopeOpenedBackground() {
    // 马甲包策略：使用马甲包专属红包已打开背景图像
    // TODO: 根据Figma设计添加马甲包专属背景图片
    return "sc_images/msg/sc_icon_red_envelopes_msg_opened_bg.png";
  }

  @override
  String getSCMessageChatPageGoldCoinIcon() {
    // 马甲包策略：使用马甲包专属金币图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/general/sc_icon_jb.png";
  }

  @override
  String getSCMessageChatPageMessageMenuDeleteIcon() {
    // 马甲包策略：使用马甲包专属消息菜单删除图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_msg_menu_delete.png";
  }

  @override
  String getSCMessageChatPageMessageMenuCopyIcon() {
    // 马甲包策略：使用马甲包专属消息菜单复制图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_msg_menu_copy.png";
  }

  @override
  String getSCMessageChatPageMessageMenuRecallIcon() {
    // 马甲包策略：使用马甲包专属消息菜单撤回图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/msg/sc_icon_msg_menu_recall.png";
  }

  @override
  String getSCMessageChatPageLoadingIcon() {
    // 马甲包策略：使用马甲包专属加载图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/general/sc_icon_loading.png";
  }

  @override
  String getGenderBackgroundImage(bool isFemale) {
    // 马甲包策略：使用马甲包专属性别背景图片
    // TODO: 根据Figma设计添加马甲包专属性别背景图片
    return isFemale
        ? "sc_images/login/sc_icon_sex_woman_bg.png"
        : "sc_images/login/sc_icon_sex_man_bg.png";
  }

  @override
  String getIdBackgroundImage(bool hasSpecialId) {
    // 马甲包策略：使用马甲包专属ID背景图片
    // TODO: 根据Figma设计添加马甲包专属ID背景图片
    return hasSpecialId
        ? "sc_images/general/sc_icon_special_id_bg.png"
        : "sc_images/general/sc_icon_id_bg.png";
  }

  @override
  String getCopyIdIcon() {
    // 马甲包策略：使用马甲包专属复制ID图标
    // TODO: 根据Figma设计添加马甲包专属复制ID图标
    return "sc_images/room/sc_icon_user_card_copy_id.png";
  }

  @override
  String getSCMessageChatPageSystemHeadImage() {
    // 马甲包策略：使用马甲包专属系统头像图像
    // TODO: 根据Figma设计添加马甲包专属头像图片
    return "sc_images/msg/head_system.png";
  }

  /// === Gift页面差异化方法实现（马甲包专属） ===

  @override
  String getGiftPageFirstRechargeRoomTagIcon() {
    // 马甲包策略：使用马甲包专属首充房间标签图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_first_recharge_room_tag.png";
  }

  @override
  String getGiftPageGoldCoinIcon() {
    // 马甲包策略：使用马甲包专属金币图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/general/sc_icon_jb.png";
  }

  @override
  String getGiftPageGiveTypeBackground() {
    // 马甲包策略：使用马甲包专属赠送类型背景图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_give_type_bg.png";
  }

  @override
  String getGiftPageActivityGiftHeadBackground(String giftType) {
    // 马甲包策略：使用马甲包专属活动礼物头部背景图标
    // TODO: 根据Figma设计添加马甲包专属图标
    switch (giftType) {
      case 'ACTIVITY':
        return "sc_images/room/sc_icon_activity_gift_head_bg.png";
      case 'LUCK':
        return "sc_images/room/sc_icon_luck_gift_head_bg.png";
      case 'CP':
        return "sc_images/room/sc_icon_cp_gift_head_bg.png";
      case 'MAGIC':
        return "sc_images/room/sc_icon_magic_gift_head_bg.png";
      default:
        return "sc_images/room/sc_icon_activity_gift_head_bg.png";
    }
  }

  @override
  String getGiftPageCustomizedRuleIcon() {
    // 马甲包策略：使用马甲包专属定制规则图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_customized_rule.png";
  }

  @override
  String getGiftPageGiftEffectIcon(String giftType) {
    // 马甲包策略：使用马甲包专属礼物效果图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_gift_effect.png";
  }

  @override
  String getGiftPageGiftMusicIcon(String giftType) {
    // 马甲包策略：使用马甲包专属礼物音乐图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_gift_music.png";
  }

  @override
  String getGiftPageGiftLuckIcon(String giftType) {
    // 马甲包策略：使用马甲包专属礼物幸运图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_gift_luck.png";
  }

  @override
  String getGiftPageGiftCpIcon(String giftType) {
    // 马甲包策略：使用马甲包专属礼物CP图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_gift_cp.png";
  }

  @override
  String getGiftPageFirstRechargeTextIcon(String languageCode) {
    // 马甲包策略：使用马甲包专属首充文本图标
    // TODO: 根据Figma设计添加马甲包专属图标
    if (languageCode == 'ar') {
      return "sc_images/index/sc_icon_first_recharge_ar_text.png";
    } else {
      // 默认为英语版本
      return "sc_images/index/sc_icon_first_recharge_en_text.png";
    }
  }

  @override
  String getGiftPageAllOnMicrophoneIcon() {
    // 马甲包策略：使用马甲包专属"全开麦"图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_all_on_microphone.png";
  }

  @override
  String getGiftPageUsersOnMicrophoneIcon() {
    // 马甲包策略：使用马甲包专属"用户开麦"图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_userson_microphone.png";
  }

  @override
  String getGiftPageAllInTheRoomIcon() {
    // 马甲包策略：使用马甲包专属"房间所有人"图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/room/sc_icon_all_in_the_room.png";
  }

  @override
  String getCommonSelectIcon() {
    // 马甲包策略：使用马甲包专属选择图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/general/sc_icon_checked.png";
  }

  @override
  String getCommonUnselectIcon() {
    // 马甲包策略：使用马甲包专属未选择图标
    // TODO: 根据Figma设计添加马甲包专属图标
    return "sc_images/general/sc_icon_unchecked.png";
  }

  /// === Media页面差异化方法实现（马甲包专属） ===

  @override
  Color getImagePreviewBackgroundColor() {
    // 马甲包策略：图片预览页面背景颜色 - 深灰色
    return const Color(0xff1a1a1a); // #1a1a1a
  }

  @override
  Color getImagePreviewGalleryBackgroundColor() {
    // 马甲包策略：图片预览画廊背景颜色 - 深灰色
    return const Color(0xff1a1a1a); // #1a1a1a
  }

  @override
  Color getImagePreviewAppBarBackgroundColor() {
    // 马甲包策略：图片预览AppBar背景颜色 - 深灰色70%透明度
    return const Color(0xB31a1a1a); // withOpacity(0.7)
  }

  @override
  Color getImagePreviewBackIconColor() {
    // 马甲包策略：图片预览返回图标颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getImagePreviewTextColor() {
    // 马甲包策略：图片预览文本颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getImagePreviewLoadingIndicatorColor() {
    // 马甲包策略：图片预览加载指示器颜色 - 马甲包主题色（橙色）
    return const Color(0xffFF5722); // 马甲包主题色
  }

  @override
  double getImagePreviewAppBarOpacity() {
    // 马甲包策略：图片预览AppBar透明度 - 0.7
    return 0.7;
  }

  @override
  Color getVideoPlayerBackgroundColor() {
    // 马甲包策略：视频播放页面背景颜色 - 深灰色
    return const Color(0xff1a1a1a); // #1a1a1a
  }

  @override
  Color getVideoPlayerControlsBackgroundColor() {
    // 马甲包策略：视频播放控制界面背景颜色 - 深灰色50%透明度
    return const Color(0x801a1a1a); // withOpacity(0.5)
  }

  @override
  Color getVideoPlayerIconColor() {
    // 马甲包策略：视频播放图标颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getVideoPlayerBottomControlsBackgroundColor() {
    // 马甲包策略：视频播放底部控制栏背景颜色 - 深灰色60%透明度
    return const Color(0x991a1a1a); // withOpacity(0.6)
  }

  @override
  Color getVideoPlayerProgressBarActiveColor() {
    // 马甲包策略：视频播放进度条活动颜色 - 马甲包主题色（橙色）
    return const Color(0xffFF5722); // 马甲包主题色
  }

  @override
  Color getVideoPlayerProgressBarInactiveColor() {
    // 马甲包策略：视频播放进度条非活动颜色 - 深灰色
    return const Color(0xff666666); // 深灰色
  }

  @override
  Color getVideoPlayerTextColor() {
    // 马甲包策略：视频播放文本颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getVideoPlayerLoadingIndicatorColor() {
    // 马甲包策略：视频播放加载指示器颜色 - 马甲包主题色（橙色）
    return const Color(0xffFF5722); // 马甲包主题色
  }

  @override
  double getVideoPlayerControlsOpacity() {
    // 马甲包策略：视频播放控制界面透明度 - 0.5
    return 0.5;
  }

  @override
  double getVideoPlayerBottomControlsOpacity() {
    // 马甲包策略：视频播放底部控制栏透明度 - 0.6
    return 0.6;
  }

  @override
  int getVideoPlayerControlsDisplayDuration() {
    // 马甲包策略：视频播放控制界面显示持续时间 - 5秒
    return 5;
  }

  /// === 举报页面差异化方法实现 ===

  @override
  String getReportPageBackgroundImage() {
    // 马甲包策略：举报页面背景图片 - 与房间设置背景相同（与原始应用相同）
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  Color getReportPageHintTextColor() {
    // 马甲包策略：举报页面提示文本颜色 - 深灰色
    return Colors.white54; // 深灰色
  }

  @override
  Color getReportPageContainerBackgroundColor() {
    // 马甲包策略：举报页面容器背景颜色 - 白色（与原始应用相同）
    return Color(0xff09372E).withOpacity(0.5);
  }

  @override
  Color getReportPageBorderColor() {
    // 马甲包策略：举报页面边框颜色 - 浅灰色
    return const Color(0xffCCCCCC); // 浅灰色
  }

  @override
  Color getReportPagePrimaryTextColor() {
    // 马甲包策略：举报页面主要文本颜色 - 黑色（与原始应用相同）
    return Colors.white; // 黑色
  }

  @override
  Color getReportPageSecondaryHintTextColor() {
    // 马甲包策略：举报页面次级提示文本颜色 - 深灰色
    return Colors.white54; // 深灰色
  }

  @override
  Color getReportPageUnselectedBorderColor() {
    // 马甲包策略：举报页面未选中边框颜色 - 灰色
    return Colors.grey; // 灰色
  }

  @override
  Color getReportPageSubmitButtonBackgroundColor() {
    // 马甲包策略：举报页面提交按钮背景颜色 - 马甲包主题色（橙色）
    return SocialChatTheme.primaryLight; // 马甲包主题色
  }

  @override
  Color getReportPageSubmitButtonTextColor() {
    // 马甲包策略：举报页面提交按钮文本颜色 - 白色（与原始应用相同）
    return Colors.white;
  }

  @override
  String getReportPageIcon(String iconType) {
    // 马甲包策略：举报页面图标路径（目前使用与原始应用相同的图标）
    switch (iconType) {
      case 'addPic':
        return "sc_images/general/sc_icon_reort_add_pic.png";
      case 'closePic':
        return "sc_images/general/sc_icon_pic_close.png";
      case 'checked':
        return "sc_images/login/sc_icon_login_ser_select.png";
      default:
        return ""; // 未知图标类型返回空字符串
    }
  }

  /// === 语音房间页面差异化方法实现 ===

  @override
  Color getVoiceRoomBackgroundColor() {
    // 马甲包策略：语音房间页面背景颜色 - 深灰色
    return const Color(0xff1a1a1a); // #1a1a1a
  }

  @override
  Color getVoiceRoomTabLabelColor() {
    // 马甲包策略：语音房间页面Tab标签选中颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getVoiceRoomTabUnselectedLabelColor() {
    // 马甲包策略：语音房间页面Tab标签未选中颜色 - 灰色
    return const Color(0xff999999); // 灰色
  }

  @override
  Color getVoiceRoomTabIndicatorColor() {
    // 马甲包策略：语音房间页面Tab指示器颜色 - 马甲包主题色（橙色）
    return const Color(0xffFF5722); // 马甲包主题色
  }

  @override
  Color getVoiceRoomTabDividerColor() {
    // 马甲包策略：语音房间页面Tab分割线颜色 - 深灰色
    return Colors.transparent; // 深灰色
  }

  @override
  EdgeInsets getVoiceRoomTabLabelPadding() {
    // 马甲包策略：语音房间页面Tab标签内边距 - 与原始应用相同
    return const EdgeInsets.symmetric(horizontal: 12);
  }

  @override
  EdgeInsetsDirectional getVoiceRoomChatContainerMargin() {
    // 马甲包策略：语音房间页面聊天容器外边距 - 与原始应用相同
    return const EdgeInsetsDirectional.only(end: 52);
  }

  @override
  TextStyle getVoiceRoomTabLabelStyle() {
    // 马甲包策略：语音房间页面Tab标签选中文本样式 - 与原始应用相同
    return const TextStyle(fontSize: 15, fontFamily: "MyCustomFont");
  }

  @override
  TextStyle getVoiceRoomTabUnselectedLabelStyle() {
    // 马甲包策略：语音房间页面Tab标签未选中文本样式 - 与原始应用相同
    return const TextStyle(fontSize: 13, fontFamily: "MyCustomFont");
  }

  @override
  String getVoiceRoomDefaultBackgroundImage() {
    // 马甲包策略：语音房间默认背景图像路径 - 与原始应用相同
    return "sc_images/room/sc_icon_room_defaut_bg.png";
  }

  /// === 钱包页面差异化方法实现 ===

  /// === 充值页面差异化方法实现 ===

  @override
  String getRechargePageBackgroundImage() {
    // 马甲包策略：充值页面背景图像路径 - 与原始应用相同
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  Color getRechargePageScaffoldBackgroundColor() {
    // 马甲包策略：充值页面Scaffold背景颜色 - 深灰色
    return  Colors.transparent; // #1a1a1a
  }

  @override
  Color getRechargePageDialogBarrierColor() {
    // 马甲包策略：充值页面对话框屏障颜色 - 深灰色半透明
    return const Color(0xCC1a1a1a); // withOpacity(0.8)
  }

  @override
  Color getRechargePageDialogContainerBackgroundColor() {
    // 马甲包策略：充值页面对话框容器背景颜色 - 深灰色
    return const Color(0xff333333); // 深灰色
  }

  @override
  Color getRechargePageDialogTextColor() {
    // 马甲包策略：充值页面对话框文本颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getRechargePageMainContainerBackgroundColor() {
    // 马甲包策略：充值页面主容器背景颜色 - 深灰色
    return Colors.transparent; // #1a1a1a
  }

  @override
  Color getRechargePageButtonBackgroundColor() {
    // 马甲包策略：充值页面按钮背景颜色 - 马甲包主题色（橙色）
    return SocialChatTheme.primaryLight; // 马甲包主题色
  }

  @override
  Color getRechargePageButtonTextColor() {
    // 马甲包策略：充值页面按钮文本颜色 - 白色（与原始应用相同）
    return Colors.white;
  }

  @override
  String getRechargePageWalletBackgroundImage() {
    // 马甲包策略：充值页面钱包背景图像路径 - 与原始应用相同
    return "sc_images/index/sc_icon_wallet_bg.png";
  }

  @override
  String getRechargePageWalletIcon() {
    // 马甲包策略：充值页面钱包图标路径 - 与原始应用相同
    return "sc_images/index/sc_icon_wallet_icon.png";
  }

  @override
  Color getRechargePageWalletTextColor() {
    // 马甲包策略：充值页面钱包文本颜色 - 浅灰色
    return Colors.white; // #e6e6e6
  }

  @override
  String getRechargePageGoldIcon() {
    // 马甲包策略：充值页面金币图标路径（默认图标）- 与原始应用相同
    return "sc_images/general/sc_icon_jb.png";
  }

  @override
  Color getRechargePageSelectedItemBackgroundColor() {
    // 马甲包策略：充值页面选中项背景颜色 - 马甲包主题色半透明
    return const Color(0x33FF5722); // withOpacity(0.2)
  }

  @override
  Color getRechargePageSelectedItemBorderColor() {
    // 马甲包策略：充值页面选中项边框颜色 - 马甲包主题色
    return SocialChatTheme.primaryLight; // 马甲包主题色
  }

  @override
  Color getRechargePageUnselectedItemBorderColor() {
    // 马甲包策略：充值页面未选中项边框颜色 - 深灰色
    return const Color(0xff666666); // 深灰色
  }

  @override
  Color getRechargePageUnselectedItemBackgroundColor() {
    // 马甲包策略：充值页面未选中项背景颜色 - 深灰色
    return const Color(0xff2a2a2a); // 深灰色背景
  }

  @override
  Color getRechargePageItemTextColor() {
    // 马甲包策略：充值页面项目文本颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getRechargePageItemPriceTextColor() {
    // 马甲包策略：充值页面价格文本颜色 - 白色
    return Colors.white;
  }

  @override
  String getRechargePageGoldIconByIndex(int index) {
    // 马甲包策略：根据索引获取充值页面金币图标路径 - 与原始应用相同
    switch (index) {
      case 0:
        return "sc_images/general/sc_icon_jb.png";
      case 1:
        return "sc_images/general/sc_icon_jb2.png";
      case 2:
        return "sc_images/general/sc_icon_jb3.png";
      default:
        return "sc_images/general/sc_icon_jb.png"; // 默认图标
    }
  }

  @override
  Color getRechargePageAppleItemBackgroundColor() {
    // 马甲包策略：充值页面Apple产品项背景颜色 - 深灰色
    return const Color(0xff2a2a2a); // 深灰色
  }

  @override
  String getRechargePageRecordIcon() {
    // 马甲包策略：充值页面记录图标路径 - 与原始应用相同
    return "sc_images/index/sc_icon_recharge_recod.png";
  }

  /// === 金币记录页面差异化方法实现 ===

  @override
  String getGoldRecordPageBackgroundImage() {
    // 马甲包策略：金币记录页面背景图像路径 - 与原始应用相同
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  Color getGoldRecordPageScaffoldBackgroundColor() {
    // 马甲包策略：金币记录页面Scaffold背景颜色 - 深灰色
    return  Colors.transparent; // #1a1a1a
  }

  @override
  Color getGoldRecordSCPageListBackgroundColor() {
    // 马甲包策略：金币记录页面列表背景颜色 - 深灰色
    return const Color(0xff1a1a1a); // #1a1a1a
  }

  @override
  Color getGoldRecordPageContainerBackgroundColor() {
    // 马甲包策略：金币记录页面容器背景颜色 - 深灰色
    return Colors.black38; // #1a1a1a
  }

  @override
  Color getGoldRecordPageBorderColor() {
    // 马甲包策略：金币记录页面边框颜色 - 深灰色
    return Colors.white12; // 深灰色
  }

  @override
  Color getGoldRecordPagePrimaryTextColor() {
    // 马甲包策略：金币记录页面主要文本颜色 - 浅灰色
    return const Color(0xffe6e6e6); // #e6e6e6
  }

  @override
  Color getGoldRecordPageSecondaryTextColor() {
    // 马甲包策略：金币记录页面次要文本颜色 - 灰色
    return const Color(0xff999999); // 灰色
  }

  /// === Store页面差异化方法实现 ===

  @override
  String getStorePageBackgroundImage() {
    // 马甲包策略：Store页面背景图像路径 - 使用相同背景图像（保持一致性）
    // 注意：如果需要差异化，可以返回不同的背景图像路径
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  String getStorePageShoppingBagIcon() {
    // 马甲包策略：Store页面购物袋图标路径 - 使用相同图标（保持一致性）
    // 注意：如果需要差异化，可以返回不同的图标路径
    return "sc_images/store/sc_icon_shop_bag.png";
  }

  @override
  EdgeInsetsDirectional getStorePageShoppingBagMargin() {
    // 马甲包策略：Store页面购物袋图标外边距 - 保持相同外边距
    return const EdgeInsetsDirectional.only(end: 10);
  }

  @override
  EdgeInsets getStorePageTabLabelPadding() {
    // 马甲包策略：Store页面Tab标签内边距 - 保持相同内边距
    return const EdgeInsets.symmetric(horizontal: 12);
  }

  @override
  TextStyle getStorePageTabLabelStyle() {
    // 马甲包策略：Store页面Tab标签选中文本样式
    // 差异化：使用马甲包主题色作为选中文本颜色
    return const TextStyle(
      fontSize: 15,
      color: Colors.black87, // 马甲包主题橙色，替代Colors.black87
      fontWeight: FontWeight.w600,
    );
  }

  @override
  TextStyle getStorePageTabUnselectedLabelStyle() {
    // 马甲包策略：Store页面Tab标签未选中文本样式
    // 差异化：调整未选中文本颜色为灰色系
    return const TextStyle(
      fontSize: 13,
      color: Colors.white54, // 灰色，替代Colors.black38
      fontWeight: FontWeight.w500,
    );
  }

  @override
  Color getStorePageTabIndicatorColor() {
    // 马甲包策略：Store页面Tab指示器颜色 - 使用马甲包主题色
    // 注意：原始应用使用SocialChatTheme.primaryColor，马甲包使用相同值
    return SocialChatTheme.primaryLight; // SocialChatTheme.primaryColor
  }

  @override
  Color getStorePageTabDividerColor() {
    // 马甲包策略：Store页面Tab分割线颜色 - 保持透明
    return Colors.transparent;
  }

  @override
  Color getStorePageBottomDividerColor() {
    // 马甲包策略：Store页面底部Divider颜色 - 调整为浅灰色
    return const Color(0xffEEEEEE); // 浅灰色，替代Colors.black12
  }

  @override
  double getStorePageBottomDividerThickness() {
    // 马甲包策略：Store页面底部Divider厚度 - 保持相同
    return 0.5;
  }

  @override
  double getStorePageBottomDividerHeight() {
    // 马甲包策略：Store页面底部Divider高度 - 保持相同
    return 24;
  }

  @override
  String getStorePageGoldIcon() {
    // 马甲包策略：Store页面金币图标路径 - 使用相同图标
    return "sc_images/general/sc_icon_jb.png";
  }

  @override
  Color getStorePageGoldTextColor() {
    // 马甲包策略：Store页面金币文本颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryLight; // 马甲包主题橙色，替代Color(0xFFFFE134)
  }

  @override
  Color getStorePageGoldIconColor() {
    // 马甲包策略：Store页面金币图标颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryLight; // 马甲包主题橙色，替代Color(0xFFFFE134)
  }

  /// === Store子页面（商品项）差异化方法实现 ===

  @override
  Color getStoreItemBackgroundColor() {
    // 马甲包策略：Store商品项背景颜色 - 使用马甲包表面色
    return Color(0xff18F2B1).withOpacity(0.1); // 马甲包表面色，替代Colors.white
  }

  @override
  Color getStoreItemUnselectedBorderColor() {
    // 马甲包策略：Store商品项未选中边框颜色 - 调整为浅灰色
    return  Colors.transparent; // 浅灰色，替代Colors.black12
  }

  @override
  Color getStoreItemSelectedBorderColor() {
    // 马甲包策略：Store商品项选中边框颜色 - 使用马甲包主题色
    return  SocialChatTheme.primaryLight; // 马甲包主题橙色，替代Color(0xffFF9500)
  }

  @override
  String getStoreItemGoldIcon() {
    // 马甲包策略：Store商品项金币图标路径 - 使用相同图标
    return "sc_images/general/sc_icon_jb.png";
  }

  @override
  Color getStoreItemPriceTextColor() {
    // 马甲包策略：Store商品项价格文本颜色 - 使用马甲包主要文本颜色
    return  SocialChatTheme.primaryLight; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getStoreItemBuyButtonColor() {
    // 马甲包策略：Store商品项购买按钮背景颜色 - 使用马甲包主题色
    return const Color(0xffFF5722); // 马甲包主题橙色，替代Color(0xffFF9500)
  }

  @override
  Color getStoreItemBuyButtonTextColor() {
    // 马甲包策略：Store商品项购买按钮文本颜色 - 使用马甲包主色上的文本颜色
    return SocialChatTheme.textOnPrimary; // 马甲包主色上的文本颜色，替代Colors.white
  }

  @override
  String getStoreItemActionIcon(String itemType) {
    // 马甲包策略：Store商品项操作图标路径
    // 使用相同的图标路径，确保功能一致
    switch (itemType) {
      case 'headdress':
        return "sc_images/store/sc_icon_shop_item_search.png"; // 头饰页面使用搜索图标
      case 'mountains':
        return "sc_images/store/sc_icon_shop_item_play.png"; // 山脉页面使用播放图标
      case 'theme':
        return "sc_images/store/sc_icon_store_theme_rev.png"; // 主题页面使用主题图标
      case 'chatbox':
        return "sc_images/store/sc_icon_shop_item_search.png"; // 聊天气泡页面使用搜索图标
      default:
        return "sc_images/store/sc_icon_store_theme_rev.png"; // 默认返回theme图标
    }
  }

  /// === 动态页面差异化方法实现 ===

  @override
  String getDynamicPageBackgroundImage() {
    // 马甲包策略：动态页面背景图像路径 - 使用相同图像保持功能一致
    return "sc_images/index/sc_icon_index_mask.png";
  }

  @override
  Color getDynamicPageScaffoldBackgroundColor() {
    // 马甲包策略：动态页面Scaffold背景颜色 - 保持透明以保持视觉效果
    return Colors.transparent;
  }

  @override
  Color getDynamicPageAppBarBackgroundColor() {
    // 马甲包策略：动态页面AppBar背景颜色 - 保持透明以保持视觉效果
    return Colors.transparent;
  }

  @override
  Color getDynamicPageTabLabelColor() {
    // 马甲包策略：动态页面Tab标签选中颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black87
  }

  @override
  Color getDynamicPageTabUnselectedLabelColor() {
    // 马甲包策略：动态页面Tab标签未选中颜色 - 使用马甲包次要文本颜色
    return SocialChatTheme.textSecondary; // 马甲包次要文本颜色，替代Colors.black38
  }

  @override
  Color getDynamicPageTabIndicatorColor() {
    // 马甲包策略：动态页面Tab指示器颜色 - 使用马甲包主题色
    return const Color(0xffFF5722); // 马甲包主题橙色，替代Colors.transparent
  }

  @override
  Color getDynamicPageTabDividerColor() {
    // 马甲包策略：动态页面Tab分割线颜色 - 保持透明以保持简洁设计
    return Colors.transparent;
  }

  @override
  String getDynamicPageAddButtonIcon() {
    // 马甲包策略：动态页面添加动态按钮图标路径 - 使用相同图标保持功能一致
    return "sc_images/dynamic/sc_icon_add_dynamic_btn.png";
  }

  @override
  bool shouldDynamicPageTabScrollable() {
    // 马甲包策略：动态页面Tab标签是否可滚动 - 保持相同行为
    return true;
  }

  @override
  TextStyle getDynamicPageTabLabelStyle() {
    // 马甲包策略：动态页面Tab标签选中文本样式 - 使用相同样式但可能应用主题颜色
    // 注意：这里无法使用.sp单位，需要在调用处使用ScreenUtil()
    return TextStyle(
      fontWeight: FontWeight.bold,
      fontSize: 16,
      color: SocialChatTheme.textPrimary, // 应用马甲包文本颜色
    );
  }

  @override
  TextStyle getDynamicPageTabUnselectedLabelStyle() {
    // 马甲包策略：动态页面Tab标签未选中文本样式 - 使用相同样式但可能应用主题颜色
    // 注意：这里无法使用.sp单位，需要在调用处使用ScreenUtil()
    return TextStyle(
      fontWeight: FontWeight.normal,
      fontSize: 15,
      color: SocialChatTheme.textSecondary, // 应用马甲包次要文本颜色
    );
  }

  /// === 启动页面差异化方法实现 ===

  @override
  String getSplashPageBackgroundImage() {
    // 马甲包策略：启动页面背景图像路径 - 使用马甲包专属启动背景图像
    // TODO: 根据Figma设计添加马甲包专属启动背景图像
    // 目前先使用相同图像，确保功能正常
    return "sc_images/splash/sc_splash.png";
  }

  @override
  String getSplashPageIcon() {
    // 马甲包策略：启动页面图标路径 - 使用马甲包专属启动图标
    // TODO: 根据Figma设计添加马甲包专属启动图标
    // 目前先使用相同图标，确保功能正常
    return "sc_images/splash/sc_icon_splash_icon.png";
  }

  @override
  String getSplashPageSkipButtonBackground() {
    // 马甲包策略：启动页面跳过按钮背景图像路径 - 使用马甲包专属跳过按钮背景
    // TODO: 根据Figma设计添加马甲包专属跳过按钮背景图像
    // 目前先使用相同图像，确保功能正常
    return "sc_images/splash/sc_icon_splash_skip_bg.png";
  }

  @override
  Color getSplashPageSkipButtonTextColor() {
    // 马甲包策略：启动页面跳过按钮文本颜色 - 使用马甲包主色上的文本颜色
    return SocialChatTheme.textOnPrimary; // 马甲包主色上的文本颜色，替代Colors.white
  }

  @override
  String getSplashPageKingGamesNameBackground() {
    // 马甲包策略：启动页面游戏名称背景图像路径 - 使用马甲包专属背景图像
    // TODO: 根据Figma设计添加马甲包专属游戏名称背景图像
    // 目前先使用相同图像，确保功能正常
    return "sc_images/index/sc_icon_splash_king_games_name_bg.png";
  }

  @override
  Color getSplashPageKingGamesTextColor() {
    // 马甲包策略：启动页面游戏名称文本颜色 - 使用马甲包主色上的文本颜色
    return SocialChatTheme.textOnPrimary; // 马甲包主色上的文本颜色，替代Colors.white
  }

  @override
  String getSplashPageCpNameBackground() {
    // 马甲包策略：启动页面CP名称背景图像路径 - 使用马甲包专属背景图像
    // TODO: 根据Figma设计添加马甲包专属CP名称背景图像
    // 目前先使用相同图像，确保功能正常
    return "sc_images/index/sc_icon_splash_cp_name_bg.png";
  }

  @override
  Color getSplashPageCpTextColor() {
    // 马甲包策略：启动页面CP名称文本颜色 - 使用马甲包主色上的文本颜色
    return SocialChatTheme.textOnPrimary; // 马甲包主色上的文本颜色，替代Colors.white
  }

  /// === WebView页面差异化方法实现 ===

  @override
  Color getWebViewPageAppBarBackgroundColor() {
    // 马甲包策略：WebView页面AppBar背景颜色 - 使用马甲包背景颜色
    return SocialChatTheme.backgroundColor; // 马甲包背景颜色，替代Colors.white
  }

  @override
  Color getWebViewPageTitleTextColor() {
    // 马甲包策略：WebView页面标题文本颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Color(0xff333333)
  }

  @override
  Color getWebViewPageBackArrowColor() {
    // 马甲包策略：WebView页面返回箭头图标颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Color(0xff333333)
  }

  @override
  Color getWebViewPageProgressBarBackgroundColor() {
    // 马甲包策略：WebView页面进度条背景颜色 - 使用透明背景
    return Colors.transparent; // 透明背景，替代Colors.white70.withOpacity(0)
  }

  @override
  Color getWebViewPageProgressBarActiveColor() {
    // 马甲包策略：WebView页面进度条活动颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffFF6000)
  }

  @override
  Color getGameWebViewCloseIconColor() {
    // 马甲包策略：游戏WebView页面关闭图标颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.white
  }

  @override
  Color getGameWebViewScaffoldBackgroundColor() {
    // 马甲包策略：游戏WebView页面Scaffold背景颜色 - 使用马甲包背景颜色
    return SocialChatTheme.backgroundColor; // 马甲包背景颜色，替代Colors.transparent
  }

  @override
  Color getGameWebViewProgressBarBackgroundColor() {
    // 马甲包策略：游戏WebView页面进度条背景颜色 - 使用马甲包背景颜色（透明）
    return SocialChatTheme.backgroundColor.withOpacity(0.3); // 马甲包背景颜色，半透明
  }

  @override
  Color getGameWebViewLoadingIndicatorColor() {
    // 马甲包策略：游戏WebView页面加载指示器颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffFF6000)
  }

  /// === 搜索页面差异化方法实现 ===

  @override
  Color getSearchPageScaffoldBackgroundColor() {
    // 马甲包策略：搜索页面Scaffold背景颜色 - 使用浅灰色背景
    return  Colors.transparent; // 马甲包浅灰色背景颜色，替代Colors.white
  }

  @override
  Color getSearchPageBackIconColor() {
    // 马甲包策略：搜索页面返回图标颜色 - 使用深灰色
    return const Color(0xff666666); // 深灰色，替代Color(0xffBBBBBB)
  }

  @override
  Color getSearchPageInputBorderColor() {
    // 马甲包策略：搜索页面搜索框边框颜色 - 使用马甲包主题色
    return SocialChatTheme.transparent; // 马甲包主题色，替代Colors.transparent
  }

  @override
  Color getSearchPageInputTextColor() {
    // 马甲包策略：搜索页面搜索框文本颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.grey
  }

  @override
  Color getSearchPageButtonTextColor() {
    // 马甲包策略：搜索页面搜索按钮文本颜色 - 使用白色
    return Colors.white; // 马甲包使用白色文本，替代Colors.black
  }

  @override
  List<Color> getSearchPageButtonGradient() {
    // 马甲包策略：搜索页面搜索按钮渐变颜色 - 使用马甲包主题色渐变
    return [
      SocialChatTheme.transparent,
      SocialChatTheme.transparent,
    ]; // 马甲包主题色渐变，替代[Colors.transparent, Colors.transparent]
  }

  @override
  Color getSearchPageHistoryTitleTextColor() {
    // 马甲包策略：搜索页面历史记录标题文本颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getSearchPageHistoryItemTextColor() {
    // 马甲包策略：搜索页面历史项文本颜色 - 使用白色
    return Colors.white; // 马甲包使用白色文本，替代Colors.white
  }

  @override
  Color getSearchPageHistoryItemBackgroundColor() {
    // 马甲包策略：搜索页面历史项背景颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffFF9500)
  }

  @override
  Color getSearchPageTabIndicatorGradientStartColor() {
    // 马甲包策略：搜索页面Tab指示器渐变开始颜色 - 使用马甲包主题色变体
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffFFA500)
  }

  @override
  Color getSearchPageTabIndicatorGradientEndColor() {
    // 马甲包策略：搜索页面Tab指示器渐变结束颜色 - 使用马甲包主题色变体
    return SocialChatTheme.primaryLight; // 马甲包浅主题色，替代Color(0xffFFD700)
  }

  @override
  Color getSearchPageTabSelectedLabelColor() {
    // 马甲包策略：搜索页面Tab标签选中颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.primaryLight; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getSearchPageTabDividerColor() {
    // 马甲包策略：搜索页面Tab分割线颜色 - 使用马甲包分割线颜色
    return SocialChatTheme.transparent; // 马甲包分割线颜色，替代Colors.transparent
  }

  @override
  Color getSearchPageTabUnselectedLabelColor() {
    // 马甲包策略：搜索页面Tab标签未选中颜色 - 使用马甲包次要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包次要文本颜色，替代Colors.black26
  }

  @override
  Color getSearchPageDividerContainerBackgroundColor() {
    // 马甲包策略：搜索页面分隔容器背景颜色 - 使用马甲包背景颜色
    return Color(0xffFFF8DA); // 马甲包背景颜色，替代Color(0xffFFF8DA)
  }

  @override
  TextStyle getSearchPageTabSelectedLabelStyle() {
    // 马甲包策略：搜索页面Tab标签选中文本样式 - 使用马甲包样式
    // 注意：这里无法使用.sp单位，需要在调用处使用ScreenUtil()
    return const TextStyle(
      fontSize: 18,
      fontWeight: FontWeight.w600,
      color: Colors.black, // 将在调用处替换为马甲包主要文本颜色
    ).copyWith(color: SocialChatTheme.textPrimary);
  }

  @override
  TextStyle getSearchPageTabUnselectedLabelStyle() {
    // 马甲包策略：搜索页面Tab标签未选中文本样式 - 使用马甲包样式
    // 注意：这里无法使用.sp单位，需要在调用处使用ScreenUtil()
    return const TextStyle(
      fontSize: 17,
      fontWeight: FontWeight.w400,
      color: Colors.black26, // 将在调用处替换为马甲包次要文本颜色
    ).copyWith(color: SocialChatTheme.textSecondary);
  }

  @override
  EdgeInsets getSearchPageResultTabLabelPadding() {
    // 马甲包策略：搜索页面搜索结果Tab标签内边距 - 与原始应用相同
    return const EdgeInsets.symmetric(horizontal: 15);
  }

  @override
  Color getSearchPageResultTabLabelColor() {
    // 马甲包策略：搜索页面搜索结果Tab标签选中颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getSearchPageResultTabUnselectedLabelColor() {
    // 马甲包策略：搜索页面搜索结果Tab标签未选中颜色 - 使用马甲包次要文本颜色
    return SocialChatTheme.textSecondary; // 马甲包次要文本颜色，替代Colors.black26
  }

  @override
  TextStyle getSearchPageResultTabUnselectedLabelStyle() {
    // 马甲包策略：搜索页面搜索结果Tab标签未选中文本样式 - 使用马甲包样式
    return const TextStyle(
      fontSize: 17,
      fontWeight: FontWeight.w400,
      color: Colors.black26, // 将在调用处替换为马甲包次要文本颜色
    ).copyWith(color: SocialChatTheme.textSecondary);
  }

  @override
  TextStyle getSearchPageResultTabLabelStyle() {
    // 马甲包策略：搜索页面搜索结果Tab标签选中文本样式 - 使用马甲包样式
    return const TextStyle(
      fontSize: 18,
      fontWeight: FontWeight.w600,
      color: Colors.black87, // 将在调用处替换为马甲包主要文本颜色
    ).copyWith(color: SocialChatTheme.textPrimary);
  }

  @override
  LinearGradient getSearchPageResultTabIndicatorColor() {
    // 马甲包策略：搜索页面搜索结果Tab指示器颜色 - 使用马甲包主题渐变
    return const LinearGradient(
      colors: [SocialChatTheme.primaryColor, Color(0xffFF9A00)],
    );
  }

  @override
  double getSearchPageResultTabIndicatorWidth() {
    // 马甲包策略：搜索页面搜索结果Tab指示器宽度 - 与原始应用相同
    return 15.0;
  }

  @override
  Color getSearchPageResultBackgroundColor() {
    // 马甲包策略：搜索页面搜索结果背景颜色 - 使用浅橙色背景
    return const Color(0xffFFECB3); // 马甲包浅橙色背景，替代Color(0xffFFF8DA)
  }

  @override
  String getSearchPageClearHistoryIcon() {
    // 马甲包策略：搜索页面清除历史记录图标路径 - 使用相同图标
    return "sc_images/general/sc_icon_delete.png";
  }

  @override
  String getSearchPageEmptyDataIcon() {
    // 马甲包策略：搜索页面空数据图标路径 - 使用相同图标
    return "sc_images/room/sc_icon_room_defaut_bg.png";
  }

  // === 任务页面差异化方法 ===

  @override
  String getTaskPageBackgroundImage() {
    // 马甲包策略：任务页面背景图像 - 使用相同图片
    return "sc_images/room/sc_icon_room_settig_bg.png";
  }

  @override
  Color getTaskPageBackButtonColor() {
    // 马甲包策略：任务页面返回按钮颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getTaskPageScaffoldBackgroundColor() {
    // 马甲包策略：任务页面Scaffold背景颜色 - 使用马甲包背景颜色
    return const Color(0xfff5f5f5); // 马甲包背景颜色
  }

  @override
  Color getTaskPageContainerBackgroundColor() {
    // 马甲包策略：任务页面容器背景颜色 - 使用马甲包表面颜色
    return SocialChatTheme.surfaceColor; // 马甲包表面颜色，替代Color(0xffE6E6E6)
  }

  @override
  Color getTaskPageBorderColor() {
    // 马甲包策略：任务页面边框颜色 - 使用马甲包边框颜色
    return SocialChatTheme.borderColor; // 马甲包边框颜色，替代Color(0xffE6E6E6)
  }

  @override
  Color getTaskPageSpecialBorderColor() {
    // 马甲包策略：任务页面特殊边框颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffBB92FF)
  }

  @override
  Color getTaskPagePrimaryTextColor() {
    // 马甲包策略：任务页面主要文本颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getTaskPageGoldTextColor() {
    // 马甲包策略：任务页面金币文本颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffFFB627)
  }

  @override
  Color getTaskPageExpTextColor() {
    // 马甲包策略：任务页面经验文本颜色 - 使用马甲包成功颜色
    return SocialChatTheme.successColor; // 马甲包成功颜色，替代Color(0xff52FF90)
  }

  @override
  Color getTaskPageThemeColor() {
    // 马甲包策略：任务页面主题颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffFF5722)
  }

  @override
  Color getTaskPageThemeLightColor() {
    // 马甲包策略：任务页面浅主题颜色 - 使用马甲包浅主题色
    return SocialChatTheme.primaryLight; // 马甲包浅主题色，替代Color(0xffFF9500)
  }

  @override
  List<Color> getTaskPageReceivableButtonGradient() {
    // 马甲包策略：任务页面可领取按钮渐变颜色 - 使用马甲包主题色渐变
    return [
      SocialChatTheme.primaryColor,
      const Color(0xffFF9A00),
    ]; // 马甲包主题色渐变，替代[Color(0xffBB92FF), Color(0xff8B45FF)]
  }

  @override
  List<Color> getTaskPageCompletedButtonGradient() {
    // 马甲包策略：任务页面已完成按钮渐变颜色 - 使用灰色渐变
    return [
      const Color(0xffCCCCCC),
      const Color(0xff999999),
    ]; // 马甲包灰色渐变，替代[Color(0xffDADADA), Color(0xff585859)]
  }

  @override
  Color getTaskPageButtonTextColor() {
    // 马甲包策略：任务页面按钮文本颜色 - 使用马甲包主色上的文本颜色
    return SocialChatTheme.textOnPrimary; // 马甲包主色上的文本颜色，替代Colors.white
  }

  @override
  Color getTaskPageMaskColor() {
    // 马甲包策略：任务页面遮罩颜色 - 半透明黑色
    return Colors.black.withOpacity(0.5);
  }

  @override
  String getTaskPageHeadBackgroundImage() {
    // 马甲包策略：任务页面头部背景图像 - 使用相同图片
    return "sc_images/index/sc_icon_task_head_bg.png";
  }

  @override
  String getTaskPageGoldIcon() {
    // 马甲包策略：任务页面金币图标 - 使用相同图标
    return "sc_images/general/sc_icon_jb.png";
  }

  @override
  String getTaskPageExpIcon() {
    // 马甲包策略：任务页面经验图标 - 使用相同图标
    return "sc_images/index/sc_icon_task_exp.png";
  }

  @override
  String getTaskPageInvitationRewardBackgroundImage() {
    // 马甲包策略：任务页面邀请奖励背景图像 - 使用相同图片
    return "sc_images/index/sc_icon_invitation_bg.png";
  }

  @override
  Color getTaskPageGiftBagTextColor() {
    // 马甲包策略：任务页面礼包文本颜色 - 使用马甲包主色上的文本颜色
    return SocialChatTheme.textOnPrimary; // 马甲包主色上的文本颜色，替代Colors.white
  }

  @override
  Color getTaskPageAppBarBackgroundColor() {
    // 马甲包策略：任务页面AppBar背景颜色 - 保持透明，与原始应用一致
    return Colors.transparent;
  }

  @override
  Color getTaskPageTransparentContainerColor() {
    // 马甲包策略：任务页面透明容器颜色 - 保持透明，与原始应用一致
    return Colors.transparent;
  }

  /// === 设置页面差异化方法实现 ===

  @override
  String getSettingsPageBackgroundImage() {
    // 马甲包策略：设置页面背景图像路径 - 使用相同图片
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  Color getSettingsPageMainContainerBackgroundColor() {
    // 马甲包策略：设置页面主容器背景颜色 - 使用马甲包背景色
    return Color(0xff18F2B1).withOpacity(0.1); // 马甲包背景色，与原始应用一致
  }

  @override
  Color getSettingsPageMainContainerBorderColor() {
    // 马甲包策略：设置页面主容器边框颜色 - 使用马甲包边框色
    return SocialChatTheme.borderColor; // 马甲包边框色，替代Color(0xffE6E6E6)
  }

  @override
  Color getSettingsPagePrimaryTextColor() {
    // 马甲包策略：设置页面主文本颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getSettingsPageSecondaryTextColor() {
    // 马甲包策略：设置页面次要文本颜色 - 使用马甲包次要文本颜色
    return SocialChatTheme.textSecondary; // 马甲包次要文本颜色，替代Colors.black38
  }

  @override
  Color getSettingsPageIconColor() {
    // 马甲包策略：设置页面图标颜色 - 使用马甲包次要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包次要文本颜色，替代Colors.black26
  }

  @override
  Color getSettingsPageCommonTextColor() {
    // 马甲包策略：设置页面常见文本颜色 - 使用深灰色
    return const Color(0xff666666);
  }

  @override
  Color getSettingsPageAboutTextColor() {
    // 马甲包策略：设置页面关于文本颜色 - 使用深灰色
    return const Color(0xff666666);
  }

  @override
  Color getSettingsPageContainerBorderColor() {
    // 马甲包策略：设置页面容器边框颜色 - 使用浅灰色
    return  Colors.transparent;
  }

  @override
  Color getSettingsPageContainerBackgroundColor() {
    // 马甲包策略：设置页面容器背景颜色 - 使用白色（与原始应用相同）
    return Color(0xff18F2B1).withOpacity(0.1);
  }

  @override
  Color getSettingsPageButtonBackgroundColor() {
    // 马甲包策略：设置页面按钮背景颜色 - 使用马甲包主题色
    return Color(0xff18F2B1).withOpacity(0.1);
  }

  @override
  Color getSettingsPageButtonTextColor() {
    // 马甲包策略：设置页面按钮文本颜色 - 使用白色
    return Colors.white;
  }

  /// === 语言页面差异化方法实现 ===

  @override
  String getLanguagePageBackgroundImage() {
    // 马甲包策略：语言页面背景图像路径 - 使用相同图片
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  Color getLanguagePageCheckboxActiveColor() {
    // 马甲包策略：语言页面复选框选中颜色 - 使用马甲包主题色
    return SocialChatTheme.primaryColor; // 马甲包主题色，替代Color(0xffFF5722)
  }

  @override
  Color getLanguagePageCheckboxBorderColor() {
    // 马甲包策略：语言页面复选框边框颜色 - 使用马甲包边框色
    return Colors.white54; // 马甲包边框色，替代Colors.grey
  }

  @override
  Color getLanguagePagePrimaryTextColor() {
    // 马甲包策略：语言页面主文本颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getLanguagePageCheckColor() {
    // 马甲包策略：语言页面复选框对勾颜色 - 使用透明色
    return Colors.transparent;
  }

  @override
  double getLanguagePageCheckboxBorderRadius() {
    // 马甲包策略：语言页面复选框边框圆角 - 使用相同的圆角值15
    return 15;
  }

  @override
  double getLanguagePageCheckboxBorderWidth() {
    // 马甲包策略：语言页面复选框边框宽度 - 使用相同的边框宽度2
    return 2;
  }

  @override
  Color getLanguagePageScaffoldBackgroundColor() {
    // 马甲包策略：语言页面Scaffold背景颜色 - 使用透明色
    return Colors.transparent;
  }

  /// === 账户页面差异化方法实现 ===

  @override
  String getAccountPageBackgroundImage() {
    // 马甲包策略：账户页面背景图像路径 - 使用相同图片
    return "sc_images/person/sc_icon_edit_userinfo_bg.png";
  }

  @override
  Color getAccountPageMainContainerBackgroundColor() {
    // 马甲包策略：账户页面主容器背景颜色 - 使用马甲包背景色
    return Color(0xff18F2B1).withOpacity(0.1);
  }

  @override
  Color getAccountPageMainContainerBorderColor() {
    // 马甲包策略：账户页面主容器边框颜色 - 使用马甲包边框色
    return const Color(0xffE0E0E0); // SocialChatTheme.borderColor
  }

  @override
  Color getAccountPagePrimaryTextColor() {
    // 马甲包策略：账户页面主文本颜色 - 使用马甲包主要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包主要文本颜色，替代Colors.black
  }

  @override
  Color getAccountPageSecondaryTextColor() {
    // 马甲包策略：账户页面次要文本颜色 - 使用马甲包次要文本颜色
    return SocialChatTheme.textSecondary; // 马甲包次要文本颜色，替代Colors.black38
  }

  @override
  Color getAccountPageIconColor() {
    // 马甲包策略：账户页面图标颜色 - 使用马甲包次要文本颜色
    return SocialChatTheme.textPrimary; // 马甲包次要文本颜色，替代Colors.black26
  }

  @override
  Color getAccountPageDividerColor() {
    // 马甲包策略：账户页面分隔线颜色 - 使用马甲包边框颜色
    return SocialChatTheme.borderColor; // 马甲包边框颜色，替代Colors.black12
  }

  @override
  Color getAccountPageScaffoldBackgroundColor() {
    // 马甲包策略：账户页面Scaffold背景颜色 - 使用透明色
    return Colors.transparent;
  }

  @override
  Color getGoldRecordPageListBackgroundColor() {
    // 马甲包策略：金币记录页面列表背景颜色 - 深灰色
    return  Colors.transparent; // #1a1a1a
  }
}
