diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f58d87e15f258f564f44481ab3c81266743b713..296bf5e4667218150edea99874c5c57df612e225 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -159,6 +159,7 @@ "usageevent", "Usain", "userchallenge", + "WEBAUTH", "weektype" ], "typescript.tsdk": "node_modules/typescript/lib", diff --git a/src/components/Konnector/KonnectorViewerCard.tsx b/src/components/Konnector/KonnectorViewerCard.tsx index 24b0578d9cf4bb622e2b6949c51147243ae83c76..e90a785321d3d17c9a6d9d5e0bdc35192ab1ab02 100644 --- a/src/components/Konnector/KonnectorViewerCard.tsx +++ b/src/components/Konnector/KonnectorViewerCard.tsx @@ -92,6 +92,9 @@ const KonnectorViewerCard = ({ const isWaitingForConsent = fluidType === FluidType.GAS && currentFluidStatus.status === FluidState.CHALLENGE_ASKED + const emailHasBeenIgnored = + fluidType === FluidType.GAS && + currentFluidStatus.status === FluidState.EMAIL_IGNORED const fluidService = useMemo(() => new FluidService(client), [client]) const accountService = useMemo(() => new AccountService(client), [client]) @@ -465,7 +468,7 @@ const KonnectorViewerCard = ({ return ( <div className="konnector-section-root"> {isWaitingForConsent && <GrdfWaitConsent />} - {!isWaitingForConsent && !showOfflineData && ( + {(!isWaitingForConsent || emailHasBeenIgnored) && !showOfflineData && ( <Connection fluidType={fluidType} /> )} {!isWaitingForConsent && showOfflineData && ( diff --git a/src/enums/fluid.enum.ts b/src/enums/fluid.enum.ts index 4ebd4f94525810c87fda0386281482ef393b0a4b..0abed1b957d483c8e99187bd01e8d1537361cf2f 100644 --- a/src/enums/fluid.enum.ts +++ b/src/enums/fluid.enum.ts @@ -13,4 +13,5 @@ export enum FluidState { ERROR = 'ERROR', LOGIN_FAILED = 'LOGIN_FAILED', CHALLENGE_ASKED = 'CHALLENGE_ASKED', + EMAIL_IGNORED = 'EMAIL_IGNORED', } diff --git a/src/enums/konnectorStatus.enum.ts b/src/enums/konnectorStatus.enum.ts index 4ff5dad28d62214d0acf6e009c3f95577ea2ea26..fff28f6eae72e462be17901506f914dca1804fdb 100644 --- a/src/enums/konnectorStatus.enum.ts +++ b/src/enums/konnectorStatus.enum.ts @@ -4,6 +4,7 @@ export enum KonnectorError { USER_ACTION_NEEDED = 'USER_ACTION_NEEDED', TERMS_VERSION_MISMATCH = 'TERMS_VERSION_MISMATCH', CHALLENGE_ASKED = 'CHALLENGE_ASKED', + EMAIL_IGNORED = 'USER_ACTION_NEEDED.WEBAUTH_REQUIRED', UNKNOWN_ERROR = 'UNKNOWN_ERROR', CRITICAL = 'exit status 1', MISSING_SECRET = "Cannot read property 'secret' of null", diff --git a/src/services/fluid.service.ts b/src/services/fluid.service.ts index 4cf603519df382e60d464e71951e6b7689b00a34..9159c258c3d0f7881ed3ef3d1b721d4794d26486 100644 --- a/src/services/fluid.service.ts +++ b/src/services/fluid.service.ts @@ -31,6 +31,9 @@ export default class FluidService { if (state?.last_error === 'CHALLENGE_ASKED') { return FluidState.CHALLENGE_ASKED } + if (state?.last_error === 'EMAIL_IGNORED') { + return FluidState.EMAIL_IGNORED + } return FluidState.ERROR default: