diff --git a/src/components/Connection/ConnectionResult.tsx b/src/components/Connection/ConnectionResult.tsx index ce1acee11dd27004bf2eae73ccc977e6e9b7a025..bb95f630c2b0f0848b2db398b412cc23c05b12f3 100644 --- a/src/components/Connection/ConnectionResult.tsx +++ b/src/components/Connection/ConnectionResult.tsx @@ -3,6 +3,7 @@ import { useI18n } from 'cozy-ui/transpiled/react/I18n' import { useClient } from 'cozy-client' import { useRecoilValue, useSetRecoilState } from 'recoil' import { isKonnectorRunning } from 'cozy-harvest-lib/dist/helpers/triggers' +import { getKonnectorUpdateError } from 'utils/utils' import { Account, Konnector, Trigger } from 'models' import { userProfileState } from 'atoms/userProfile.state' @@ -40,6 +41,7 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({ const [trigger, setTrigger] = useState<Trigger | null>(null) const [updating, setUpdating] = useState<boolean>(false) const [lastExecutionDate, setLastExecutionDate] = useState<string>('-') + const [konnectorError, setKonnectorError] = useState<string>('') const [status, setStatus] = useState<string>('') const setFluidStatusState = useSetRecoilState(fluidStatusState) @@ -88,6 +90,9 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({ ) } else { setLastExecutionDate('-') + if (triggerState.last_error) { + setKonnectorError(getKonnectorUpdateError(triggerState.last_error)) + } } setStatus(triggerState.status) handleJobState(triggerState.status) @@ -106,6 +111,7 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({ setUpdating(true) setStatus('') setLastExecutionDate('-') + setKonnectorError('') handleJobState('') await updateProfileHaveSeenOldFluidModal() if (trigger && !isKonnectorRunning(trigger)) { @@ -162,20 +168,29 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({ } > {status === 'errored' && ( - <div className="warning-white"> + <div className="accordion-caption-errored warning-white text-16-normal"> <StyledIcon icon={warningWhite} size={36} className="warning-icon" /> + <div className="text-16-normal"> + {t(`KONNECTORCONFIG.${konnectorError}`)} + <div className="accordion-caption"> + {t('KONNECTORCONFIG.LABEL_UPDATEDAT')} + </div> + <div className="text-16-bold">{lastExecutionDate}</div> + </div> </div> )} - <div> - <div className="accordion-caption text-16-normal"> - {t('KONNECTORCONFIG.LABEL_UPDATEDAT')} + {status !== 'errored' && ( + <div> + <div className="accordion-caption text-16-normal"> + {t('KONNECTORCONFIG.LABEL_UPDATEDAT')} + </div> + <div className="text-16-bold">{lastExecutionDate}</div> </div> - <div className="text-16-bold">{lastExecutionDate}</div> - </div> + )} </div> <div className="inline-buttons"> <StyledButton diff --git a/src/enum/konnectorUpdate.enum.ts b/src/enum/konnectorUpdate.enum.ts new file mode 100644 index 0000000000000000000000000000000000000000..1a1fd1b6720d4967c947cccf2b30a97fc3768c08 --- /dev/null +++ b/src/enum/konnectorUpdate.enum.ts @@ -0,0 +1,4 @@ +export enum KonnectorUpdate { + ERROR_UPDATE = 'ERROR_UPDATE', + ERROR_UPDATE_OAUTH = 'ERROR_UPDATE_OAUTH', +} diff --git a/src/locales/fr.json b/src/locales/fr.json index 70c8975bb31cc52240a1917e40c6a795d10a3c15..55f5394971179da55a47d7264c6f785bacf36799 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -161,6 +161,8 @@ "ERROR_DATA_WATER": "Un problème a empêché vos données de consommation d'eau se connecter à Ecolyo.", "ERROR_DATA_GAS": "Un problème a empêché vos données de consommation de gaz de se connecter à Ecolyo.", "ERROR_DATA_2": "Merci de réessayer plus tard.", + "ERROR_UPDATE": "Un problème est survenu lors du rappatriement de vos données.", + "ERROR_UPDATE_OAUTH": "Le service demande d'autoriser à nouveau votre accès. Merci de supprimer puis reconnecter votre compte. Aucune donnée ne sera perdue.", "OK": "Ok" }, "INDICATOR": { diff --git a/src/styles/components/_konnector.scss b/src/styles/components/_konnector.scss index 127bb35d9eb36f2a79af4475ca36afbaa034589a..26a1bd78f859c70f5c321d396156db49f86cabff 100644 --- a/src/styles/components/_konnector.scss +++ b/src/styles/components/_konnector.scss @@ -58,10 +58,8 @@ padding: 0.5rem 1rem; } .accordion-update-errored { - flex: 2; padding: 0.5rem 1rem; background-color: $red-primary; - display: flex; } .accordion-state { flex: 2; @@ -78,9 +76,17 @@ text-transform: uppercase; } } + .accordion-caption-errored { + display: flex; + align-items: center; + color: $grey-bright; + } .warning-white { margin-right: 1rem; } + .warning-icon { + margin-right: 1rem; + } .accordion-content { overflow: hidden; transition: max-height 0.6s ease; diff --git a/src/styles/index.css b/src/styles/index.css index 678f1d28f11f10ae84d78589cbc52da2ae756d3a..30ccc61054e8c55a56939f45e4b699b13e39836c 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -701,169 +701,175 @@ p { padding: 0.5rem 1rem; } /* line 60, src/styles/components/_konnector.scss */ .accordion .accordion-update-errored { - flex: 2; padding: 0.5rem 1rem; - background-color: #d25959; - display: flex; } - /* line 66, src/styles/components/_konnector.scss */ + background-color: #d25959; } + /* line 64, src/styles/components/_konnector.scss */ .accordion .accordion-state { flex: 2; margin-right: 1rem; } - /* line 70, src/styles/components/_konnector.scss */ + /* line 68, src/styles/components/_konnector.scss */ .accordion .accordion-frequency { flex: 1; padding: 0 1rem; } - /* line 74, src/styles/components/_konnector.scss */ + /* line 72, src/styles/components/_konnector.scss */ .accordion .accordion-caption { color: #e0e0e0; text-transform: lowercase; } - /* line 77, src/styles/components/_konnector.scss */ + /* line 75, src/styles/components/_konnector.scss */ .accordion .accordion-caption::first-letter { text-transform: uppercase; } - /* line 81, src/styles/components/_konnector.scss */ + /* line 79, src/styles/components/_konnector.scss */ + .accordion .accordion-caption-errored { + display: flex; + align-items: center; + color: #e0e0e0; } + /* line 84, src/styles/components/_konnector.scss */ .accordion .warning-white { margin-right: 1rem; } - /* line 84, src/styles/components/_konnector.scss */ + /* line 87, src/styles/components/_konnector.scss */ + .accordion .warning-icon { + margin-right: 1rem; } + /* line 90, src/styles/components/_konnector.scss */ .accordion .accordion-content { overflow: hidden; transition: max-height 0.6s ease; } - /* line 87, src/styles/components/_konnector.scss */ + /* line 93, src/styles/components/_konnector.scss */ .accordion .accordion-content .info-provider { padding: 0; color: #e0e0e0; margin-bottom: 0; } - /* line 93, src/styles/components/_konnector.scss */ + /* line 99, src/styles/components/_konnector.scss */ .accordion .inline-buttons { display: flex; flex-flow: row nowrap; padding: 0 2rem; } @media only screen and (max-width: 768px) { - /* line 93, src/styles/components/_konnector.scss */ + /* line 99, src/styles/components/_konnector.scss */ .accordion .inline-buttons { padding: 0 1rem; } } - /* line 101, src/styles/components/_konnector.scss */ + /* line 107, src/styles/components/_konnector.scss */ .accordion .konnector-delete { margin-right: 0.25rem; color: #d25959 !important; } - /* line 105, src/styles/components/_konnector.scss */ + /* line 111, src/styles/components/_konnector.scss */ .accordion .konnector-update { margin-left: 0.25rem; } - /* line 108, src/styles/components/_konnector.scss */ + /* line 114, src/styles/components/_konnector.scss */ .accordion .btn-position { width: 100%; margin: 0.5rem 1rem; } -/* line 113, src/styles/components/_konnector.scss */ +/* line 119, src/styles/components/_konnector.scss */ .--errored { border: solid 1px #d25959; } -/* line 117, src/styles/components/_konnector.scss */ +/* line 123, src/styles/components/_konnector.scss */ .kv-root { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 1.5rem; } - /* line 123, src/styles/components/_konnector.scss */ + /* line 129, src/styles/components/_konnector.scss */ .kv-root .kv-content { width: 45.75rem; } @media only screen and (max-width: 768px) { - /* line 123, src/styles/components/_konnector.scss */ + /* line 129, src/styles/components/_konnector.scss */ .kv-root .kv-content { width: 100%; } } - /* line 128, src/styles/components/_konnector.scss */ + /* line 134, src/styles/components/_konnector.scss */ .kv-root .kv-content .kv-header { margin-top: 2.5rem; margin-bottom: 1.25rem; color: #e0e0e0; } -/* line 137, src/styles/components/_konnector.scss */ +/* line 143, src/styles/components/_konnector.scss */ .knotfound { margin: 0 1.5rem; } @media only screen and (max-width: 768px) { - /* line 137, src/styles/components/_konnector.scss */ + /* line 143, src/styles/components/_konnector.scss */ .knotfound { margin: 0; } } - /* line 142, src/styles/components/_konnector.scss */ + /* line 148, src/styles/components/_konnector.scss */ .knotfound .knotfound-text { color: #e0e0e0; padding-top: 1rem; } - /* line 146, src/styles/components/_konnector.scss */ + /* line 152, src/styles/components/_konnector.scss */ .knotfound .knotfound-button { margin-bottom: 1rem; } -/* line 152, src/styles/components/_konnector.scss */ +/* line 158, src/styles/components/_konnector.scss */ .koauthform { margin: 0 1.5rem; padding: 0 1rem; } - /* line 155, src/styles/components/_konnector.scss */ + /* line 161, src/styles/components/_konnector.scss */ .koauthform .create-account { color: #e0e0e0; } @media only screen and (max-width: 768px) { - /* line 152, src/styles/components/_konnector.scss */ + /* line 158, src/styles/components/_konnector.scss */ .koauthform { margin: 0; padding: 0 1rem; } } - /* line 162, src/styles/components/_konnector.scss */ + /* line 168, src/styles/components/_konnector.scss */ .koauthform .koauthform-text { color: #e0e0e0; padding-top: 1rem; } - /* line 166, src/styles/components/_konnector.scss */ + /* line 172, src/styles/components/_konnector.scss */ .koauthform .koauthform-button { margin-bottom: 1rem; } -/* line 173, src/styles/components/_konnector.scss */ +/* line 179, src/styles/components/_konnector.scss */ .kloginauthform .create-account { color: #e0e0e0; } -/* line 176, src/styles/components/_konnector.scss */ +/* line 182, src/styles/components/_konnector.scss */ .kloginauthform .kloginauthform-text { color: #e0e0e0; padding-top: 1rem; } -/* line 180, src/styles/components/_konnector.scss */ +/* line 186, src/styles/components/_konnector.scss */ .kloginauthform .kloginauthform-button { margin-bottom: 1rem; } -/* line 186, src/styles/components/_konnector.scss */ +/* line 192, src/styles/components/_konnector.scss */ .klaunch-content { margin: 0.5rem 1.5rem; } @media only screen and (max-width: 768px) { - /* line 186, src/styles/components/_konnector.scss */ + /* line 192, src/styles/components/_konnector.scss */ .klaunch-content { margin: 0.5rem 0; } } - /* line 191, src/styles/components/_konnector.scss */ + /* line 197, src/styles/components/_konnector.scss */ .klaunch-content .klaunch-content-text { color: #e0e0e0; margin: 1rem; text-align: center; } - /* line 195, src/styles/components/_konnector.scss */ + /* line 201, src/styles/components/_konnector.scss */ .klaunch-content .klaunch-content-text .kc-wait { color: #a0a0a0; margin-bottom: 2rem; } - /* line 200, src/styles/components/_konnector.scss */ + /* line 206, src/styles/components/_konnector.scss */ .klaunch-content .klaunch-content-text-center { text-align: center; } - /* line 203, src/styles/components/_konnector.scss */ + /* line 209, src/styles/components/_konnector.scss */ .klaunch-content .klaunch-info { margin: 1.5rem; } - /* line 205, src/styles/components/_konnector.scss */ + /* line 211, src/styles/components/_konnector.scss */ .klaunch-content .klaunch-info .konnector-config { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; } - /* line 211, src/styles/components/_konnector.scss */ + /* line 217, src/styles/components/_konnector.scss */ .klaunch-content .klaunch-info .konnector-config .kce-picto-txt { color: #d25959; margin: 1.25rem; } - /* line 215, src/styles/components/_konnector.scss */ + /* line 221, src/styles/components/_konnector.scss */ .klaunch-content .klaunch-info .konnector-config .kcs-picto-txt { color: #e3b82a; margin: 1.25rem; } -/* line 223, src/styles/components/_konnector.scss */ +/* line 229, src/styles/components/_konnector.scss */ .state-icon { height: 22px; width: 22px; @@ -1552,30 +1558,31 @@ p { /* line 80, src/styles/components/_nav.scss */ .c-nav-link.is-active { color: #ffffff; + box-shadow: inset 0.25rem 0 0 0 #b2901b; text-decoration: none; } - /* line 83, src/styles/components/_nav.scss */ + /* line 84, src/styles/components/_nav.scss */ .c-nav-link.is-active .on { display: block; } - /* line 86, src/styles/components/_nav.scss */ + /* line 87, src/styles/components/_nav.scss */ .c-nav-link.is-active .off { display: none; } @media only screen and (max-width: 1023px) { - /* line 92, src/styles/components/_nav.scss */ + /* line 93, src/styles/components/_nav.scss */ .o-sidebar { height: 56px; } - /* line 95, src/styles/components/_nav.scss */ + /* line 96, src/styles/components/_nav.scss */ .c-nav-link { padding: 0; } - /* line 99, src/styles/components/_nav.scss */ + /* line 100, src/styles/components/_nav.scss */ .c-nav-link .c-nav-icon { padding: 0; margin: auto; } - /* line 104, src/styles/components/_nav.scss */ + /* line 105, src/styles/components/_nav.scss */ .c-nav-link.is-active { box-shadow: unset; } } -/* line 109, src/styles/components/_nav.scss */ +/* line 110, src/styles/components/_nav.scss */ .nb-notif { position: absolute; display: flex; @@ -1592,7 +1599,7 @@ p { background: radial-gradient(105.25% 64.58% at 49.68% 70.83%, rgba(1, 153, 163, 0.5) 0%, rgba(255, 255, 255, 0) 100%), #58ffff; font-size: 12px; } @media only screen and (max-width: 1023px) { - /* line 109, src/styles/components/_nav.scss */ + /* line 110, src/styles/components/_nav.scss */ .nb-notif { left: 25px; bottom: unset; } } @@ -1685,83 +1692,95 @@ p { /* line 76, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content { display: flex; - flex-direction: row; } - /* line 79, src/styles/components/_indicators.scss */ + flex-direction: row; + justify-content: center; } + /* line 80, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content:first-child { margin-bottom: 0.75rem; } - /* line 82, src/styles/components/_indicators.scss */ + /* line 83, src/styles/components/_indicators.scss */ + .fpi .fpi-left .fpi-content .fluid-enum { + font-weight: bold; + margin-left: 1rem; } + /* line 87, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .icon-line { display: flex; align-items: center; margin-bottom: 0.25rem; } - /* line 86, src/styles/components/_indicators.scss */ + /* line 91, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .icon-line .euro-value { font-size: 2.2rem; font-weight: 900; margin-right: 0.2rem; } - /* line 91, src/styles/components/_indicators.scss */ + /* line 96, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .icon-line .evolution-text { color: #a0a0a0; } - /* line 94, src/styles/components/_indicators.scss */ + /* line 99, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .icon-line .evolution-text .fpi-content-perf-indicator-kpi.positive { color: #d25959 !important; } - /* line 97, src/styles/components/_indicators.scss */ + /* line 102, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .icon-line .evolution-text .fpi-content-perf-indicator-kpi.negative { color: #7fd771 !important; } - /* line 101, src/styles/components/_indicators.scss */ + /* line 106, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .icon-line .evolution-text .diff-value { color: white; font-weight: 700; } - /* line 107, src/styles/components/_indicators.scss */ + /* line 112, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .bilan-card { margin-bottom: 1rem; min-height: 3.563rem; } - /* line 111, src/styles/components/_indicators.scss */ + /* line 116, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .error { display: flex; gap: 1rem; margin-bottom: 1rem; min-height: 3.563rem; } - /* line 117, src/styles/components/_indicators.scss */ + /* line 122, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-icon { margin: 0.5rem 0; } - /* line 120, src/styles/components/_indicators.scss */ + /* line 125, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .perf-icon { margin-right: 0.8rem; align-self: start; } - /* line 124, src/styles/components/_indicators.scss */ + /* line 129, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-perf:not(:first-child) { margin: 0 0 0 1rem; align-self: center; } - /* line 128, src/styles/components/_indicators.scss */ + /* line 133, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-perf:not(:first-child) .fpi-content-perf-result { color: #e0e0e0; } - /* line 130, src/styles/components/_indicators.scss */ + /* line 135, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-perf:not(:first-child) .fpi-content-perf-result span { display: inline-block; padding-right: 0.25rem; } - /* line 134, src/styles/components/_indicators.scss */ + /* line 139, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-perf:not(:first-child) .fpi-content-perf-result .euro-value { font-size: 1.125rem; display: block; font-weight: 400; } - /* line 139, src/styles/components/_indicators.scss */ + /* line 144, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-perf:not(:first-child) .fpi-content-perf-result .ELECTRICITY-color { color: #d87b39; } - /* line 142, src/styles/components/_indicators.scss */ + /* line 147, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-perf:not(:first-child) .fpi-content-perf-result .GAS-color { color: #45d1b8; } - /* line 145, src/styles/components/_indicators.scss */ + /* line 150, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-content .fpi-content-perf:not(:first-child) .fpi-content-perf-result .WATER-color { color: #3a98ec; } - /* line 151, src/styles/components/_indicators.scss */ + /* line 156, src/styles/components/_indicators.scss */ .fpi .fpi-left .fpi-footer { margin-top: 0.5rem; color: #a0a0a0; } - /* line 156, src/styles/components/_indicators.scss */ + /* line 161, src/styles/components/_indicators.scss */ .fpi .fpi-right { align-self: center; } +/* line 165, src/styles/components/_indicators.scss */ +.flex-center { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; } + /** BLACK **/ /** RED **/ /** YELLOW **/ @@ -2274,9 +2293,32 @@ p { width: 100%; } /* line 516, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-info .lack-of-data-challenge, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-info .lack-of-data-challenge, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-info .lack-of-data-challenge { - text-align: center; - width: 90%; } - /* line 521, src/styles/components/_challenges.scss */ + margin: auto; + padding: 1rem; + width: 90%; + background-color: #d25959; + display: flex; + justify-content: center; } + /* line 524, src/styles/components/_challenges.scss */ + .cp-root .cp-content .cp-info .lack-of-data-content, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-info .lack-of-data-content, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-info .lack-of-data-content { + align-items: center; + flex-direction: column; + max-width: 80%; } + /* line 529, src/styles/components/_challenges.scss */ + .cp-root .cp-content .cp-info .lack-of-data-content > div, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-info .lack-of-data-content > div, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-info .lack-of-data-content > div, .cp-root .cp-content .cp-info span, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-info span, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-info span, .cp-root .cp-content .cp-info.--available span { + margin: 0.3rem 0; } + /* line 532, src/styles/components/_challenges.scss */ + .cp-root .cp-content .cp-info .warning-white, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-info .warning-white, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-info .warning-white { + position: relative; } + /* line 535, src/styles/components/_challenges.scss */ + .cp-root .cp-content .cp-info .warning-white svg, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-info .warning-white svg, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-info .warning-white svg { + position: absolute; + top: 0; + left: -45px; } + /* line 541, src/styles/components/_challenges.scss */ + .cp-root .cp-content .cp-info .fluid-enum, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-info .fluid-enum, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-info .fluid-enum { + font-weight: bold; } + /* line 546, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-follow, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-follow, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-follow { width: 90%; display: flex; @@ -2284,12 +2326,12 @@ p { align-items: center; margin-bottom: 1rem; max-width: 53rem; } - /* line 529, src/styles/components/_challenges.scss */ + /* line 554, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-valid-locked, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-valid-locked, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-valid-locked { margin-top: 2rem; width: 80%; max-width: 53rem; } - /* line 534, src/styles/components/_challenges.scss */ + /* line 559, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-bottom, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-bottom, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-bottom { padding: 1.25rem 1.25rem; width: 90%; @@ -2299,16 +2341,16 @@ p { max-width: 53rem; margin-bottom: 2rem; } @media only screen and (max-width: 768px) { - /* line 534, src/styles/components/_challenges.scss */ + /* line 559, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-bottom, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-bottom, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-bottom { margin-bottom: 0; } } - /* line 545, src/styles/components/_challenges.scss */ + /* line 570, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-bottom .cp-eg-content, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-bottom .cp-eg-content, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-bottom .cp-eg-content { width: 100%; } - /* line 547, src/styles/components/_challenges.scss */ + /* line 572, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-bottom .cp-eg-content .linked-ecogestures, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-bottom .cp-eg-content .linked-ecogestures, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-bottom .cp-eg-content .linked-ecogestures { text-transform: uppercase; } - /* line 550, src/styles/components/_challenges.scss */ + /* line 575, src/styles/components/_challenges.scss */ .cp-root .cp-content .cp-bottom .cp-eg-content .cp-ecogestures, .cp-root .cm-content .cm-win-badge-star.--ecolyo-royal .cp-bottom .cp-eg-content .cp-ecogestures, .cm-content .cp-root .cm-win-badge-star.--ecolyo-royal .cp-bottom .cp-eg-content .cp-ecogestures { width: 100%; display: flex; @@ -2382,19 +2424,18 @@ p { width: 40px; height: 40px; box-sizing: border-box; - margin-left: auto; border: 1px solid #7b7b7b; margin: 0 1rem; } - /* line 28, src/styles/components/_ecogesture.scss */ + /* line 27, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .order-container .order-button { margin: auto; position: relative; top: 2px; } - /* line 35, src/styles/components/_ecogesture.scss */ + /* line 34, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .ng-question { margin-left: auto; text-decoration: underline; } - /* line 40, src/styles/components/_ecogesture.scss */ + /* line 39, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters { display: flex; align-items: center; @@ -2402,48 +2443,48 @@ p { height: 50px; color: white; position: relative; } - /* line 47, src/styles/components/_ecogesture.scss */ + /* line 46, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter { height: 45px; display: flex; align-items: center; justify-content: flex-start; } - /* line 52, src/styles/components/_ecogesture.scss */ + /* line 51, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter svg { margin-right: 1rem; } - /* line 55, src/styles/components/_ecogesture.scss */ + /* line 54, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter .checkicon { opacity: 0; margin-left: auto; transition: all 300ms ease; } - /* line 59, src/styles/components/_ecogesture.scss */ + /* line 58, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter .checkicon.active { opacity: 1; } - /* line 64, src/styles/components/_ecogesture.scss */ + /* line 63, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .ecogestures { margin-bottom: 1rem; font-size: 0.95rem; } - /* line 68, src/styles/components/_ecogesture.scss */ + /* line 67, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .ecogestures.opened { color: #e3b82a; } - /* line 72, src/styles/components/_ecogesture.scss */ + /* line 71, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter-button { display: flex; } - /* line 74, src/styles/components/_ecogesture.scss */ + /* line 73, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter-button .button { margin: auto; display: flex; align-items: center; } - /* line 78, src/styles/components/_ecogesture.scss */ + /* line 77, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter-button .button span { display: inline-flex; margin-bottom: 0; transition: all 300ms ease; } - /* line 83, src/styles/components/_ecogesture.scss */ + /* line 82, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .filter-button .button svg { margin-right: 1rem; margin-left: -0.5rem; } - /* line 90, src/styles/components/_ecogesture.scss */ + /* line 89, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .dropdown { position: absolute; top: 3.5rem; @@ -2459,16 +2500,16 @@ p { font-size: 0.875rem; left: 0; transition: all 300ms ease; } - /* line 110, src/styles/components/_ecogesture.scss */ + /* line 109, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .dropdown.opened { display: block; } - /* line 113, src/styles/components/_ecogesture.scss */ + /* line 112, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .dropdown .filter { padding: 0 1rem; } - /* line 115, src/styles/components/_ecogesture.scss */ + /* line 114, src/styles/components/_ecogesture.scss */ .ecogesture-root .negawatt-button-content .filters .dropdown .filter.filter-active { background: rgba(160, 160, 160, 0.2); } - /* line 122, src/styles/components/_ecogesture.scss */ + /* line 121, src/styles/components/_ecogesture.scss */ .ecogesture-root .ecogesture-content { display: flex; flex-wrap: wrap; @@ -2476,11 +2517,11 @@ p { max-width: 53rem; animation: appear 600ms ease; } @media only screen and (max-width: 1023px) { - /* line 122, src/styles/components/_ecogesture.scss */ + /* line 121, src/styles/components/_ecogesture.scss */ .ecogesture-root .ecogesture-content { width: 100%; } } @media only screen and (max-width: 768px) { - /* line 122, src/styles/components/_ecogesture.scss */ + /* line 121, src/styles/components/_ecogesture.scss */ .ecogesture-root .ecogesture-content { width: 100%; } } @@ -2489,25 +2530,25 @@ p { opacity: 0; } to { opacity: 1; } } - /* line 144, src/styles/components/_ecogesture.scss */ + /* line 143, src/styles/components/_ecogesture.scss */ .ecogesture-root .ecogesture-content .ecogesture-list-item { width: 48%; height: 8rem; margin: 1% 1%; animation: appear 600ms ease; } - /* line 150, src/styles/components/_ecogesture.scss */ + /* line 149, src/styles/components/_ecogesture.scss */ .ecogesture-root .ecogesture-content .ecogesture-list-item > button { height: 100%; overflow: hidden; animation: appear 600ms ease; } -/* line 159, src/styles/components/_ecogesture.scss */ +/* line 158, src/styles/components/_ecogesture.scss */ .ec { display: flex; justify-content: center; width: 100%; height: 100%; } - /* line 164, src/styles/components/_ecogesture.scss */ + /* line 163, src/styles/components/_ecogesture.scss */ .ec .ecogesture-card-notif { position: absolute; display: flex; @@ -2523,47 +2564,47 @@ p { z-index: 1; background: radial-gradient(105.25% 64.58% at 49.68% 70.83%, rgba(1, 153, 163, 0.5) 0%, rgba(255, 255, 255, 0) 100%), #58ffff; font-size: 12px; } - /* line 181, src/styles/components/_ecogesture.scss */ + /* line 180, src/styles/components/_ecogesture.scss */ .ec .ec-content { display: flex; flex-direction: column; align-items: center; justify-content: space-around; } - /* line 186, src/styles/components/_ecogesture.scss */ + /* line 185, src/styles/components/_ecogesture.scss */ .ec .ec-content.ec-content-unlocked { padding: 0.4rem 0; } - /* line 189, src/styles/components/_ecogesture.scss */ + /* line 188, src/styles/components/_ecogesture.scss */ .ec .ec-content.ec-content-challenge { padding: 0.5rem 0; } - /* line 192, src/styles/components/_ecogesture.scss */ + /* line 191, src/styles/components/_ecogesture.scss */ .ec .ec-content .ec-content-icon { min-height: 50px; } - /* line 195, src/styles/components/_ecogesture.scss */ + /* line 194, src/styles/components/_ecogesture.scss */ .ec .ec-content .ec-content-short-name { display: flex; flex: 1; align-items: center; text-align: center; } - /* line 201, src/styles/components/_ecogesture.scss */ + /* line 200, src/styles/components/_ecogesture.scss */ .ec .ec-content .ec-content-nwh { margin-top: 0.25rem; color: #a0a0a0; } -/* line 207, src/styles/components/_ecogesture.scss */ +/* line 206, src/styles/components/_ecogesture.scss */ .cp-eg-1 { height: 8rem; width: 100%; margin-right: 0.25rem; text-align: center; } -/* line 213, src/styles/components/_ecogesture.scss */ +/* line 212, src/styles/components/_ecogesture.scss */ .cp-eg-2 { height: 8rem; width: 100%; margin-left: 0.25rem; text-align: center; } -/* line 221, src/styles/components/_ecogesture.scss */ +/* line 220, src/styles/components/_ecogesture.scss */ .em-header { color: #e0e0e0; border-bottom: 1px solid rgba(163, 163, 163, 0.4); @@ -2572,7 +2613,7 @@ p { display: flex; justify-content: center; } -/* line 230, src/styles/components/_ecogesture.scss */ +/* line 229, src/styles/components/_ecogesture.scss */ .em-root { overflow: auto; width: 100%; @@ -2581,86 +2622,86 @@ p { /* width */ /* Track */ /* Handle */ } - /* line 236, src/styles/components/_ecogesture.scss */ + /* line 235, src/styles/components/_ecogesture.scss */ .em-root::-webkit-scrollbar { width: 10px; } - /* line 240, src/styles/components/_ecogesture.scss */ + /* line 239, src/styles/components/_ecogesture.scss */ .em-root::-webkit-scrollbar-track { background: #3e4045; } - /* line 244, src/styles/components/_ecogesture.scss */ + /* line 243, src/styles/components/_ecogesture.scss */ .em-root::-webkit-scrollbar-thumb { background: #6f7074; } - /* line 247, src/styles/components/_ecogesture.scss */ + /* line 246, src/styles/components/_ecogesture.scss */ .em-root .em-content { padding: 1.5rem 2.5rem 0; } @media only screen and (max-width: 768px) { - /* line 247, src/styles/components/_ecogesture.scss */ + /* line 246, src/styles/components/_ecogesture.scss */ .em-root .em-content { width: 100%; padding: 1.5rem 1.5rem 0; } } - /* line 254, src/styles/components/_ecogesture.scss */ + /* line 253, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-content-box-img { display: flex; flex-direction: column; justify-content: center; align-items: center; } - /* line 259, src/styles/components/_ecogesture.scss */ + /* line 258, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-content-box-img .icon { margin-bottom: 1rem; } - /* line 263, src/styles/components/_ecogesture.scss */ + /* line 262, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-detail { display: flex; flex-direction: row; margin: 0.5em 0; } - /* line 267, src/styles/components/_ecogesture.scss */ + /* line 266, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-detail .em-detail-nwh { display: flex; flex: 1; align-self: flex-start; margin-top: 0.65rem; color: #a0a0a0; } - /* line 273, src/styles/components/_ecogesture.scss */ + /* line 272, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-detail .em-detail-nwh .em-detail-nwh-unit { margin-left: 0.2rem; } - /* line 277, src/styles/components/_ecogesture.scss */ + /* line 276, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-detail .em-picto-flow { display: flex; align-self: flex-end; } - /* line 280, src/styles/components/_ecogesture.scss */ + /* line 279, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-detail .em-picto-flow .em-pic-content { margin: 0.3em; } - /* line 285, src/styles/components/_ecogesture.scss */ + /* line 284, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-title { margin-bottom: 0; text-align: center; } - /* line 290, src/styles/components/_ecogesture.scss */ + /* line 289, src/styles/components/_ecogesture.scss */ .em-root .em-content .long-name { font-weight: bold; line-height: 150%; margin: 0.5rem 0 1rem; } - /* line 295, src/styles/components/_ecogesture.scss */ + /* line 294, src/styles/components/_ecogesture.scss */ .em-root .em-content .em-description { padding-bottom: 2rem; } -/* line 300, src/styles/components/_ecogesture.scss */ +/* line 299, src/styles/components/_ecogesture.scss */ .em-content-box-text { display: flex; flex-direction: column; padding: 1.5rem 2.5rem; } @media only screen and (max-width: 768px) { - /* line 300, src/styles/components/_ecogesture.scss */ + /* line 299, src/styles/components/_ecogesture.scss */ .em-content-box-text { padding: 1.5rem 1.5rem; } } - /* line 307, src/styles/components/_ecogesture.scss */ + /* line 306, src/styles/components/_ecogesture.scss */ .em-content-box-text .em-description { padding-bottom: 2rem; } - /* line 310, src/styles/components/_ecogesture.scss */ + /* line 309, src/styles/components/_ecogesture.scss */ .em-content-box-text .em-description-2 { padding-top: 2rem; } - /* line 313, src/styles/components/_ecogesture.scss */ + /* line 312, src/styles/components/_ecogesture.scss */ .em-content-box-text .em-description-3 { padding-bottom: 0.5rem; } - /* line 316, src/styles/components/_ecogesture.scss */ + /* line 315, src/styles/components/_ecogesture.scss */ .em-content-box-text .em-title { margin-bottom: 0; } diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 298c3bbd9f614a3d645456c2ac4588eb82c36e4c..3eb59b7c512b8a80bc3f05eedf805843609d7dac 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -1,4 +1,5 @@ import { FluidType } from '../enum/fluid.enum' +import { KonnectorUpdate } from '../enum/konnectorUpdate.enum' export function getFluidType(type: string) { switch (type.toUpperCase()) { @@ -12,6 +13,14 @@ export function getFluidType(type: string) { return FluidType.ELECTRICITY } } +export function getKonnectorUpdateError(type: string) { + switch (type.toUpperCase()) { + case 'USER_ACTION_NEEDED.OAUTH_OUTDATED': + return KonnectorUpdate.ERROR_UPDATE_OAUTH + default: + return KonnectorUpdate.ERROR_UPDATE + } +} export function formatNumberValues( value: number, fluidStyle?: string, diff --git a/test/createConnections.js b/test/createConnections.js index 76cef9e13f7ae69c793189217c25a7734290e85e..4abacb5c69ff07e21bd365155993a6383a8b7dd9 100644 --- a/test/createConnections.js +++ b/test/createConnections.js @@ -4,9 +4,9 @@ const axios = require('axios') const headers = { Accept: 'application/json', Authorization: - 'Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhcHAiLCJpYXQiOjE2MDIyNTExMTEsImlzcyI6ImNvenkudG9vbHM6ODA4MCIsInN1YiI6ImVjb2x5byIsInNlc3Npb25faWQiOiIzZWQ4MzJjZWM2N2U2ZTBiMmM2MzgyZWRkMzAwYTM0MSJ9.vp7r-LxVrwtvSCxTv5NwGV_AJLozUKqFMhCrG3cLCSnU237dp7pCYOq-CXJRLiG2MvTFztPBEZ2-2Zda_aAT5A', + 'Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhcHAiLCJpYXQiOjE2MDU2MDY0MTAsImlzcyI6ImNvenkudG9vbHM6ODA4MCIsInN1YiI6ImVjb2x5byIsInNlc3Npb25faWQiOiJmNDIzY2QyZmVjYWRjZDIyYTI5NGY3YmUwZDBkNjRiMCJ9.liI8LAvLmG6baEK2PXWJgO4ayegJiJP8TEtJzFZ4WRR4uFSepPsfv1HUgUqi2Scs50Jv4ODEfFbKk2Gtt3yBqQ', Cookie: - 'cozysessid=AAAAAF-ALvszZWQ4MzJjZWM2N2U2ZTBiMmM2MzgyZWRkMzAwYTM0MYO4rN61eyNbWbrWXaZShPaUM8YPXSjKPqWA7MV1DQfs', + 'cozysessid=AAAAAF79l4xmNDIzY2QyZmVjYWRjZDIyYTI5NGY3YmUwZDBkNjRiMEhQrejeDWaoYxUl8JN9VEVj7gPWBFc-CUykQ4Jw1vjz', 'content-type': 'application/json', }