1- import 'package:altme/app/shared/issuer/models/issuer .dart' ;
2- import 'package:altme/app/shared/loading/loading_view .dart' ;
3- import 'package:altme/app/shared/message_handler/response_message .dart' ;
1+ import 'package:altme/app/app .dart' ;
2+ import 'package:altme/app/shared/alert_message/exception_message .dart' ;
3+ import 'package:altme/app/shared/alert_message/message_cubit .dart' ;
44import 'package:altme/credentials/cubit/credentials_cubit.dart' ;
55import 'package:altme/dashboard/dashboard.dart' ;
66import 'package:altme/dashboard/home/tab_bar/credentials/models/blockchain/blockchain_credential_subject_model/blockchain_credential_subject_model.dart' ;
@@ -26,7 +26,10 @@ class AttestationList extends StatelessWidget {
2626 if (snapshot.connectionState == ConnectionState .waiting) {
2727 return const Center (child: CircularProgressIndicator ());
2828 } else if (snapshot.hasError) {
29- return Center (child: Text ('Error: ${snapshot .error }' ));
29+ LoadingView ().hide ();
30+ final error = snapshot.error! as ExceptionMessage ;
31+ context.read <MessageCubit >().error (error);
32+ return Center (child: Text (error.error));
3033 } else {
3134 return ListView .builder (
3235 shrinkWrap: true ,
@@ -82,6 +85,12 @@ class AttestationList extends StatelessWidget {
8285 [],
8386 profileType: profileModel.profileType,
8487 );
88+ if (credentialManifestPickCubit.state.filteredCredentialList.isEmpty) {
89+ throw ExceptionMessage (
90+ error: 'Credential not found' ,
91+ errorDescription: 'No suitable credential found in the wallet.' ,
92+ );
93+ }
8594
8695 /// for sd-jwt we only support single credentials right now
8796 /// skip is not considered for sd-jwt right now
@@ -108,8 +117,13 @@ class AttestationList extends StatelessWidget {
108117 }
109118 return false ;
110119 },
111- orElse: () =>
112- credentialManifestPickCubit.state.filteredCredentialList[0 ],
120+ orElse: () {
121+ throw ExceptionMessage (
122+ error: 'No valid crypto account found' ,
123+ errorDescription:
124+ 'No suitable crypto account found in the wallet.' ,
125+ );
126+ },
113127 );
114128 } else {
115129 firstOne = credentialManifestPickCubit.state.filteredCredentialList[0 ];
@@ -175,11 +189,9 @@ class AttestationList extends StatelessWidget {
175189
176190 credentialsToBePresented.addAll (credToBePresented);
177191 } else {
178- throw ResponseMessage (
179- data: {
180- 'error' : 'invalid_request' ,
181- 'error_description' : 'Issue with the disclosure encryption of jwt.' ,
182- },
192+ throw ExceptionMessage (
193+ error: 'invalid_request' ,
194+ errorDescription: 'Issue with the disclosure encryption of jwt.' ,
183195 );
184196 }
185197
0 commit comments