Skip to content

Commit

Permalink
Merge branch 'october'
Browse files Browse the repository at this point in the history
  • Loading branch information
hawkbee1 committed Dec 4, 2024
2 parents 27bf683 + c314017 commit e6006a2
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,57 @@ class CredentialManifestOfferPickView extends StatefulWidget {

class _CredentialManifestOfferPickViewState
extends State<CredentialManifestOfferPickView> {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) {
final isVcSdJWT = context
.read<CredentialManifestPickCubit>()
.state
.filteredCredentialList
.firstOrNull
?.getFormat ==
VCFormatType.vcSdJWT.vcValue;
if (isVcSdJWT) {
final element = context
.read<CredentialManifestPickCubit>()
.state
.filteredCredentialList;
final containsSingleElement = element.isNotEmpty && element.length == 1;
if (containsSingleElement) {
final PresentationDefinition? presentationDefinition = context
.read<CredentialManifestPickCubit>()
.state
.presentationDefinition;
if (presentationDefinition != null) {
context.read<CredentialManifestPickCubit>().toggle(
index: 0,
inputDescriptor: presentationDefinition
.inputDescriptors[widget.inputDescriptorIndex],
isVcSdJWT: isVcSdJWT,
);

final credentialManifestState =
context.read<CredentialManifestPickCubit>().state;
final firstOne = credentialManifestState
.filteredCredentialList[credentialManifestState.selected.first];

Navigator.of(context).pushReplacement<void, void>(
SelectiveDisclosurePickPage.route(
uri: widget.uri,
issuer: widget.issuer,
credential: widget.credential,
inputDescriptorIndex: widget.inputDescriptorIndex,
credentialsToBePresented: widget.credentialsToBePresented,
presentationDefinition: presentationDefinition,
selectedCredential: firstOne,
),
);
}
}
}
});
}

@override
Widget build(BuildContext context) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import 'package:altme/app/app.dart';
import 'package:altme/dashboard/dashboard.dart';
import 'package:altme/lang/lang.dart';
import 'package:altme/selective_disclosure/selective_disclosure.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:oidc4vc/oidc4vc.dart';

class EmailPassWidget extends StatelessWidget {
const EmailPassWidget({super.key, required this.credentialModel});
Expand All @@ -11,11 +15,38 @@ class EmailPassWidget extends StatelessWidget {
Widget build(BuildContext context) {
final emailPassModel = credentialModel
.credentialPreview.credentialSubjectModel as EmailPassModel;

var emailAddress = emailPassModel.email;

if (credentialModel.getFormat == VCFormatType.vcSdJWT.vcValue &&
(emailAddress == null || emailAddress.isEmpty)) {
final languageCode = context.read<LangCubit>().state.locale.languageCode;
final mapToDisplay = SelectiveDisclosureDisplayMap(
credentialModel: credentialModel,
claims: null,
isPresentation: false,
languageCode: languageCode,
limitDisclosure: '',
filters: <String, dynamic>{},
isDeveloperMode:
context.read<ProfileCubit>().state.model.isDeveloperMode,
selectedClaimsKeyIds: <SelectedClaimsKeyIds>[],
onPressed: null,
).buildMap;

final email = mapToDisplay['Email'];
if (email != null && email is Map<String, dynamic>) {
final value = email['value'];

if (value != null) emailAddress = value.toString();
}
}

return CredentialBaseWidget(
cardBackgroundImagePath: ImageStrings.emailProof,
issuerName: credentialModel
.credentialPreview.credentialSubjectModel.issuedBy?.name,
value: emailPassModel.email,
value: emailAddress,
issuanceDate: UiDate.formatDateForCredentialCard(
credentialModel.credentialPreview.issuanceDate,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class MyBlockchainAccountBaseWidget extends StatelessWidget {
child: MyText(
walletAddress,
style: Theme.of(context).textTheme.bodyMedium!.copyWith(
color: Theme.of(context).colorScheme.onSurface,
color: Colors.white,
),
minFontSize: 8,
maxLines: 2,
Expand Down
2 changes: 2 additions & 0 deletions lib/selective_disclosure/selective_disclosure.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import 'package:altme/selective_disclosure/selective_disclosure.dart';
import 'package:json_path/json_path.dart';
import 'package:jwt_decode/jwt_decode.dart';
import 'package:oidc4vc/oidc4vc.dart';

export 'helper_functions/selective_disclosure_display_map.dart';
export 'model/model.dart';

class SelectiveDisclosure {
Expand Down

0 comments on commit e6006a2

Please sign in to comment.