91 lines
3.3 KiB
Dart
91 lines
3.3 KiB
Dart
// ignore_for_file: file_names
|
|
|
|
import 'package:example/TIMUIKitGroupProfileExample.dart';
|
|
import 'package:example/TIMUIKitProfileExample.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:tim_ui_kit/business_logic/view_models/tui_chat_global_model.dart';
|
|
import 'package:tim_ui_kit/tim_ui_kit.dart';
|
|
|
|
class TIMUIKitChatExample extends StatelessWidget {
|
|
final V2TimConversation? selectedConversation;
|
|
|
|
const TIMUIKitChatExample({Key? key, this.selectedConversation})
|
|
: super(key: key);
|
|
|
|
String? _getConversationID() {
|
|
if(selectedConversation != null){
|
|
return selectedConversation!.type == 1
|
|
? selectedConversation!.userID
|
|
: selectedConversation!.groupID;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return TIMUIKitChat(
|
|
config: const TIMUIKitChatConfig(
|
|
// 仅供演示,非全部配置项,实际使用中,可只传和默认项不同的参数,无需传入所有开关
|
|
isAllowClickAvatar: true,
|
|
isAllowLongPressMessage: true,
|
|
isShowReadingStatus: true,
|
|
isShowGroupReadingStatus: true,
|
|
notificationTitle: "",
|
|
isUseMessageReaction: true,
|
|
groupReadReceiptPermissionList: [
|
|
GroupReceiptAllowType.work,
|
|
GroupReceiptAllowType.meeting,
|
|
GroupReceiptAllowType.public
|
|
],
|
|
),
|
|
conversationID: _getConversationID() ?? "10040818",
|
|
// Please fill in here according to the actual cleaning
|
|
conversationShowName: selectedConversation?.showName ??
|
|
selectedConversation?.userID ??
|
|
selectedConversation?.groupID ??
|
|
"Test Chat",
|
|
// Please fill in here according to the actual cleaning
|
|
conversationType: ConvType.values[selectedConversation?.type ?? 1],
|
|
appBarConfig: AppBar(
|
|
actions: [
|
|
IconButton(
|
|
padding: const EdgeInsets.only(left: 8, right: 16),
|
|
onPressed: () async {
|
|
final conversationType = selectedConversation?.type ?? 1;
|
|
|
|
if (conversationType == 1) {
|
|
final String? userID = selectedConversation?.userID;
|
|
Navigator.push(
|
|
context,
|
|
MaterialPageRoute(
|
|
builder: (context) => Scaffold(
|
|
appBar: AppBar(title: Text(userID ?? "User Profile")),
|
|
body: TIMUIKitProfileExample(userID: userID)),
|
|
));
|
|
} else {
|
|
final String? groupID = selectedConversation?.groupID;
|
|
if (groupID != null) {
|
|
Navigator.push(
|
|
context,
|
|
MaterialPageRoute(
|
|
builder: (context) => Scaffold(
|
|
appBar: AppBar(title: Text(groupID)),
|
|
body: TIMUIKitGroupProfileExample(
|
|
groupID: groupID,
|
|
)),
|
|
));
|
|
}
|
|
}
|
|
},
|
|
icon: Image.asset(
|
|
'images/more.png',
|
|
package: 'tim_ui_kit',
|
|
height: 34,
|
|
width: 34,
|
|
))
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|