Skip to content

Commit

Permalink
refactor: Show default image if dummy is not available
Browse files Browse the repository at this point in the history
  • Loading branch information
bibash28 committed Aug 15, 2023
1 parent 8ba83e0 commit fa725e6
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@ class DiscoverDummyCredential extends Equatable {
case CredentialSubjectType.kycCountryOfResidence:
case CredentialSubjectType.proofOfTwitterStats:
case CredentialSubjectType.civicPassCredential:
break;
}

return DiscoverDummyCredential(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,39 +22,72 @@ class DummyCredentialImage extends StatelessWidget {
title = discoverDummyCredential.credentialSubjectType.title;
}

return CredentialContainer(
child: DecoratedBox(
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage(discoverDummyCredential.image!),
),
),
child: AspectRatio(
aspectRatio: aspectRatio,
child: CustomMultiChildLayout(
delegate: CredentialBaseWidgetDelegate(position: Offset.zero),
children: [
if (title != null)
LayoutId(
id: 'title',
child: FractionallySizedBox(
widthFactor: 0.7,
heightFactor: 0.19,
child: Container(
alignment: Alignment.centerLeft,
child: MyText(
title,
style:
Theme.of(context).textTheme.identitiyBaseTitleText,
),
),
return discoverDummyCredential.image == null
? AspectRatio(
aspectRatio: Sizes.credentialAspectRatio,
child: DefaultCredentialListWidget(
credentialModel: CredentialModel(
id: '',
credentialPreview: Credential(
'dummy1',
['dummy2'],
[discoverDummyCredential.credentialSubjectType.title],
'dummy4',
'dummy5',
'dummy6',
[Proof.dummy()],
DefaultCredentialSubjectModel(
'dummy7',
'dummy8',
const Author(''),
),
[Translation('en', '')],
[Translation('en', '')],
CredentialStatusField.emptyCredentialStatusField(),
[Evidence.emptyEvidence()],
),
data: const {},
display: Display.emptyDisplay(),
image: '',
shareLink: '',
),
showBgDecoration: false,
),
)
: CredentialContainer(
child: DecoratedBox(
decoration: BoxDecoration(
image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage(discoverDummyCredential.image!),
),
),
child: AspectRatio(
aspectRatio: aspectRatio,
child: CustomMultiChildLayout(
delegate: CredentialBaseWidgetDelegate(position: Offset.zero),
children: [
if (title != null)
LayoutId(
id: 'title',
child: FractionallySizedBox(
widthFactor: 0.7,
heightFactor: 0.19,
child: Container(
alignment: Alignment.centerLeft,
child: MyText(
title,
style: Theme.of(context)
.textTheme
.identitiyBaseTitleText,
),
),
),
),
],
),
],
),
),
),
);
),
),
);
}
}
52 changes: 27 additions & 25 deletions lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -201,33 +201,33 @@ class QRCodeScanCubit extends Cubit<QRCodeScanState> {
/// getting list of all
state.uri?.queryParameters.forEach((key, value) => keys.add(key));

final OIDC4VCType currentOIIDC4VCType =
profileCubit.state.model.oidc4vcType;

/// checking if presentation prefix match for current OIDC4VC profile
if (!state.uri
.toString()
.startsWith(currentOIIDC4VCType.presentationPrefix)) {
emit(
state.error(
message: StateMessage.error(
messageHandler: ResponseMessage(
ResponseString
.RESPONSE_STRING_pleaseSwitchToCorrectOIDC4VCProfile,
),
showDialog: false,
duration: const Duration(seconds: 20),
),
),
);
return;
}

final bool isRequestPassedAsValue =
state.uri?.queryParameters['response_type'] != null;

/// verifier side (siopv2 oidc4vc) with request_uri as value
if (isRequestPassedAsValue) {
final OIDC4VCType currentOIIDC4VCType =
profileCubit.state.model.oidc4vcType;

/// checking if presentation prefix match for current OIDC4VC profile
if (!state.uri
.toString()
.startsWith(currentOIIDC4VCType.presentationPrefix)) {
emit(
state.error(
message: StateMessage.error(
messageHandler: ResponseMessage(
ResponseString
.RESPONSE_STRING_pleaseSwitchToCorrectOIDC4VCProfile,
),
showDialog: false,
duration: const Duration(seconds: 20),
),
),
);
return;
}

final responseType = state.uri?.queryParameters['response_type'] ?? '';

/// verifier side (OIDC4VP And siopv2) with request uri as value
Expand All @@ -236,7 +236,8 @@ class QRCodeScanCubit extends Cubit<QRCodeScanState> {
return;
}

if (state.uri.toString().startsWith('openid-vc://')) {
if (state.uri.toString().startsWith('openid-vc://') ||
uri.toString().startsWith('openid-hedera://')) {
if (responseType == 'id_token') {
/// verifier side (siopv2) with request uri as value
await launchSiopV2WithRequestUriAsValueFlow();
Expand Down Expand Up @@ -307,12 +308,13 @@ class QRCodeScanCubit extends Cubit<QRCodeScanState> {
// ),
// );
} else if (state.uri.toString().startsWith('openid://') ||
state.uri.toString().startsWith('openid-vc://')) {
state.uri.toString().startsWith('openid-vc://') ||
state.uri.toString().startsWith('openid-hedera://')) {
/// verifier side (siopv2 oidc4vc) with request_uri
await launchOIDC4VPAndSiopV2RequestAsURIFlow();
} else {
throw Exception();
emit(state.acceptHost(isRequestVerified: true));
}
} catch (e) {
log.e(e);
Expand Down
3 changes: 2 additions & 1 deletion lib/scan/cubit/scan_cubit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,8 @@ class ScanCubit extends Cubit<ScanState> {
return;
}

if (uri.toString().startsWith('openid-vc://')) {
if (uri.toString().startsWith('openid-vc://') ||
uri.toString().startsWith('openid-hedera://')) {
if (responseType == 'id_token') {
/// verifier side (siopv2) with request uri as value
throw Exception();
Expand Down

0 comments on commit fa725e6

Please sign in to comment.