From 8ab30df73871172155961a04c41011af0c50d022 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Thu, 4 Jul 2024 11:20:21 +0545 Subject: [PATCH 01/33] fix: Update account name instantly #2667 --- lib/dashboard/src/view/dashboard_page.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/dashboard/src/view/dashboard_page.dart b/lib/dashboard/src/view/dashboard_page.dart index 936af90f1..15d7fc147 100644 --- a/lib/dashboard/src/view/dashboard_page.dart +++ b/lib/dashboard/src/view/dashboard_page.dart @@ -6,6 +6,7 @@ import 'package:altme/dashboard/dashboard.dart'; import 'package:altme/enterprise/cubit/enterprise_cubit.dart'; import 'package:altme/kyc_verification/kyc_verification.dart'; import 'package:altme/l10n/l10n.dart'; +import 'package:altme/wallet/wallet.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; From 8025f0cac2dfb873df3297f8f8ebde04da6029d2 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Thu, 4 Jul 2024 11:29:23 +0545 Subject: [PATCH 02/33] linter update --- lib/dashboard/src/view/dashboard_page.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/dashboard/src/view/dashboard_page.dart b/lib/dashboard/src/view/dashboard_page.dart index 15d7fc147..936af90f1 100644 --- a/lib/dashboard/src/view/dashboard_page.dart +++ b/lib/dashboard/src/view/dashboard_page.dart @@ -6,7 +6,6 @@ import 'package:altme/dashboard/dashboard.dart'; import 'package:altme/enterprise/cubit/enterprise_cubit.dart'; import 'package:altme/kyc_verification/kyc_verification.dart'; import 'package:altme/l10n/l10n.dart'; -import 'package:altme/wallet/wallet.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; From ea678aeace7ea66e3646e8dc0c1cbf82488b7010 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Fri, 5 Jul 2024 11:23:17 +0545 Subject: [PATCH 03/33] feat: Add green color for card valid status #2764 --- lib/theme/app_theme/app_theme.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/theme/app_theme/app_theme.dart b/lib/theme/app_theme/app_theme.dart index 6de658ea6..6bd44e495 100644 --- a/lib/theme/app_theme/app_theme.dart +++ b/lib/theme/app_theme/app_theme.dart @@ -43,6 +43,9 @@ class AppTheme { seedColor: seedColor, brightness: brightness, dynamicSchemeVariant: DynamicSchemeVariant.fidelity, + surfaceTint: brightness == Brightness.dark + ? const Color(0xFF00FF00) + : const Color(0xFF00CC00), ), ); } From d35fdecf35ee1465fa615954025aad98afdc770e Mon Sep 17 00:00:00 2001 From: hawkbee1 Date: Sat, 6 Jul 2024 07:12:41 +0000 Subject: [PATCH 04/33] color adjustment --- lib/theme/app_theme/app_theme.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/theme/app_theme/app_theme.dart b/lib/theme/app_theme/app_theme.dart index 6bd44e495..6de658ea6 100644 --- a/lib/theme/app_theme/app_theme.dart +++ b/lib/theme/app_theme/app_theme.dart @@ -43,9 +43,6 @@ class AppTheme { seedColor: seedColor, brightness: brightness, dynamicSchemeVariant: DynamicSchemeVariant.fidelity, - surfaceTint: brightness == Brightness.dark - ? const Color(0xFF00FF00) - : const Color(0xFF00CC00), ), ); } From 78ba42d577bfc4a06beb6567881a0420ee39345c Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Mon, 8 Jul 2024 11:55:04 +0545 Subject: [PATCH 05/33] fix: Update display issue of sd selections #2777 --- .../widget/display_selective_disclosure.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/selective_disclosure/widget/display_selective_disclosure.dart b/lib/selective_disclosure/widget/display_selective_disclosure.dart index c94cc9d14..074f1b41a 100644 --- a/lib/selective_disclosure/widget/display_selective_disclosure.dart +++ b/lib/selective_disclosure/widget/display_selective_disclosure.dart @@ -180,7 +180,7 @@ class DisplaySelectiveDisclosure extends StatelessWidget { child: Row( crossAxisAlignment: CrossAxisAlignment.end, children: [ - Flexible( + Expanded( child: CredentialField( padding: EdgeInsets.only(top: isFirstElement ? 10 : 0), From 423c718558c52242c71d4ce1eeff77e95a23002d Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Mon, 8 Jul 2024 12:45:14 +0545 Subject: [PATCH 06/33] feat: Update ebsi logo to make light theme compatible #2775 --- assets/image/ebsi_logo.png | Bin 6561 -> 200816 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/image/ebsi_logo.png b/assets/image/ebsi_logo.png index e2c1f63c34458621c47985f8eed2b31bc025a248..3023dba8ffe21250f9f94e3db324e4816674f0d0 100644 GIT binary patch literal 200816 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

