diff --git a/b0esche_cloud/lib/widgets/organization_settings_dialog.dart b/b0esche_cloud/lib/widgets/organization_settings_dialog.dart index 3af0710..081b188 100644 --- a/b0esche_cloud/lib/widgets/organization_settings_dialog.dart +++ b/b0esche_cloud/lib/widgets/organization_settings_dialog.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'dart:developer' as developer; import '../blocs/organization/organization_state.dart'; import '../blocs/permission/permission_state.dart'; import '../models/organization.dart'; @@ -46,30 +47,63 @@ class _OrganizationSettingsDialogState if (!mounted) return; setState(() => _isLoading = true); - try { - final results = await Future.wait([ - widget.orgApi.getMembers(widget.organization.id), - widget.orgApi.getInvitations(widget.organization.id), - widget.orgApi.getJoinRequests(widget.organization.id), - widget.orgApi.getInviteLink(widget.organization.id), - ]); + String? error; + List members = []; + List invitations = []; + List joinRequests = []; + String? inviteLink; - if (!mounted) return; - setState(() { - _members = results[0] as List; - _invitations = results[1] as List; - _joinRequests = results[2] as List; - _inviteLink = results[3] as String?; - _isLoading = false; - _error = null; - }); + try { + members = await widget.orgApi.getMembers(widget.organization.id); } catch (e) { - if (!mounted) return; - setState(() { - _error = e.toString(); - _isLoading = false; - }); + developer.log( + 'Error loading members: $e', + name: 'OrganizationSettingsDialog', + ); + error ??= 'Failed to load members: $e'; } + + try { + invitations = await widget.orgApi.getInvitations(widget.organization.id); + } catch (e) { + developer.log( + 'Error loading invitations: $e', + name: 'OrganizationSettingsDialog', + ); + error ??= 'Failed to load invitations: $e'; + } + + try { + joinRequests = await widget.orgApi.getJoinRequests( + widget.organization.id, + ); + } catch (e) { + developer.log( + 'Error loading join requests: $e', + name: 'OrganizationSettingsDialog', + ); + error ??= 'Failed to load join requests: $e'; + } + + try { + inviteLink = await widget.orgApi.getInviteLink(widget.organization.id); + } catch (e) { + developer.log( + 'Error loading invite link: $e', + name: 'OrganizationSettingsDialog', + ); + error ??= 'Failed to load invite link: $e'; + } + + if (!mounted) return; + setState(() { + _members = members; + _invitations = invitations; + _joinRequests = joinRequests; + _inviteLink = inviteLink; + _isLoading = false; + _error = error; + }); } Future _updateMemberRole(String userId, String newRole) async {