import 'dart:convert'; import 'package:fluro/fluro.dart'; import 'package:flutter/cupertino.dart'; import 'package:aslan/chatvibe_features/chat/noti/message_notifcation_page.dart'; import 'package:aslan/chatvibe_features/chat/system/message_system_page.dart'; import 'package:tencent_cloud_chat_sdk/models/v2_tim_conversation.dart'; import 'package:aslan/chatvibe_core/routes/at_router_init.dart'; import 'package:aslan/chatvibe_features/chat/message_chat_page.dart'; import 'activity/at_message_activity_page.dart'; class ATChatRouter implements ATIRouterProvider { static String chat = '/at/chat'; static String systemChat = '/at/systemChat'; static String dynamicMsg = '/at/dynamicMsg'; static String notifcation = '/at/chat/notifcation'; static String activity = '/at/chat/activity'; @override void initRouter(FluroRouter router) { router.define( chat, handler: Handler( handlerFunc: (_, params) => ATMessageChatPage( conversation: V2TimConversation.fromJson( jsonDecode(params['conversation']!.first), ), ), ), ); router.define( systemChat, handler: Handler( handlerFunc: (_, params) => MessageSystemPage( conversation: V2TimConversation.fromJson( jsonDecode(params['conversation']!.first), ), ), ), ); router.define( dynamicMsg, handler: Handler(handlerFunc: (_, params) => Container()), ); router.define( notifcation, handler: Handler(handlerFunc: (_, params) => MessageNotifcationPage()), ); router.define( activity, handler: Handler(handlerFunc: (_, params) => ATMessageActivityPage()), ); } }