50 lines
1.7 KiB
Dart
50 lines
1.7 KiB
Dart
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<MyRoomRes?> 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();
|
|
});
|
|
}
|
|
}
|