🧱 Add basis of tencent rtc

This commit is contained in:
2025-05-07 00:48:34 +08:00
parent 937e249b87
commit 419ed666f6
22 changed files with 13972 additions and 43 deletions

View File

@ -10,11 +10,13 @@ import 'package:island/database/message_repository.dart';
import 'package:island/models/chat.dart';
import 'package:island/models/file.dart';
import 'package:island/pods/config.dart';
import 'package:island/pods/message.dart';
import 'package:island/pods/database.dart';
import 'package:island/pods/network.dart';
import 'package:island/pods/userinfo.dart';
import 'package:island/pods/websocket.dart';
import 'package:island/route.gr.dart';
import 'package:island/screens/posts/compose.dart';
import 'package:island/services/rtc.dart';
import 'package:island/widgets/alert.dart';
import 'package:island/widgets/content/cloud_file_collection.dart';
import 'package:island/widgets/content/cloud_files.dart';
@ -471,6 +473,21 @@ class ChatRoomScreen extends HookConsumerWidget {
error: (_, __) => const Text('Error'),
),
actions: [
IconButton(
onPressed: () {
final user = ref.watch(userInfoProvider);
if (currentlyJoined) {
leaveRealtimeChat(chatRoom.value!);
} else {
joinRealtimeChat(
ref.watch(apiClientProvider),
chatRoom.value!,
user.value!,
);
}
},
icon: const Icon(Symbols.video_call),
),
IconButton(
icon: const Icon(Icons.more_vert),
onPressed: () {