yAJp4 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 z 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%0AAU?w<*199gdM!+HQ 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 z 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 literal 6561 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 Tl0Ys=00000NkvXXu0mjf{Q}Zp From 7c0c833831063315849d33b87abff1334017c8d5 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Mon, 8 Jul 2024 17:10:22 +0545 Subject: [PATCH 07/33] feat: Use english for oidc4vc screen #2696 --- .../view/oidc4vc_settings_menu.dart | 12 +++--- .../widget/client_authentication_widget.dart | 8 ++-- .../widget/client_type_widget.dart | 6 +-- .../widget/confidential_client_widget.dart | 13 +++---- .../widget/cryptograhic_holder_binding.dart | 8 ++-- .../widget/did_key_type_widget.dart | 12 +++--- .../widget/draft_type_widget.dart | 4 +- .../widget/proof_header_widget.dart | 6 +-- .../widget/proof_type_widget.dart | 6 +-- .../widget/push_authorization_request.dart | 7 ++-- .../widget/scope_parameter.dart | 7 ++-- .../widget/security_level_widget.dart | 7 ++-- .../widget/status_list_caching_widget.dart | 6 +-- .../widget/vc_format_widget.dart | 6 +-- .../drawer/ssi/src/view/ssi_menu.dart | 2 +- lib/l10n/arb/app_ca.arb | 27 +------------ lib/l10n/arb/app_en.arb | 38 +++---------------- lib/l10n/arb/app_es.arb | 28 +------------- lib/l10n/arb/app_fr.arb | 18 +-------- lib/l10n/untranslated.json | 8 ---- 20 files changed, 53 insertions(+), 176 deletions(-) diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/view/oidc4vc_settings_menu.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/view/oidc4vc_settings_menu.dart index f0b5a6433..c712edd42 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/view/oidc4vc_settings_menu.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/view/oidc4vc_settings_menu.dart @@ -2,7 +2,6 @@ import 'dart:convert'; import 'package:altme/app/app.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; class Oidc4vcSettingMenu extends StatelessWidget { @@ -26,9 +25,8 @@ class Oidc4vcSettingMenuView extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BasePage( - title: l10n.oidc4vc_settings, + title: 'OIDC4VC Settings', useSafeArea: true, scrollView: true, titleAlignment: Alignment.topCenter, @@ -51,28 +49,28 @@ class Oidc4vcSettingMenuView extends StatelessWidget { const PushAuthorizationRequesWidget(), const StatusListCachingWidget(), DrawerItem( - title: l10n.walletMetadataForIssuers, + title: 'Wallet metadata for issuers', onTap: () { final value = const JsonEncoder.withIndent(' ').convert( ConstantsJson.walletMetadataForIssuers, ); Navigator.of(context).push( JsonViewerPage.route( - title: l10n.walletMetadataForIssuers, + title: 'Wallet metadata for issuers', data: value, ), ); }, ), DrawerItem( - title: l10n.walletMetadataForVerifiers, + title: 'Wallet metadata for verifiers', onTap: () { final value = const JsonEncoder.withIndent(' ').convert( ConstantsJson.walletMetadataForVerifiers, ); Navigator.of(context).push( JsonViewerPage.route( - title: l10n.walletMetadataForVerifiers, + title: 'Wallet metadata for verifiers', data: value, ), ); diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_authentication_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_authentication_widget.dart index e8148c8b4..4d19ad27f 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_authentication_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_authentication_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/app/shared/widget/divider_for_radio_list.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:oidc4vc/oidc4vc.dart'; @@ -11,12 +10,13 @@ class ClientAuthenticationWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.clientAuthenticationMethods, - subtitle: l10n.clientAuthenticationMethodsSubtitle, + title: 'Client Authentication Methods', + subtitle: + 'Default: Client id as DID or JWK\nSelect to other authentication' + ' methods if needed.', body: ListView.builder( itemCount: ClientAuthentication.values.length, shrinkWrap: true, diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_type_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_type_widget.dart index 097f5fea8..b13edcedd 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_type_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/client_type_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/app/shared/widget/divider_for_radio_list.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:oidc4vc/oidc4vc.dart'; @@ -11,12 +10,11 @@ class ClientTypeWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.clientTypeTitle, - subtitle: l10n.clientTypeSubtitle, + title: 'Wallet Client_id Scheme', + subtitle: 'Confidential Client', body: ListView.builder( itemCount: ClientType.values.length, shrinkWrap: true, diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/confidential_client_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/confidential_client_widget.dart index 50d68c5e1..51a6fa7ac 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/confidential_client_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/confidential_client_widget.dart @@ -1,6 +1,5 @@ import 'package:altme/app/shared/shared.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -10,7 +9,6 @@ class ConfidentialClientWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; final color = Theme.of(context).colorScheme.primary; final background = Theme.of(context).colorScheme.surface; final textColor = Theme.of(context).colorScheme.onSurface; @@ -30,7 +28,7 @@ class ConfidentialClientWidget extends StatelessWidget { final clientSecret = state.model.profileSetting .selfSovereignIdentityOptions.customOidc4vcProfile.clientSecret; return OptionContainer( - title: l10n.confidentialClient, + title: 'Confidential Client', body: Padding( padding: const EdgeInsets.symmetric(horizontal: 10), child: Column( @@ -86,7 +84,7 @@ class ConfidentialClientWidget extends StatelessWidget { height: Sizes.spaceNormal, ), MyElevatedButton( - text: l10n.confirm, + text: 'Confirm', verticalSpacing: 14, backgroundColor: color, borderRadius: Sizes.smallRadius, @@ -131,7 +129,7 @@ class ConfidentialClientWidget extends StatelessWidget { children: [ Expanded( child: Text( - '${l10n.clientId}: $clientId', + 'Client Id: $clientId', style: Theme.of(context).textTheme.titleMedium, ), ), @@ -196,7 +194,7 @@ class ConfidentialClientWidget extends StatelessWidget { height: Sizes.spaceNormal, ), MyElevatedButton( - text: l10n.confirm, + text: 'Confirm', verticalSpacing: 14, backgroundColor: color, borderRadius: Sizes.smallRadius, @@ -241,8 +239,7 @@ class ConfidentialClientWidget extends StatelessWidget { children: [ Expanded( child: Text( - '${l10n.clientSecret}: ' - '$clientSecret', + 'Client Secret: $clientSecret', style: Theme.of(context).textTheme.titleMedium, ), ), diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/cryptograhic_holder_binding.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/cryptograhic_holder_binding.dart index c5bb190b7..e7bccc67a 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/cryptograhic_holder_binding.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/cryptograhic_holder_binding.dart @@ -1,5 +1,4 @@ import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -8,12 +7,13 @@ class CryptographicHolderBindingWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.cryptographicHolderBinding, - subtitle: l10n.cryptographicHolderBindingSubtitle, + title: 'Cryptographic Holder Binding', + subtitle: + 'Default : On\nDisable cryptographic binding for claim based' + ' binding credentials.', body: Switch( onChanged: (value) async { await context.read().updateProfileSetting( diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/did_key_type_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/did_key_type_widget.dart index 4f09061a4..5c2012174 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/did_key_type_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/did_key_type_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/app/shared/widget/divider_for_radio_list.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:oidc4vc/oidc4vc.dart'; @@ -11,12 +10,11 @@ class DidKeyTypeWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.defaultDid, - subtitle: l10n.selectOneOfTheDid, + title: 'Default DID', + subtitle: 'Select one of the DIDs', body: ListView.builder( itemCount: DidKeyType.values.length, shrinkWrap: true, @@ -47,9 +45,9 @@ class DidKeyTypeWidget extends StatelessWidget { if (isldpVc && isUnmatchedDid) { showDialog( context: context, - builder: (context) => ErrorDetailsDialog( - erroDescription: - l10n.theLdpFormatIsNotSupportedByThisDIDMethod, + builder: (context) => const ErrorDetailsDialog( + erroDescription: 'The ldp_format is not supported' + ' by this DID method.', ), ); diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/draft_type_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/draft_type_widget.dart index 505694170..349ed25ae 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/draft_type_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/draft_type_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/app/shared/widget/divider_for_radio_list.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:oidc4vc/oidc4vc.dart'; @@ -13,10 +12,9 @@ class DraftTypeWidget extends StatelessWidget { Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { - final l10n = context.l10n; return OptionContainer( title: 'OIDC4VCI', - subtitle: l10n.protocoleStandardRelease, + subtitle: 'Protocole standard release', body: ListView.builder( itemCount: OIDC4VCIDraftType.values.length, shrinkWrap: true, diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_header_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_header_widget.dart index 56ac5496c..de7a74c0c 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_header_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_header_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/app/shared/widget/divider_for_radio_list.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:oidc4vc/oidc4vc.dart'; @@ -11,12 +10,11 @@ class ProofHeaderWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.proofHeader, - subtitle: l10n.proofHeaderSubtitle, + title: 'Proof of Possession Header', + subtitle: 'Default: kid\nSwitch if jwk is needed in header.', body: ListView.builder( itemCount: ProofHeaderType.values.length, shrinkWrap: true, diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_type_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_type_widget.dart index 9fa25ddfc..3da7d0b92 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_type_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/proof_type_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/app/shared/widget/divider_for_radio_list.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:oidc4vc/oidc4vc.dart'; @@ -11,12 +10,11 @@ class ProofTypeWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.proofType, - subtitle: l10n.proofTypeSubtitle, + title: 'OIDC4VCI Proof Type', + subtitle: 'Default: jwt\nSelect one of the proof type.', body: ListView.builder( itemCount: ProofType.values.length, shrinkWrap: true, diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/push_authorization_request.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/push_authorization_request.dart index 98b0b5cfb..3ad2e35ce 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/push_authorization_request.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/push_authorization_request.dart @@ -1,5 +1,4 @@ import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -8,12 +7,12 @@ class PushAuthorizationRequesWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.pushAuthorizationRequestTitle, - subtitle: l10n.pushAuthorizationRequestSubTitle, + title: 'Push Authorization Request (PAR)', + subtitle: + 'Default: false\nEnable to secure the authorization code flow', body: Switch( onChanged: (value) async { await context.read().updateProfileSetting( diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/scope_parameter.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/scope_parameter.dart index 8113bd563..be2f06a35 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/scope_parameter.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/scope_parameter.dart @@ -1,5 +1,4 @@ import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -8,12 +7,12 @@ class ScopeParameterWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.scopeParameters, - subtitle: l10n.scopeParametersSubtitle, + title: 'Scope Parameters', + subtitle: 'Default : Off\nEnable to force wallet to use scope' + ' instead of authorization_details.', body: Switch( onChanged: (value) async { await context.read().updateProfileSetting( diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/security_level_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/security_level_widget.dart index 890b526fa..9412985f0 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/security_level_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/security_level_widget.dart @@ -1,5 +1,4 @@ import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -8,12 +7,12 @@ class SecurityLevelWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.securityLevelTitle, - subtitle: l10n.securityLevelSubTitle, + title: 'Wallet Level', + subtitle: 'Default: Permissive\nSet to Strict to strengthen' + ' controls for issuers and verifiers', body: Switch( onChanged: (value) async { await context.read().updateProfileSetting( diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/status_list_caching_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/status_list_caching_widget.dart index 668dc317a..49991e815 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/status_list_caching_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/status_list_caching_widget.dart @@ -1,5 +1,4 @@ import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -8,12 +7,11 @@ class StatusListCachingWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.statusListCachingTitle, - subtitle: l10n.statusListCachingSubTitle, + title: 'StatusList caching', + subtitle: 'Default: On\nSwitch off to reload StatusList when needed', body: Switch( onChanged: (value) async { await context.read().updateProfileSetting( diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart index a38edcd4c..b71f67852 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/app/shared/widget/divider_for_radio_list.dart'; import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:oidc4vc/oidc4vc.dart'; @@ -11,12 +10,11 @@ class VCFormatWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; return BlocBuilder( builder: (context, state) { return OptionContainer( - title: l10n.vcFormatType, - subtitle: l10n.vcFormatTypeSubtitle, + title: 'VC Format"', + subtitle: 'Default: ldp_vc\nSelect one of the VC formats.', body: ListView.builder( itemCount: VCFormatType.values.length, shrinkWrap: true, diff --git a/lib/dashboard/drawer/ssi/src/view/ssi_menu.dart b/lib/dashboard/drawer/ssi/src/view/ssi_menu.dart index 1745f4584..4fef21980 100644 --- a/lib/dashboard/drawer/ssi/src/view/ssi_menu.dart +++ b/lib/dashboard/drawer/ssi/src/view/ssi_menu.dart @@ -76,7 +76,7 @@ class SSIView extends StatelessWidget { if (context.read().state.model.profileType == ProfileType.custom) ...[ DrawerItem( - title: l10n.oidc4vc_settings, + title: 'OIDC4VC Settings', onTap: () { Navigator.of(context).push(Oidc4vcSettingMenu.route()); }, diff --git a/lib/l10n/arb/app_ca.arb b/lib/l10n/arb/app_ca.arb index dbd8ba0eb..51969b41a 100644 --- a/lib/l10n/arb/app_ca.arb +++ b/lib/l10n/arb/app_ca.arb @@ -941,11 +941,8 @@ "theRequestIsRejected": "S’ha refusat la sol·licitud.", "userPinIsIncorrect": "PIN d’usuari incorrecte", "security_level": "Nivell de seguretat", - "oidc4vc_settings": "Configuració d’OIDC4VC", "userPinTitle": "Dígits PIN de l’usuari: codi_preautoritzat Flux", "userPinSubtitle": "Per defecte: 6 DÍGITS\nPermetre gestionar codi PIN de 4 dígits", - "securityLevelTitle": "Nivell de cartera", - "securityLevelSubTitle": "Per defecte: Permissiu\nCanvia a “Estricte” per reforçar els controls a emissors i verificadors", "responseTypeNotSupported": "Tipus de resposta no compatible", "invalidRequest": "Sol·licitud no vàlida", "subjectSyntaxTypeNotSupported": "Sintaxi del subjecte no compatible.", @@ -967,14 +964,6 @@ "selectOneOfTheDid": "Selecciona un dels DID", "subjectSyntaxType": "Tipus de sintaxis del subjecte", "enableToUseTheJWKThumprintOfTheKey": "Per defecte: DID\nPermet utilitzar l’empremta digital JWK de la clau", - "cryptographicHolderBinding": "Enllaç criptogràfic del titular", - "cryptographicHolderBindingSubtitle": "Per defecte: activat\nDesactivar l’autorització de credencials de portador per tiquets poc fiables.", - "scopeParameters": "Paràmetres d’àmbit", - "scopeParametersSubtitle": "Per defecte: desactivat\nActivar per forçar la cartera a utilitzar l’àmbit en lloc dels detalls_d’autorització.", - "clientAuthenticationMethods": "Mètodes d’autenticació del client", - "clientAuthenticationMethodsSubtitle": "Per defecte: Identificador del client com a DID o JWK\nSelecciona altres mètodes d’autenticació si és necessari.", - "vcFormatType": "Format VC", - "vcFormatTypeSubtitle": "Per defecte: ldp_vc\nSelecciona un dels formats VC.", "theServiceIsNotAvailable": "Servei no disponible", "issuerDID": "Emissor DID", "subjectDID": "Subjecte DID", @@ -1014,8 +1003,7 @@ "enterTheSecurityCode": "Indica el codi de seguretat", "yourEmail": "El teu correu electrònic", "publicKeyOfWalletInstance": "Clau pública de la instància de la cartera", - "walletInstanceKey": "Clau d’instància de la cartera", - "protocoleStandardRelease": "Llançament estàndard del protocol", + "walletInstanceKey": "Clau d’instància de la cartera", "organizationProfile": "Perfil de l’organització", "profileName": "Nom del perfil", "companyName": "Nom de l’empresa", @@ -1028,9 +1016,6 @@ "continueString": "Continuar", "walletProvider": "Proveïdor de cartera", "clientTypeSubtitle" : "Predeterminat: DID\nDesplaci per canviar el tipus de client", - "proofHeader" : "Capçalera de prova de possessió", - "proofHeaderSubtitle" : "Predeterminat: kid\nCanviar si es necessita JWK a la capçalera", - "theLdpFormatIsNotSupportedByThisDIDMethod": "El format LDP no és compatible amb aquest mètode DID", "switchOffCryptoHolderBindingForThatDIDMethod": "Desactivar la vinculació del titular (o posseïdor) de criptoactius per a aquest mètode DID", "thisTypeProofCannotBeUsedWithThisVCFormat": "Aquest tipus de prova no es pot fer servir amb aquest format de CV", "enterprise" : "Organització/Empresa", @@ -1041,27 +1026,17 @@ "successfullyAddedEnterpriseAccount": "Compte d'Organització/Empresa afegida amb èxit!", "successfullyUpdatedEnterpriseAccount" : "Compte d'Organització/Empresa actualitzada amb èxit!", "languageSelectorTitle": "catalan", - "proofType": "Tipus de prova OIDC4VCI", - "proofTypeSubtitle": "Predeterminat: jwt\nSeleccioneu un dels tipus de prova.", "thisWalleIsAlreadyConfigured": "Aquesta cartera ja està configurada", "walletSettings": "Configuració de la cartera", "walletSettingsDescription": "Trieu el vostre idioma", "phoneLanguage": "Idioma del telèfon", - "pushAuthorizationRequestTitle": "Sol·licitud d'autorització Push (PAR)", - "pushAuthorizationRequestSubTitle": "Predeterminat: false\nHabiliteu per assegurar el flux del codi d'autorització", "cardIsValid": "La targeta és vàlida", "cardIsExpired": "La targeta ha caducat", "signatureIsInvalid": "La signatura no és vàlida", "statusIsInvalid": "L'estat no és vàlid", "statuslListSignatureFailed": "Error en la signatura de la llista d'estats", - "walletMetadataForIssuers": "Metadades de la cartera per a emissors", - "walletMetadataForVerifiers": "Metadades de la cartera per a verificadors", - "statusListCachingTitle": "Emmagatzematge en memòria cau de la llista d'estat", - "statusListCachingSubTitle": "Predeterminat: Activat\nApagueu per recarregar la llista d'estats quan sigui necessari", "statusList": "Llista d'estats", "statusListIndex": "Índex de la llista d'estats", "theWalletIsSuspended": "La cartera està suspesa.", - "clientTypeTitle": "Esquema Client_id de la cartera", - "confidentialClient": "Client confidencial", "jwkThumbprintP256Key": "Empremta digital JWK P-256" } \ No newline at end of file diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 75aad955c..78d5a7598 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -935,12 +935,9 @@ "highSecurity": "High Security", "theRequestIsRejected": "The request is rejected.", "userPinIsIncorrect": "User PIN is incorrect", - "security_level": "Security Level", - "oidc4vc_settings": "OIDC4VC Settings", + "security_level": "Security Level", "userPinTitle": "User PIN Digits pre-authorized_code Flow", "userPinSubtitle": "Default: 6 digits\nEnable to manage 4 digits PIN code", - "securityLevelTitle": "Wallet Level", - "securityLevelSubTitle": "Default: Permissive\nSet to Strict to strengthen controls for issuers and verifiers", "responseTypeNotSupported": "The response type is not supported", "invalidRequest": "The request is invalid", "subjectSyntaxTypeNotSupported": "The subject syntax type is not supported.", @@ -959,15 +956,7 @@ "keyDecentralizedIDP256": "did:key P-256", "jwkDecentralizedIDP256": "JWK Thumbprint P-256", "defaultDid": "Default DID", - "selectOneOfTheDid": "Select one of the DIDs", - "cryptographicHolderBinding": "Cryptographic Holder Binding", - "cryptographicHolderBindingSubtitle": "Default : On\nDisable cryptographic binding for claim based binding credentials.", - "scopeParameters": "Scope Parameters", - "scopeParametersSubtitle": "Default : Off\nEnable to force wallet to use scope instead of authorization_details.", - "clientAuthenticationMethods": "Client Authentication Methods", - "clientAuthenticationMethodsSubtitle": "Default: Client id as DID or JWK\nSelect to other authentication methods if needed.", - "vcFormatType": "VC Format", - "vcFormatTypeSubtitle": "Default: ldp_vc\nSelect one of the VC formats.", + "selectOneOfTheDid": "Select one of the DIDs", "theServiceIsNotAvailable": "The service is not available", "issuerDID": "Issuer DID", "subjectDID": "Subject DID", @@ -1005,8 +994,7 @@ "enterTheSecurityCode": "Enter the security code", "yourEmail": "Your email", "publicKeyOfWalletInstance": "Public Key of Wallet Instance", - "walletInstanceKey": "Wallet Instance Key", - "protocoleStandardRelease": "Protocole standard release", + "walletInstanceKey": "Wallet Instance Key", "organizationProfile": "Organization Profile", "profileName": "Profile Name", "companyName": "Company Name", @@ -1019,9 +1007,6 @@ "continueString": "Continue", "walletProvider": "Wallet Provider", "clientTypeSubtitle": "Default: DID\nSwitch to change the client type", - "proofHeader": "Proof of Possession Header", - "proofHeaderSubtitle": "Default: kid\nSwitch if jwk is needed in header.", - "theLdpFormatIsNotSupportedByThisDIDMethod": "The ldp_format is not supported by this DID method.", "thisTypeProofCannotBeUsedWithThisVCFormat": "This type proof cannot be used with this VC Format.", "enterprise": "Enterprise", "oWFBaselineProfile": "OWF Baseline Profile", @@ -1030,8 +1015,6 @@ "blockchainCardsDiscoverSubtitle": "Get a proof of crypto account ownership.", "successfullyAddedEnterpriseAccount": "Successfully added enterprise account!", "successfullyUpdatedEnterpriseAccount": "Successfully updated enterprise account!", - "proofType": "OIDC4VCI Proof Type", - "proofTypeSubtitle": "Default: jwt\nSelect one of the proof type.", "thisWalleIsAlreadyConfigured": "This wallet is already configured", "walletSettings": "Wallet Settings", "walletSettingsDescription": "Choose your language and theme", @@ -1040,23 +1023,15 @@ "spanish": "Español", "catalan": "Català", "english": "English", - "phoneLanguage": "Phone language", - "pushAuthorizationRequestTitle": "Push Authorization Request (PAR)", - "pushAuthorizationRequestSubTitle": "Default: false\nEnable to secure the authorization code flow", + "phoneLanguage": "Phone language", "cardIsValid": "Card is valid", "cardIsExpired": "Card is expired", "signatureIsInvalid": "Signature is invalid", "statusIsInvalid": "Status is invalid", - "statuslListSignatureFailed": "Status list signature failed", - "walletMetadataForIssuers": "Wallet metadata for issuers", - "walletMetadataForVerifiers": "Wallet metadata for verifiers", - "statusListCachingTitle": "StatusList caching", - "statusListCachingSubTitle": "Default: On\nSwitch off to reload StatusList when needed", + "statuslListSignatureFailed": "Status list signature failed", "statusList": "Status list", "statusListIndex": "Status list index", - "theWalletIsSuspended": "The wallet is suspended.", - "clientTypeTitle": "Wallet Client_id Scheme", - "confidentialClient": "Confidential Client", + "theWalletIsSuspended": "The wallet is suspended.", "jwkThumbprintP256Key": "did:jwk P-256", "walletBlockedPopupTitle": "Blockerd 10 minutes", "walletBlockedPopupDescription": "Too many failed attempts, your wallet is blocked for your security.\nYou can reset your wallet in order to use servives again.", @@ -1083,5 +1058,4 @@ "darkThemeText": "Dark Theme", "lightThemeText": "Light Theme", "systemThemeText": "Phone Theme" - } diff --git a/lib/l10n/arb/app_es.arb b/lib/l10n/arb/app_es.arb index e1307f826..b0dd0c0c8 100644 --- a/lib/l10n/arb/app_es.arb +++ b/lib/l10n/arb/app_es.arb @@ -941,11 +941,8 @@ "theRequestIsRejected": "Se ha rechazado la solicitud.", "userPinIsIncorrect": "El PIN de usuario es incorrecto", "security_level": "Nivel de seguridad", - "oidc4vc_settings": "Configuración de OIDC4VC", "userPinTitle": "Flujo de dígitos del PIN de usuario pre-authorized_code", "userPinSubtitle": "Predeterminado: 6 dígitos\nActivar para administrar el código PIN de 4 dígitos", - "securityLevelTitle": "Nivel de cartera", - "securityLevelSubTitle": "Predeterminado: Permisivo\nDefina Estricto para fortalecer controles para emisores y verificadores.", "responseTypeNotSupported": "El tipo de respuesta no es compatible", "invalidRequest": "La solicitud no es válida", "subjectSyntaxTypeNotSupported": "El tipo de sintaxis de sujeto no es compatible.", @@ -967,14 +964,6 @@ "selectOneOfTheDid": "Seleccione uno de los DID", "subjectSyntaxType": "Tipo de sintaxis de sujeto", "enableToUseTheJWKThumprintOfTheKey": "Predeterminado: DID\nActívelo para utilizar la huella digital JWK de la llave", - "cryptographicHolderBinding": "Enlace de titular criptográfico", - "cryptographicHolderBindingSubtitle": "Predeterminado: Activado\nDesactívelo para aceptar credenciales de portador como tickets de seguridad baja.", - "scopeParameters": "Parámetros de ámbito", - "scopeParametersSubtitle": "Predeterminado: Desactivado\nActívelo para que la cartera utilice el ámbito en vez de authorization_details.", - "clientAuthenticationMethods": "Métodos de autenticación de cliente", - "clientAuthenticationMethodsSubtitle": "Predeterminado: ID de cliente como DID o JWK\nSeleccione otros métodos de autenticación si es necesario.", - "vcFormatType": "Formato VC", - "vcFormatTypeSubtitle": "Predeterminado: ldp_vc\nSeleccione uno de los formatos VC.", "theServiceIsNotAvailable": "Este servicio no está disponible", "issuerDID": "DID de emisor", "subjectDID": "DID de sujeto", @@ -1014,8 +1003,7 @@ "enterTheSecurityCode": "Escriba el código de seguridad", "yourEmail": "Su email", "publicKeyOfWalletInstance": "Clave pública de instancia de cartera", - "walletInstanceKey": "Clave de instancia de cartera", - "protocoleStandardRelease": "Versión estándar de protocolo", + "walletInstanceKey": "Clave de instancia de cartera", "organizationProfile": "Perfil de organización", "profileName": "Nombre de perfil", "companyName": "Nombre de la empresa", @@ -1028,9 +1016,6 @@ "continueString": "Continuar", "walletProvider": "Proveedor de cartera", "clientTypeSubtitle" : "Predeterminado: DID\nDesplace para cambiar el tipo de cliente", - "proofHeader" : "Encabezado de Prueba de Posesión", - "proofHeaderSubtitle" : "Predeterminado: kid\nCambiar si necesita JWK en el encabezado.", - "theLdpFormatIsNotSupportedByThisDIDMethod": "El formato LDP no es compatible con este método DID.", "switchOffCryptoHolderBindingForThatDIDMethod": "Desactivar la vinculación del titular (o poseedor) de criptoactivos para ese método DID", "thisTypeProofCannotBeUsedWithThisVCFormat": "Este tipo de prueba no se puede utilizar con este formato de CV.", "enterprise" : "Organización/Empresa", @@ -1041,28 +1026,17 @@ "successfullyAddedEnterpriseAccount":"¡Cuenta de Organización/Empresa añadida con éxito!", "successfullyUpdatedEnterpriseAccount": "¡Cuenta de Organiza ción/Empresa actualizada con éxito!", "languageSelectorTitle": "espagnol", - "proofType": "Tipo de prueba OIDC4VCI", - "proofTypeSubtitle": "Predeterminado: jwt\nSeleccione uno de los tipos de prueba.", "thisWalleIsAlreadyConfigured": "Esta cartera digital ya está configurada", "walletSettings": "Configuración de la cartera digital", "walletSettingsDescription": "Elige tu idioma", "phoneLanguage": "Idioma del teléfono", - "pushAuthorizationRequestTitle": "Solicitud de Autorización Push (PAR)", - "pushAuthorizationRequestSubTitle": "Predeterminado: false\nHabilitar para asegurar el flujo del código de autorización", "cardIsValid": "La tarjeta es válida", "cardIsExpired": "La tarjeta ha caducado", "signatureIsInvalid": "La firma no es válida", "statusIsInvalid": "El estado no es válido", "statuslListSignatureFailed": "Error en la firma de la lista de estado", - "walletMetadataForIssuers": "Metadatos de la cartera para emisores", - "walletMetadataForVerifiers": "Metadatos de la cartera para verificadores", - "statusListCachingTitle": "Almacenamiento en memoria caché de la lista de estados", - "statusListCachingSubTitle": "Predeterminado: Activado\nApague para recargar la lista de estados cuando sea necesario", "statusList": "Lista de estados", "statusListIndex": "Índice de lista de estados", "theWalletIsSuspended": "La cartera digital está suspendida.", - "clientTypeTitle": "Esquema Client_id de la cartera digital", - "confidentialClient": "Cliente confidencial", "jwkThumbprintP256Key": "Huella digital JWK P-256" - } \ No newline at end of file diff --git a/lib/l10n/arb/app_fr.arb b/lib/l10n/arb/app_fr.arb index 6af25f4cf..93de97dcc 100644 --- a/lib/l10n/arb/app_fr.arb +++ b/lib/l10n/arb/app_fr.arb @@ -941,11 +941,8 @@ "theRequestIsRejected": "La demande est rejetée.", "userPinIsIncorrect": "Le code PIN utilisateur est incorrect", "security_level": "Niveau de Sécurité", - "oidc4vc_settings": "Paramètres OIDC4VC", "userPinTitle": "User PIN Digits pre-authorized_code Flow", "userPinSubtitle": "Par défaut : 6 chiffres\nActivez pour avoir un code PIN à 4 chiffres", - "securityLevelTitle": "Niveau du Portefeuille", - "securityLevelSubTitle": "Default: Permissive\nSet to Strict to strengthen controls for issuers and verifiers", "responseTypeNotSupported": "Le type de réponse n'est pas pris en charge", "invalidRequest": "La demande n'est pas valide", "subjectSyntaxTypeNotSupported": "Le type de syntaxe n'est pas pris en charge.", @@ -966,16 +963,6 @@ "defaultDid": "DID par Défaut", "selectOneOfTheDid": "Sélectionnez l'un des DIDs", "clientTypeSubtitle": "Par défaut : DID\nSwitch pour changer le type de client", - "cryptographicHolderBinding": "Liaison du Titulaire Cryptographique", - "cryptographicHolderBindingSubtitle": "Par défaut : On\nDisable cryptographic binding for claim based binding credentials.", - "scopeParameters": "Paramètres", - "scopeParametersSubtitle": "Off\nEnable to force wallet to use scope instead of authorization_details.", - "clientAuthenticationMethods": "Méthodes d'authentification", - "clientAuthenticationMethodsSubtitle": "Default: Client id as DID or JWK\nSelect to other authentication methods if needed.", - "vcFormatType": "Type de Format de VC", - "vcFormatTypeSubtitle": "Par défaut : ldp_vc\nSélectionnez l'un des formats VC.", - "proofHeader": "Type de Preuve OIDC4VCI Jwt", - "proofHeaderSubtitle": "Par défaut : kid\nChangez si un JWK est nécessaire dans l'en-tête.", "theServiceIsNotAvailable": "Le service n'est pas disponible", "issuerDID": "DID de l'Émetteur", "subjectDID": "DID du Sujet", @@ -1015,8 +1002,7 @@ "enterTheSecurityCode": "Entrez le code de sécurité", "yourEmail": "Votre email", "publicKeyOfWalletInstance": "Clé Publique de l'Instance de Portefeuille", - "walletInstanceKey": "Clé d'instance du portefeuille", - "protocoleStandardRelease": "Publication standard du protocole", + "walletInstanceKey": "Clé d'instance du portefeuille", "organizationProfile": "Profil de l'organisation", "profileName": "Nom du profil", "companyName": "Nom de l'entreprise", @@ -1037,8 +1023,6 @@ "blockchainCardsDiscoverSubtitle": "Prouvez que vous possédez un compte crypto.", "successfullyAddedEnterpriseAccount": "Compte entreprise ajouté avec succès !", "successfullyUpdatedEnterpriseAccount": "Compte entreprise mis à jour avec succès !", - "proofType": "Type de preuve OIDC4VCI", - "proofTypeSubtitle": "Par défault: jwt\nSéléctionnez un type de preuve.", "thisWalleIsAlreadyConfigured": "Ce wallet est déjà configuré", "walletSettings": "Paramètres du wallet", "walletSettingsDescription": "Choisissez votre langue", diff --git a/lib/l10n/untranslated.json b/lib/l10n/untranslated.json index 44852abd9..4577f5458 100644 --- a/lib/l10n/untranslated.json +++ b/lib/l10n/untranslated.json @@ -44,22 +44,14 @@ ], "fr": [ - "pushAuthorizationRequestTitle", - "pushAuthorizationRequestSubTitle", "cardIsValid", "cardIsExpired", "signatureIsInvalid", "statusIsInvalid", "statuslListSignatureFailed", - "walletMetadataForIssuers", - "walletMetadataForVerifiers", - "statusListCachingTitle", - "statusListCachingSubTitle", "statusList", "statusListIndex", "theWalletIsSuspended", - "clientTypeTitle", - "confidentialClient", "jwkThumbprintP256Key", "walletBlockedPopupTitle", "walletBlockedPopupDescription", From d1c772466cbc6b81f9332f8fc6d1d6c799be4079 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 9 Jul 2024 10:22:12 +0545 Subject: [PATCH 08/33] version update to 2.9.1+470 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index f13a5092e..37332ee61 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: altme description: AltMe Flutter App -version: 2.9.0+469 +version: 2.9.1+470 publish_to: "none" # Remove this line if you wish to publish to pub.dev environment: sdk: ">=3.1.0 <4.0.0" From 5b7dd05acd9ae813acfc9b7ba8ab5bd34aa447dc Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 9 Jul 2024 17:51:08 +0545 Subject: [PATCH 09/33] fix: Avoid double scan to get and present #2668 --- lib/credentials/cubit/credentials_cubit.dart | 9 + .../verify_age/view/camera_page.dart | 1 + lib/dashboard/home/home/cubit/home_cubit.dart | 5 + .../detail/view/credentials_details_page.dart | 2 + .../helper_functions/discover_credential.dart | 2 + .../view/oid4c4vc_credential_pick_page.dart | 2 + .../polygon_id_credential_offer_view.dart | 4 +- .../view/credentials_receive_page.dart | 13 +- .../view/missing_credentials_page.dart | 3 +- .../cubit/qr_code_scan_cubit.dart | 218 ++++++++++++------ .../qr_code_scan/view/qr_code_scan_page.dart | 7 +- .../self_issued_credential_button_cubit.dart | 3 + lib/enterprise/cubit/enterprise_cubit.dart | 8 +- lib/oidc4vc/add_credential_data.dart | 3 + lib/oidc4vc/add_oidc4vc_credential.dart | 4 +- .../get_and_add_deffered_credential.dart | 2 + .../initiate_oidv4vc_credential_issuance.dart | 2 + lib/polygon_id/cubit/polygon_id_cubit.dart | 7 +- lib/scan/cubit/scan_cubit.dart | 5 +- lib/splash/bloclisteners/blocklisteners.dart | 4 +- lib/splash/view/splash_page.dart | 5 +- 21 files changed, 221 insertions(+), 88 deletions(-) diff --git a/lib/credentials/cubit/credentials_cubit.dart b/lib/credentials/cubit/credentials_cubit.dart index 1176414a9..a484ae69e 100644 --- a/lib/credentials/cubit/credentials_cubit.dart +++ b/lib/credentials/cubit/credentials_cubit.dart @@ -112,6 +112,7 @@ class CredentialsCubit extends Cubit { Future addWalletCredential({ required BlockchainType? blockchainType, + required QRCodeScanCubit qrCodeScanCubit, }) async { final log = getLogger('addRequiredCredentials'); @@ -175,6 +176,7 @@ class CredentialsCubit extends Cubit { credential: walletCredential, showMessage: false, blockchainType: blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); } } @@ -261,6 +263,7 @@ class CredentialsCubit extends Cubit { Future insertCredential({ required CredentialModel credential, required BlockchainType? blockchainType, + required QRCodeScanCubit qrCodeScanCubit, bool showMessage = true, bool showStatus = true, bool isPendingCredential = false, @@ -335,6 +338,10 @@ class CredentialsCubit extends Cubit { : null, ), ); + + if (qrCodeScanCubit.missingCredentialCompleter != null) { + qrCodeScanCubit.missingCredentialCompleter!.complete(true); + } } void enableCredentialCategory({required CredentialCategory category}) { @@ -503,6 +510,7 @@ class CredentialsCubit extends Cubit { Future insertAssociatedWalletCredential({ required CryptoAccountData cryptoAccountData, + required QRCodeScanCubit qrCodeScanCubit, }) async { final supportAssociatedCredential = supportCryptoCredential(profileCubit.state.model); @@ -549,6 +557,7 @@ class CredentialsCubit extends Cubit { await insertCredential( credential: credential, blockchainType: cryptoAccountData.blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); } } diff --git a/lib/dashboard/ai_age_verification/verify_age/view/camera_page.dart b/lib/dashboard/ai_age_verification/verify_age/view/camera_page.dart index 636d7a9c3..8a358c7a9 100644 --- a/lib/dashboard/ai_age_verification/verify_age/view/camera_page.dart +++ b/lib/dashboard/ai_age_verification/verify_age/view/camera_page.dart @@ -127,6 +127,7 @@ class _CameraViewState extends State { .currentAccount! .blockchainType, vcFormatType: customOidc4vcProfile.vcFormatType, + qrCodeScanCubit: context.read(), ); LoadingView().hide(); await Navigator.pushReplacement( diff --git a/lib/dashboard/home/home/cubit/home_cubit.dart b/lib/dashboard/home/home/cubit/home_cubit.dart index e40e10b81..e72b4f464 100644 --- a/lib/dashboard/home/home/cubit/home_cubit.dart +++ b/lib/dashboard/home/home/cubit/home_cubit.dart @@ -5,6 +5,7 @@ import 'package:altme/app/app.dart'; import 'package:altme/credentials/credentials.dart'; import 'package:altme/dashboard/dashboard.dart'; import 'package:altme/dashboard/home/tab_bar/credentials/models/activity/activity.dart'; +import 'package:altme/dashboard/qr_code/qr_code.dart'; import 'package:bloc/bloc.dart'; import 'package:credential_manifest/credential_manifest.dart'; import 'package:crypto/crypto.dart'; @@ -44,6 +45,7 @@ class HomeCubit extends Cubit { required OIDC4VCIDraftType oidc4vciDraftType, required BlockchainType blockchainType, required VCFormatType vcFormatType, + required QRCodeScanCubit qrCodeScanCubit, }) async { // launch url to get Over18, Over15, Over13,Over21,Over50,Over65, // AgeRange Credentials @@ -101,6 +103,7 @@ class HomeCubit extends Cubit { oidc4vciDraftType: oidc4vciDraftType, blockchainType: blockchainType, vcFormatType: vcFormatType, + qrCodeScanCubit: qrCodeScanCubit, ); await ageEstimate( @@ -160,6 +163,7 @@ class HomeCubit extends Cubit { required OIDC4VCIDraftType oidc4vciDraftType, required BlockchainType blockchainType, required VCFormatType vcFormatType, + required QRCodeScanCubit qrCodeScanCubit, }) async { /// if credential of this type is already in the wallet do nothing /// Ensure credentialType = name of credential type in CredentialModel @@ -216,6 +220,7 @@ class HomeCubit extends Cubit { credential: credentialModel, showMessage: true, blockchainType: blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); await cameraCubit.incrementAcquiredCredentialsQuantity(); emit(state.copyWith(status: AppStatus.success)); diff --git a/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart b/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart index aaaabc18e..3c4235bdb 100644 --- a/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart +++ b/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart @@ -468,6 +468,8 @@ class _CredentialsDetailsViewState extends State { .read() .startOIDC4VCDeferedCredentialIssuance( credentialModel: widget.credentialModel, + qrCodeScanCubit: + context.read(), ); }, ), diff --git a/lib/dashboard/home/tab_bar/credentials/helper_functions/discover_credential.dart b/lib/dashboard/home/tab_bar/credentials/helper_functions/discover_credential.dart index 11fa32783..79d062db2 100644 --- a/lib/dashboard/home/tab_bar/credentials/helper_functions/discover_credential.dart +++ b/lib/dashboard/home/tab_bar/credentials/helper_functions/discover_credential.dart @@ -15,12 +15,14 @@ Future discoverCredential({ if (dummyCredential.credentialSubjectType.isBlockchainAccount) { final credentialCubit = context.read(); final walletCubit = context.read(); + final qrCodeScanCubit = context.read(); final cryptoAccountData = walletCubit.state.currentAccount; if (cryptoAccountData != null) { await credentialCubit.insertAssociatedWalletCredential( cryptoAccountData: cryptoAccountData, + qrCodeScanCubit: qrCodeScanCubit, ); } diff --git a/lib/dashboard/home/tab_bar/credentials/oid4c4vc_pick/oid4c4vc_credential_pick/view/oid4c4vc_credential_pick_page.dart b/lib/dashboard/home/tab_bar/credentials/oid4c4vc_pick/oid4c4vc_credential_pick/view/oid4c4vc_credential_pick_page.dart index 033ae203e..97e94a9c8 100644 --- a/lib/dashboard/home/tab_bar/credentials/oid4c4vc_pick/oid4c4vc_credential_pick/view/oid4c4vc_credential_pick_page.dart +++ b/lib/dashboard/home/tab_bar/credentials/oid4c4vc_pick/oid4c4vc_credential_pick/view/oid4c4vc_credential_pick_page.dart @@ -199,6 +199,8 @@ class Oidc4vcCredentialPickView extends StatelessWidget { preAuthorizedCode: preAuthorizedCode, isEBSIV3: isEBSIV3, credentialOfferJson: credentialOfferJson, + qrCodeScanCubit: + context.read(), ); }, text: l10n.proceed, diff --git a/lib/dashboard/home/tab_bar/credentials/polygon_id/polygon_id_credential_offer/view/polygon_id_credential_offer_view.dart b/lib/dashboard/home/tab_bar/credentials/polygon_id/polygon_id_credential_offer/view/polygon_id_credential_offer_view.dart index c67074da1..eb56b2380 100644 --- a/lib/dashboard/home/tab_bar/credentials/polygon_id/polygon_id_credential_offer/view/polygon_id_credential_offer_view.dart +++ b/lib/dashboard/home/tab_bar/credentials/polygon_id/polygon_id_credential_offer/view/polygon_id_credential_offer_view.dart @@ -146,7 +146,9 @@ class PolygonIdCredentialOfferPage extends StatelessWidget { context: context, localAuthApi: LocalAuthApi(), onSuccess: () { - context.read().addPolygonIdCredentials(); + context.read().addPolygonIdCredentials( + qrCodeScanCubit: context.read(), + ); }, ); }, diff --git a/lib/dashboard/home/tab_bar/credentials/receive/view/credentials_receive_page.dart b/lib/dashboard/home/tab_bar/credentials/receive/view/credentials_receive_page.dart index 86dc3018f..415e3f903 100644 --- a/lib/dashboard/home/tab_bar/credentials/receive/view/credentials_receive_page.dart +++ b/lib/dashboard/home/tab_bar/credentials/receive/view/credentials_receive_page.dart @@ -143,12 +143,13 @@ class _CredentialsReceivePageState extends State { ); } else { context.read().credentialOfferOrPresent( - uri: widget.uri, - credentialModel: credentialModel, - keyId: SecureStorageKeys.ssiKey, - issuer: widget.issuer, - credentialsToBePresented: [], - ); + uri: widget.uri, + credentialModel: credentialModel, + keyId: SecureStorageKeys.ssiKey, + issuer: widget.issuer, + credentialsToBePresented: [], + qrCodeScanCubit: context.read(), + ); } }, ), diff --git a/lib/dashboard/missing_creentials/view/missing_credentials_page.dart b/lib/dashboard/missing_creentials/view/missing_credentials_page.dart index 11f226f67..cd3d4c789 100644 --- a/lib/dashboard/missing_creentials/view/missing_credentials_page.dart +++ b/lib/dashboard/missing_creentials/view/missing_credentials_page.dart @@ -62,7 +62,6 @@ class MissingCredentialsView extends StatelessWidget { Widget build(BuildContext context) { final l10n = context.l10n; - return BlocBuilder( builder: (context, state) { return BasePage( @@ -123,7 +122,7 @@ class MissingCredentialsView extends StatelessWidget { ), ); } - Navigator.pop(context); + Navigator.pop(context, true); }, text: l10n.getItNow, ), diff --git a/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart b/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart index 7d1045ba4..c309c292b 100644 --- a/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart +++ b/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart @@ -72,7 +72,10 @@ class QRCodeScanCubit extends Cubit { return super.close(); } - Future process({required String? scannedResponse}) async { + Future process({ + required String? scannedResponse, + required QRCodeScanCubit qrCodeScanCubit, + }) async { log.i('processing scanned qr code - $scannedResponse'); goBack(); await Future.delayed(const Duration(milliseconds: 1000)); @@ -114,7 +117,10 @@ class QRCodeScanCubit extends Cubit { /// enterprise final uri = Uri.parse(scannedResponse); emit(state.copyWith(qrScanStatus: QrScanStatus.goBack)); - await enterpriseCubit.requestTheConfiguration(uri); + await enterpriseCubit.requestTheConfiguration( + uri: uri, + qrCodeScanCubit: qrCodeScanCubit, + ); } else { final uri = Uri.parse(scannedResponse); await verify(uri: uri); @@ -214,6 +220,7 @@ class QRCodeScanCubit extends Cubit { required OpenIdConfiguration? openIdConfiguration, required String? issuer, required String? preAuthorizedCode, + required Uri uri, OIDC4VCType? oidcType, }) async { emit(state.loading()); @@ -221,8 +228,11 @@ class QRCodeScanCubit extends Cubit { late final dynamic data; + final customOidc4vcProfile = profileCubit.state.model.profileSetting + .selfSovereignIdentityOptions.customOidc4vcProfile; + try { - if (isOIDC4VCIUrl(state.uri!) && oidcType != null) { + if (isOIDC4VCIUrl(uri) && oidcType != null) { /// issuer side (oidc4VCI) if (issuer == null) { @@ -235,11 +245,10 @@ class QRCodeScanCubit extends Cubit { } await startOIDC4VCCredentialIssuance( - scannedResponse: state.uri.toString(), + scannedResponse: uri.toString(), isEBSIV3: oidcType == OIDC4VCType.EBSIV3, qrCodeScanCubit: qrCodeScanCubit, - oidc4vciDraftType: profileCubit.state.model.profileSetting - .selfSovereignIdentityOptions.customOidc4vcProfile.oidc4vciDraft, + oidc4vciDraftType: customOidc4vcProfile.oidc4vciDraft, credentialOfferJson: credentialOfferJson, openIdConfiguration: openIdConfiguration, issuer: issuer, @@ -248,13 +257,13 @@ class QRCodeScanCubit extends Cubit { return; } - if (isSIOPV2OROIDC4VPUrl(state.uri!)) { - await startSIOPV2OIDC4VPProcess(state.uri!); + if (isSIOPV2OROIDC4VPUrl(uri)) { + await startSIOPV2OIDC4VPProcess(uri); return; } /// did credential addition and presentation - final dynamic response = await client.get(state.uri!.toString()); + final dynamic response = await client.get(uri.toString()); data = response is String ? jsonDecode(response) : response; log.i('data - $data'); @@ -266,11 +275,11 @@ class QRCodeScanCubit extends Cubit { ); final PresentationDefinition? presentationDefinition = credentialManifest.presentationDefinition; + final isPresentable = await isVCPresentable( presentationDefinition: presentationDefinition, clientMetaData: null, - vcFormatType: profileCubit.state.model.profileSetting - .selfSovereignIdentityOptions.customOidc4vcProfile.vcFormatType, + vcFormatType: customOidc4vcProfile.vcFormatType, ); if (!isPresentable) { @@ -282,7 +291,30 @@ class QRCodeScanCubit extends Cubit { ), ), ); - return; + + missingCredentialCompleter = Completer(); + final value = await missingCredentialCompleter!.future; + missingCredentialCompleter = null; + + if (value) { + final isPresentable = await isVCPresentable( + presentationDefinition: presentationDefinition, + clientMetaData: null, + vcFormatType: customOidc4vcProfile.vcFormatType, + ); + + if (!isPresentable) { + throw ResponseMessage( + message: ResponseString + .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, + ); + } + } else { + throw ResponseMessage( + message: ResponseString + .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, + ); + } } } @@ -293,7 +325,7 @@ class QRCodeScanCubit extends Cubit { state.copyWith( qrScanStatus: QrScanStatus.success, route: CredentialsReceivePage.route( - uri: state.uri!, + uri: uri, preview: data as Map, issuer: approvedIssuer, ), @@ -316,14 +348,9 @@ class QRCodeScanCubit extends Cubit { final isPresentable = await isCredentialPresentable( credentialSubjectType: credentialSubjectType, - vcFormatType: profileCubit - .state - .model - .profileSetting - .selfSovereignIdentityOptions - .customOidc4vcProfile - .vcFormatType, + vcFormatType: customOidc4vcProfile.vcFormatType, ); + if (!isPresentable) { emit( state.copyWith( @@ -331,49 +358,70 @@ class QRCodeScanCubit extends Cubit { route: MissingCredentialsPage.route(query: query), ), ); - return; - } - } - queryByExampleCubit.setQueryByExampleCubit(query); + missingCredentialCompleter = Completer(); + final value = await missingCredentialCompleter!.future; + missingCredentialCompleter = null; - log.i(data['query']); - if (data['query'].first['type'] == 'DIDAuth') { - log.i('DIDAuth'); - await scanCubit.askPermissionDIDAuthCHAPI( - keyId: SecureStorageKeys.ssiKey, - done: (done) { - log.i('done'); - }, - uri: state.uri!, - challenge: data['challenge'] as String, - domain: data['domain'] as String, - ); - emit(state.copyWith(qrScanStatus: QrScanStatus.idle)); - } else if (data['query'].first['type'] == 'QueryByExample') { - log.i('QueryByExample'); - emit( - state.copyWith( - qrScanStatus: QrScanStatus.success, - route: QueryByExamplePresentPage.route( - uri: state.uri!, - preview: data as Map, - issuer: approvedIssuer, + if (value) { + final isPresentable = await isCredentialPresentable( + credentialSubjectType: credentialSubjectType, + vcFormatType: customOidc4vcProfile.vcFormatType, + ); + if (!isPresentable) { + throw ResponseMessage( + message: ResponseString + .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, + ); + } + } else { + throw ResponseMessage( + message: ResponseString + .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, + ); + } + } + + queryByExampleCubit.setQueryByExampleCubit(query); + + log.i(data['query']); + if (data['query'].first['type'] == 'DIDAuth') { + log.i('DIDAuth'); + await scanCubit.askPermissionDIDAuthCHAPI( + keyId: SecureStorageKeys.ssiKey, + done: (done) { + log.i('done'); + }, + uri: uri, + challenge: data['challenge'] as String, + domain: data['domain'] as String, + ); + emit(state.copyWith(qrScanStatus: QrScanStatus.idle)); + } else if (data['query'].first['type'] == 'QueryByExample') { + log.i('QueryByExample'); + emit( + state.copyWith( + qrScanStatus: QrScanStatus.success, + route: QueryByExamplePresentPage.route( + uri: uri, + preview: data as Map, + issuer: approvedIssuer, + ), ), - ), - ); - } else { - throw ResponseMessage( - message: - ResponseString.RESPONSE_STRING_UNIMPLEMENTED_QUERY_TYPE, - ); + ); + } else { + throw ResponseMessage( + message: + ResponseString.RESPONSE_STRING_UNIMPLEMENTED_QUERY_TYPE, + ); + } } } else { emit( state.copyWith( qrScanStatus: QrScanStatus.success, route: QueryByExamplePresentPage.route( - uri: state.uri!, + uri: uri, preview: data as Map, issuer: approvedIssuer, ), @@ -386,7 +434,7 @@ class QRCodeScanCubit extends Cubit { state.copyWith( qrScanStatus: QrScanStatus.success, route: CredentialsReceivePage.route( - uri: state.uri!, + uri: uri, preview: data as Map, issuer: approvedIssuer, ), @@ -744,7 +792,10 @@ class QRCodeScanCubit extends Cubit { /// responseType == 'id_token vp_token' => verifier side (oidc4vp) /// or (oidc4vp and siopv2) - await launchOIDC4VPAndSIOPV2Flow(keys); + await launchOIDC4VPAndSIOPV2Flow( + keys: keys, + uri: state.uri!, + ); } else { throw ResponseMessage( data: { @@ -758,6 +809,7 @@ class QRCodeScanCubit extends Cubit { Future startOIDC4VCDeferedCredentialIssuance({ required CredentialModel credentialModel, + required QRCodeScanCubit qrCodeScanCubit, }) async { try { emit(state.loading()); @@ -797,6 +849,7 @@ class QRCodeScanCubit extends Cubit { jwtDecode: jwtDecode, blockchainType: walletCubit.state.currentAccount!.blockchainType, oidc4vciDraftType: customOidc4vcProfile.oidc4vciDraft, + qrCodeScanCubit: qrCodeScanCubit, ); } catch (e) { emitError(e); @@ -857,7 +910,12 @@ class QRCodeScanCubit extends Cubit { ); } - Future launchOIDC4VPAndSIOPV2Flow(List keys) async { + Completer? missingCredentialCompleter; + + Future launchOIDC4VPAndSIOPV2Flow({ + required List keys, + required Uri uri, + }) async { if (!keys.contains('presentation_definition') && !keys.contains('presentation_definition_uri')) { throw ResponseMessage( @@ -871,10 +929,7 @@ class QRCodeScanCubit extends Cubit { } final Map? presentationDefinitionData = - await getPresentationDefinition( - client: client, - uri: state.uri!, - ); + await getPresentationDefinition(client: client, uri: uri); if (presentationDefinitionData == null) { throw ResponseMessage( @@ -913,10 +968,7 @@ class QRCodeScanCubit extends Cubit { Map? clientMetaData; if (presentationDefinition.format == null) { - clientMetaData = await getClientMetada( - client: client, - uri: state.uri!, - ); + clientMetaData = await getClientMetada(client: client, uri: uri); if (clientMetaData != null) { if (!clientMetaData.containsKey('vp_formats')) { @@ -964,7 +1016,31 @@ class QRCodeScanCubit extends Cubit { ), ), ); - return; + + missingCredentialCompleter = Completer(); + final value = await missingCredentialCompleter!.future; + missingCredentialCompleter = null; + + if (value) { + final isPresentable = await isVCPresentable( + presentationDefinition: presentationDefinition, + clientMetaData: clientMetaData, + vcFormatType: profileCubit.state.model.profileSetting + .selfSovereignIdentityOptions.customOidc4vcProfile.vcFormatType, + ); + + if (!isPresentable) { + throw ResponseMessage( + message: ResponseString + .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, + ); + } + } else { + throw ResponseMessage( + message: ResponseString + .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, + ); + } } final CredentialModel credentialPreview = CredentialModel( @@ -985,13 +1061,13 @@ class QRCodeScanCubit extends Cubit { credentialManifest: credentialManifest, ); - final host = await getHost(uri: state.uri!, client: client); + final host = await getHost(uri: uri, client: client); emit( state.copyWith( qrScanStatus: QrScanStatus.success, route: CredentialManifestOfferPickPage.route( - uri: state.uri!, + uri: uri, credential: credentialPreview, issuer: Issuer.emptyIssuer(host), inputDescriptorIndex: 0, @@ -1183,6 +1259,7 @@ class QRCodeScanCubit extends Cubit { required String? preAuthorizedCode, required String issuer, required dynamic credentialOfferJson, + required QRCodeScanCubit qrCodeScanCubit, }) async { try { final ( @@ -1214,6 +1291,7 @@ class QRCodeScanCubit extends Cubit { clientSecret: clientSecret, oAuthClientAttestation: oAuthClientAttestation, oAuthClientAttestationPop: oAuthClientAttestationPop, + qrCodeScanCubit: qrCodeScanCubit, ); } else { emit(state.loading()); @@ -1261,6 +1339,7 @@ class QRCodeScanCubit extends Cubit { required String? authorization, required String? clientId, required String? clientSecret, + required QRCodeScanCubit qrCodeScanCubit, String? oAuthClientAttestation, String? oAuthClientAttestationPop, }) async { @@ -1418,6 +1497,7 @@ class QRCodeScanCubit extends Cubit { encodedCredentialOrFutureTokens: encodedCredentialOrFutureTokens, format: format, openIdConfiguration: openIdConfiguration, + qrCodeScanCubit: qrCodeScanCubit, ); } else { throw ResponseMessage( @@ -1469,6 +1549,7 @@ class QRCodeScanCubit extends Cubit { Future authorizedFlowCompletion({ required Map statePayload, required String codeForAuthorisedFlow, + required QRCodeScanCubit qrCodeScanCubit, }) async { try { final containsAllRequiredKey = statePayload.containsKey('credentials') && @@ -1510,6 +1591,7 @@ class QRCodeScanCubit extends Cubit { clientSecret: clientSecret, oAuthClientAttestation: oAuthClientAttestation, oAuthClientAttestationPop: oAuthClientAttestationPop, + qrCodeScanCubit: qrCodeScanCubit, ); } catch (e) { emitError(e); diff --git a/lib/dashboard/qr_code/qr_code_scan/view/qr_code_scan_page.dart b/lib/dashboard/qr_code/qr_code_scan/view/qr_code_scan_page.dart index 7dac2636c..f57b3b1c2 100644 --- a/lib/dashboard/qr_code/qr_code_scan/view/qr_code_scan_page.dart +++ b/lib/dashboard/qr_code/qr_code_scan/view/qr_code_scan_page.dart @@ -82,9 +82,10 @@ class _QrCodeScanPageState extends State { if (isScanned) return; isScanned = true; - await context - .read() - .process(scannedResponse: barcodes.first.rawValue); + await context.read().process( + scannedResponse: barcodes.first.rawValue, + qrCodeScanCubit: context.read(), + ); } }, initialCameraLensDirection: _cameraLensDirection, diff --git a/lib/dashboard/self_issued_credential_button/cubit/self_issued_credential_button_cubit.dart b/lib/dashboard/self_issued_credential_button/cubit/self_issued_credential_button_cubit.dart index 2e4f758ba..1d16d092c 100644 --- a/lib/dashboard/self_issued_credential_button/cubit/self_issued_credential_button_cubit.dart +++ b/lib/dashboard/self_issued_credential_button/cubit/self_issued_credential_button_cubit.dart @@ -22,12 +22,14 @@ class SelfIssuedCredentialCubit extends Cubit { required this.profileCubit, required this.walletCubit, required this.jwtDecode, + required this.qrCodeScanCubit, }) : super(const SelfIssuedCredentialButtonState()); final CredentialsCubit credentialsCubit; final ProfileCubit profileCubit; final WalletCubit walletCubit; final JWTDecode jwtDecode; + final QRCodeScanCubit qrCodeScanCubit; Future createSelfIssuedCredential({ required SelfIssuedCredentialDataModel selfIssuedCredentialDataModel, @@ -150,6 +152,7 @@ class SelfIssuedCredentialCubit extends Cubit { await credentialsCubit.insertCredential( credential: credentialModel, blockchainType: walletCubit.state.currentAccount!.blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); emit( state.success( diff --git a/lib/enterprise/cubit/enterprise_cubit.dart b/lib/enterprise/cubit/enterprise_cubit.dart index 9519fc0bc..402a7b669 100644 --- a/lib/enterprise/cubit/enterprise_cubit.dart +++ b/lib/enterprise/cubit/enterprise_cubit.dart @@ -2,7 +2,7 @@ import 'dart:convert'; import 'package:altme/app/app.dart'; import 'package:altme/credentials/credentials.dart'; -import 'package:altme/dashboard/profile/profile.dart'; +import 'package:altme/dashboard/dashboard.dart'; import 'package:altme/oidc4vc/oidc4vc.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; @@ -25,7 +25,10 @@ class EnterpriseCubit extends Cubit { final ProfileCubit profileCubit; final CredentialsCubit credentialsCubit; - Future requestTheConfiguration(Uri uri) async { + Future requestTheConfiguration({ + required Uri uri, + required QRCodeScanCubit qrCodeScanCubit, + }) async { try { emit(state.loading()); @@ -96,6 +99,7 @@ class EnterpriseCubit extends Cubit { await credentialsCubit.addWalletCredential( blockchainType: credentialsCubit.walletCubit.state.currentAccount?.blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); emit( diff --git a/lib/oidc4vc/add_credential_data.dart b/lib/oidc4vc/add_credential_data.dart index bd724a908..5b5ce0dc6 100644 --- a/lib/oidc4vc/add_credential_data.dart +++ b/lib/oidc4vc/add_credential_data.dart @@ -22,6 +22,7 @@ Future addCredentialData({ required bool isLastCall, required JWTDecode jwtDecode, required BlockchainType blockchainType, + required QRCodeScanCubit qrCodeScanCubit, }) async { for (int i = 0; i < encodedCredentialOrFutureTokens.length; i++) { final data = encodedCredentialOrFutureTokens[i]; @@ -91,6 +92,7 @@ Future addCredentialData({ isLastCall && i + 1 == encodedCredentialOrFutureTokens.length, isPendingCredential: true, blockchainType: blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); } else { await addOIDC4VCCredential( @@ -104,6 +106,7 @@ Future addCredentialData({ openIdConfiguration: openIdConfiguration, jwtDecode: jwtDecode, blockchainType: blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); } } diff --git a/lib/oidc4vc/add_oidc4vc_credential.dart b/lib/oidc4vc/add_oidc4vc_credential.dart index 22484f55e..f409f378c 100644 --- a/lib/oidc4vc/add_oidc4vc_credential.dart +++ b/lib/oidc4vc/add_oidc4vc_credential.dart @@ -18,6 +18,7 @@ Future addOIDC4VCCredential({ required String format, required OpenIdConfiguration? openIdConfiguration, required JWTDecode jwtDecode, + required QRCodeScanCubit qrCodeScanCubit, String? credentialIdToBeDeleted, String? issuer, }) async { @@ -32,7 +33,7 @@ Future addOIDC4VCCredential({ final jsonContent = jwtDecode.parseJwt(data); if (format == VCFormatType.vcSdJWT.vcValue) { - final sdAlg = jsonContent['_sd_alg']??'sha-256'; + final sdAlg = jsonContent['_sd_alg'] ?? 'sha-256'; if (sdAlg != 'sha-256') { throw ResponseMessage( @@ -201,5 +202,6 @@ Future addOIDC4VCCredential({ showStatus: false, showMessage: isLastCall, blockchainType: blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); } diff --git a/lib/oidc4vc/get_and_add_deffered_credential.dart b/lib/oidc4vc/get_and_add_deffered_credential.dart index 81915e146..67d6edb51 100644 --- a/lib/oidc4vc/get_and_add_deffered_credential.dart +++ b/lib/oidc4vc/get_and_add_deffered_credential.dart @@ -15,6 +15,7 @@ Future getAndAddDefferedCredential({ required OIDC4VCIDraftType oidc4vciDraftType, required BlockchainType blockchainType, required String? issuer, + required QRCodeScanCubit qrCodeScanCubit, }) async { Map? credentialHeaders; Map? body; @@ -68,5 +69,6 @@ Future getAndAddDefferedCredential({ openIdConfiguration: null, jwtDecode: jwtDecode, blockchainType: blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); } diff --git a/lib/oidc4vc/initiate_oidv4vc_credential_issuance.dart b/lib/oidc4vc/initiate_oidv4vc_credential_issuance.dart index f81f0228f..aa62d62ac 100644 --- a/lib/oidc4vc/initiate_oidv4vc_credential_issuance.dart +++ b/lib/oidc4vc/initiate_oidv4vc_credential_issuance.dart @@ -139,6 +139,7 @@ Future initiateOIDC4VCCredentialIssuance({ clientSecret: clientSecret, oAuthClientAttestation: oAuthClientAttestation, oAuthClientAttestationPop: oAuthClientAttestationPop, + qrCodeScanCubit: qrCodeScanCubit, ); } } @@ -151,6 +152,7 @@ Future initiateOIDC4VCCredentialIssuance({ isEBSIV3: isEBSIV3, credentialOfferJson: credentialOfferJson, selectedCredentials: [credentials], + qrCodeScanCubit: qrCodeScanCubit, ); } } diff --git a/lib/polygon_id/cubit/polygon_id_cubit.dart b/lib/polygon_id/cubit/polygon_id_cubit.dart index 458370e98..885d3388c 100644 --- a/lib/polygon_id/cubit/polygon_id_cubit.dart +++ b/lib/polygon_id/cubit/polygon_id_cubit.dart @@ -498,7 +498,9 @@ class PolygonIdCubit extends Cubit { return claims; } - Future addPolygonIdCredentials() async { + Future addPolygonIdCredentials({ + required QRCodeScanCubit qrCodeScanCubit, + }) async { try { log.i('add Claims'); emit(state.copyWith(status: AppStatus.loading)); @@ -506,6 +508,7 @@ class PolygonIdCubit extends Cubit { await addToList( claimEntity: state.claims![i], credentialManifest: state.credentialManifests![i], + qrCodeScanCubit: qrCodeScanCubit, ); } emit(state.copyWith(status: AppStatus.goBack)); @@ -531,6 +534,7 @@ class PolygonIdCubit extends Cubit { Future addToList({ required ClaimEntity claimEntity, required CredentialManifest credentialManifest, + required QRCodeScanCubit qrCodeScanCubit, }) async { final jsonCredential = claimEntity.info; final credentialPreview = Credential.fromJson(jsonCredential); @@ -551,6 +555,7 @@ class PolygonIdCubit extends Cubit { await credentialsCubit.insertCredential( credential: credentialModel, blockchainType: walletCubit.state.currentAccount!.blockchainType, + qrCodeScanCubit: qrCodeScanCubit, ); } diff --git a/lib/scan/cubit/scan_cubit.dart b/lib/scan/cubit/scan_cubit.dart index 7f67490c4..075a60dd5 100644 --- a/lib/scan/cubit/scan_cubit.dart +++ b/lib/scan/cubit/scan_cubit.dart @@ -59,7 +59,7 @@ class ScanCubit extends Cubit { required String keyId, required List? credentialsToBePresented, required Issuer issuer, - QRCodeScanCubit? qrCodeScanCubit, + required QRCodeScanCubit qrCodeScanCubit, }) async { emit(state.loading()); await Future.delayed(const Duration(milliseconds: 500)); @@ -110,7 +110,7 @@ class ScanCubit extends Cubit { privateKey: privateKey, stateValue: stateValue, idTokenNeeded: hasIDToken(responseType), - qrCodeScanCubit: qrCodeScanCubit!, + qrCodeScanCubit: qrCodeScanCubit, ); return; } else { @@ -282,6 +282,7 @@ class ScanCubit extends Cubit { activities: activities, credentialManifest: credentialManifest, ), + qrCodeScanCubit: qrCodeScanCubit, ); if (credentialsToBePresented != null) { diff --git a/lib/splash/bloclisteners/blocklisteners.dart b/lib/splash/bloclisteners/blocklisteners.dart index fd1344a12..79184ecd9 100644 --- a/lib/splash/bloclisteners/blocklisteners.dart +++ b/lib/splash/bloclisteners/blocklisteners.dart @@ -434,6 +434,7 @@ final qrCodeBlocListener = BlocListener( openIdConfiguration: openIdConfigurationForIssuance, issuer: issuerForIssuance, preAuthorizedCode: preAuthorizedCodeForIssuance, + uri: state.uri!, ); } else { context.read().emitError( @@ -495,6 +496,7 @@ final qrCodeBlocListener = BlocListener( await context.read().authorizedFlowCompletion( statePayload: statePayload, codeForAuthorisedFlow: codeForAuthorisedFlow, + qrCodeScanCubit: context.read(), ); } } catch (e) { @@ -570,7 +572,7 @@ final qrCodeBlocListener = BlocListener( ) ?? true; - context.read().completer!.complete(moveAhead); + context.read().completer?.complete(moveAhead); LoadingView().show(context: context); } diff --git a/lib/splash/view/splash_page.dart b/lib/splash/view/splash_page.dart index 6a778b77f..4a54d0733 100644 --- a/lib/splash/view/splash_page.dart +++ b/lib/splash/view/splash_page.dart @@ -130,7 +130,10 @@ class _SplashViewState extends State { } if (uri.toString().startsWith('configuration://?')) { - await context.read().requestTheConfiguration(uri!); + await context.read().requestTheConfiguration( + uri: uri!, + qrCodeScanCubit: context.read(), + ); return; } From ed23bac9a17891a7356d1321b7908b590fb1dc89 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 9 Jul 2024 18:44:58 +0545 Subject: [PATCH 10/33] fix: Force user to delete account if wallet is suspended #2759 --- lib/enterprise/widget/wallet_revoked_dialog.dart | 14 +------------- lib/splash/bloclisteners/blocklisteners.dart | 1 + 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/lib/enterprise/widget/wallet_revoked_dialog.dart b/lib/enterprise/widget/wallet_revoked_dialog.dart index 7f735a1af..7f182f283 100644 --- a/lib/enterprise/widget/wallet_revoked_dialog.dart +++ b/lib/enterprise/widget/wallet_revoked_dialog.dart @@ -43,19 +43,7 @@ class WalletRevokedDialog extends StatelessWidget { await resetWallet(context); }, ), - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: Text( - l10n.close.toUpperCase(), - style: Theme.of(context) - .textTheme - .bodyLarge! - .copyWith(color: textColor), - textAlign: TextAlign.center, - ), - ), + const SizedBox(height: 24), ], ), ); diff --git a/lib/splash/bloclisteners/blocklisteners.dart b/lib/splash/bloclisteners/blocklisteners.dart index 79184ecd9..14d415cce 100644 --- a/lib/splash/bloclisteners/blocklisteners.dart +++ b/lib/splash/bloclisteners/blocklisteners.dart @@ -874,6 +874,7 @@ final enterpriseBlocListener = BlocListener( if (state.status == AppStatus.revoked) { showDialog( context: context, + barrierDismissible: false, builder: (_) => const WalletRevokedDialog(), ); } From 9c8844916408d81dbe6d103f929f5a5740bf9356 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 9 Jul 2024 18:46:13 +0545 Subject: [PATCH 11/33] version update to 2.9.2+471 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 37332ee61..b70ad6e4f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: altme description: AltMe Flutter App -version: 2.9.1+470 +version: 2.9.2+471 publish_to: "none" # Remove this line if you wish to publish to pub.dev environment: sdk: ">=3.1.0 <4.0.0" From 8f3cceac00581668bb57ae8887747630fc97b0b2 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Wed, 10 Jul 2024 12:58:47 +0545 Subject: [PATCH 12/33] fix: Close app if wallet attestation is revoked #2759 --- .../widget/wallet_revoked_dialog.dart | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/enterprise/widget/wallet_revoked_dialog.dart b/lib/enterprise/widget/wallet_revoked_dialog.dart index 7f182f283..781289dd8 100644 --- a/lib/enterprise/widget/wallet_revoked_dialog.dart +++ b/lib/enterprise/widget/wallet_revoked_dialog.dart @@ -1,8 +1,11 @@ +import 'dart:io'; + import 'package:altme/app/app.dart'; import 'package:altme/dashboard/dashboard.dart'; import 'package:altme/l10n/l10n.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; class WalletRevokedDialog extends StatelessWidget { const WalletRevokedDialog({super.key}); @@ -43,7 +46,25 @@ class WalletRevokedDialog extends StatelessWidget { await resetWallet(context); }, ), - const SizedBox(height: 24), + TextButton( + onPressed: () { + if (isAndroid) { + SystemNavigator.pop(); + } else { + Future.delayed(const Duration(milliseconds: 500), () { + exit(0); + }); + } + }, + child: Text( + l10n.close.toUpperCase(), + style: Theme.of(context) + .textTheme + .bodyLarge! + .copyWith(color: textColor), + textAlign: TextAlign.center, + ), + ), ], ), ); From ad63de41fe7d1d176f4677bf881547ab190719cc Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Wed, 10 Jul 2024 13:47:57 +0545 Subject: [PATCH 13/33] refactor: Remove linkedIn credential contents #2683 --- assets/image/dummy_linkedin_card.png | Bin 62368 -> 0 bytes assets/image/linkedin_banner.png | Bin 48081 -> 0 bytes assets/image/linkedin_card.png | Bin 62227 -> 0 bytes lib/app/shared/constants/image_strings.dart | 4 - lib/app/shared/constants/sizes.dart | 1 - lib/app/shared/constants/urls.dart | 3 - .../response_string/response_string.dart | 4 - .../response_string_extension.dart | 12 - .../credential_subject_type.dart | 1 - .../credential_subject_type_extension.dart | 23 +- .../message_handler/global_message.dart | 9 - .../message_handler/response_message.dart | 22 -- lib/dashboard/drawer/src/src.dart | 1 - .../src/view/check_linkedin_profile.dart | 91 -------- .../drawer/src/view/drawer_page.dart | 17 -- .../home/tab_bar/credentials/credential.dart | 1 - .../detail/view/credentials_details_page.dart | 217 ++++++++---------- .../cubit/generate_linkedin_qr_cubit.dart | 142 ------------ .../cubit/generate_linkedin_qr_state.dart | 50 ---- .../generate_linkedin_qr.dart | 2 - .../view/generate_linkedin_qr_page.dart | 196 ---------------- .../cubit/get_linkedin_info_cubit.dart | 22 -- .../cubit/get_linkedin_info_state.dart | 33 --- .../get_linkedin_info/get_linkedin_info.dart | 2 - .../view/get_linkedin_info_page.dart | 152 ------------ .../linkedin_credential.dart | 2 - .../credential_model/credential_model.dart | 4 - .../linkedin_card/linkedin_card_model.dart | 40 ---- .../tab_bar/credentials/models/model.dart | 1 - .../widgets/credential_display.dart | 3 - .../credential_widget/credential_widget.dart | 1 - .../linkedin_card_widget.dart | 30 --- lib/l10n/arb/app_ca.arb | 15 +- lib/l10n/arb/app_en.arb | 15 +- lib/l10n/arb/app_es.arb | 15 +- lib/l10n/arb/app_fr.arb | 15 +- lib/scan/cubit/scan_cubit.dart | 2 - pubspec.yaml | 1 - ...redential_subject_type_extension_test.dart | 17 +- 39 files changed, 108 insertions(+), 1058 deletions(-) delete mode 100644 assets/image/dummy_linkedin_card.png delete mode 100644 assets/image/linkedin_banner.png delete mode 100644 assets/image/linkedin_card.png delete mode 100644 lib/dashboard/drawer/src/view/check_linkedin_profile.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_cubit.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_state.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/generate_linkedin_qr.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/view/generate_linkedin_qr_page.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_cubit.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_state.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/get_linkedin_info.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/view/get_linkedin_info_page.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/linkedin_credential/linkedin_credential.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/models/linkedin_card/linkedin_card_model.dart delete mode 100644 lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/linkedin_card_widget.dart diff --git a/assets/image/dummy_linkedin_card.png b/assets/image/dummy_linkedin_card.png deleted file mode 100644 index c15a173bffe995affaae8b820847d190994d1bfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62368 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 z 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 diff --git a/assets/image/linkedin_card.png b/assets/image/linkedin_card.png deleted file mode 100644 index 21b5c9d01df8f0c7ac72332aca510c3b16bff10b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62227 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 Pfqpbqbzj!Ku!{O0E l10n.backupCredentialSuccessMessage; - String get RESPONSE_STRING_linkedInBannerSuccessfullyExported => - l10n.linkedInBannerSuccessfullyExported; - String get RESPONSE_STRING_credentialSuccessfullyExported => l10n.credentialSuccessfullyExported; @@ -271,12 +268,6 @@ class GlobalMessage { l10n.verifiableIdCardExpirationDate; String get RESPONSE_STRING_verifiableIdCardHowToGetIt => l10n.verifiableIdCardHowToGetIt; - String get RESPONSE_STRING_linkedinCardWhyGetThisCard => - l10n.linkedinCardWhyGetThisCard; - String get RESPONSE_STRING_linkedinCardExpirationDate => - l10n.linkedinCardExpirationDate; - String get RESPONSE_STRING_linkedinCardHowToGetIt => - l10n.linkedinCardHowToGetIt; String get RESPONSE_STRING_phoneProofWhyGetThisCard => l10n.phoneProofWhyGetThisCard; String get RESPONSE_STRING_phoneProofExpirationDate => diff --git a/lib/app/shared/message_handler/response_message.dart b/lib/app/shared/message_handler/response_message.dart index 44000641e..86846c8f9 100644 --- a/lib/app/shared/message_handler/response_message.dart +++ b/lib/app/shared/message_handler/response_message.dart @@ -99,11 +99,6 @@ class ResponseMessage with MessageHandler { .RESPONSE_STRING_BACKUP_CREDENTIAL_SUCCESS_MESSAGE .localise(context); - case ResponseString.RESPONSE_STRING_linkedInBannerSuccessfullyExported: - return ResponseString - .RESPONSE_STRING_linkedInBannerSuccessfullyExported - .localise(context); - case ResponseString.RESPONSE_STRING_credentialSuccessfullyExported: return ResponseString.RESPONSE_STRING_credentialSuccessfullyExported .localise(context); @@ -524,23 +519,6 @@ class ResponseMessage with MessageHandler { context, ); - case ResponseString.RESPONSE_STRING_linkedinCardWhyGetThisCard: - return ResponseString.RESPONSE_STRING_linkedinCardWhyGetThisCard - .localise( - context, - ); - - case ResponseString.RESPONSE_STRING_linkedinCardExpirationDate: - return ResponseString.RESPONSE_STRING_linkedinCardExpirationDate - .localise( - context, - ); - - case ResponseString.RESPONSE_STRING_linkedinCardHowToGetIt: - return ResponseString.RESPONSE_STRING_linkedinCardHowToGetIt.localise( - context, - ); - case ResponseString.RESPONSE_STRING_verifiableIdCardDummyDesc: return ResponseString.RESPONSE_STRING_verifiableIdCardDummyDesc .localise( diff --git a/lib/dashboard/drawer/src/src.dart b/lib/dashboard/drawer/src/src.dart index 1e7a6add2..6ad0baa8b 100644 --- a/lib/dashboard/drawer/src/src.dart +++ b/lib/dashboard/drawer/src/src.dart @@ -1,3 +1,2 @@ -export 'view/check_linkedin_profile.dart'; export 'view/drawer_page.dart'; export 'widgets/widgets.dart'; diff --git a/lib/dashboard/drawer/src/view/check_linkedin_profile.dart b/lib/dashboard/drawer/src/view/check_linkedin_profile.dart deleted file mode 100644 index 57861ea6f..000000000 --- a/lib/dashboard/drawer/src/view/check_linkedin_profile.dart +++ /dev/null @@ -1,91 +0,0 @@ -import 'dart:convert'; - -import 'package:altme/app/app.dart'; -import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; -import 'package:flutter/material.dart'; - -class CheckForLinkedInProfile extends StatelessWidget { - const CheckForLinkedInProfile({super.key}); - - static Route route() { - return MaterialPageRoute( - settings: const RouteSettings(name: '/CheckForLinkedInProfile'), - builder: (_) => const CheckForLinkedInProfile(), - ); - } - - @override - Widget build(BuildContext context) { - return const CheckForLinkedInProfileView(); - } -} - -class CheckForLinkedInProfileView extends StatelessWidget { - const CheckForLinkedInProfileView({super.key}); - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - return Drawer( - backgroundColor: Theme.of(context).colorScheme.surface, - child: SafeArea( - child: SingleChildScrollView( - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 15), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const BackLeadingButton( - padding: EdgeInsets.zero, - ), - WalletLogo( - height: 90, - width: MediaQuery.of(context).size.shortestSide * 0.5, - showPoweredBy: true, - ), - DrawerItem( - title: l10n.scanAndDisplay, - onTap: () async { - final result = await Navigator.push( - context, - QrScannerPage.route(), - ); - if (result?.startsWith('{"@context"') ?? false) { - final Map data = - jsonDecode(result!) as Map; - - final Credential credentialPreview = Credential.fromJson( - data['verifiableCredential'] as Map, - ); - - final CredentialModel credentialModel = CredentialModel( - id: '', - credentialPreview: credentialPreview, - data: data['verifiableCredential'] - as Map, - image: '', - shareLink: '', - jwt: null, - format: 'ldp_vc', - ); - - await Navigator.of(context).push( - CredentialsDetailsPage.route( - credentialModel: credentialModel, - readOnly: true, - ), - ); - } else { - //invalid text - } - }, - ), - ], - ), - ), - ), - ), - ); - } -} diff --git a/lib/dashboard/drawer/src/view/drawer_page.dart b/lib/dashboard/drawer/src/view/drawer_page.dart index 041df1d8f..49b1614f8 100644 --- a/lib/dashboard/drawer/src/view/drawer_page.dart +++ b/lib/dashboard/drawer/src/view/drawer_page.dart @@ -52,7 +52,6 @@ class DrawerView extends StatelessWidget { padding: EdgeInsets.zero, ), ), - const DrawerLogo(), const AppVersionDrawer(), const SizedBox(height: Sizes.spaceLarge), @@ -69,7 +68,6 @@ class DrawerView extends StatelessWidget { ), const SizedBox(height: Sizes.spaceSmall), ], - if (profileModel .profileSetting.settingsMenu.displayProfile) ...[ DrawerCategoryItem( @@ -82,7 +80,6 @@ class DrawerView extends StatelessWidget { ), const SizedBox(height: Sizes.spaceSmall), ], - DrawerCategoryItem( title: l10n.walletSecurity, subTitle: l10n.walletSecurityDescription, @@ -117,7 +114,6 @@ class DrawerView extends StatelessWidget { else const SizedBox.shrink(), const SizedBox(height: Sizes.spaceSmall), - if (profileModel.profileSetting.settingsMenu .displaySelfSovereignIdentity) ...[ DrawerCategoryItem( @@ -129,7 +125,6 @@ class DrawerView extends StatelessWidget { ), const SizedBox(height: Sizes.spaceSmall), ], - if (profileModel.profileSetting.settingsMenu .displayDeveloperMode) ...[ DrawerCategoryItem( @@ -156,17 +151,6 @@ class DrawerView extends StatelessWidget { ), const SizedBox(height: Sizes.spaceSmall), ], - - // DrawerCategoryItem( - // title: l10n.checkLinkedinProfile, - // subTitle: l10n.checkLinkedinProfile, - // onClick: () { - // Navigator.of(context) - // .push(CheckForLinkedInProfile.route()); - // }, - // ), - //const SizedBox(height: Sizes.spaceSmall), - if (profileModel .profileSetting.settingsMenu.displayHelpCenter) ...[ DrawerCategoryItem( @@ -179,7 +163,6 @@ class DrawerView extends StatelessWidget { ), const SizedBox(height: Sizes.spaceSmall), ], - DrawerCategoryItem( title: l10n.about, subTitle: l10n.aboutDescription, diff --git a/lib/dashboard/home/tab_bar/credentials/credential.dart b/lib/dashboard/home/tab_bar/credentials/credential.dart index e03ddebae..db94c8021 100644 --- a/lib/dashboard/home/tab_bar/credentials/credential.dart +++ b/lib/dashboard/home/tab_bar/credentials/credential.dart @@ -2,7 +2,6 @@ export 'card_chat_support/card_chat_support.dart'; export 'credential_qr/credential_qr.dart'; export 'detail/credentials_detail.dart'; export 'helper_functions/helper_functions.dart'; -export 'linkedin_credential/linkedin_credential.dart'; export 'list/credentials_list.dart'; export 'models/model.dart'; export 'oid4c4vc_pick/oid4c4vc_pick.dart'; diff --git a/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart b/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart index 3c4235bdb..9167427a3 100644 --- a/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart +++ b/lib/dashboard/home/tab_bar/credentials/detail/view/credentials_details_page.dart @@ -70,7 +70,6 @@ class CredentialsDetailsPage extends StatelessWidget { ], child: CredentialsDetailsView( credentialModel: credentialModel, - readOnly: readOnly, cardChatSupportCubit: cardChatSupportCubit, ), ); @@ -81,12 +80,10 @@ class CredentialsDetailsView extends StatefulWidget { const CredentialsDetailsView({ super.key, required this.credentialModel, - required this.readOnly, required this.cardChatSupportCubit, }); final CredentialModel credentialModel; - final bool readOnly; final CardChatSupportCubit? cardChatSupportCubit; @override @@ -194,7 +191,7 @@ class _CredentialsDetailsViewState extends State { context.read().state.model.profileSetting; return BasePage( - title: widget.readOnly ? l10n.linkedInProfile : l10n.cardDetails, + title: l10n.cardDetails, titleAlignment: Alignment.topCenter, titleLeading: const BackLeadingButton(), padding: const EdgeInsets.symmetric(horizontal: 10), @@ -235,20 +232,19 @@ class _CredentialsDetailsViewState extends State { ), ), ), - if (!widget.readOnly) - Expanded( - child: CredentialDetailTabbar( - isSelected: state - .credentialDetailTabStatus == - CredentialDetailTabStatus.activity, - title: l10n.credentialDetailsActivity, - onTap: () => context - .read() - .changeTabStatus( + Expanded( + child: CredentialDetailTabbar( + isSelected: + state.credentialDetailTabStatus == CredentialDetailTabStatus.activity, - ), - ), + title: l10n.credentialDetailsActivity, + onTap: () => context + .read() + .changeTabStatus( + CredentialDetailTabStatus.activity, + ), ), + ), if (widget.cardChatSupportCubit != null) Expanded( child: StreamBuilder( @@ -392,112 +388,93 @@ class _CredentialsDetailsViewState extends State { ), ], ), - navigation: widget.readOnly - ? null - : SafeArea( - child: Container( - padding: const EdgeInsets.symmetric( - horizontal: 12, - vertical: 5, + navigation: SafeArea( + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 5, + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + MyOutlinedButton( + onPressed: + widget.credentialModel.disAllowDelete ? null : delete, + text: l10n.credentialDetailDeleteCard, + ), + const SizedBox(height: 8), + if (widget.credentialModel.pendingInfo == null) ...[ + if (isDeveloperMode) + MyOutlinedButton( + text: l10n.download, + onPressed: () { + if (widget.credentialModel.isEbsiCard) { + /// removing type that was added in add_ebsi_credential.dart + widget.credentialModel.data['credentialSubject'] + .remove('type'); + } + + late String data; + final String? jwt = widget.credentialModel.jwt; + if (jwt != null) { + data = jwt; + } else { + data = jsonEncode(widget.credentialModel.data); + } + + getLogger( + 'CredentialDetailsPage - shared date', + ).i(data); + + final box = context.findRenderObject() as RenderBox?; + final subject = l10n.shareWith; + + Share.share( + data, + subject: subject, + sharePositionOrigin: + box!.localToGlobal(Offset.zero) & box.size, + ); + }, + ), + ] else ...[ + MyOutlinedButton( + text: l10n.getItNow, + onPressed: () { + Navigator.of(context).pop(); + context + .read() + .startOIDC4VCDeferedCredentialIssuance( + credentialModel: widget.credentialModel, + qrCodeScanCubit: context.read(), + ); + }, ), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - MyOutlinedButton( - onPressed: widget.credentialModel.disAllowDelete - ? null - : delete, - text: l10n.credentialDetailDeleteCard, - ), - const SizedBox(height: 8), - if (widget.credentialModel.pendingInfo == null) ...[ - if (isDeveloperMode) - MyOutlinedButton( - text: widget.credentialModel.isLinkeInCard - ? l10n.exportToLinkedIn - : l10n.download, - onPressed: () { - if (widget.credentialModel.isLinkeInCard) { - Navigator.of(context).push( - GetLinkedinInfoPage.route( - credentialModel: widget.credentialModel, - ), - ); - } else { - if (widget.credentialModel.isEbsiCard) { - /// removing type that was added in add_ebsi_credential.dart - widget.credentialModel - .data['credentialSubject'] - .remove('type'); - } - - late String data; - final String? jwt = - widget.credentialModel.jwt; - if (jwt != null) { - data = jwt; - } else { - data = - jsonEncode(widget.credentialModel.data); - } - - getLogger( - 'CredentialDetailsPage - shared date', - ).i(data); - - final box = - context.findRenderObject() as RenderBox?; - final subject = l10n.shareWith; - - Share.share( - data, - subject: subject, - sharePositionOrigin: - box!.localToGlobal(Offset.zero) & - box.size, - ); - } - }, - ), - ] else ...[ - MyOutlinedButton( - text: l10n.getItNow, - onPressed: () { - Navigator.of(context).pop(); - context - .read() - .startOIDC4VCDeferedCredentialIssuance( - credentialModel: widget.credentialModel, - qrCodeScanCubit: - context.read(), - ); - }, + ], + if (widget.credentialModel.shareLink != '') + MyOutlinedButton.icon( + icon: SvgPicture.asset( + IconStrings.qrCode, + width: 24, + height: 24, + color: Theme.of(context).colorScheme.onPrimary, + ), + onPressed: () { + Navigator.of(context).push( + QrCodeDisplayPage.route( + title: '', + data: widget.credentialModel.shareLink, ), - ], - if (widget.credentialModel.shareLink != '') - MyOutlinedButton.icon( - icon: SvgPicture.asset( - IconStrings.qrCode, - width: 24, - height: 24, - color: Theme.of(context).colorScheme.onPrimary, - ), - onPressed: () { - Navigator.of(context).push( - QrCodeDisplayPage.route( - title: '', - data: widget.credentialModel.shareLink, - ), - ); - }, - text: l10n.credentialDetailShare, - ) - else - Container(), - ], - ), - ), - ), + ); + }, + text: l10n.credentialDetailShare, + ) + else + Container(), + ], + ), + ), + ), ); }, ); diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_cubit.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_cubit.dart deleted file mode 100644 index c6a628fdd..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_cubit.dart +++ /dev/null @@ -1,142 +0,0 @@ -import 'dart:convert'; - -import 'package:altme/app/app.dart'; -import 'package:altme/dashboard/dashboard.dart'; -import 'package:did_kit/did_kit.dart'; -import 'package:equatable/equatable.dart'; -import 'package:file_saver/file_saver.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:oidc4vc/oidc4vc.dart'; -import 'package:secure_storage/secure_storage.dart'; -import 'package:uuid/uuid.dart'; - -part 'generate_linkedin_qr_cubit.g.dart'; -part 'generate_linkedin_qr_state.dart'; - -class GenerateLinkedInQrCubit extends Cubit { - GenerateLinkedInQrCubit({ - required this.didKitProvider, - required this.secureStorageProvider, - required this.fileSaver, - required this.profileCubit, - required this.oidc4vc, - }) : super(const GenerateLinkedInQrState()); - - final DIDKitProvider didKitProvider; - final SecureStorageProvider secureStorageProvider; - final FileSaver fileSaver; - final ProfileCubit profileCubit; - final OIDC4VC oidc4vc; - - Future generatePresentationForLinkedInCard({ - required String linkedInUrl, - required CredentialModel credentialModel, - }) async { - final log = getLogger( - 'GenerateLinkedInQrCubit - generatePresentationForLinkedInCard', - ); - try { - emit(state.loading()); - - final presentationId = 'urn:uuid:${const Uuid().v4()}'; - - final didKeyType = profileCubit.state.model.profileSetting - .selfSovereignIdentityOptions.customOidc4vcProfile.defaultDid; - - final privateKey = await getPrivateKey( - profileCubit: profileCubit, - didKeyType: didKeyType, - ); - - final (did, kid) = await getDidAndKid( - didKeyType: didKeyType, - privateKey: privateKey, - profileCubit: profileCubit, - ); - - final presentation = await didKitProvider.issuePresentation( - jsonEncode({ - '@context': ['https://www.w3.org/2018/credentials/v1'], - 'type': ['VerifiablePresentation'], - 'id': presentationId, - 'holder': did, - 'verifiableCredential': credentialModel.data, - }), - jsonEncode({ - 'verificationMethod': kid, - 'proofPurpose': 'assertionMethod', - 'challenge': credentialModel.challenge, - 'domain': linkedInUrl, - }), - privateKey, - ); - - emit(state.copyWith(status: AppStatus.idle, qrValue: presentation)); - } catch (e) { - log.e('something went wrong - $e'); - if (e is ResponseMessage) { - emit(state.error(messageHandler: e)); - } else { - emit( - state.error( - messageHandler: ResponseMessage( - message: ResponseString - .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, - ), - ), - ); - } - } - } - - Future saveScreenshot(Uint8List capturedImage) async { - emit(state.loading()); - final isPermissionStatusGranted = await getStoragePermission(); - - try { - if (!isPermissionStatusGranted) { - throw ResponseMessage( - message: ResponseString.STORAGE_PERMISSION_DENIED_MESSAGE, - ); - } - final dateTime = getDateTimeWithoutSpace(); - final fileName = 'linkedin-banner-$dateTime'; - - final filePath = await fileSaver.saveAs( - name: fileName, - bytes: capturedImage, - ext: 'png', - mimeType: MimeType.png, - ); - - if (filePath != null && filePath.isEmpty) { - emit(state.copyWith(status: AppStatus.idle)); - } else { - emit( - state.copyWith( - status: AppStatus.success, - messageHandler: ResponseMessage( - message: ResponseString - .RESPONSE_STRING_linkedInBannerSuccessfullyExported, - ), - ), - ); - } - } catch (e) { - if (e is MessageHandler) { - emit(state.error(messageHandler: e)); - } else { - emit( - state.error( - messageHandler: ResponseMessage( - message: ResponseString - .RESPONSE_STRING_SOMETHING_WENT_WRONG_TRY_AGAIN_LATER, - ), - ), - ); - } - } - } -} diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_state.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_state.dart deleted file mode 100644 index 5ff101c6b..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/cubit/generate_linkedin_qr_state.dart +++ /dev/null @@ -1,50 +0,0 @@ -part of 'generate_linkedin_qr_cubit.dart'; - -@JsonSerializable() -class GenerateLinkedInQrState extends Equatable { - const GenerateLinkedInQrState({ - this.status = AppStatus.init, - this.message, - this.qrValue, - }); - - factory GenerateLinkedInQrState.fromJson(Map json) => - _$GenerateLinkedInQrStateFromJson(json); - - final AppStatus status; - final StateMessage? message; - final String? qrValue; - - GenerateLinkedInQrState loading() { - return GenerateLinkedInQrState( - status: AppStatus.loading, - qrValue: qrValue, - ); - } - - GenerateLinkedInQrState error({required MessageHandler messageHandler}) { - return GenerateLinkedInQrState( - status: AppStatus.error, - message: StateMessage.error(messageHandler: messageHandler), - ); - } - - GenerateLinkedInQrState copyWith({ - required AppStatus status, - MessageHandler? messageHandler, - String? qrValue, - }) { - return GenerateLinkedInQrState( - status: status, - message: messageHandler == null - ? null - : StateMessage.success(messageHandler: messageHandler), - qrValue: qrValue ?? this.qrValue, - ); - } - - Map toJson() => _$GenerateLinkedInQrStateToJson(this); - - @override - List get props => [status, message, qrValue]; -} diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/generate_linkedin_qr.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/generate_linkedin_qr.dart deleted file mode 100644 index d651b5774..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/generate_linkedin_qr.dart +++ /dev/null @@ -1,2 +0,0 @@ -export 'cubit/generate_linkedin_qr_cubit.dart'; -export 'view/generate_linkedin_qr_page.dart'; diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/view/generate_linkedin_qr_page.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/view/generate_linkedin_qr_page.dart deleted file mode 100644 index 0b6dcbb2b..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/generate_linkedin_qr/view/generate_linkedin_qr_page.dart +++ /dev/null @@ -1,196 +0,0 @@ -import 'package:altme/app/app.dart'; -import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; -import 'package:did_kit/did_kit.dart'; -import 'package:file_saver/file_saver.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:oidc4vc/oidc4vc.dart'; -import 'package:pretty_qr_code/pretty_qr_code.dart'; -import 'package:screenshot/screenshot.dart'; -import 'package:secure_storage/secure_storage.dart'; - -class GenerateLinkedinQrPage extends StatelessWidget { - const GenerateLinkedinQrPage({ - super.key, - required this.linkedinUrl, - required this.credentialModel, - }); - - final CredentialModel credentialModel; - final String linkedinUrl; - - static Route route({ - required String linkedinUrl, - required CredentialModel credentialModel, - }) { - return MaterialPageRoute( - settings: const RouteSettings(name: '/GenerateLinkedinQrPage'), - builder: (_) => GenerateLinkedinQrPage( - linkedinUrl: linkedinUrl, - credentialModel: credentialModel, - ), - ); - } - - @override - Widget build(BuildContext context) { - return BlocProvider( - create: (_) => GenerateLinkedInQrCubit( - didKitProvider: DIDKitProvider(), - secureStorageProvider: getSecureStorage, - fileSaver: FileSaver.instance, - profileCubit: context.read(), - oidc4vc: OIDC4VC(), - ), - child: GenerateLinkedinQrView( - linkedinUrl: linkedinUrl, - credentialModel: credentialModel, - ), - ); - } -} - -class GenerateLinkedinQrView extends StatefulWidget { - const GenerateLinkedinQrView({ - super.key, - required this.linkedinUrl, - required this.credentialModel, - }); - - final CredentialModel credentialModel; - final String linkedinUrl; - - @override - State createState() => _GenerateLinkedinQrViewState(); -} - -class _GenerateLinkedinQrViewState extends State { - ScreenshotController screenshotController = ScreenshotController(); - - @override - void initState() { - super.initState(); - WidgetsBinding.instance.addPostFrameCallback((_) { - context - .read() - .generatePresentationForLinkedInCard( - linkedInUrl: widget.linkedinUrl, - credentialModel: widget.credentialModel, - ); - }); - } - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - return BasePage( - title: l10n.linkedInBanner, - titleAlignment: Alignment.topCenter, - titleLeading: const BackLeadingButton(), - scrollView: false, - padding: const EdgeInsets.symmetric(horizontal: 5), - body: BlocConsumer( - listener: (context, state) { - if (state.status == AppStatus.loading) { - LoadingView().show(context: context); - } else { - LoadingView().hide(); - } - - if (state.message != null) { - AlertMessage.showStateMessage( - context: context, - stateMessage: state.message!, - ); - } - - if (state.status == AppStatus.success) { - Navigator.of(context).pop(); - Navigator.of(context).pop(); - } - }, - builder: (context, state) { - return Center( - child: Screenshot( - controller: screenshotController, - child: AspectRatio( - aspectRatio: Sizes.linkedinBannerAspectRatio, - child: DecoratedBox( - decoration: const BoxDecoration( - image: DecorationImage( - fit: BoxFit.fill, - image: AssetImage(ImageStrings.linkedInBanner), - ), - ), - child: CustomMultiChildLayout( - delegate: QrDelegate(position: Offset.zero), - children: [ - LayoutId( - id: 'qr', - child: state.qrValue == null - ? Container() - : FractionallySizedBox( - heightFactor: 0.48, - widthFactor: 0.12, - child: PrettyQrView.data( - data: state.qrValue!, - errorCorrectLevel: QrErrorCorrectLevel.M, - ), - ), - ), - ], - ), - ), - ), - ), - ); - }, - ), - navigation: Padding( - padding: const EdgeInsets.all(Sizes.spaceSmall), - child: MyElevatedButton( - text: l10n.exportToLinkedIn, - onPressed: () async { - final log = - getLogger('GenerateLinkedinQrView - screenshotController'); - await screenshotController - .capture(delay: const Duration(milliseconds: 10)) - .then((capturedImage) { - context - .read() - .saveScreenshot(capturedImage!); - }).catchError((dynamic onError) { - log.e(onError); - AlertMessage.showStateMessage( - context: context, - stateMessage: StateMessage.error( - stringMessage: l10n.somethingsWentWrongTryAgainLater, - ), - ); - }); - }, - ), - ), - ); - } -} - -class QrDelegate extends MultiChildLayoutDelegate { - QrDelegate({this.position = Offset.zero}); - - final Offset position; - - @override - void performLayout(Size size) { - if (hasChild('qr')) { - layoutChild('qr', BoxConstraints.loose(size)); - positionChild('qr', Offset(size.width * 0.8175, size.height * 0.185)); - } - } - - @override - bool shouldRelayout(QrDelegate oldDelegate) { - return oldDelegate.position != position; - } -} diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_cubit.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_cubit.dart deleted file mode 100644 index 8e96da427..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_cubit.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:json_annotation/json_annotation.dart'; - -part 'get_linkedin_info_cubit.g.dart'; -part 'get_linkedin_info_state.dart'; - -class GetLinkedinInfoCubit extends Cubit { - GetLinkedinInfoCubit() : super(const GetLinkedinInfoState()); - - void isUrlValid(String value) { - final RegExp linkedInRegex = - RegExp(r'^(https:\/\/)(www\.)?linkedin\.com\/in\/[a-zA-Z0-9-]+(\/)?$'); - - emit( - state.copyWith( - isTextFieldEdited: value.isNotEmpty, - isLinkedUrlValid: linkedInRegex.hasMatch(value), - ), - ); - } -} diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_state.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_state.dart deleted file mode 100644 index 92653bad5..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/cubit/get_linkedin_info_state.dart +++ /dev/null @@ -1,33 +0,0 @@ -part of 'get_linkedin_info_cubit.dart'; - -@JsonSerializable() -class GetLinkedinInfoState extends Equatable { - const GetLinkedinInfoState({ - this.isTextFieldEdited = false, - this.isLinkedUrlValid = false, - }); - - factory GetLinkedinInfoState.fromJson(Map json) => - _$GetLinkedinInfoStateFromJson(json); - - final bool isTextFieldEdited; - final bool isLinkedUrlValid; - - GetLinkedinInfoState copyWith({ - bool? isTextFieldEdited, - bool? isLinkedUrlValid, - }) { - return GetLinkedinInfoState( - isTextFieldEdited: isTextFieldEdited ?? this.isTextFieldEdited, - isLinkedUrlValid: isLinkedUrlValid ?? this.isLinkedUrlValid, - ); - } - - Map toJson() => _$GetLinkedinInfoStateToJson(this); - - @override - List get props => [ - isLinkedUrlValid, - isTextFieldEdited, - ]; -} diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/get_linkedin_info.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/get_linkedin_info.dart deleted file mode 100644 index 43e329e19..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/get_linkedin_info.dart +++ /dev/null @@ -1,2 +0,0 @@ -export 'cubit/get_linkedin_info_cubit.dart'; -export 'view/get_linkedin_info_page.dart'; diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/view/get_linkedin_info_page.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/view/get_linkedin_info_page.dart deleted file mode 100644 index b9449e69f..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/get_linkedin_info/view/get_linkedin_info_page.dart +++ /dev/null @@ -1,152 +0,0 @@ -import 'package:altme/app/app.dart'; -import 'package:altme/dashboard/dashboard.dart'; -import 'package:altme/l10n/l10n.dart'; - -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; - -class GetLinkedinInfoPage extends StatelessWidget { - const GetLinkedinInfoPage({ - super.key, - required this.credentialModel, - }); - - final CredentialModel credentialModel; - - static Route route({required CredentialModel credentialModel}) { - return MaterialPageRoute( - settings: const RouteSettings(name: '/GetLinkedinInfoPage'), - builder: (_) => GetLinkedinInfoPage(credentialModel: credentialModel), - ); - } - - @override - Widget build(BuildContext context) { - return BlocProvider( - create: (_) => GetLinkedinInfoCubit(), - child: GetLinkedinInfoView(credentialModel: credentialModel), - ); - } -} - -class GetLinkedinInfoView extends StatefulWidget { - const GetLinkedinInfoView({ - super.key, - required this.credentialModel, - }); - - final CredentialModel credentialModel; - - @override - State createState() => _GetLinkedinInfoViewState(); -} - -class _GetLinkedinInfoViewState extends State { - late TextEditingController linkedInUrlController; - - @override - void initState() { - super.initState(); - linkedInUrlController = TextEditingController(); - linkedInUrlController.addListener(() { - context - .read() - .isUrlValid(linkedInUrlController.text); - }); - } - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - return BasePage( - title: l10n.addLinkedInInfo, - titleAlignment: Alignment.topCenter, - titleLeading: const BackLeadingButton(), - padding: const EdgeInsets.only( - top: 0, - left: Sizes.spaceSmall, - right: Sizes.spaceSmall, - bottom: Sizes.spaceSmall, - ), - body: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const SizedBox(height: Sizes.spaceNormal), - Padding( - padding: const EdgeInsets.symmetric( - horizontal: Sizes.spaceLarge, - ), - child: Text( - l10n.whatsYourLinkedinProfileUrl, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.titleLarge?.copyWith( - letterSpacing: 1.2, - ), - ), - ), - const SizedBox(height: Sizes.spaceLarge), - BlocBuilder( - builder: (context, state) { - return Stack( - alignment: Alignment.bottomRight, - fit: StackFit.loose, - children: [ - BaseTextField( - height: 100, - hint: 'e.g. https://www.linkedin.com/john.doe', - fillColor: Colors.transparent, - hintStyle: Theme.of(context).textTheme.bodyMedium, - maxLines: 3, - borderRadius: Sizes.normalRadius, - controller: linkedInUrlController, - error: state.isTextFieldEdited && !state.isLinkedUrlValid - ? l10n.invalidUrlError - : null, - ), - if (state.isLinkedUrlValid) - Container( - alignment: Alignment.center, - width: Sizes.icon2x, - height: Sizes.icon2x, - padding: const EdgeInsets.all(2), - margin: const EdgeInsets.all(Sizes.spaceNormal), - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Theme.of(context).colorScheme.onTertiary, - ), - child: const Icon( - Icons.check, - size: Sizes.icon, - color: Colors.white, - ), - ), - ], - ); - }, - ), - const SizedBox(height: Sizes.spaceSmall), - ], - ), - navigation: Padding( - padding: const EdgeInsets.all(Sizes.spaceSmall), - child: BlocBuilder( - builder: (context, state) { - return MyElevatedButton( - text: l10n.exportToLinkedIn, - onPressed: !state.isLinkedUrlValid - ? null - : () { - Navigator.of(context).push( - GenerateLinkedinQrPage.route( - linkedinUrl: linkedInUrlController.text, - credentialModel: widget.credentialModel, - ), - ); - }, - ); - }, - ), - ), - ); - } -} diff --git a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/linkedin_credential.dart b/lib/dashboard/home/tab_bar/credentials/linkedin_credential/linkedin_credential.dart deleted file mode 100644 index 066f0bc8a..000000000 --- a/lib/dashboard/home/tab_bar/credentials/linkedin_credential/linkedin_credential.dart +++ /dev/null @@ -1,2 +0,0 @@ -export 'generate_linkedin_qr/generate_linkedin_qr.dart'; -export 'get_linkedin_info/get_linkedin_info.dart'; diff --git a/lib/dashboard/home/tab_bar/credentials/models/credential_model/credential_model.dart b/lib/dashboard/home/tab_bar/credentials/models/credential_model/credential_model.dart index 48bb41e05..0011a8119 100644 --- a/lib/dashboard/home/tab_bar/credentials/models/credential_model/credential_model.dart +++ b/lib/dashboard/home/tab_bar/credentials/models/credential_model/credential_model.dart @@ -233,10 +233,6 @@ class CredentialModel extends Equatable { credentialPreview.credentialSubjectModel.credentialSubjectType == CredentialSubjectType.defaultCredential; - bool get isLinkeInCard => - credentialPreview.credentialSubjectModel.credentialSubjectType == - CredentialSubjectType.linkedInCard; - bool get isEbsiCard => credentialPreview.credentialSubjectModel.credentialSubjectType.isEbsiCard; diff --git a/lib/dashboard/home/tab_bar/credentials/models/linkedin_card/linkedin_card_model.dart b/lib/dashboard/home/tab_bar/credentials/models/linkedin_card/linkedin_card_model.dart deleted file mode 100644 index a8ea2141e..000000000 --- a/lib/dashboard/home/tab_bar/credentials/models/linkedin_card/linkedin_card_model.dart +++ /dev/null @@ -1,40 +0,0 @@ -import 'package:altme/app/app.dart'; -import 'package:altme/dashboard/dashboard.dart'; -import 'package:json_annotation/json_annotation.dart'; - -part 'linkedin_card_model.g.dart'; - -@JsonSerializable(explicitToJson: true) -class LinkedinCardModel extends CredentialSubjectModel { - LinkedinCardModel({ - this.familyName, - this.givenName, - this.bithPlace, - this.birthDate, - this.addressCountry, - super.issuedBy, - super.offeredBy, - super.id, - super.type, - }) : super( - credentialSubjectType: CredentialSubjectType.linkedInCard, - credentialCategory: CredentialCategory.socialMediaCards, - ); - - factory LinkedinCardModel.fromJson(Map json) => - _$LinkedinCardModelFromJson(json); - - @JsonKey(defaultValue: '') - String? familyName; - @JsonKey(defaultValue: '') - String? givenName; - @JsonKey(defaultValue: '') - String? birthDate; - @JsonKey(defaultValue: '') - String? bithPlace; - @JsonKey(defaultValue: '') - String? addressCountry; - - @override - Map toJson() => _$LinkedinCardModelToJson(this); -} diff --git a/lib/dashboard/home/tab_bar/credentials/models/model.dart b/lib/dashboard/home/tab_bar/credentials/models/model.dart index 8db784a5d..26ae6adc9 100644 --- a/lib/dashboard/home/tab_bar/credentials/models/model.dart +++ b/lib/dashboard/home/tab_bar/credentials/models/model.dart @@ -39,7 +39,6 @@ export 'kyc_age_credential/kyc_age_credential_model.dart'; export 'kyc_country_of_residence/kyc_country_of_residence_model.dart'; export 'learning_achievement/learning_achievement_model.dart'; export 'legal_person_credential/legal_person_credential_model.dart'; -export 'linkedin_card/linkedin_card_model.dart'; export 'liveness_card/liveness_card_model.dart'; export 'nationality/nationality_model.dart'; export 'over13/over13_model.dart'; diff --git a/lib/dashboard/home/tab_bar/credentials/widgets/credential_display.dart b/lib/dashboard/home/tab_bar/credentials/widgets/credential_display.dart index a0d7f7f72..075068317 100644 --- a/lib/dashboard/home/tab_bar/credentials/widgets/credential_display.dart +++ b/lib/dashboard/home/tab_bar/credentials/widgets/credential_display.dart @@ -137,9 +137,6 @@ class CredentialDisplay extends StatelessWidget { case CredentialSubjectType.verifiableIdCard: return VerifiableIdCardWidget(credentialModel: credentialModel); - case CredentialSubjectType.linkedInCard: - return LinkedinCardWidget(credentialModel: credentialModel); - case CredentialSubjectType.euDiplomaCard: return EUDiplomaCardWidget(credentialModel: credentialModel); diff --git a/lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/credential_widget.dart b/lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/credential_widget.dart index bf62101bb..3540c1586 100644 --- a/lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/credential_widget.dart +++ b/lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/credential_widget.dart @@ -28,7 +28,6 @@ export 'identity_pass_widget.dart'; export 'kyc_age_credential_widget.dart'; export 'kyc_country_of_residence_widget.dart'; export 'learning_achievement_widget.dart'; -export 'linkedin_card_widget.dart'; export 'liveness_card_widget.dart'; export 'my_blockchain_account_base_widget.dart'; export 'nationality_widget.dart'; diff --git a/lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/linkedin_card_widget.dart b/lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/linkedin_card_widget.dart deleted file mode 100644 index 3cf5c99cf..000000000 --- a/lib/dashboard/home/tab_bar/credentials/widgets/credential_widget/linkedin_card_widget.dart +++ /dev/null @@ -1,30 +0,0 @@ -import 'package:altme/app/app.dart'; -import 'package:altme/dashboard/dashboard.dart'; -import 'package:flutter/material.dart'; - -class LinkedinCardWidget extends StatelessWidget { - const LinkedinCardWidget({ - super.key, - required this.credentialModel, - }); - - final CredentialModel credentialModel; - - @override - Widget build(BuildContext context) { - return CredentialBaseWidget( - cardBackgroundImagePath: ImageStrings.linkedInCard, - issuerName: credentialModel - .credentialPreview.credentialSubjectModel.issuedBy?.name, - value: '', - issuanceDate: UiDate.formatDateForCredentialCard( - credentialModel.credentialPreview.issuanceDate, - ), - expirationDate: credentialModel.expirationDate == null - ? '--' - : UiDate.formatDateForCredentialCard( - credentialModel.expirationDate!, - ), - ); - } -} diff --git a/lib/l10n/arb/app_ca.arb b/lib/l10n/arb/app_ca.arb index 51969b41a..fdf95021e 100644 --- a/lib/l10n/arb/app_ca.arb +++ b/lib/l10n/arb/app_ca.arb @@ -597,9 +597,6 @@ "twitterWhyGetThisCard": "Aquesta targeta és una prova que ets el propietari del teu compte de Twitter. Utilitza-la per demostrar la propietat del teu compte de Twitter sempre que ho necessitis.", "twitterExpirationDate": "Aquesta targeta romandrà activa durant 1 ANY.", "twitterDummyDesc": "Demostra la propietat dels teus comptes de Twitter", - "linkedinCardHowToGetIt": "Pots demanar aquesta targeta seguint la verificació KYC d’Altme. Només s’accedirà a la informació relacionada amb el teu nom, cognoms, nacionalitat i any de naixement des del teu perfil de LinkedIn.", - "linkedinCardWhyGetThisCard": "Aquesta targeta és una prova de la teva identitat per al teu perfil de LinkedIn. Des d’aquesta targeta, pots exportar un codi QR i mostrar-lo a la capçalera del teu compte de LinkedIn. En escanejar el codi QR amb la cartera Altme, qualsevol persona podrà verificar que la teva identitat coincideix amb l’URL del teu perfil de LinkedIn, i també podrà accedir a 2 dades més: la teva nacionalitat i el teu any de naixement.", - "linkedinCardExpirationDate": "Aquesta targeta romandrà activa i reutilitzable durant 1 ANY.", "tezotopiaMembershipHowToGetIt": "Has de presentar una prova que tens més de 13 anys i una prova del teu correu electrònic.", "over18WhyGetThisCard": "Algunes aplicacions/llocs web de Web 3 poden requerir aquesta prova per accedir al seu servei o obtenir avantatges: Targeta de membre, de fidelitat, premis, etc.", "over18ExpirationDate": "Aquesta targeta romandrà activa i reutilitzable durant 1 ANY.", @@ -769,16 +766,8 @@ "softwareLicenses": "Llicències de software", "notAValidWalletAddress": "Adreça de cartera invàlida.", "otherAccount": "Altre compte", - "thereIsNoAccountInYourWallet": "No hi ha comptes a la teva cartera", - "exportToLinkedIn": "Exportar a LinkedIn", - "addLinkedInInfo": "Afegir info de LinkedIn", - "whatsYourLinkedinProfileUrl": "Quina és la URL de perfil del teu LinkedIn?", - "invalidUrlError": "Indica una URL de LinkedIn vàlida", - "linkedInBannerSuccessfullyExported": "El teu bàner de LinkedIn s’ha exportat amb èxit.", - "credentialSuccessfullyExported": "La teva credencial s’ha exportat correctament.", - "linkedInBanner": "Bàner de LinkedIn", - "linkedInProfile": "Perfil de LinkedIn", - "checkLinkedinProfile": "Verifica un perfil de LinkedIn", + "thereIsNoAccountInYourWallet": "No hi ha comptes a la teva cartera", + "credentialSuccessfullyExported": "La teva credencial s’ha exportat correctament.", "scanAndDisplay": "Escanejar i mostrar", "whatsNew": "Novetats", "okGotIt": "Entesos!", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index 78d5a7598..c0b470294 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -594,9 +594,6 @@ "twitterWhyGetThisCard": "This card is a proof that you own your twitter account. Use it to prove your twitter account ownership whenever you need.", "twitterExpirationDate": "This card will be active for 1 year.", "twitterDummyDesc": "Prove your twitter account ownership", - "linkedinCardHowToGetIt": "You can claim this card by following Altme’s KYC check. Only information related to your first name, last name, nationality and year of birth will be accessible from your LinkedIn profile.", - "linkedinCardWhyGetThisCard": "This card is a proof of your identity for your LinkedIn profile. From this card, you can export a QR code and display it in the banner on your LinkedIn account. By scanning the QR code with his Altme wallet, anyone will be able to verify that your identity matches the URL of your LinkedIn profile, and will also be able to access 2 additional information: your nationality and your year of birth.", - "linkedinCardExpirationDate": "This card will remain active and reusable for 1 YEAR.", "tezotopiaMembershipHowToGetIt": "You need to present a proof that you are over 13 YO and a proof of your email.", "over18WhyGetThisCard": "This proof may be required by some Web 3 Apps / Websites to access their service or claim benefits : Membership card, Loyalty card, Rewards, etc.", "over18ExpirationDate": "This card will remain active and reusable for 1 YEAR.", @@ -766,16 +763,8 @@ "softwareLicenses": "Software Licenses", "notAValidWalletAddress": "Not a valid wallet address!", "otherAccount": "Other account", - "thereIsNoAccountInYourWallet": "There is no account in your wallet", - "exportToLinkedIn": "Export To LinkedIn", - "addLinkedInInfo": "Add LinkedIn Info", - "whatsYourLinkedinProfileUrl": "What's your LinkedIn profile URL?", - "invalidUrlError": "Please enter a valid LinkedIn URL", - "linkedInBannerSuccessfullyExported": "Your LinkedIn banner has been successfully exported.", - "credentialSuccessfullyExported": "Your credential has been successfully exported.", - "linkedInBanner": "Linkedin Banner", - "linkedInProfile": "Linkedin Profile", - "checkLinkedinProfile": "Check a Linkedin Profile", + "thereIsNoAccountInYourWallet": "There is no account in your wallet", + "credentialSuccessfullyExported": "Your credential has been successfully exported.", "scanAndDisplay": "Scan and Display", "whatsNew": "What's new", "okGotIt": "OK, GOT IT!", diff --git a/lib/l10n/arb/app_es.arb b/lib/l10n/arb/app_es.arb index b0dd0c0c8..39596d706 100644 --- a/lib/l10n/arb/app_es.arb +++ b/lib/l10n/arb/app_es.arb @@ -597,9 +597,6 @@ "twitterWhyGetThisCard": "La tarjeta demuestra que es titular de su cuenta de Twitter. Úsela siempre que tenga que demostrar que es titular de su cuenta de Twitter.", "twitterExpirationDate": "Esta tarjeta seguirá activa durante 1 año.", "twitterDummyDesc": "Demuestre que es titular de su cuenta de Twitter.", - "linkedinCardHowToGetIt": "Puede solicitar esta tarjeta tras la verificación KYC de Altme. En su perfil de LinkedIn solo se podrá acceder a información sobre su nombre y apellidos, nacionalidad y año de nacimiento.", - "linkedinCardWhyGetThisCard": "La tarjeta demuestra su identidad para su perfil de LinkedIn. Permite exportar un código QR que mostrar en el banner de su cuenta de LinkedIn. Al escanear el código QR con su cartera de Altme, cualquier persona podrá verificar que su identidad coincide con la URL de su perfil de LinkedIn y consultar su nacionalidad y año de nacimiento.", - "linkedinCardExpirationDate": "Esta tarjeta seguirá activa y reutilizable durante 1 AÑO.", "tezotopiaMembershipHowToGetIt": "Debe presentar una prueba de que es mayor de 13 años y otra para su email.", "over18WhyGetThisCard": "Prueba que pueden requerir algunas aplicaciones/sitios web 3.0 para acceder a su servicio o sus ventajas: Tarjeta de afiliación o fidelización, recompensas, etc.", "over18ExpirationDate": "Esta tarjeta seguirá activa y reutilizable durante 1 AÑO.", @@ -769,16 +766,8 @@ "softwareLicenses": "Licencias de software", "notAValidWalletAddress": "¡No es una dirección de cartera válida!", "otherAccount": "Otra cuenta", - "thereIsNoAccountInYourWallet": "No hay ninguna cuenta en su cartera", - "exportToLinkedIn": "Exportar a LinkedIn", - "addLinkedInInfo": "Añadir información de LinkedIn", - "whatsYourLinkedinProfileUrl": "¿Cuál es la URL de su perfil de LinkedIn?", - "invalidUrlError": "Escriba una URL de LinkedIn válida", - "linkedInBannerSuccessfullyExported": "Su banner de LinkedIn se ha exportado.", - "credentialSuccessfullyExported": "Su credencial se ha exportado.", - "linkedInBanner": "Banner de LinkedIn", - "linkedInProfile": "Perfil de LinkedIn", - "checkLinkedinProfile": "Comprobar un perfil de LinkedIn", + "thereIsNoAccountInYourWallet": "No hay ninguna cuenta en su cartera", + "credentialSuccessfullyExported": "Su credencial se ha exportado.", "scanAndDisplay": "Escanear y mostrar", "whatsNew": "Novedades", "okGotIt": "¡DE ACUERDO!", diff --git a/lib/l10n/arb/app_fr.arb b/lib/l10n/arb/app_fr.arb index 93de97dcc..384c689c3 100644 --- a/lib/l10n/arb/app_fr.arb +++ b/lib/l10n/arb/app_fr.arb @@ -597,9 +597,6 @@ "twitterWhyGetThisCard": "Cette carte est une preuve que vous possédez votre compte Twitter. Utilisez-la pour prouver la propriété de votre compte Twitter chaque fois que vous en avez besoin.", "twitterExpirationDate": "Cette carte sera active pendant 1 an.", "twitterDummyDesc": "Prouvez la propriété de votre compte Twitter", - "linkedinCardHowToGetIt": "Vous pouvez obtenir cette preuve en suivant une vérification d'identité. Seules les informations relatives à votre prénom, nom, nationalité et année de naissance seront accessibles depuis votre profil LinkedIn.", - "linkedinCardWhyGetThisCard": "Cette carte est une preuve de votre identité pour votre profil LinkedIn. A partir de cette carte, vous pouvez exporter un QR code et l'afficher dans la bannière de votre compte LinkedIn. En scannant le QR code avec son portefeuille Altme, n'importe qui pourra vérifier que votre identité correspond à l'URL de votre profil LinkedIn, et pourra également accéder à 2 informations complémentaires : votre nationalité et votre année de naissance.", - "linkedinCardExpirationDate": "Cette carte restera active et réutilisable pendant 1 AN.", "tezotopiaMembershipHowToGetIt": "Vous devez présenter une preuve de nationalité et une preuve de tranche d'âge. Obtenez-les en suivant le KYC d'Altme.", "over18WhyGetThisCard": "Cette preuve peut être exigée par certaines Applications / Sites Web du Web 3 pour accéder à leur service ou obtenir des avantages : Carte de membre, Carte de fidélité, Rewards, etc.", "over18ExpirationDate": "Cette carte restera active et réutilisable pendant 1 AN.", @@ -769,16 +766,8 @@ "softwareLicenses": "Licences logicielles", "notAValidWalletAddress": "L'adresse n'est pas valide !", "otherAccount": "Autre compte", - "thereIsNoAccountInYourWallet": "Il n'y a pas de compte dans votre portefeuille", - "exportToLinkedIn": "Exporter vers LinkedIn", - "addLinkedInInfo": "Ajouter des informations LinkedIn", - "whatsYourLinkedinProfileUrl": "Quelle est l'URL de votre profil linkedIn ?", - "invalidUrlError": "Veuillez saisir une URL LinkedIn valide", - "linkedInBannerSuccessfullyExported": "Votre bannière LinkedIn a été exportée avec succès.", - "credentialSuccessfullyExported": "Votre identifiant a été exporté avec succès.", - "linkedInBanner": "Bannière Linkedin", - "linkedInProfile": "Profil Linkedin", - "checkLinkedinProfile": "Vérifier votre profil Linkedin", + "thereIsNoAccountInYourWallet": "Il n'y a pas de compte dans votre portefeuille", + "credentialSuccessfullyExported": "Votre identifiant a été exporté avec succès.", "scanAndDisplay": "Numériser et afficher", "whatsNew": "Nouveautés", "okGotIt": "Ok, compris !", diff --git a/lib/scan/cubit/scan_cubit.dart b/lib/scan/cubit/scan_cubit.dart index 075a60dd5..5a59cf932 100644 --- a/lib/scan/cubit/scan_cubit.dart +++ b/lib/scan/cubit/scan_cubit.dart @@ -30,8 +30,6 @@ part 'scan_state.dart'; ///the wallet stores the VC /// If needed the wallet builds a VP with the VC and sends it to a Verifier -/// In LinkedIn case the VP is embedded in the QR code, not sent to the verifier - class ScanCubit extends Cubit { ScanCubit({ required this.client, diff --git a/pubspec.yaml b/pubspec.yaml index b70ad6e4f..c826eb8d4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -94,7 +94,6 @@ dependencies: pretty_qr_code: ^3.1.0 qr_flutter: ^4.1.0 random_string: ^2.3.1 - screenshot: ^3.0.0 secure_application: ^3.8.0 secure_storage: path: packages/secure_storage diff --git a/test/app/shared/enum/credential_subject_type/credential_subject_type_extension_test.dart b/test/app/shared/enum/credential_subject_type/credential_subject_type_extension_test.dart index b01c5937b..967f49cd3 100644 --- a/test/app/shared/enum/credential_subject_type/credential_subject_type_extension_test.dart +++ b/test/app/shared/enum/credential_subject_type/credential_subject_type_extension_test.dart @@ -134,11 +134,6 @@ void main() { equals(Colors.white), ); - expect( - CredentialSubjectType.linkedInCard.defaultBackgroundColor, - equals(Colors.white), - ); - expect( CredentialSubjectType.over13.defaultBackgroundColor, equals(Colors.white), @@ -415,7 +410,6 @@ void main() { CredentialSubjectType.verifiableIdCard.name, equals('VerifiableId'), ); - expect(CredentialSubjectType.linkedInCard.name, equals('LinkedinCard')); expect( CredentialSubjectType.learningAchievement.name, equals('LearningAchievement'), @@ -603,8 +597,7 @@ void main() { value == CredentialSubjectType.ageRange || value == CredentialSubjectType.nationality || value == CredentialSubjectType.gender || - value == CredentialSubjectType.passportFootprint || - value == CredentialSubjectType.linkedInCard) { + value == CredentialSubjectType.passportFootprint) { expect(value.byPassDeepLink, isTrue); } else { expect(value.byPassDeepLink, isFalse); @@ -715,7 +708,6 @@ void main() { expect(CredentialSubjectType.emailPass.title, 'Email Pass'); expect(CredentialSubjectType.identityPass.title, 'Identity Pass'); expect(CredentialSubjectType.verifiableIdCard.title, 'VerifiableId'); - expect(CredentialSubjectType.linkedInCard.title, 'Linkedin Card'); expect( CredentialSubjectType.learningAchievement.title, 'Learning Achievement', @@ -848,7 +840,6 @@ void main() { ); expect(CredentialSubjectType.defaultCredential.supportSingleOnly, false); expect(CredentialSubjectType.emailPass.supportSingleOnly, false); - expect(CredentialSubjectType.linkedInCard.supportSingleOnly, false); expect( CredentialSubjectType.learningAchievement.supportSingleOnly, false, @@ -1068,10 +1059,7 @@ void main() { CredentialSubjectType.defaultCredential.getVCFormatType, [VCFormatType.jwtVc], ); - expect( - CredentialSubjectType.linkedInCard.getVCFormatType, - [VCFormatType.jwtVc], - ); + expect( CredentialSubjectType.learningAchievement.getVCFormatType, [VCFormatType.jwtVc], @@ -1178,7 +1166,6 @@ void main() { expect(CredentialSubjectType.emailPass.order, 99); expect(CredentialSubjectType.identityPass.order, 90); expect(CredentialSubjectType.verifiableIdCard.order, 97.5); - expect(CredentialSubjectType.linkedInCard.order, 86); expect(CredentialSubjectType.learningAchievement.order, 0); expect(CredentialSubjectType.over13.order, 97.3); expect(CredentialSubjectType.over15.order, 97.2); From 69a0eccf0ad5850e6d95035ef9bc615bce10c0ca Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Wed, 10 Jul 2024 14:29:36 +0545 Subject: [PATCH 14/33] refactor: Remove reward check and display #2682 --- .../shared/constants/secure_storage_keys.dart | 2 - lib/dashboard/home/home/cubit/home_state.dart | 6 - lib/dashboard/home/home/home.dart | 1 - lib/dashboard/home/home/models/models.dart | 1 - .../home/home/models/token_reward.dart | 41 ------- lib/dashboard/home/home/view/home_page.dart | 8 -- .../home/widgets/token_reward_dialog.dart | 106 ------------------ lib/dashboard/home/home/widgets/widgets.dart | 1 - lib/l10n/arb/app_ca.arb | 4 - lib/l10n/arb/app_en.arb | 4 - lib/l10n/arb/app_es.arb | 4 - lib/l10n/arb/app_fr.arb | 4 - lib/splash/cubit/splash_cubit.dart | 5 - 13 files changed, 187 deletions(-) delete mode 100644 lib/dashboard/home/home/models/models.dart delete mode 100644 lib/dashboard/home/home/models/token_reward.dart delete mode 100644 lib/dashboard/home/home/widgets/token_reward_dialog.dart diff --git a/lib/app/shared/constants/secure_storage_keys.dart b/lib/app/shared/constants/secure_storage_keys.dart index fc3a01279..841ef49fe 100644 --- a/lib/app/shared/constants/secure_storage_keys.dart +++ b/lib/app/shared/constants/secure_storage_keys.dart @@ -4,8 +4,6 @@ class SecureStorageKeys { static const String isFirstSelectedTokenContracts = 'isFirstSelectedTokenContracts'; static const String selectedContracts = 'selectedContracts'; - static const String lastNotifiedUNORewardId = 'lastNotifiedUNORewardId'; - static const String lastNotifiedXTZRewardId = 'lastNotifiedXTZRewardId'; static const String isIdentityEnabled = 'isIdentityEnabled'; static const String isProfessionalEnabled = 'isProfessionalEnabled'; static const String isCommunityEnabled = 'isCommunityEnabled'; diff --git a/lib/dashboard/home/home/cubit/home_state.dart b/lib/dashboard/home/home/cubit/home_state.dart index d48cd8b8f..fb2cb6325 100644 --- a/lib/dashboard/home/home/cubit/home_state.dart +++ b/lib/dashboard/home/home/cubit/home_state.dart @@ -7,7 +7,6 @@ class HomeState extends Equatable { this.message, this.homeStatus = HomeStatus.hasNoWallet, this.link, - this.tokenReward, this.data, }); @@ -18,14 +17,12 @@ class HomeState extends Equatable { final StateMessage? message; final HomeStatus homeStatus; final String? link; - final TokenReward? tokenReward; final dynamic data; HomeState loading() { return HomeState( status: AppStatus.loading, homeStatus: homeStatus, - tokenReward: null, link: link, ); } @@ -35,7 +32,6 @@ class HomeState extends Equatable { StateMessage? message, HomeStatus? homeStatus, String? link, - TokenReward? tokenReward, dynamic data, bool? needToVerifyMnemonics, }) { @@ -44,7 +40,6 @@ class HomeState extends Equatable { message: message, homeStatus: homeStatus ?? this.homeStatus, link: link ?? this.link, - tokenReward: tokenReward ?? this.tokenReward, data: data ?? this.data, ); } @@ -57,7 +52,6 @@ class HomeState extends Equatable { message, homeStatus, link, - tokenReward, data, ]; } diff --git a/lib/dashboard/home/home/home.dart b/lib/dashboard/home/home/home.dart index e11ddc3f4..72099b6b7 100644 --- a/lib/dashboard/home/home/home.dart +++ b/lib/dashboard/home/home/home.dart @@ -1,4 +1,3 @@ export 'cubit/home_cubit.dart'; -export 'models/models.dart'; export 'view/home_page.dart'; export 'widgets/widgets.dart'; diff --git a/lib/dashboard/home/home/models/models.dart b/lib/dashboard/home/home/models/models.dart deleted file mode 100644 index b188fd6ba..000000000 --- a/lib/dashboard/home/home/models/models.dart +++ /dev/null @@ -1 +0,0 @@ -export 'token_reward.dart'; diff --git a/lib/dashboard/home/home/models/token_reward.dart b/lib/dashboard/home/home/models/token_reward.dart deleted file mode 100644 index 876195396..000000000 --- a/lib/dashboard/home/home/models/token_reward.dart +++ /dev/null @@ -1,41 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:json_annotation/json_annotation.dart'; - -part 'token_reward.g.dart'; - -@JsonSerializable() -class TokenReward extends Equatable { - const TokenReward({ - required this.amount, - required this.symbol, - required this.name, - required this.account, - required this.origin, - required this.txId, - required this.counter, - }); - - factory TokenReward.fromJson(Map json) => - _$TokenRewardFromJson(json); - - final double amount; - final String symbol; - final String name; - final String account; - final String origin; - final String txId; - final int counter; - - Map toJson() => _$TokenRewardToJson(this); - - @override - List get props => [ - amount, - symbol, - name, - account, - origin, - txId, - counter, - ]; -} diff --git a/lib/dashboard/home/home/view/home_page.dart b/lib/dashboard/home/home/view/home_page.dart index d3ff910ef..45808ec33 100644 --- a/lib/dashboard/home/home/view/home_page.dart +++ b/lib/dashboard/home/home/view/home_page.dart @@ -24,14 +24,6 @@ class HomePage extends StatelessWidget { } if (homeState.status == AppStatus.success) {} - - // if (homeState.status == AppStatus.gotTokenReward && - // homeState.tokenReward != null) { - // TokenRewardDialog.show( - // context: context, - // tokenReward: homeState.tokenReward!, - // ); - // } }, child: Parameters.walletHandlesCrypto ? const TabControllerPage() diff --git a/lib/dashboard/home/home/widgets/token_reward_dialog.dart b/lib/dashboard/home/home/widgets/token_reward_dialog.dart deleted file mode 100644 index 253b39423..000000000 --- a/lib/dashboard/home/home/widgets/token_reward_dialog.dart +++ /dev/null @@ -1,106 +0,0 @@ -import 'package:altme/app/app.dart'; -import 'package:altme/dashboard/home/home/home.dart'; -import 'package:altme/l10n/l10n.dart'; - -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; - -class TokenRewardDialog extends StatelessWidget { - const TokenRewardDialog({ - super.key, - required this.tokenReward, - }); - - final TokenReward tokenReward; - - static void show({ - required BuildContext context, - required TokenReward tokenReward, - }) { - showDialog( - context: context, - builder: (_) => TokenRewardDialog( - tokenReward: tokenReward, - ), - ); - } - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - return AlertDialog( - backgroundColor: Theme.of(context).colorScheme.surface, - surfaceTintColor: Colors.transparent, - contentPadding: const EdgeInsets.symmetric( - horizontal: Sizes.spaceNormal, - vertical: Sizes.spaceSmall, - ), - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(25)), - ), - content: SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - const DialogCloseButton(), - const SizedBox(height: Sizes.spaceSmall), - Text( - l10n.rewardDialogTitle, - style: Theme.of(context).textTheme.headlineMedium!.copyWith( - color: Theme.of(context).colorScheme.primary, - ), - textAlign: TextAlign.center, - ), - const SizedBox(height: Sizes.spaceSmall), - Text.rich( - TextSpan( - text: l10n.rewardDialogDescPart1, - style: Theme.of(context).textTheme.bodyMedium, - children: [ - TextSpan( - text: - ''' ${tokenReward.amount.toString().formatNumber} ${tokenReward.symbol} ''', - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - fontWeight: FontWeight.w900, - color: Theme.of(context).colorScheme.primary, - ), - ), - TextSpan( - text: '${l10n.rewardDialogDescPart2} : ', - ), - TextSpan( - text: - '''${tokenReward.account.substring(0, 6)}...${tokenReward.account.substring(tokenReward.account.length - 6)}''', - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - decoration: TextDecoration.underline, - ), - recognizer: TapGestureRecognizer() - ..onTap = () { - LaunchUrl.launch( - 'https://tzkt.io/${tokenReward.txId}/${tokenReward.counter}', - ); - }, - ), - TextSpan( - text: '\n\n${l10n.origin}: ${tokenReward.origin}', - ), - ], - ), - ), - const SizedBox(height: Sizes.spaceSmall), - MyElevatedButton( - text: l10n.gotIt.toUpperCase(), - verticalSpacing: 18, - fontSize: 18, - borderRadius: 20, - backgroundColor: Theme.of(context).colorScheme.primary, - onPressed: () { - Navigator.of(context).pop(); - }, - ), - ], - ), - ), - ); - } -} diff --git a/lib/dashboard/home/home/widgets/widgets.dart b/lib/dashboard/home/home/widgets/widgets.dart index 5652dc6c0..40ea6d025 100644 --- a/lib/dashboard/home/home/widgets/widgets.dart +++ b/lib/dashboard/home/home/widgets/widgets.dart @@ -1,4 +1,3 @@ export 'get_cards_widget.dart'; export 'qr_icon.dart'; -export 'token_reward_dialog.dart'; export 'wallet_dialog.dart'; diff --git a/lib/l10n/arb/app_ca.arb b/lib/l10n/arb/app_ca.arb index fdf95021e..a7ecae789 100644 --- a/lib/l10n/arb/app_ca.arb +++ b/lib/l10n/arb/app_ca.arb @@ -570,7 +570,6 @@ "otherCredentialDiscoverSubtitle": "Altres tipus de targetes que pots afegir", "showMore": "...Mostrar més", "showLess": "Mostrar menys...", - "youHaveReceivedARewardOf": "Has rebut un premi de", "gotIt": "Entesos", "transactionErrorBalanceTooLow": "Una operació ha intentat gastar més tokens del que té el contracte", "transactionErrorCannotPayStorageFee": "La tarifa d’emmagatzematge és superior al saldo del contracte", @@ -632,9 +631,6 @@ "defiComplianceWhyGetThisCard": "Obtén una prova verificable de conformitat amb KYC/AML, sol·licitada per protocols DeFi compatibles i dApps de Web3. Una vegada obtinguda, pots encunyar un NFT protector de privadesa i no transferible per a la verificació a la cadena de blocs sense mostrar dades personals.", "defiComplianceExpirationDate": "Aquestes credencials romanen actives 3 mesos. Per renovació cal una comprovació de conformitat senzilla, sense nou KYC.", "defiComplianceHowToGetIt": "És fàcil! Fes una verificació KYC única a la cartera Altme (desenvolupada per ID360) i sol·demana la teva credencial de conformitat DeFi.", - "rewardDialogTitle": "Ben fet 🥳", - "rewardDialogDescPart1": "Acabes de rebre", - "rewardDialogDescPart2": "al teu compte", "origin": "Origen", "nftTooBigToLoad": "NFT massa gran per carregar", "seeTransaction": "Veure transacció", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index c0b470294..a77491f10 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -567,7 +567,6 @@ "otherCredentialDiscoverSubtitle": "Other types of cards you can add", "showMore": "...Show more", "showLess": "Show less...", - "youHaveReceivedARewardOf": "You have received a reward of", "gotIt": "Got it", "transactionErrorBalanceTooLow": "An operation tried to spend more tokens than the contract has", "transactionErrorCannotPayStorageFee": "The storage fee is higher than the contract balance", @@ -629,9 +628,6 @@ "defiComplianceWhyGetThisCard": "Obtain verifiable proof of KYC/AML compliance, requested by compliant DeFi protocols and Web3 dApps. Once obtained, you can mint a privacy-preserving, non-transferable NFT for on-chain verification without revealing personal data.", "defiComplianceExpirationDate": "This credential remains active for 3 months. Renewal requires a straightforward compliance check, without new KYC.", "defiComplianceHowToGetIt": "It's easy! Complete a one-time KYC check in Altme wallet (powered by ID360) and request your DeFi compliance credential.", - "rewardDialogTitle": "Well done 🥳", - "rewardDialogDescPart1": "You just received", - "rewardDialogDescPart2": "on your account", "origin": "Origin", "nftTooBigToLoad": "NFT loading", "seeTransaction": "See transaction", diff --git a/lib/l10n/arb/app_es.arb b/lib/l10n/arb/app_es.arb index 39596d706..c49226655 100644 --- a/lib/l10n/arb/app_es.arb +++ b/lib/l10n/arb/app_es.arb @@ -570,7 +570,6 @@ "otherCredentialDiscoverSubtitle": "Otros tipos de tarjetas que puede añadir", "showMore": "... Mostrar más", "showLess": "Mostrar menos...", - "youHaveReceivedARewardOf": "Ha recibido una recompensa de", "gotIt": "De acuerdo", "transactionErrorBalanceTooLow": "Una operación ha intentado gastar más tokens que los del contrato", "transactionErrorCannotPayStorageFee": "El coste de almacenamiento supera el saldo del contrato", @@ -632,9 +631,6 @@ "defiComplianceWhyGetThisCard": "Obtenga pruebas verificables de cumplimiento de KYC/AML para protocolos DeFi y dApps Web 3 conformes. Tras su obtención, puede emitir un NFT intransferible y que proteja la privacidad para verificación en cadena sin revelar datos personales.", "defiComplianceExpirationDate": "Esta credencial sigue activa durante 3 meses. La renovación requiere una verificación de cumplimiento sencilla, sin un nuevo KYC.", "defiComplianceHowToGetIt": "¡Es fácil! Haga una verificación KYC única en la cartera de Altme (ID360) y solicite su credencial de cumplimiento DeFi.", - "rewardDialogTitle": "¡Fantástico 🥳!", - "rewardDialogDescPart1": "Acaba de recibir", - "rewardDialogDescPart2": "en su cuenta", "origin": "Origen", "nftTooBigToLoad": "El NFT es demasiado grande para cargarse", "seeTransaction": "Ver transacción", diff --git a/lib/l10n/arb/app_fr.arb b/lib/l10n/arb/app_fr.arb index 384c689c3..caca58790 100644 --- a/lib/l10n/arb/app_fr.arb +++ b/lib/l10n/arb/app_fr.arb @@ -570,7 +570,6 @@ "otherCredentialDiscoverSubtitle": "Autres types de documents numériques que vous pouvez ajouter", "showMore": "...Afficher plus", "showLess": "Afficher moins...", - "youHaveReceivedARewardOf": "Vous avez reçu une récompense de", "gotIt": "J'ai compris", "transactionErrorBalanceTooLow": "Votre solde n'est pas suffisant", "transactionErrorCannotPayStorageFee": "Les frais sont supérieurs à votre solde", @@ -632,9 +631,6 @@ "defiComplianceWhyGetThisCard": "Obtenez une preuve de conformité KYC/AML, souvent demandée par les protocoles DeFi conformes et les applications Web3. Une fois obtenue, vous pourrez obtenir un NFT non transférable pour être vérifiée directement on-chain sans révéler vos données personnelles.", "defiComplianceExpirationDate": "Cette preuve restera active pendant 3 mois. Le renouvellement nécessite une vérification simple, sans nouveau KYC.", "defiComplianceHowToGetIt": "C'est facile ! Effectuez une vérification KYC dans le portefeuille Altme (par ID360) et demandez votre attestation de conformité DeFi.", - "rewardDialogTitle": "Félicitations 🥳", - "rewardDialogDescPart1": "Vous venez de recevoir", - "rewardDialogDescPart2": "Sur votre compte", "origin": "Origine", "nftTooBigToLoad": "En cours de chargement", "seeTransaction": "Voir la transaction", diff --git a/lib/splash/cubit/splash_cubit.dart b/lib/splash/cubit/splash_cubit.dart index c958c22e8..b526fb92d 100644 --- a/lib/splash/cubit/splash_cubit.dart +++ b/lib/splash/cubit/splash_cubit.dart @@ -60,11 +60,6 @@ class SplashCubit extends Cubit { } emit(state.copyWith(status: SplashStatus.routeToPassCode)); - // if (Parameters.walletHandlesCrypto) { - // unawaited( - // homeCubit.periodicCheckRewardOnTezosBlockchain(), - // ); - // } } else { homeCubit.emitHasNoWallet(); emit(state.copyWith(status: SplashStatus.routeToOnboarding)); From 5dd28d137ae514eb5eab39009a370da35d820574 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Wed, 10 Jul 2024 16:43:28 +0545 Subject: [PATCH 15/33] feat: Manage blockchain options from portal #2780 --- lib/app/shared/enum/type/blockchain_type.dart | 25 +++ .../view/create_account_step1_page.dart | 155 +++++++++-------- .../view/import_account_step1_page.dart | 157 ++++++++++-------- .../view/crypto_bottom_sheet_view.dart | 70 +++++--- .../view/manage_accounts_page.dart | 43 +++-- 5 files changed, 271 insertions(+), 179 deletions(-) diff --git a/lib/app/shared/enum/type/blockchain_type.dart b/lib/app/shared/enum/type/blockchain_type.dart index 333f1f54f..b4772ee2e 100644 --- a/lib/app/shared/enum/type/blockchain_type.dart +++ b/lib/app/shared/enum/type/blockchain_type.dart @@ -1,4 +1,5 @@ import 'package:altme/app/app.dart'; +import 'package:altme/dashboard/dashboard.dart'; import 'package:credential_manifest/credential_manifest.dart'; import 'package:key_generator/key_generator.dart'; @@ -234,4 +235,28 @@ extension BlockchainTypeX on BlockchainType { return false; } } + + bool isSupported(ProfileSetting profileSetting) { + if (profileSetting.generalOptions.walletType != WalletAppType.altme) { + /// Only applies to altme + return true; + } + + final blockchainOptions = profileSetting.blockchainOptions; + + switch (this) { + case BlockchainType.tezos: + if (blockchainOptions?.tezosSupport ?? false) return true; + case BlockchainType.ethereum: + if (blockchainOptions?.ethereumSupport ?? false) return true; + case BlockchainType.fantom: + if (blockchainOptions?.fantomSupport ?? false) return true; + case BlockchainType.polygon: + if (blockchainOptions?.polygonSupport ?? false) return true; + case BlockchainType.binance: + if (blockchainOptions?.bnbSupport ?? false) return true; + } + + return false; + } } diff --git a/lib/dashboard/add_account/create_account/view/create_account_step1_page.dart b/lib/dashboard/add_account/create_account/view/create_account_step1_page.dart index 18f0ff967..77ccebaa5 100644 --- a/lib/dashboard/add_account/create_account/view/create_account_step1_page.dart +++ b/lib/dashboard/add_account/create_account/view/create_account_step1_page.dart @@ -1,3 +1,4 @@ +import 'package:altme/app/app.dart'; import 'package:altme/app/shared/constants/icon_strings.dart'; import 'package:altme/app/shared/constants/sizes.dart'; import 'package:altme/app/shared/widget/widget.dart'; @@ -6,6 +7,7 @@ import 'package:altme/l10n/l10n.dart'; import 'package:altme/onboarding/onboarding.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:key_generator/key_generator.dart'; class CreateAccountStep1Page extends StatelessWidget { @@ -40,72 +42,93 @@ class CreateAccountStep1View extends StatelessWidget { bottom: Sizes.spaceSmall, ), titleLeading: const BackLeadingButton(), - body: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const MStepper(totalStep: 2), - const SizedBox(height: Sizes.spaceNormal), - Text( - l10n.chooseABlockchainForAccountCreation, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.tezosAccount, - subTitle: l10n.tezosAccountDescription, - imageAssetPath: IconStrings.tezos, - onTap: () { - Navigator.of(context).push( - CreateAccountStep2Page.route(accountType: AccountType.tezos), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.ethereumAccount, - subTitle: l10n.ethereumAccountDescription, - imageAssetPath: IconStrings.ethereum, - onTap: () { - Navigator.of(context).push( - CreateAccountStep2Page.route(accountType: AccountType.ethereum), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.fantomAccount, - subTitle: l10n.fantomAccountDescription, - imageAssetPath: IconStrings.fantom, - onTap: () { - Navigator.of(context).push( - CreateAccountStep2Page.route(accountType: AccountType.fantom), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.polygonAccount, - subTitle: l10n.polygonAccountDescription, - imageAssetPath: IconStrings.polygon, - onTap: () { - Navigator.of(context).push( - CreateAccountStep2Page.route(accountType: AccountType.polygon), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.binanceAccount, - subTitle: l10n.binanceAccountDescription, - imageAssetPath: IconStrings.binance, - onTap: () { - Navigator.of(context).push( - CreateAccountStep2Page.route(accountType: AccountType.binance), - ); - }, - ), - ], + body: BlocBuilder( + builder: (context, profileStae) { + final profileSetting = profileStae.model.profileSetting; + + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const MStepper(totalStep: 2), + const SizedBox(height: Sizes.spaceNormal), + Text( + l10n.chooseABlockchainForAccountCreation, + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.bodyMedium, + ), + const SizedBox(height: Sizes.spaceNormal), + if (BlockchainType.tezos.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.tezosAccount, + subTitle: l10n.tezosAccountDescription, + imageAssetPath: IconStrings.tezos, + onTap: () { + Navigator.of(context).push( + CreateAccountStep2Page.route( + accountType: AccountType.tezos), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.ethereum.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.ethereumAccount, + subTitle: l10n.ethereumAccountDescription, + imageAssetPath: IconStrings.ethereum, + onTap: () { + Navigator.of(context).push( + CreateAccountStep2Page.route( + accountType: AccountType.ethereum), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.fantom.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.fantomAccount, + subTitle: l10n.fantomAccountDescription, + imageAssetPath: IconStrings.fantom, + onTap: () { + Navigator.of(context).push( + CreateAccountStep2Page.route( + accountType: AccountType.fantom), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.polygon.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.polygonAccount, + subTitle: l10n.polygonAccountDescription, + imageAssetPath: IconStrings.polygon, + onTap: () { + Navigator.of(context).push( + CreateAccountStep2Page.route( + accountType: AccountType.polygon), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.binance.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.binanceAccount, + subTitle: l10n.binanceAccountDescription, + imageAssetPath: IconStrings.binance, + onTap: () { + Navigator.of(context).push( + CreateAccountStep2Page.route( + accountType: AccountType.binance), + ); + }, + ), + ], + ], + ); + }, ), ); } diff --git a/lib/dashboard/add_account/import_account/view/import_account_step1_page.dart b/lib/dashboard/add_account/import_account/view/import_account_step1_page.dart index 6d5a12db9..462106124 100644 --- a/lib/dashboard/add_account/import_account/view/import_account_step1_page.dart +++ b/lib/dashboard/add_account/import_account/view/import_account_step1_page.dart @@ -1,11 +1,10 @@ -import 'package:altme/app/shared/constants/icon_strings.dart'; -import 'package:altme/app/shared/constants/sizes.dart'; -import 'package:altme/app/shared/widget/widget.dart'; +import 'package:altme/app/app.dart'; import 'package:altme/dashboard/dashboard.dart'; import 'package:altme/l10n/l10n.dart'; import 'package:altme/onboarding/onboarding.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:key_generator/key_generator.dart'; class ImportAccountStep1Page extends StatelessWidget { @@ -40,72 +39,92 @@ class ImportAccountStep1View extends StatelessWidget { right: Sizes.spaceSmall, bottom: Sizes.spaceSmall, ), - body: Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - const MStepper(totalStep: 4, step: 1), - const SizedBox(height: Sizes.spaceNormal), - Text( - l10n.importEasilyFrom, - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.bodyMedium, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.tezosAccount, - subTitle: l10n.tezosAccountDescription, - imageAssetPath: IconStrings.tezos, - onTap: () { - Navigator.of(context).push( - ImportAccountStep2Page.route(accountType: AccountType.tezos), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.ethereumAccount, - subTitle: l10n.ethereumAccountDescription, - imageAssetPath: IconStrings.ethereum, - onTap: () { - Navigator.of(context).push( - ImportAccountStep2Page.route(accountType: AccountType.ethereum), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.fantomAccount, - subTitle: l10n.fantomAccountDescription, - imageAssetPath: IconStrings.fantom, - onTap: () { - Navigator.of(context).push( - ImportAccountStep2Page.route(accountType: AccountType.fantom), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.polygonAccount, - subTitle: l10n.polygonAccountDescription, - imageAssetPath: IconStrings.polygon, - onTap: () { - Navigator.of(context).push( - ImportAccountStep2Page.route(accountType: AccountType.polygon), - ); - }, - ), - const SizedBox(height: Sizes.spaceNormal), - CustomListTileCard( - title: l10n.binanceAccount, - subTitle: l10n.binanceAccountDescription, - imageAssetPath: IconStrings.binance, - onTap: () { - Navigator.of(context).push( - ImportAccountStep2Page.route(accountType: AccountType.binance), - ); - }, - ), - ], + body: BlocBuilder( + builder: (context, profileStae) { + final profileSetting = profileStae.model.profileSetting; + return Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const MStepper(totalStep: 4, step: 1), + const SizedBox(height: Sizes.spaceNormal), + Text( + l10n.importEasilyFrom, + textAlign: TextAlign.center, + style: Theme.of(context).textTheme.bodyMedium, + ), + const SizedBox(height: Sizes.spaceNormal), + if (BlockchainType.tezos.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.tezosAccount, + subTitle: l10n.tezosAccountDescription, + imageAssetPath: IconStrings.tezos, + onTap: () { + Navigator.of(context).push( + ImportAccountStep2Page.route( + accountType: AccountType.tezos), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.ethereum.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.ethereumAccount, + subTitle: l10n.ethereumAccountDescription, + imageAssetPath: IconStrings.ethereum, + onTap: () { + Navigator.of(context).push( + ImportAccountStep2Page.route( + accountType: AccountType.ethereum), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.fantom.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.fantomAccount, + subTitle: l10n.fantomAccountDescription, + imageAssetPath: IconStrings.fantom, + onTap: () { + Navigator.of(context).push( + ImportAccountStep2Page.route( + accountType: AccountType.fantom), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.polygon.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.polygonAccount, + subTitle: l10n.polygonAccountDescription, + imageAssetPath: IconStrings.polygon, + onTap: () { + Navigator.of(context).push( + ImportAccountStep2Page.route( + accountType: AccountType.polygon), + ); + }, + ), + const SizedBox(height: Sizes.spaceNormal), + ], + if (BlockchainType.binance.isSupported(profileSetting)) ...[ + CustomListTileCard( + title: l10n.binanceAccount, + subTitle: l10n.binanceAccountDescription, + imageAssetPath: IconStrings.binance, + onTap: () { + Navigator.of(context).push( + ImportAccountStep2Page.route( + accountType: AccountType.binance), + ); + }, + ), + ], + ], + ); + }, ), ); } diff --git a/lib/dashboard/crypto_account_switcher/crypto_bottom_sheet/view/crypto_bottom_sheet_view.dart b/lib/dashboard/crypto_account_switcher/crypto_bottom_sheet/view/crypto_bottom_sheet_view.dart index 2ee2efcbd..e9b51c6ba 100644 --- a/lib/dashboard/crypto_account_switcher/crypto_bottom_sheet/view/crypto_bottom_sheet_view.dart +++ b/lib/dashboard/crypto_account_switcher/crypto_bottom_sheet/view/crypto_bottom_sheet_view.dart @@ -75,6 +75,7 @@ class _CryptoBottomSheetPageState extends State { @override Widget build(BuildContext context) { final l10n = context.l10n; + return BlocConsumer( listener: (context, state) { if (state.status == AppStatus.loading) { @@ -150,36 +151,51 @@ class _CryptoBottomSheetPageState extends State { Radius.circular(Sizes.normalRadius), ), ), - child: ListView.separated( - itemCount: state.cryptoAccount.data.length, - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - itemBuilder: (context, i) { - return CryptoAccountItem( - cryptoAccountData: - state.cryptoAccount.data[i], - isSelected: state.currentCryptoIndex == i, - listIndex: i, - onPressed: () { - context - .read() - .setCurrentWalletAccount(i); + child: BlocBuilder( + builder: (context, profileStae) { + final profileSetting = + profileStae.model.profileSetting; + + return ListView.separated( + itemCount: state.cryptoAccount.data.length, + shrinkWrap: true, + physics: + const NeverScrollableScrollPhysics(), + itemBuilder: (context, i) { + final data = state.cryptoAccount.data[i]; + + if (!data.blockchainType + .isSupported(profileSetting)) { + return Container(); + } + + return CryptoAccountItem( + cryptoAccountData: data, + isSelected: + state.currentCryptoIndex == i, + listIndex: i, + onPressed: () { + context + .read() + .setCurrentWalletAccount(i); + }, + onEditButtonPressed: () => _edit(i), + ); }, - onEditButtonPressed: () => _edit(i), + separatorBuilder: (_, __) => Padding( + padding: const EdgeInsets.symmetric( + horizontal: Sizes.spaceSmall, + ), + child: Divider( + height: 0.2, + color: Theme.of(context) + .colorScheme + .onSurface + .withOpacity(0.12), + ), + ), ); }, - separatorBuilder: (_, __) => Padding( - padding: const EdgeInsets.symmetric( - horizontal: Sizes.spaceSmall, - ), - child: Divider( - height: 0.2, - color: Theme.of(context) - .colorScheme - .onSurface - .withOpacity(0.12), - ), - ), ), ), Container(height: 20), diff --git a/lib/dashboard/drawer/blockchain_settings/manage_accounts/view/manage_accounts_page.dart b/lib/dashboard/drawer/blockchain_settings/manage_accounts/view/manage_accounts_page.dart index 9655ff717..9cd411852 100644 --- a/lib/dashboard/drawer/blockchain_settings/manage_accounts/view/manage_accounts_page.dart +++ b/lib/dashboard/drawer/blockchain_settings/manage_accounts/view/manage_accounts_page.dart @@ -108,23 +108,32 @@ class _ManageAccountsPageState extends State { crossAxisAlignment: CrossAxisAlignment.center, mainAxisSize: MainAxisSize.max, children: [ - ListView.builder( - itemCount: state.cryptoAccount.data.length, - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - itemBuilder: (context, i) { - return Padding( - padding: const EdgeInsets.all(8), - child: ManageAccountsItem( - cryptoAccountData: state.cryptoAccount.data[i], - listIndex: i, - onPressed: () { - context - .read() - .setCurrentWalletAccount(i); - }, - onEditButtonPressed: () => _edit(i), - ), + BlocBuilder( + builder: (context, profileStae) { + final profileSetting = profileStae.model.profileSetting; + return ListView.builder( + itemCount: state.cryptoAccount.data.length, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, i) { + final data = state.cryptoAccount.data[i]; + if (!data.blockchainType.isSupported(profileSetting)) { + return Container(); + } + return Padding( + padding: const EdgeInsets.all(8), + child: ManageAccountsItem( + cryptoAccountData: data, + listIndex: i, + onPressed: () { + context + .read() + .setCurrentWalletAccount(i); + }, + onEditButtonPressed: () => _edit(i), + ), + ); + }, ); }, ), From 8afedaf41134d980081479c2cb979a7e33ecb000 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Wed, 10 Jul 2024 17:32:22 +0545 Subject: [PATCH 16/33] version update to 2.9.3+472 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index c826eb8d4..bdb942197 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: altme description: AltMe Flutter App -version: 2.9.2+471 +version: 2.9.3+472 publish_to: "none" # Remove this line if you wish to publish to pub.dev environment: sdk: ">=3.1.0 <4.0.0" From e013a109a4e96efde1548c7eb18926f3a4375371 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Thu, 11 Jul 2024 16:37:18 +0545 Subject: [PATCH 17/33] feat: Use verification method from didkit for EVM #2637 #2638 --- lib/app/shared/constants/altme_strings.dart | 2 +- .../cubit/credentials_helper_function.dart | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/app/shared/constants/altme_strings.dart b/lib/app/shared/constants/altme_strings.dart index 963d2e604..dcab68ca2 100644 --- a/lib/app/shared/constants/altme_strings.dart +++ b/lib/app/shared/constants/altme_strings.dart @@ -1,7 +1,7 @@ class AltMeStrings { static const String defaultDIDMethod = 'key'; static const String cryptoTezosDIDMethod = 'pkh:tz'; - static const String cryptoEVMDIDMethod = 'pkh:eth'; + static const String cryptoEVMDIDMethod = 'key'; static const String defaultDIDMethodName = 'Tezos'; static const String databaseFilename = 'wallet.db'; static const String appContactWebsiteName = 'www.altme.io'; diff --git a/lib/credentials/cubit/credentials_helper_function.dart b/lib/credentials/cubit/credentials_helper_function.dart index 8a8c936b4..eeb09c80f 100644 --- a/lib/credentials/cubit/credentials_helper_function.dart +++ b/lib/credentials/cubit/credentials_helper_function.dart @@ -29,13 +29,14 @@ Future generateAssociatedWalletCredential({ didMethod = AltMeStrings.cryptoEVMDIDMethod; } + log.i('didMethod - $didMethod'); + final String jwkKey = await keyGenerator.jwkFromSecretKey( secretKey: cryptoAccountData.secretKey, accountType: blockchainType.accountType, ); - final issuer = didKitProvider.keyToDID(didMethod, jwkKey); - log.i('didMethod - $didMethod'); + final String issuer = didKitProvider.keyToDID(didMethod, jwkKey); log.i('jwkKey - $jwkKey'); log.i('didKitProvider.keyToDID - $issuer'); @@ -54,9 +55,12 @@ Future generateAssociatedWalletCredential({ case BlockchainType.fantom: case BlockchainType.polygon: case BlockchainType.binance: - verificationMethod = '$issuer#Recovery2020'; + //verificationMethod = '$issuer#Recovery2020'; + verificationMethod = + await didKitProvider.keyToVerificationMethod(didMethod, jwkKey); } - log.i('hardcoded verificationMethod - $verificationMethod'); + + log.i('verificationMethod - $verificationMethod'); final options = { 'proofPurpose': 'assertionMethod', From 6c818ca1df548c6a8e5810578c09a209365309f9 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Thu, 11 Jul 2024 18:39:34 +0545 Subject: [PATCH 18/33] fix:Update status display #2783 --- .../credentials/detail/cubit/credential_details_cubit.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/dashboard/home/tab_bar/credentials/detail/cubit/credential_details_cubit.dart b/lib/dashboard/home/tab_bar/credentials/detail/cubit/credential_details_cubit.dart index 8140c124d..410e3cc65 100644 --- a/lib/dashboard/home/tab_bar/credentials/detail/cubit/credential_details_cubit.dart +++ b/lib/dashboard/home/tab_bar/credentials/detail/cubit/credential_details_cubit.dart @@ -202,7 +202,8 @@ class CredentialDetailsCubit extends Cubit { // revoked emit( state.copyWith( - credentialStatus: CredentialStatus.invalidStatus, + credentialStatus: + CredentialStatus.statusListInvalidSignature, status: AppStatus.idle, statusListIndex: statusListIndex, statusListUrl: statusListUri, From 0670612cff544b7afa0253bff02677512fbc0ce2 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Thu, 11 Jul 2024 19:57:25 +0545 Subject: [PATCH 19/33] refactor: Add place to add image #2771 --- lib/chat_room/view/chat_room_view.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/chat_room/view/chat_room_view.dart b/lib/chat_room/view/chat_room_view.dart index 974c68bc5..492e543fd 100644 --- a/lib/chat_room/view/chat_room_view.dart +++ b/lib/chat_room/view/chat_room_view.dart @@ -177,6 +177,8 @@ class _ChatRoomViewState extends State { ), ), messages: state.messages, + // imageMessageBuilder: (p0, {required messageWidth}) => + // Text('Uri: ${p0.uri}'), onSendPressed: (partialText) { FocusManager.instance.primaryFocus?.unfocus(); liveChatCubit!.onSendPressed(partialText); From d15dd75d964cda8734cf0bae87de0100e1137d39 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Thu, 11 Jul 2024 19:58:05 +0545 Subject: [PATCH 20/33] version update to 2.9.4+473 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index bdb942197..8335fd25d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: altme description: AltMe Flutter App -version: 2.9.3+472 +version: 2.9.4+473 publish_to: "none" # Remove this line if you wish to publish to pub.dev environment: sdk: ">=3.1.0 <4.0.0" From cda560c1bc64b3e156cc41fb9036557ca7216210 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Fri, 12 Jul 2024 15:54:14 +0545 Subject: [PATCH 21/33] fix: Fetch uri for image but not working and indication of deleted message #2771 --- .../matrix_chat/matrix_chat_impl.dart | 43 ++++++++++++++----- .../matrix_chat/matrix_chat_interface.dart | 3 +- lib/chat_room/view/chat_room_view.dart | 25 ++++++++++- 3 files changed, 58 insertions(+), 13 deletions(-) diff --git a/lib/chat_room/matrix_chat/matrix_chat_impl.dart b/lib/chat_room/matrix_chat/matrix_chat_impl.dart index a750e8379..fad5f7c65 100644 --- a/lib/chat_room/matrix_chat/matrix_chat_impl.dart +++ b/lib/chat_room/matrix_chat/matrix_chat_impl.dart @@ -187,23 +187,32 @@ class MatrixChatImpl extends MatrixChatInterface { } if (event.messageType == 'm.text') { + final redactedBecause = event.unsigned?['redacted_because']; + message = TextMessage( id: event.unsigned?['transaction_id'] as String? ?? const Uuid().v4(), remoteId: event.eventId, - text: event.plaintextBody, + text: redactedBecause != null ? 'Message deleted' : event.plaintextBody, createdAt: event.originServerTs.millisecondsSinceEpoch, status: mapEventStatusToMessageStatus(event.status), - author: User( - id: event.senderId, - ), + author: User(id: event.senderId), ); } else if (event.messageType == 'm.image') { + final content = event.content; + + final file = content['file']; + + final url = + (file != null && file is Map) ? file['url'] : ''; + + final imageUrl = getUrlFromImage(url.toString()); + message = ImageMessage( id: const Uuid().v4(), remoteId: event.eventId, name: event.plaintextBody, size: size, - uri: getUrlFromUri(uri: event.content['url'] as String? ?? ''), + uri: imageUrl, status: mapEventStatusToMessageStatus(event.status), createdAt: event.originServerTs.millisecondsSinceEpoch, author: User( @@ -216,7 +225,7 @@ class MatrixChatImpl extends MatrixChatInterface { remoteId: event.eventId, name: event.plaintextBody, size: size, - uri: getUrlFromUri(uri: event.content['url'] as String? ?? ''), + uri: getUrlFromUri(url: event.content['url'] as String? ?? ''), status: mapEventStatusToMessageStatus(event.status), createdAt: event.originServerTs.millisecondsSinceEpoch, author: User( @@ -243,7 +252,7 @@ class MatrixChatImpl extends MatrixChatInterface { ), name: event.plaintextBody, size: size, - uri: getUrlFromUri(uri: event.content['url'] as String? ?? ''), + uri: getUrlFromUri(url: event.content['url'] as String? ?? ''), status: mapEventStatusToMessageStatus(event.status), createdAt: event.originServerTs.millisecondsSinceEpoch, author: User( @@ -462,12 +471,26 @@ class MatrixChatImpl extends MatrixChatInterface { @override String getUrlFromUri({ - required String uri, + required String url, int width = 500, int height = 500, }) { - if (uri.trim().isEmpty) return ''; - return '${Urls.matrixHomeServer}/_matrix/media/v3/thumbnail/${Urls.matrixHomeServer.replaceAll('https://', '')}/${uri.split('/').last}?width=$width&height=$height'; + if (url.trim().isEmpty) return ''; + final Uri uri = Uri.parse(url).getThumbnail( + client!, + height: height, + width: width, + animated: false, + ); + return uri.toString(); + } + + @override + String getUrlFromImage(String url) { + if (url.trim().isEmpty) return ''; + + final Uri uri = Uri.parse(url).getDownloadLink(client!); + return uri.toString(); } @override diff --git a/lib/chat_room/matrix_chat/matrix_chat_interface.dart b/lib/chat_room/matrix_chat/matrix_chat_interface.dart index 28cb8d606..680c1f319 100644 --- a/lib/chat_room/matrix_chat/matrix_chat_interface.dart +++ b/lib/chat_room/matrix_chat/matrix_chat_interface.dart @@ -29,10 +29,11 @@ abstract class MatrixChatInterface { Message mapEventToMessage(Event event); Status mapEventStatusToMessageStatus(EventStatus status); String getUrlFromUri({ - required String uri, + required String url, int width = 500, int height = 500, }); + String getUrlFromImage(String url); Future login({ required String username, required String password, diff --git a/lib/chat_room/view/chat_room_view.dart b/lib/chat_room/view/chat_room_view.dart index 492e543fd..66cd2bfb9 100644 --- a/lib/chat_room/view/chat_room_view.dart +++ b/lib/chat_room/view/chat_room_view.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:altme/app/app.dart'; import 'package:altme/chat_room/chat_room.dart'; import 'package:altme/dashboard/dashboard.dart'; @@ -177,8 +179,27 @@ class _ChatRoomViewState extends State { ), ), messages: state.messages, - // imageMessageBuilder: (p0, {required messageWidth}) => - // Text('Uri: ${p0.uri}'), + imageMessageBuilder: (p0, {required messageWidth}) { + final link = p0.uri; + + if (link.isEmpty) return Container(); + + if (link.startsWith('http')) { + return CachedImageFromNetwork( + link, + fit: BoxFit.contain, + width: 500, + height: 500, + ); + } else { + return Image.file( + File(link), + fit: BoxFit.contain, + width: 500, + height: 500, + ); + } + }, onSendPressed: (partialText) { FocusManager.instance.primaryFocus?.unfocus(); liveChatCubit!.onSendPressed(partialText); From 39f032afcedabe6050e6fa7442957b04048ee513 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Fri, 12 Jul 2024 16:39:00 +0545 Subject: [PATCH 22/33] refactor: Update sub value for cypto account ownership card #2609 --- lib/credentials/cubit/credentials_helper_function.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/credentials/cubit/credentials_helper_function.dart b/lib/credentials/cubit/credentials_helper_function.dart index eeb09c80f..99603697f 100644 --- a/lib/credentials/cubit/credentials_helper_function.dart +++ b/lib/credentials/cubit/credentials_helper_function.dart @@ -185,7 +185,7 @@ Future generateAssociatedWalletCredential({ oidc4vc: oidc4vc, privateKey: privateKey, kid: verificationMethod, - issuer: issuer, + did: did, ); } } else { @@ -197,7 +197,7 @@ Future generateAssociatedWalletCredential({ oidc4vc: oidc4vc, privateKey: privateKey, kid: verificationMethod, - issuer: issuer, + did: did, ); } } catch (e, s) { @@ -216,7 +216,7 @@ Future _createCredential({ required CustomOidc4VcProfile customOidc4vcProfile, required OIDC4VC oidc4vc, required Map privateKey, - required String issuer, + required String did, required String kid, String? oldId, }) async { @@ -244,13 +244,13 @@ Future _createCredential({ 'exp': iat + 1000, 'iss': jsonLd['issuer'], 'jti': jsonLd['id'] ?? 'urn:uuid:${const Uuid().v4()}', - 'sub': issuer, + 'sub': did, 'vc': jsonLd, }; final tokenParameters = TokenParameters( privateKey: privateKey, - did: issuer, + did: did, kid: kid, mediaType: MediaType.basic, clientType: customOidc4vcProfile.clientType, From 9160f58957cdbc7687bad2305b1ab23d32ec70ad Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Mon, 15 Jul 2024 17:11:45 +0545 Subject: [PATCH 23/33] feat: Add all type of VCs #2779 --- .../helper_functions/helper_functions.dart | 31 +++++++---- .../widget/vc_format_widget.dart | 5 ++ .../home_credential_category_list.dart | 5 ++ .../filter_credential_list_by_format.dart | 52 ++++++++++--------- 4 files changed, 57 insertions(+), 36 deletions(-) diff --git a/lib/app/shared/helper_functions/helper_functions.dart b/lib/app/shared/helper_functions/helper_functions.dart index 418ed63ff..f6dd09121 100644 --- a/lib/app/shared/helper_functions/helper_functions.dart +++ b/lib/app/shared/helper_functions/helper_functions.dart @@ -1853,6 +1853,13 @@ List getStringCredentialsForToken({ } } + if (vcFormatType == VCFormatType.auto) { + presentLdpVc = true; + presentJwtVc = true; + presentJwtVcJson = true; + presentVcSdJwt = true; + } + if (!presentLdpVc && !presentJwtVc && !presentJwtVcJson && !presentVcSdJwt) { throw ResponseMessage( data: { @@ -1891,17 +1898,19 @@ List getStringCredentialsForToken({ presentVcSdJwt = true; } - if ((presentLdpVc && vcFormatType != VCFormatType.ldpVc) || - (presentJwtVc && vcFormatType != VCFormatType.jwtVc) || - presentJwtVcJson && vcFormatType != VCFormatType.jwtVcJson || - presentVcSdJwt && vcFormatType != VCFormatType.vcSdJWT) { - throw ResponseMessage( - data: { - 'error': 'invalid_request', - 'error_description': 'Please switch to profile that supports format ' - '${supportingFormats.join('/')}.', - }, - ); + if (vcFormatType != VCFormatType.auto) { + if ((presentLdpVc && vcFormatType != VCFormatType.ldpVc) || + (presentJwtVc && vcFormatType != VCFormatType.jwtVc) || + presentJwtVcJson && vcFormatType != VCFormatType.jwtVcJson || + presentVcSdJwt && vcFormatType != VCFormatType.vcSdJWT) { + throw ResponseMessage( + data: { + 'error': 'invalid_request', + 'error_description': 'Please switch to profile that supports format ' + '${supportingFormats.join('/')}.', + }, + ); + } } return (presentLdpVc, presentJwtVc, presentJwtVcJson, presentVcSdJwt); diff --git a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart index b71f67852..245fc06ab 100644 --- a/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart +++ b/lib/dashboard/drawer/ssi/oidc4vc_settngs/widget/vc_format_widget.dart @@ -22,6 +22,11 @@ class VCFormatWidget extends StatelessWidget { padding: EdgeInsets.zero, itemBuilder: (context, index) { final vcFormatType = VCFormatType.values[index]; + + if (vcFormatType == VCFormatType.auto) { + return Container(); + } + return Column( children: [ ListTile( diff --git a/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart b/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart index b16f00312..1c7e3da60 100644 --- a/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart +++ b/lib/dashboard/home/tab_bar/credentials/list/widgets/home_credential_category_list.dart @@ -75,6 +75,11 @@ class HomeCredentialCategoryList extends StatelessWidget { } } + if (customOidc4vcProfile.vcFormatType.vcValue == + VCFormatType.auto.vcValue) { + return true; + } + /// do not load the credential if vc format is different if (customOidc4vcProfile.vcFormatType.vcValue != element.getFormat) { diff --git a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart index ae526544c..a2df4c317 100644 --- a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart +++ b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart @@ -27,31 +27,33 @@ List filterCredenialListByFormat({ vcFormatType: vcFormatType, ); - credentials.removeWhere( - (CredentialModel credentialModel) { - /// remove ldpVc - if (presentLdpVc) { - return credentialModel.getFormat != VCFormatType.ldpVc.vcValue; - } - - /// remove jwtVc - if (presentJwtVc) { - return credentialModel.getFormat != VCFormatType.jwtVc.vcValue; - } - - /// remove JwtVcJson - if (presentJwtVcJson) { - return credentialModel.getFormat != VCFormatType.jwtVcJson.vcValue; - } - - /// remove vcSdJwt - if (presentVcSdJwt) { - return credentialModel.getFormat != VCFormatType.vcSdJWT.vcValue; - } - - return false; - }, - ); + if (vcFormatType != VCFormatType.auto) { + credentials.removeWhere( + (CredentialModel credentialModel) { + /// remove ldpVc + if (presentLdpVc) { + return credentialModel.getFormat != VCFormatType.ldpVc.vcValue; + } + + /// remove jwtVc + if (presentJwtVc) { + return credentialModel.getFormat != VCFormatType.jwtVc.vcValue; + } + + /// remove JwtVcJson + if (presentJwtVcJson) { + return credentialModel.getFormat != VCFormatType.jwtVcJson.vcValue; + } + + /// remove vcSdJwt + if (presentVcSdJwt) { + return credentialModel.getFormat != VCFormatType.vcSdJWT.vcValue; + } + + return false; + }, + ); + } } return credentials; } From c39d2e747dc65406d160ad3cee6dfecc182cc49d Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Mon, 15 Jul 2024 18:00:33 +0545 Subject: [PATCH 24/33] feat: Support all types presentaton wth VCFormat auto #2779 --- .../helper_functions/helper_functions.dart | 194 ++++++++++-------- .../filter_credential_list_by_format.dart | 57 ++--- lib/scan/cubit/scan_cubit.dart | 1 + .../helper_functions_test.dart | 7 + 4 files changed, 151 insertions(+), 108 deletions(-) diff --git a/lib/app/shared/helper_functions/helper_functions.dart b/lib/app/shared/helper_functions/helper_functions.dart index f6dd09121..702277f7b 100644 --- a/lib/app/shared/helper_functions/helper_functions.dart +++ b/lib/app/shared/helper_functions/helper_functions.dart @@ -1793,112 +1793,144 @@ List getStringCredentialsForToken({ required VCFormatType vcFormatType, required PresentationDefinition presentationDefinition, required Map? clientMetaData, + required List credentialsToBePresented, }) { bool presentLdpVc = false; bool presentJwtVc = false; bool presentJwtVcJson = false; bool presentVcSdJwt = false; - final supportingFormats = []; - - if (presentationDefinition.format != null) { - final format = presentationDefinition.format; - - /// ldp_vc - presentLdpVc = format?.ldpVc != null || format?.ldpVp != null; + if (vcFormatType == VCFormatType.auto) { + final credential = credentialsToBePresented.firstOrNull; - /// jwt_vc - presentJwtVc = format?.jwtVc != null || format?.jwtVp != null; + if (credential == null) { + throw ResponseMessage( + data: { + 'error': 'invalid_request', + 'error_description': 'VC format is missing', + }, + ); + } - /// jwt_vc_json - presentJwtVcJson = format?.jwtVcJson != null || format?.jwtVpJson != null; + final credentialFormat = credential.getFormat; - /// vc+sd-jwt - presentVcSdJwt = format?.vcSdJwt != null; + if (credentialFormat == VCFormatType.ldpVc.vcValue) { + presentLdpVc = true; + presentJwtVc = false; + presentJwtVcJson = false; + presentVcSdJwt = false; + } else if (credentialFormat == VCFormatType.jwtVc.vcValue) { + presentLdpVc = false; + presentJwtVc = true; + presentJwtVcJson = false; + presentVcSdJwt = false; + } else if (credentialFormat == VCFormatType.jwtVcJson.vcValue) { + presentLdpVc = false; + presentJwtVc = false; + presentJwtVcJson = true; + presentVcSdJwt = false; + } else if (credentialFormat == VCFormatType.vcSdJWT.vcValue) { + presentLdpVc = false; + presentJwtVc = false; + presentJwtVcJson = false; + presentVcSdJwt = true; + } } else { - if (clientMetaData == null) { - /// credential manifest case - if (vcFormatType == VCFormatType.ldpVc) { - presentLdpVc = true; - } else if (vcFormatType == VCFormatType.jwtVc) { - presentJwtVc = true; - } else if (vcFormatType == VCFormatType.jwtVcJson) { - presentJwtVcJson = true; - } else if (vcFormatType == VCFormatType.vcSdJWT) { - presentVcSdJwt = true; - } - } else { - final vpFormats = clientMetaData['vp_formats'] as Map; + final supportingFormats = []; + + if (presentationDefinition.format != null) { + final format = presentationDefinition.format; /// ldp_vc - presentLdpVc = vpFormats.containsKey('ldp_vc'); + presentLdpVc = format?.ldpVc != null || format?.ldpVp != null; /// jwt_vc - presentJwtVc = vpFormats.containsKey('jwt_vc'); + presentJwtVc = format?.jwtVc != null || format?.jwtVp != null; /// jwt_vc_json - presentJwtVcJson = vpFormats.containsKey('jwt_vc_json'); + presentJwtVcJson = format?.jwtVcJson != null || format?.jwtVpJson != null; /// vc+sd-jwt - presentVcSdJwt = vpFormats.containsKey('vc+sd-jwt'); + presentVcSdJwt = format?.vcSdJwt != null; + } else { + if (clientMetaData == null) { + /// credential manifest case + if (vcFormatType == VCFormatType.ldpVc) { + presentLdpVc = true; + } else if (vcFormatType == VCFormatType.jwtVc) { + presentJwtVc = true; + } else if (vcFormatType == VCFormatType.jwtVcJson) { + presentJwtVcJson = true; + } else if (vcFormatType == VCFormatType.vcSdJWT) { + presentVcSdJwt = true; + } + } else { + final vpFormats = clientMetaData['vp_formats'] as Map; + + /// ldp_vc + presentLdpVc = vpFormats.containsKey('ldp_vc'); + + /// jwt_vc + presentJwtVc = vpFormats.containsKey('jwt_vc'); + + /// jwt_vc_json + presentJwtVcJson = vpFormats.containsKey('jwt_vc_json'); + + /// vc+sd-jwt + presentVcSdJwt = vpFormats.containsKey('vc+sd-jwt'); + } + if (!presentLdpVc && vcFormatType == VCFormatType.ldpVc) { + presentLdpVc = true; + } else if (!presentJwtVc && vcFormatType == VCFormatType.jwtVc) { + presentJwtVc = true; + } else if (!presentJwtVcJson && vcFormatType == VCFormatType.jwtVcJson) { + presentJwtVcJson = true; + } else if (!presentVcSdJwt && vcFormatType == VCFormatType.vcSdJWT) { + presentVcSdJwt = true; + } + } + + if (!presentLdpVc && + !presentJwtVc && + !presentJwtVcJson && + !presentVcSdJwt) { + throw ResponseMessage( + data: { + 'error': 'invalid_request', + 'error_description': 'VC format is missing', + }, + ); } - if (!presentLdpVc && vcFormatType == VCFormatType.ldpVc) { + + /// create list of supported formats + if (presentLdpVc) supportingFormats.add(VCFormatType.ldpVc.vcValue); + if (presentJwtVc) supportingFormats.add(VCFormatType.jwtVc.vcValue); + if (presentJwtVcJson) supportingFormats.add(VCFormatType.jwtVcJson.vcValue); + if (presentVcSdJwt) supportingFormats.add(VCFormatType.vcSdJWT.vcValue); + + /// make sure only one of all are true + if (presentLdpVc && vcFormatType == VCFormatType.ldpVc) { presentLdpVc = true; - } else if (!presentJwtVc && vcFormatType == VCFormatType.jwtVc) { + presentJwtVc = false; + presentJwtVcJson = false; + presentVcSdJwt = false; + } else if (presentJwtVc && vcFormatType == VCFormatType.jwtVc) { + presentLdpVc = false; presentJwtVc = true; - } else if (!presentJwtVcJson && vcFormatType == VCFormatType.jwtVcJson) { + presentJwtVcJson = false; + presentVcSdJwt = false; + } else if (presentJwtVcJson && vcFormatType == VCFormatType.jwtVcJson) { + presentLdpVc = false; + presentJwtVc = false; presentJwtVcJson = true; - } else if (!presentVcSdJwt && vcFormatType == VCFormatType.vcSdJWT) { + presentVcSdJwt = false; + } else if (presentVcSdJwt && vcFormatType == VCFormatType.vcSdJWT) { + presentLdpVc = false; + presentJwtVc = false; + presentJwtVcJson = false; presentVcSdJwt = true; } - } - - if (vcFormatType == VCFormatType.auto) { - presentLdpVc = true; - presentJwtVc = true; - presentJwtVcJson = true; - presentVcSdJwt = true; - } - - if (!presentLdpVc && !presentJwtVc && !presentJwtVcJson && !presentVcSdJwt) { - throw ResponseMessage( - data: { - 'error': 'invalid_request', - 'error_description': 'VC format is missing', - }, - ); - } - /// create list of supported formats - if (presentLdpVc) supportingFormats.add(VCFormatType.ldpVc.vcValue); - if (presentJwtVc) supportingFormats.add(VCFormatType.jwtVc.vcValue); - if (presentJwtVcJson) supportingFormats.add(VCFormatType.jwtVcJson.vcValue); - if (presentVcSdJwt) supportingFormats.add(VCFormatType.jwtVcJson.vcValue); - - /// make sure only one of all are true - if (presentLdpVc && vcFormatType == VCFormatType.ldpVc) { - presentLdpVc = true; - presentJwtVc = false; - presentJwtVcJson = false; - presentVcSdJwt = false; - } else if (presentJwtVc && vcFormatType == VCFormatType.jwtVc) { - presentLdpVc = false; - presentJwtVc = true; - presentJwtVcJson = false; - presentVcSdJwt = false; - } else if (presentJwtVcJson && vcFormatType == VCFormatType.jwtVcJson) { - presentLdpVc = false; - presentJwtVc = false; - presentJwtVcJson = true; - presentVcSdJwt = false; - } else if (presentVcSdJwt && vcFormatType == VCFormatType.vcSdJWT) { - presentLdpVc = false; - presentJwtVc = false; - presentJwtVcJson = false; - presentVcSdJwt = true; - } - - if (vcFormatType != VCFormatType.auto) { if ((presentLdpVc && vcFormatType != VCFormatType.ldpVc) || (presentJwtVc && vcFormatType != VCFormatType.jwtVc) || presentJwtVcJson && vcFormatType != VCFormatType.jwtVcJson || diff --git a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart index a2df4c317..c9c891da8 100644 --- a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart +++ b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/helpers/filter_credential_list_by_format.dart @@ -10,6 +10,10 @@ List filterCredenialListByFormat({ required PresentationDefinition presentationDefinition, required List filterList, }) { + if (vcFormatType == VCFormatType.auto) { + return credentialList; + } + final credentials = List.from(credentialList); if (filterList.isNotEmpty) { final isJwtVpInJwtVCRequired = presentationDefinition.format?.jwtVp != null; @@ -25,35 +29,34 @@ List filterCredenialListByFormat({ clientMetaData: clientMetaData, presentationDefinition: presentationDefinition, vcFormatType: vcFormatType, + credentialsToBePresented: credentials, ); - if (vcFormatType != VCFormatType.auto) { - credentials.removeWhere( - (CredentialModel credentialModel) { - /// remove ldpVc - if (presentLdpVc) { - return credentialModel.getFormat != VCFormatType.ldpVc.vcValue; - } - - /// remove jwtVc - if (presentJwtVc) { - return credentialModel.getFormat != VCFormatType.jwtVc.vcValue; - } - - /// remove JwtVcJson - if (presentJwtVcJson) { - return credentialModel.getFormat != VCFormatType.jwtVcJson.vcValue; - } - - /// remove vcSdJwt - if (presentVcSdJwt) { - return credentialModel.getFormat != VCFormatType.vcSdJWT.vcValue; - } - - return false; - }, - ); - } + credentials.removeWhere( + (CredentialModel credentialModel) { + /// remove ldpVc + if (presentLdpVc) { + return credentialModel.getFormat != VCFormatType.ldpVc.vcValue; + } + + /// remove jwtVc + if (presentJwtVc) { + return credentialModel.getFormat != VCFormatType.jwtVc.vcValue; + } + + /// remove JwtVcJson + if (presentJwtVcJson) { + return credentialModel.getFormat != VCFormatType.jwtVcJson.vcValue; + } + + /// remove vcSdJwt + if (presentVcSdJwt) { + return credentialModel.getFormat != VCFormatType.vcSdJWT.vcValue; + } + + return false; + }, + ); } return credentials; } diff --git a/lib/scan/cubit/scan_cubit.dart b/lib/scan/cubit/scan_cubit.dart index 5a59cf932..c5b8dbe1d 100644 --- a/lib/scan/cubit/scan_cubit.dart +++ b/lib/scan/cubit/scan_cubit.dart @@ -872,6 +872,7 @@ class ScanCubit extends Cubit { clientMetaData: clientMetaData, presentationDefinition: presentationDefinition, vcFormatType: vcFormatType, + credentialsToBePresented: credentialsToBePresented, ); if (presentLdpVc) { diff --git a/test/app/shared/helper_functions/helper_functions_test.dart b/test/app/shared/helper_functions/helper_functions_test.dart index cec8dd02a..dad2c0f0d 100644 --- a/test/app/shared/helper_functions/helper_functions_test.dart +++ b/test/app/shared/helper_functions/helper_functions_test.dart @@ -1084,6 +1084,7 @@ void main() { ), ), clientMetaData: null, + credentialsToBePresented: [], ), (true, false, false, false), ); @@ -1102,6 +1103,7 @@ void main() { vcFormatType: VCFormatType.ldpVc, presentationDefinition: presentationDefinition, clientMetaData: null, + credentialsToBePresented: [], ), throwsA( isA().having((e) => e.data, '', { @@ -1124,6 +1126,7 @@ void main() { format: null, ), clientMetaData: null, + credentialsToBePresented: [], ), (false, true, false, false), ); @@ -1141,6 +1144,7 @@ void main() { format: null, ), clientMetaData: null, + credentialsToBePresented: [], ), (false, false, true, false), ); @@ -1158,6 +1162,7 @@ void main() { format: null, ), clientMetaData: null, + credentialsToBePresented: [], ), (false, false, false, true), ); @@ -1179,6 +1184,7 @@ void main() { 'jwt_vc_json': 'here', }, }, + credentialsToBePresented: [], ), (false, false, true, false), ); @@ -1200,6 +1206,7 @@ void main() { 'vc+sd-jwt': 'here', }, }, + credentialsToBePresented: [], ), (false, false, false, true), ); From 825d2b03abd3c80de51169e0a691d43e9a80db29 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Mon, 15 Jul 2024 18:02:15 +0545 Subject: [PATCH 25/33] verson update to 2.9.5+474 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 8335fd25d..b9e9a9ac9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: altme description: AltMe Flutter App -version: 2.9.4+473 +version: 2.9.5+474 publish_to: "none" # Remove this line if you wish to publish to pub.dev environment: sdk: ">=3.1.0 <4.0.0" From 9bbf8b0c29dc714203080e1856f713344ec766e9 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 12:45:55 +0545 Subject: [PATCH 26/33] feat: Use engish lang for profile list for all lang #2786 --- .../enum/type/profile/profile_type.dart | 19 +++++++------------ .../widget/profile_selector_widget.dart | 6 +----- lib/l10n/arb/app_ca.arb | 6 ------ lib/l10n/arb/app_en.arb | 6 ------ lib/l10n/arb/app_es.arb | 6 ------ lib/l10n/arb/app_fr.arb | 6 ------ 6 files changed, 8 insertions(+), 41 deletions(-) diff --git a/lib/app/shared/enum/type/profile/profile_type.dart b/lib/app/shared/enum/type/profile/profile_type.dart index 6b2f2f300..aadba9764 100644 --- a/lib/app/shared/enum/type/profile/profile_type.dart +++ b/lib/app/shared/enum/type/profile/profile_type.dart @@ -1,5 +1,3 @@ -import 'package:altme/l10n/l10n.dart'; - enum ProfileType { defaultOne, ebsiV3, @@ -10,23 +8,20 @@ enum ProfileType { } extension ProfileTypeX on ProfileType { - String getTitle({ - required AppLocalizations l10n, - required String name, - }) { + String getTitle({required String name}) { switch (this) { case ProfileType.custom: - return l10n.profileCustom; + return 'Custom'; case ProfileType.ebsiV3: - return l10n.profileEbsiV3; + return 'European Blockchain Services Infrastructure'; case ProfileType.dutch: - return l10n.decentralizedIdentityInteropProfile; + return 'Decentralized Identity Interop Profile (DIIP v2.1)'; case ProfileType.enterprise: - return name.isEmpty ? l10n.enterprise : name; + return name.isEmpty ? 'Enterprise' : name; case ProfileType.owfBaselineProfile: - return l10n.oWFBaselineProfile; + return 'OWF Baseline Profile'; case ProfileType.defaultOne: - return l10n.defaultProfile; + return 'Default'; } } diff --git a/lib/dashboard/drawer/profile/widget/profile_selector_widget.dart b/lib/dashboard/drawer/profile/widget/profile_selector_widget.dart index 34efedeef..9d401d67c 100644 --- a/lib/dashboard/drawer/profile/widget/profile_selector_widget.dart +++ b/lib/dashboard/drawer/profile/widget/profile_selector_widget.dart @@ -1,7 +1,6 @@ import 'package:altme/app/app.dart'; import 'package:altme/credentials/cubit/credentials_cubit.dart'; import 'package:altme/dashboard/profile/profile.dart'; -import 'package:altme/l10n/l10n.dart'; import 'package:altme/wallet/wallet.dart'; import 'package:flutter/material.dart'; @@ -12,8 +11,6 @@ class ProfileSelectorWidget extends StatelessWidget { @override Widget build(BuildContext context) { - final l10n = context.l10n; - final profile = context.read().state.model; final walletContainsEnterpriseProfile = @@ -44,7 +41,7 @@ class ProfileSelectorWidget extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - l10n.walletProfilesDescription, + 'Choose your SSI profile or customize your own', style: Theme.of(context).textTheme.titleMedium, ), ], @@ -89,7 +86,6 @@ class ProfileSelectorWidget extends StatelessWidget { ), title: Text( profileType.getTitle( - l10n: l10n, name: profile.enterpriseWalletName ?? '', ), style: Theme.of(context).textTheme.bodyLarge, diff --git a/lib/l10n/arb/app_ca.arb b/lib/l10n/arb/app_ca.arb index a7ecae789..d96c3b049 100644 --- a/lib/l10n/arb/app_ca.arb +++ b/lib/l10n/arb/app_ca.arb @@ -966,9 +966,6 @@ "clientSecret": "Client secret", "walletProfiles": "Perfils de la cartera", "walletProfilesDescription": "Escull un perfil SSI o personalitza el teu", - "profileCustom": "Personalitzar", - "profileEbsiV3": "Infraestructura de serveis blockchain europea", - "decentralizedIdentityInteropProfile": "Perfil d’interop d’identitat descentralizada", "protectYourWallet": "Protegeix la teva cartera", "protectYourWalletMessage": "Utilitza l’empremta digital, la cara o el PIN del dispositiu per protegir i desbloquejar la teva cartera. Dades xifrades i segures en aquest dispositiu.", "pinUnlock": "Desbloqueig PIN", @@ -1003,9 +1000,6 @@ "clientTypeSubtitle" : "Predeterminat: DID\nDesplaci per canviar el tipus de client", "switchOffCryptoHolderBindingForThatDIDMethod": "Desactivar la vinculació del titular (o posseïdor) de criptoactius per a aquest mètode DID", "thisTypeProofCannotBeUsedWithThisVCFormat": "Aquest tipus de prova no es pot fer servir amb aquest format de CV", - "enterprise" : "Organització/Empresa", - "oWFBaselineProfile": "Perfil de Línia Base d'OWF", - "defaultProfile" : "Predeterminat", "blockchainCardsDiscoverTitle": "Obtenir prova de propietat de compte cripto", "blockchainCardsDiscoverSubtitle" : "Obtenir prova de propietat de compte de criptoactius", "successfullyAddedEnterpriseAccount": "Compte d'Organització/Empresa afegida amb èxit!", diff --git a/lib/l10n/arb/app_en.arb b/lib/l10n/arb/app_en.arb index a77491f10..e885f3090 100644 --- a/lib/l10n/arb/app_en.arb +++ b/lib/l10n/arb/app_en.arb @@ -958,9 +958,6 @@ "clientSecret": "Client Secret", "walletProfiles": "Wallet Profiles", "walletProfilesDescription": "Choose your SSI profile or customize your own", - "profileCustom": "Custom", - "profileEbsiV3": "European Blockchain Services Infrastructure", - "decentralizedIdentityInteropProfile": "Decentralized Identity Interop Profile (DIIP v2.1)", "protectYourWallet": "Protect your wallet", "protectYourWalletMessage": "Use your fingerprint, face, or device PIN to secure and unlock your wallet. Your data is securely encrypted on this device.", "pinUnlock": "PIN unlock", @@ -993,9 +990,6 @@ "walletProvider": "Wallet Provider", "clientTypeSubtitle": "Default: DID\nSwitch to change the client type", "thisTypeProofCannotBeUsedWithThisVCFormat": "This type proof cannot be used with this VC Format.", - "enterprise": "Enterprise", - "oWFBaselineProfile": "OWF Baseline Profile", - "defaultProfile":"Default", "blockchainCardsDiscoverTitle": "Get a proof of crypto account ownership", "blockchainCardsDiscoverSubtitle": "Get a proof of crypto account ownership.", "successfullyAddedEnterpriseAccount": "Successfully added enterprise account!", diff --git a/lib/l10n/arb/app_es.arb b/lib/l10n/arb/app_es.arb index c49226655..982e2ab31 100644 --- a/lib/l10n/arb/app_es.arb +++ b/lib/l10n/arb/app_es.arb @@ -966,9 +966,6 @@ "clientSecret": "Secreto de cliente", "walletProfiles": "Perfiles de cartera", "walletProfilesDescription": "Elija su perfil SSI o personalice el suyo propio", - "profileCustom": "Personalizado", - "profileEbsiV3": "European Blockchain Services Infrastructure", - "decentralizedIdentityInteropProfile": "Perfil de interoperabilidad de identidad descentralizada", "protectYourWallet": "Proteja su cartera", "protectYourWalletMessage": "Proteja y desbloquee su cartera con su huella dactilar, rostro o el PIN de su dispositivo. Datos cifrados de forma segura en este dispositivo.", "pinUnlock": "Desbloqueo con PIN", @@ -1003,9 +1000,6 @@ "clientTypeSubtitle" : "Predeterminado: DID\nDesplace para cambiar el tipo de cliente", "switchOffCryptoHolderBindingForThatDIDMethod": "Desactivar la vinculación del titular (o poseedor) de criptoactivos para ese método DID", "thisTypeProofCannotBeUsedWithThisVCFormat": "Este tipo de prueba no se puede utilizar con este formato de CV.", - "enterprise" : "Organización/Empresa", - "oWFBaselineProfile": "Perfil de Línea Base de OWF", - "defaultProfile" : "Predeterminado", "blockchainCardsDiscoverTitle": "Obtener prueba de propiedad de cuenta cripto", "blockchainCardsDiscoverSubtitle" : "Obtener prueba de propiedad de cuenta de criptoactivos", "successfullyAddedEnterpriseAccount":"¡Cuenta de Organización/Empresa añadida con éxito!", diff --git a/lib/l10n/arb/app_fr.arb b/lib/l10n/arb/app_fr.arb index caca58790..5ecca94d6 100644 --- a/lib/l10n/arb/app_fr.arb +++ b/lib/l10n/arb/app_fr.arb @@ -965,9 +965,6 @@ "clientSecret": "Secret client", "walletProfiles": "Profils de portefeuille", "walletProfilesDescription": "Choisissez votre profil SSI", - "profileCustom": "Personnalisé", - "profileEbsiV3": "Blockchain Européenne EBSI", - "decentralizedIdentityInteropProfile": "Profil DIIP", "protectYourWallet": "Protégez votre portefeuille", "protectYourWalletMessage": "Utilisez votre empreinte digitale, votre visage ou le code PIN de votre appareil pour sécuriser et déverrouiller votre portefeuille.", "pinUnlock": "Déverrouillage par PIN", @@ -1001,9 +998,6 @@ "walletProvider": "Fournisseur de Portefeuille", "theLdpFormatIsNotSupportedByThisDIDMethod": "Le format LDP n'est pas pris en charge par cette méthode DID.", "thisTypeProofCannotBeUsedWithThisVCFormat": "Ce type de preuve ne peut pas être utilisé avec ce format de VC.", - "enterprise": "Entreprise", - "oWFBaselineProfile": "Profil de base OWF", - "defaultProfile":"Profil par défaut", "blockchainCardsDiscoverTitle": "Prouvez que vous possédez un compte crypto.", "blockchainCardsDiscoverSubtitle": "Prouvez que vous possédez un compte crypto.", "successfullyAddedEnterpriseAccount": "Compte entreprise ajouté avec succès !", From ac72343427e66899ca613cce70e20256524452af Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 13:34:07 +0545 Subject: [PATCH 27/33] refactor: Rename dutch into diipv2point1 --- lib/app/shared/enum/type/profile/profile_type.dart | 6 +++--- lib/app/shared/widget/wallet_logo.dart | 2 +- lib/credentials/cubit/credentials_cubit.dart | 2 +- lib/dashboard/profile/cubit/profile_cubit.dart | 8 ++++---- lib/dashboard/profile/models/profile.dart | 4 ++-- test/app/shared/enum/type/profile/profile_type_test.dart | 2 +- test/app/shared/widget/wallet_logo_test.dart | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/app/shared/enum/type/profile/profile_type.dart b/lib/app/shared/enum/type/profile/profile_type.dart index aadba9764..b8e7e523e 100644 --- a/lib/app/shared/enum/type/profile/profile_type.dart +++ b/lib/app/shared/enum/type/profile/profile_type.dart @@ -1,7 +1,7 @@ enum ProfileType { defaultOne, ebsiV3, - dutch, + diipv2point1, owfBaselineProfile, custom, enterprise, @@ -14,7 +14,7 @@ extension ProfileTypeX on ProfileType { return 'Custom'; case ProfileType.ebsiV3: return 'European Blockchain Services Infrastructure'; - case ProfileType.dutch: + case ProfileType.diipv2point1: return 'Decentralized Identity Interop Profile (DIIP v2.1)'; case ProfileType.enterprise: return name.isEmpty ? 'Enterprise' : name; @@ -29,7 +29,7 @@ extension ProfileTypeX on ProfileType { switch (this) { case ProfileType.custom: case ProfileType.defaultOne: - case ProfileType.dutch: + case ProfileType.diipv2point1: return false; case ProfileType.ebsiV3: case ProfileType.enterprise: diff --git a/lib/app/shared/widget/wallet_logo.dart b/lib/app/shared/widget/wallet_logo.dart index 6e1c1d75c..54e949b7b 100644 --- a/lib/app/shared/widget/wallet_logo.dart +++ b/lib/app/shared/widget/wallet_logo.dart @@ -26,7 +26,7 @@ class WalletLogo extends StatelessWidget { switch (profileModel.profileType) { case ProfileType.custom: - case ProfileType.dutch: + case ProfileType.diipv2point1: case ProfileType.defaultOne: image = flavorCubit.state == FlavorMode.development ? ImageStrings.appLogoDev diff --git a/lib/credentials/cubit/credentials_cubit.dart b/lib/credentials/cubit/credentials_cubit.dart index a484ae69e..2005f1cd9 100644 --- a/lib/credentials/cubit/credentials_cubit.dart +++ b/lib/credentials/cubit/credentials_cubit.dart @@ -669,7 +669,7 @@ class CredentialsCubit extends Cubit { final vcFormatType = profileSetting .selfSovereignIdentityOptions.customOidc4vcProfile.vcFormatType; - final isDutchProfile = profileModel.profileType == ProfileType.dutch; + final isDutchProfile = profileModel.profileType == ProfileType.diipv2point1; final discoverCardsOptions = profileSetting.discoverCardsOptions; // entreprise user may have a list of external issuer diff --git a/lib/dashboard/profile/cubit/profile_cubit.dart b/lib/dashboard/profile/cubit/profile_cubit.dart index 782fc61c3..a3c409779 100644 --- a/lib/dashboard/profile/cubit/profile_cubit.dart +++ b/lib/dashboard/profile/cubit/profile_cubit.dart @@ -237,7 +237,7 @@ class ProfileCubit extends Cubit { enterpriseWalletName: enterpriseWalletName, ); - case ProfileType.dutch: + case ProfileType.diipv2point1: final privateKey = await getPrivateKey( didKeyType: Parameters.didKeyTypeForDutch, profileCubit: this, @@ -249,7 +249,7 @@ class ProfileCubit extends Cubit { profileCubit: this, ); - profileModel = ProfileModel.dutch( + profileModel = ProfileModel.diipv2point1( polygonIdNetwork: polygonIdNetwork, walletType: walletType, walletProtectionType: walletProtectionType, @@ -590,9 +590,9 @@ class ProfileCubit extends Cubit { .selfSovereignIdentityOptions.customOidc4vcProfile.clientSecret, ), ); - case ProfileType.dutch: + case ProfileType.diipv2point1: await update( - ProfileModel.dutch( + ProfileModel.diipv2point1( polygonIdNetwork: state.model.polygonIdNetwork, walletProtectionType: state.model.walletProtectionType, isDeveloperMode: state.model.isDeveloperMode, diff --git a/lib/dashboard/profile/models/profile.dart b/lib/dashboard/profile/models/profile.dart index b851d5588..beb5177a9 100644 --- a/lib/dashboard/profile/models/profile.dart +++ b/lib/dashboard/profile/models/profile.dart @@ -146,7 +146,7 @@ class ProfileModel extends Equatable { ), ); - factory ProfileModel.dutch({ + factory ProfileModel.diipv2point1({ required PolygonIdNetwork polygonIdNetwork, required WalletType walletType, required WalletProtectionType walletProtectionType, @@ -161,7 +161,7 @@ class ProfileModel extends Equatable { walletType: walletType, walletProtectionType: walletProtectionType, isDeveloperMode: isDeveloperMode, - profileType: ProfileType.dutch, + profileType: ProfileType.diipv2point1, profileSetting: ProfileSetting( blockchainOptions: BlockchainOptions.initial(), generalOptions: GeneralOptions.empty(), diff --git a/test/app/shared/enum/type/profile/profile_type_test.dart b/test/app/shared/enum/type/profile/profile_type_test.dart index 08ba5c82d..ba2f20bea 100644 --- a/test/app/shared/enum/type/profile/profile_type_test.dart +++ b/test/app/shared/enum/type/profile/profile_type_test.dart @@ -6,7 +6,7 @@ void main() { test('Show Sponsered By', () { expect(ProfileType.custom.showSponseredBy, false); expect(ProfileType.ebsiV3.showSponseredBy, true); - expect(ProfileType.dutch.showSponseredBy, false); + expect(ProfileType.diipv2point1.showSponseredBy, false); expect(ProfileType.enterprise.showSponseredBy, true); expect(ProfileType.owfBaselineProfile.showSponseredBy, true); expect(ProfileType.defaultOne.showSponseredBy, false); diff --git a/test/app/shared/widget/wallet_logo_test.dart b/test/app/shared/widget/wallet_logo_test.dart index fff40b6fc..be38d2b1c 100644 --- a/test/app/shared/widget/wallet_logo_test.dart +++ b/test/app/shared/widget/wallet_logo_test.dart @@ -177,7 +177,7 @@ void main() { when(() => mockFlavorCubit.state).thenReturn(FlavorMode.development); when(() => mockProfileCubit.state).thenReturn( ProfileState( - model: ProfileModel.dutch( + model: ProfileModel.diipv2point1( polygonIdNetwork: PolygonIdNetwork.PolygonMainnet, walletType: WalletType.personal, walletProtectionType: WalletProtectionType.FA2, From 33f7bdb8f157403169f2f48ec905c790c1e3cfdb Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 13:38:00 +0545 Subject: [PATCH 28/33] feat: Rename owf baseline profile into diipv3 #2784 --- lib/app/shared/enum/type/profile/profile_type.dart | 8 ++++---- lib/app/shared/widget/wallet_logo.dart | 2 +- lib/dashboard/profile/cubit/profile_cubit.dart | 8 ++++---- lib/dashboard/profile/models/profile.dart | 4 ++-- test/app/shared/enum/type/profile/profile_type_test.dart | 2 +- test/app/shared/widget/wallet_logo_test.dart | 5 ++--- 6 files changed, 14 insertions(+), 15 deletions(-) diff --git a/lib/app/shared/enum/type/profile/profile_type.dart b/lib/app/shared/enum/type/profile/profile_type.dart index b8e7e523e..21f239a49 100644 --- a/lib/app/shared/enum/type/profile/profile_type.dart +++ b/lib/app/shared/enum/type/profile/profile_type.dart @@ -2,7 +2,7 @@ enum ProfileType { defaultOne, ebsiV3, diipv2point1, - owfBaselineProfile, + diipv3, custom, enterprise, } @@ -18,8 +18,8 @@ extension ProfileTypeX on ProfileType { return 'Decentralized Identity Interop Profile (DIIP v2.1)'; case ProfileType.enterprise: return name.isEmpty ? 'Enterprise' : name; - case ProfileType.owfBaselineProfile: - return 'OWF Baseline Profile'; + case ProfileType.diipv3: + return 'Decentralized Identity Interop Profile (DIIP v3.0)'; case ProfileType.defaultOne: return 'Default'; } @@ -33,7 +33,7 @@ extension ProfileTypeX on ProfileType { return false; case ProfileType.ebsiV3: case ProfileType.enterprise: - case ProfileType.owfBaselineProfile: + case ProfileType.diipv3: return true; } } diff --git a/lib/app/shared/widget/wallet_logo.dart b/lib/app/shared/widget/wallet_logo.dart index 54e949b7b..f0a46a57d 100644 --- a/lib/app/shared/widget/wallet_logo.dart +++ b/lib/app/shared/widget/wallet_logo.dart @@ -37,7 +37,7 @@ class WalletLogo extends StatelessWidget { image = ImageStrings.ebsiLogo; case ProfileType.enterprise: image = profileModel.profileSetting.generalOptions.companyLogo; - case ProfileType.owfBaselineProfile: + case ProfileType.diipv3: image = ImageStrings.owfBaselineProfileLogo; } return Column( diff --git a/lib/dashboard/profile/cubit/profile_cubit.dart b/lib/dashboard/profile/cubit/profile_cubit.dart index a3c409779..c5764f385 100644 --- a/lib/dashboard/profile/cubit/profile_cubit.dart +++ b/lib/dashboard/profile/cubit/profile_cubit.dart @@ -259,7 +259,7 @@ class ProfileCubit extends Cubit { enterpriseWalletName: enterpriseWalletName, ); - case ProfileType.owfBaselineProfile: + case ProfileType.diipv3: final privateKey = await getPrivateKey( didKeyType: Parameters.didKeyTypeForOwfBaselineProfile, profileCubit: this, @@ -271,7 +271,7 @@ class ProfileCubit extends Cubit { profileCubit: this, ); - profileModel = ProfileModel.owfBaselineProfile( + profileModel = ProfileModel.diipv3( polygonIdNetwork: polygonIdNetwork, walletType: walletType, walletProtectionType: walletProtectionType, @@ -604,9 +604,9 @@ class ProfileCubit extends Cubit { .selfSovereignIdentityOptions.customOidc4vcProfile.clientSecret, ), ); - case ProfileType.owfBaselineProfile: + case ProfileType.diipv3: await update( - ProfileModel.owfBaselineProfile( + ProfileModel.diipv3( polygonIdNetwork: state.model.polygonIdNetwork, walletProtectionType: state.model.walletProtectionType, isDeveloperMode: state.model.isDeveloperMode, diff --git a/lib/dashboard/profile/models/profile.dart b/lib/dashboard/profile/models/profile.dart index beb5177a9..51de1dc8c 100644 --- a/lib/dashboard/profile/models/profile.dart +++ b/lib/dashboard/profile/models/profile.dart @@ -215,7 +215,7 @@ class ProfileModel extends Equatable { ), ); - factory ProfileModel.owfBaselineProfile({ + factory ProfileModel.diipv3({ required PolygonIdNetwork polygonIdNetwork, required WalletType walletType, required WalletProtectionType walletProtectionType, @@ -230,7 +230,7 @@ class ProfileModel extends Equatable { walletType: walletType, walletProtectionType: walletProtectionType, isDeveloperMode: isDeveloperMode, - profileType: ProfileType.owfBaselineProfile, + profileType: ProfileType.diipv3, profileSetting: ProfileSetting( blockchainOptions: BlockchainOptions.initial(), generalOptions: GeneralOptions.empty(), diff --git a/test/app/shared/enum/type/profile/profile_type_test.dart b/test/app/shared/enum/type/profile/profile_type_test.dart index ba2f20bea..3d216f10e 100644 --- a/test/app/shared/enum/type/profile/profile_type_test.dart +++ b/test/app/shared/enum/type/profile/profile_type_test.dart @@ -8,7 +8,7 @@ void main() { expect(ProfileType.ebsiV3.showSponseredBy, true); expect(ProfileType.diipv2point1.showSponseredBy, false); expect(ProfileType.enterprise.showSponseredBy, true); - expect(ProfileType.owfBaselineProfile.showSponseredBy, true); + expect(ProfileType.diipv3.showSponseredBy, true); expect(ProfileType.defaultOne.showSponseredBy, false); }); }); diff --git a/test/app/shared/widget/wallet_logo_test.dart b/test/app/shared/widget/wallet_logo_test.dart index be38d2b1c..7649caa08 100644 --- a/test/app/shared/widget/wallet_logo_test.dart +++ b/test/app/shared/widget/wallet_logo_test.dart @@ -262,12 +262,11 @@ void main() { testWidgets( 'displays correct image for ' - 'ProfileType.owfBaselineProfile in development', - (WidgetTester tester) async { + 'ProfileType.diipv3 in development', (WidgetTester tester) async { when(() => mockFlavorCubit.state).thenReturn(FlavorMode.development); when(() => mockProfileCubit.state).thenReturn( ProfileState( - model: ProfileModel.owfBaselineProfile( + model: ProfileModel.diipv3( polygonIdNetwork: PolygonIdNetwork.PolygonMainnet, walletType: WalletType.personal, walletProtectionType: WalletProtectionType.FA2, From 55899f683eaa7e8fc37df4d6ba4fe4543f6ac47f Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 14:02:46 +0545 Subject: [PATCH 29/33] feat: Update logo for diip profiles #2785 --- assets/image/diipLogo.png | Bin 0 -> 199757 bytes assets/image/owfBaselineProfileLogo.jpg | Bin 57396 -> 0 bytes lib/app/shared/constants/image_strings.dart | 3 +-- lib/app/shared/widget/wallet_logo.dart | 4 ++-- 4 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 assets/image/diipLogo.png delete mode 100644 assets/image/owfBaselineProfileLogo.jpg diff --git a/assets/image/diipLogo.png b/assets/image/diipLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..6ee48c7c3e4d7dc562fe80bf2d203e294414218b GIT binary patch literal 199757 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

