import 'package:flutter/cupertino.dart'; import 'package:aslan/app_localizations.dart'; import 'package:aslan/chatvibe_ui/components/at_tts.dart'; import 'package:aslan/chatvibe_core/utilities/at_loading_manager.dart'; import 'package:aslan/chatvibe_data/sources/repositories/room_repository_imp.dart'; import 'package:aslan/chatvibe_data/sources/repositories/user_repository_impl.dart'; import 'package:aslan/chatvibe_domain/models/res/at_edit_room_info_res.dart'; import 'package:aslan/chatvibe_domain/models/res/my_room_res.dart'; import 'package:aslan/chatvibe_domain/models/res/at_room_contribute_level_res.dart'; class ChatVibeRoomManager extends ChangeNotifier { MyRoomRes? myRoom; ATRoomContributeLevelRes? roomContributeLevelRes; void getMyRoom() async { myRoom = null; myRoom = await AccountRepository().myProfile(); notifyListeners(); } void updateMyRoomInfo(ATEditRoomInfoRes roomInfo) { if (myRoom != null && myRoom!.id == roomInfo.id) { myRoom?.setRoomName = roomInfo.roomName ?? ""; myRoom?.setRoomDesc = roomInfo.roomDesc ?? ""; notifyListeners(); } } Future createRoom(BuildContext context) async { final createRoomSuccessText = ATAppLocalizations.of(context)!.createRoomSuccsess; ATLoadingManager.exhibitOperation(context: context); await AccountRepository().createRoom(); myRoom = await AccountRepository().myProfile(); ATTts.show(createRoomSuccessText); notifyListeners(); ATLoadingManager.veilRoutine(); return myRoom; } void contributionLevel(String roomId) { roomContributeLevelRes = null; ChatRoomRepository().roomContributionActivity(roomId).then((value) { roomContributeLevelRes = value; notifyListeners(); }); } }