goToTeamDetail<T extends Object?> function
跳转到群组详情页面
- 桌面/Web 端:使用 Dialog 弹框展示,保持左右分栏布局不被破坏 需提前调用 setDesktopTeamDetailBuilder 注入 Widget 构造函数
- 移动端:正常 push 页面
Implementation
Future<T?> goToTeamDetail<T extends Object?>(
BuildContext context, String teamId) {
// 桌面/Web 端:使用 Dialog 弹框展示群组详情
if (ChatKitUtils.isDesktopOrWeb && _desktopTeamDetailBuilder != null) {
return showDialog<T>(
context: context,
builder: (dialogContext) {
return Dialog(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
child: ClipRRect(
borderRadius: BorderRadius.circular(12),
child: SizedBox(
width: 400,
height: 520,
child: _desktopTeamDetailBuilder!(teamId),
),
),
);
},
);
}
if (IMKitRouter.instance.enableGoRouter) {
return context.pushNamed(RouterConstants.PATH_TEAM_DETAIL_PAGE,
extra: {'teamId': teamId});
}
return Navigator.pushNamed(context, RouterConstants.PATH_TEAM_DETAIL_PAGE,
arguments: {'teamId': teamId});
}