feat(all): Join room functionality complete.

Signed-off-by: Ikjot Singh Dhody <ikjotsd@gmail.com>
This commit is contained in:
Ikjot Singh Dhody 2023-07-08 00:43:01 +05:30
parent 18e28c3bbf
commit 3641be4f56
4 changed files with 17 additions and 5 deletions

View File

@ -73,6 +73,8 @@ import 'package:moxxyv2/ui/service/sharing.dart';
import 'package:moxxyv2/ui/theme.dart'; import 'package:moxxyv2/ui/theme.dart';
import 'package:page_transition/page_transition.dart'; import 'package:page_transition/page_transition.dart';
import 'ui/bloc/groupchat/startgroupchat_bloc.dart';
void setupLogging() { void setupLogging() {
Logger.root.level = kDebugMode ? Level.ALL : Level.INFO; Logger.root.level = kDebugMode ? Level.ALL : Level.INFO;
Logger.root.onRecord.listen((record) { Logger.root.onRecord.listen((record) {
@ -114,6 +116,7 @@ void setupBlocs(GlobalKey<NavigatorState> navKey) {
GetIt.I.registerSingleton<OwnDevicesBloc>(OwnDevicesBloc()); GetIt.I.registerSingleton<OwnDevicesBloc>(OwnDevicesBloc());
GetIt.I.registerSingleton<StickersBloc>(StickersBloc()); GetIt.I.registerSingleton<StickersBloc>(StickersBloc());
GetIt.I.registerSingleton<StickerPackBloc>(StickerPackBloc()); GetIt.I.registerSingleton<StickerPackBloc>(StickerPackBloc());
GetIt.I.registerSingleton<StartGroupchatBloc>(StartGroupchatBloc());
} }
void main() async { void main() async {
@ -186,6 +189,9 @@ void main() async {
BlocProvider<StickerPackBloc>( BlocProvider<StickerPackBloc>(
create: (_) => GetIt.I.get<StickerPackBloc>(), create: (_) => GetIt.I.get<StickerPackBloc>(),
), ),
BlocProvider<StartGroupchatBloc>(
create: (_) => GetIt.I.get<StartGroupchatBloc>(),
),
], ],
child: TranslationProvider( child: TranslationProvider(
child: MyApp(navKey), child: MyApp(navKey),

View File

@ -19,6 +19,7 @@ import 'package:moxxyv2/service/cryptography/cryptography.dart';
import 'package:moxxyv2/service/database/database.dart'; import 'package:moxxyv2/service/database/database.dart';
import 'package:moxxyv2/service/events.dart'; import 'package:moxxyv2/service/events.dart';
import 'package:moxxyv2/service/files.dart'; import 'package:moxxyv2/service/files.dart';
import 'package:moxxyv2/service/groupchat.dart';
import 'package:moxxyv2/service/httpfiletransfer/httpfiletransfer.dart'; import 'package:moxxyv2/service/httpfiletransfer/httpfiletransfer.dart';
import 'package:moxxyv2/service/language.dart'; import 'package:moxxyv2/service/language.dart';
import 'package:moxxyv2/service/message.dart'; import 'package:moxxyv2/service/message.dart';
@ -175,6 +176,7 @@ Future<void> entrypoint() async {
GetIt.I.registerSingleton<XmppStateService>(XmppStateService()); GetIt.I.registerSingleton<XmppStateService>(XmppStateService());
GetIt.I.registerSingleton<FilesService>(FilesService()); GetIt.I.registerSingleton<FilesService>(FilesService());
GetIt.I.registerSingleton<ReactionsService>(ReactionsService()); GetIt.I.registerSingleton<ReactionsService>(ReactionsService());
GetIt.I.registerSingleton<GroupchatService>(GroupchatService());
final xmpp = XmppService(); final xmpp = XmppService();
GetIt.I.registerSingleton<XmppService>(xmpp); GetIt.I.registerSingleton<XmppService>(xmpp);
@ -253,6 +255,7 @@ Future<void> entrypoint() async {
MessageReactionsManager(), MessageReactionsManager(),
StickersManager(), StickersManager(),
MessageProcessingHintManager(), MessageProcessingHintManager(),
MUCManager(),
]); ]);
GetIt.I.registerSingleton<XmppConnection>(connection); GetIt.I.registerSingleton<XmppConnection>(connection);

View File

@ -39,7 +39,9 @@ class StartGroupchatBloc
Emitter<StartGroupchatState> emit, Emitter<StartGroupchatState> emit,
) async { ) async {
emit( emit(
state.copyWith(nick: event.nick), state.copyWith(
nick: event.nick,
),
); );
} }

View File

@ -23,7 +23,8 @@ class StartGroupChatPage extends StatefulWidget {
} }
class StartGroupChatPageState extends State<StartGroupChatPage> { class StartGroupChatPageState extends State<StartGroupChatPage> {
final TextEditingController _controller = TextEditingController(); final TextEditingController _jidController = TextEditingController();
final TextEditingController _nickController = TextEditingController();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -57,7 +58,7 @@ class StartGroupChatPageState extends State<StartGroupChatPage> {
onChanged: (value) => context.read<StartGroupchatBloc>().add( onChanged: (value) => context.read<StartGroupchatBloc>().add(
JidChangedEvent(value), JidChangedEvent(value),
), ),
controller: _controller, controller: _jidController,
enabled: !state.isWorking, enabled: !state.isWorking,
cornerRadius: textfieldRadiusRegular, cornerRadius: textfieldRadiusRegular,
borderColor: primaryColor, borderColor: primaryColor,
@ -69,7 +70,7 @@ class StartGroupChatPageState extends State<StartGroupChatPage> {
final jid = await scanXmppUriQrCode(context); final jid = await scanXmppUriQrCode(context);
if (jid == null) return; if (jid == null) return;
_controller.text = jid.path; _jidController.text = jid.path;
// ignore: use_build_context_synchronously // ignore: use_build_context_synchronously
context.read<StartGroupchatBloc>().add( context.read<StartGroupchatBloc>().add(
JidChangedEvent(jid.path), JidChangedEvent(jid.path),
@ -86,7 +87,7 @@ class StartGroupChatPageState extends State<StartGroupChatPage> {
onChanged: (value) => context.read<StartGroupchatBloc>().add( onChanged: (value) => context.read<StartGroupchatBloc>().add(
NickChangedEvent(value), NickChangedEvent(value),
), ),
controller: _controller, controller: _nickController,
enabled: !state.isWorking, enabled: !state.isWorking,
cornerRadius: textfieldRadiusRegular, cornerRadius: textfieldRadiusRegular,
borderColor: primaryColor, borderColor: primaryColor,