import '../../about/external/data/Group.dart'; import '../../about/external/initial/GroupRequest.dart'; import '../../about/external/initial/JoinGroupRequest.dart'; import '../parent/ParentViewModel.dart'; import 'ConnectGroupEditor.dart'; class ViewGroupEditor extends ParentViewModel { ConnectGroupEditor connection; ViewGroupEditor(super.context, this.connection); void create(GroupRequest request) async { if (!await hasNetwork(() => create(request))) return; showLoading("Creating the group"); try { final response = await getDataManager().saveGroupEntry(request); closeLoading(); connection.onGroupReady(Group.fromJson(response.data)); } catch (e) { handleError(e, () => create(request), () => dismissError(), "Retry"); } } void join(JoinGroupRequest request) async { if (!await hasNetwork(() => join(request))) return; showLoading("Joining"); try { final response = await getDataManager().joinGroupEntry(request); closeLoading(); connection.onGroupReady(Group.fromJson(response.data)); } catch (e) { handleError(e, () => join(request), () => dismissError(), "Retry"); } } }