jMM6*IfPW3@G$@QlZz>^u1?S#VR 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%0DAkc2ohRi`kfzYV~iJdi97tAzP+d@yW- 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ò$phW8_tNkhf~pCPLIJSvCBq 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 Ap#T5? diff --git a/lib/app/shared/constants/image_strings.dart b/lib/app/shared/constants/image_strings.dart index 7b1fb4f65..fb4b8c62f 100644 --- a/lib/app/shared/constants/image_strings.dart +++ b/lib/app/shared/constants/image_strings.dart @@ -7,8 +7,7 @@ class ImageStrings { static const String imagePath = 'assets/image'; static const String ebsiLogo = '$imagePath/ebsi_logo.png'; - static const String owfBaselineProfileLogo = - '$imagePath/owfBaselineProfileLogo.jpg'; + static const String diipLogo = '$imagePath/diipLogo.png'; static const String cardMissing = '$imagePath/card_missing.png'; static const String employmentCertificateFront = diff --git a/lib/app/shared/widget/wallet_logo.dart b/lib/app/shared/widget/wallet_logo.dart index f0a46a57d..aec22abbf 100644 --- a/lib/app/shared/widget/wallet_logo.dart +++ b/lib/app/shared/widget/wallet_logo.dart @@ -26,7 +26,6 @@ class WalletLogo extends StatelessWidget { switch (profileModel.profileType) { case ProfileType.custom: - case ProfileType.diipv2point1: case ProfileType.defaultOne: image = flavorCubit.state == FlavorMode.development ? ImageStrings.appLogoDev @@ -37,8 +36,9 @@ class WalletLogo extends StatelessWidget { image = ImageStrings.ebsiLogo; case ProfileType.enterprise: image = profileModel.profileSetting.generalOptions.companyLogo; + case ProfileType.diipv2point1: case ProfileType.diipv3: - image = ImageStrings.owfBaselineProfileLogo; + image = ImageStrings.diipLogo; } return Column( children: [ From 5970ea9d56c2459b5670693176c121dfb2fc1a13 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 14:36:29 +0545 Subject: [PATCH 30/33] feat: Show all the issuer in discover for auto vc format #2787 --- .../credential_subject_type_extension.dart | 8 ++-- lib/credentials/cubit/credentials_cubit.dart | 37 +++++++++++++------ 2 files changed, 30 insertions(+), 15 deletions(-) diff --git a/lib/app/shared/enum/type/credential_subject_type/credential_subject_type_extension.dart b/lib/app/shared/enum/type/credential_subject_type/credential_subject_type_extension.dart index 1c84bdfc6..cb27215c1 100644 --- a/lib/app/shared/enum/type/credential_subject_type/credential_subject_type_extension.dart +++ b/lib/app/shared/enum/type/credential_subject_type/credential_subject_type_extension.dart @@ -661,7 +661,7 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType { case CredentialSubjectType.defiCompliance: case CredentialSubjectType.tezotopiaMembership: case CredentialSubjectType.chainbornMembership: - return [VCFormatType.ldpVc]; + return [VCFormatType.ldpVc, VCFormatType.auto]; case CredentialSubjectType.verifiableIdCard: return [ @@ -669,12 +669,13 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType { VCFormatType.jwtVcJson, VCFormatType.vcSdJWT, VCFormatType.jwtVc, + VCFormatType.auto, ]; case CredentialSubjectType.identityCredential: case CredentialSubjectType.eudiPid: case CredentialSubjectType.pid: - return [VCFormatType.vcSdJWT]; + return [VCFormatType.vcSdJWT, VCFormatType.auto]; case CredentialSubjectType.over18: case CredentialSubjectType.phonePass: @@ -683,6 +684,7 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType { return [ VCFormatType.ldpVc, VCFormatType.jwtVcJson, + VCFormatType.auto, ]; case CredentialSubjectType.nationality: @@ -721,7 +723,7 @@ extension CredentialSubjectTypeExtension on CredentialSubjectType { case CredentialSubjectType.civicPassCredential: case CredentialSubjectType.employeeCredential: case CredentialSubjectType.legalPersonalCredential: - return [VCFormatType.jwtVc]; + return [VCFormatType.jwtVc, VCFormatType.auto]; } } diff --git a/lib/credentials/cubit/credentials_cubit.dart b/lib/credentials/cubit/credentials_cubit.dart index 2005f1cd9..9c1f951d6 100644 --- a/lib/credentials/cubit/credentials_cubit.dart +++ b/lib/credentials/cubit/credentials_cubit.dart @@ -694,6 +694,7 @@ class CredentialsCubit extends Cubit { .contains(CredentialSubjectType.over13)) { allSubjectTypeForCategory.add(CredentialSubjectType.over13); } + if (discoverCardsOptions.displayOver15 && !allSubjectTypeForCategory .contains(CredentialSubjectType.over15)) { @@ -702,10 +703,13 @@ class CredentialsCubit extends Cubit { if (!allSubjectTypeForCategory .contains(CredentialSubjectType.over18)) { - final displayOver18 = vcFormatType == VCFormatType.ldpVc && + final displayOver18 = (vcFormatType == VCFormatType.ldpVc || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayOver18; - final displayOver18Jwt = vcFormatType == VCFormatType.jwtVcJson && - discoverCardsOptions.displayOver18Jwt; + final displayOver18Jwt = + (vcFormatType == VCFormatType.jwtVcJson || + vcFormatType == VCFormatType.auto) && + discoverCardsOptions.displayOver18Jwt; if (isDutchProfile || displayOver18 || displayOver18Jwt) { allSubjectTypeForCategory.add(CredentialSubjectType.over18); @@ -730,14 +734,17 @@ class CredentialsCubit extends Cubit { if (!allSubjectTypeForCategory .contains(CredentialSubjectType.verifiableIdCard)) { - final displayVerifiableId = vcFormatType == VCFormatType.ldpVc && + final displayVerifiableId = (vcFormatType == VCFormatType.ldpVc || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayVerifiableId; final displayVerifiableIdJwt = (vcFormatType == VCFormatType.jwtVc || - vcFormatType == VCFormatType.jwtVcJson) && + vcFormatType == VCFormatType.jwtVcJson || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayVerifiableIdJwt; final displayVerifiableIdSdJwt = - vcFormatType == VCFormatType.vcSdJWT && + (vcFormatType == VCFormatType.vcSdJWT || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayVerifiableIdSdJwt; if (displayVerifiableId || @@ -762,10 +769,12 @@ class CredentialsCubit extends Cubit { if (!allSubjectTypeForCategory .contains(CredentialSubjectType.livenessCard)) { - final displayHumanity = vcFormatType == VCFormatType.ldpVc && + final displayHumanity = (vcFormatType == VCFormatType.ldpVc || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayHumanity; final displayHumanityJwt = - vcFormatType == VCFormatType.jwtVcJson && + (vcFormatType == VCFormatType.jwtVcJson || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayHumanityJwt; if (displayHumanity || displayHumanityJwt) { @@ -806,10 +815,12 @@ class CredentialsCubit extends Cubit { case CredentialCategory.contactInfoCredentials: if (!allSubjectTypeForCategory .contains(CredentialSubjectType.emailPass)) { - final displayEmailPass = vcFormatType == VCFormatType.ldpVc && + final displayEmailPass = (vcFormatType == VCFormatType.ldpVc || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayEmailPass; final displayEmailPassJwt = - vcFormatType == VCFormatType.jwtVcJson && + (vcFormatType == VCFormatType.jwtVcJson || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayEmailPassJwt; if (displayEmailPass || displayEmailPassJwt) { @@ -819,10 +830,12 @@ class CredentialsCubit extends Cubit { if (!allSubjectTypeForCategory .contains(CredentialSubjectType.phonePass)) { - final displayPhonePass = vcFormatType == VCFormatType.ldpVc && + final displayPhonePass = (vcFormatType == VCFormatType.ldpVc || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayPhonePass; final displayPhonePassJwt = - vcFormatType == VCFormatType.jwtVcJson && + (vcFormatType == VCFormatType.jwtVcJson || + vcFormatType == VCFormatType.auto) && discoverCardsOptions.displayPhonePassJwt; if (displayPhonePass || displayPhonePassJwt) { From 7af7b269987c9350c605f9205e881a248497abd3 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 18:33:32 +0545 Subject: [PATCH 31/33] Update test --- test/app/shared/widget/wallet_logo_test.dart | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/app/shared/widget/wallet_logo_test.dart b/test/app/shared/widget/wallet_logo_test.dart index 7649caa08..e4daa27a8 100644 --- a/test/app/shared/widget/wallet_logo_test.dart +++ b/test/app/shared/widget/wallet_logo_test.dart @@ -172,7 +172,8 @@ void main() { }); }); - testWidgets('displays correct image for ProfileType.dutch in development', + testWidgets( + 'displays correct image for ProfileType.diipv2point1 in development', (WidgetTester tester) async { when(() => mockFlavorCubit.state).thenReturn(FlavorMode.development); when(() => mockProfileCubit.state).thenReturn( @@ -213,7 +214,7 @@ void main() { final Image image = tester.widget(imageFinder); final AssetImage imageProvider = image.image as AssetImage; - expect(imageProvider.assetName, ImageStrings.appLogoDev); + expect(imageProvider.assetName, ImageStrings.diipLogo); }); testWidgets('displays correct image for ProfileType.ebsiV3 in development', @@ -302,7 +303,7 @@ void main() { final Image image = tester.widget(imageFinder); final AssetImage imageProvider = image.image as AssetImage; - expect(imageProvider.assetName, ImageStrings.owfBaselineProfileLogo); + expect(imageProvider.assetName, ImageStrings.diipLogo); }); testWidgets( From 3d7d2bb5a9cdd1c6c9849e6a2972a3255beeaa87 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 19:01:04 +0545 Subject: [PATCH 32/33] feat: No jwt test for redirect_uri scheme and handle sd selection for auto #2790 --- ...ential_manifest_credential_offer_pick_page.dart | 14 ++++---------- .../qr_code_scan/cubit/qr_code_scan_cubit.dart | 3 +++ packages/jwt_decode/lib/src/jwt_decode.dart | 6 ------ 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/view/credential_manifest_credential_offer_pick_page.dart b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/view/credential_manifest_credential_offer_pick_page.dart index 5f3f349cd..368745eab 100644 --- a/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/view/credential_manifest_credential_offer_pick_page.dart +++ b/lib/dashboard/home/tab_bar/credentials/present/pick/credential_manifest/view/credential_manifest_credential_offer_pick_page.dart @@ -93,16 +93,6 @@ class CredentialManifestOfferPickView extends StatelessWidget { Widget build(BuildContext context) { final l10n = context.l10n; - final isVcSdJWT = context - .read() - .state - .model - .profileSetting - .selfSovereignIdentityOptions - .customOidc4vcProfile - .vcFormatType == - VCFormatType.vcSdJWT; - return BlocConsumer( listener: (context, state) { @@ -117,6 +107,10 @@ class CredentialManifestOfferPickView extends StatelessWidget { final PresentationDefinition? presentationDefinition = credentialManifestState.presentationDefinition; + final isVcSdJWT = credentialManifestState + .filteredCredentialList.firstOrNull?.getFormat == + VCFormatType.vcSdJWT.vcValue; + return BlocListener( listener: (context, scanState) { if (scanState.status == ScanStatus.loading) { diff --git a/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart b/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart index c309c292b..4634e0b96 100644 --- a/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart +++ b/lib/dashboard/qr_code/qr_code_scan/cubit/qr_code_scan_cubit.dart @@ -1143,6 +1143,9 @@ class QRCodeScanCubit extends Cubit { header: header, jwtDecode: jwtDecode, ); + } else if (clientIdScheme == 'redirect_uri') { + /// no need to verify + return emit(state.acceptHost()); } final VerificationType isVerified = await verifyEncodedData( diff --git a/packages/jwt_decode/lib/src/jwt_decode.dart b/packages/jwt_decode/lib/src/jwt_decode.dart index 2eafff5b8..87d8cdc25 100644 --- a/packages/jwt_decode/lib/src/jwt_decode.dart +++ b/packages/jwt_decode/lib/src/jwt_decode.dart @@ -7,9 +7,6 @@ class JWTDecode { ///parseJwt Map parseJwt(String token) { final parts = token.split('.'); - if (parts.length != 3) { - throw Exception('INVALID_TOKEN'); - } final payload = _decodeBase64(parts[1]); @@ -23,9 +20,6 @@ class JWTDecode { ///parseJwt to get header Map parseJwtHeader(String token) { final parts = token.split('.'); - if (parts.length != 3) { - throw Exception('INVALID_TOKEN'); - } final header = _decodeBase64(parts[0]); From 8fb6bc1f3cfb607bd17e0c53ee8ab7f0017f2e25 Mon Sep 17 00:00:00 2001 From: Bibash Shrestha Date: Tue, 16 Jul 2024 19:01:46 +0545 Subject: [PATCH 33/33] version update to 2.9.6+475 --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index b9e9a9ac9..2c7b79121 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: altme description: AltMe Flutter App -version: 2.9.5+474 +version: 2.9.6+475 publish_to: "none" # Remove this line if you wish to publish to pub.dev environment: sdk: ">=3.1.0 <4.0.0"