diff --git a/src/components/Action/ActionBegin.tsx b/src/components/Action/ActionBegin.tsx index 42e2a26338cf2f90b16967e164e80ffd5c0bda9b..bc78aaf494ff2b3861e12de1b09cfca4247c4cf5 100644 --- a/src/components/Action/ActionBegin.tsx +++ b/src/components/Action/ActionBegin.tsx @@ -65,11 +65,7 @@ const ActionBegin = ({ async function handleEcogestureIcon() { if (currentAction) { const icon = await importIconById(currentAction.id, 'ecogesture') - if (icon) { - setActionIcon(icon) - } else { - setActionIcon(defaultIcon) - } + setActionIcon(icon || defaultIcon) } } handleEcogestureIcon() diff --git a/src/components/Action/ActionCard.tsx b/src/components/Action/ActionCard.tsx index 18da28fd620b1fe2ab5dcc762726931815cb793d..277cc481c2b3db715d564f900f76dae86f2d6bf7 100644 --- a/src/components/Action/ActionCard.tsx +++ b/src/components/Action/ActionCard.tsx @@ -51,11 +51,7 @@ const ActionCard = ({ useEffect(() => { async function handleEcogestureIcon() { const icon = await importIconById(action.id, 'ecogesture') - if (icon) { - setActionIcon(icon) - } else { - setActionIcon(defaultIcon) - } + setActionIcon(icon || defaultIcon) } handleEcogestureIcon() }, [action]) diff --git a/src/components/Challenge/ChallengeCardDone.tsx b/src/components/Challenge/ChallengeCardDone.tsx index 767955f1b13f3d4db314cd0357ed0c6b2d26c19f..dc4d294b7a9fc46816879416312f83485f886145 100644 --- a/src/components/Challenge/ChallengeCardDone.tsx +++ b/src/components/Challenge/ChallengeCardDone.tsx @@ -74,17 +74,9 @@ const ChallengeCardDone = ({ useEffect(() => { async function handleEcogestureIcon() { const icon = await importIconById(userChallenge.id + '-1', 'duelResult') - if (icon) { - setWinIcon(icon) - } else { - setWinIcon(defaultIcon) - } + setWinIcon(icon || defaultIcon) const icon2 = await importIconById(userChallenge.id + '-0', 'duelResult') - if (icon2) { - setLossIcon(icon2) - } else { - setLossIcon(defaultIcon) - } + setLossIcon(icon2 || defaultIcon) } handleEcogestureIcon() }, [userChallenge]) diff --git a/src/components/Duel/DuelEmptyValueModal.tsx b/src/components/Duel/DuelEmptyValueModal.tsx index cc39de14f720b650d1405f0e0604969e5230e1ea..ef3e53182a2350f224d2cdbc469d5006972fbae1 100644 --- a/src/components/Duel/DuelEmptyValueModal.tsx +++ b/src/components/Duel/DuelEmptyValueModal.tsx @@ -21,11 +21,7 @@ const DuelEmptyValueModal = ({ useEffect(() => { async function handleEcogestureIcon() { const icon = await importIconById('emptyValue', 'duel') - if (icon) { - setEmptyIcon(icon) - } else { - setEmptyIcon(defaultIcon) - } + setEmptyIcon(icon || defaultIcon) } handleEcogestureIcon() diff --git a/src/components/Duel/DuelResultModal.tsx b/src/components/Duel/DuelResultModal.tsx index 3295124400eefc2004957b1540929be235aa229f..509f9628b9912040770fe5275f1b9e889154280f 100644 --- a/src/components/Duel/DuelResultModal.tsx +++ b/src/components/Duel/DuelResultModal.tsx @@ -32,17 +32,9 @@ const DuelResultModal = ({ useEffect(() => { async function handleEcogestureIcon() { const icon = await importIconById(userChallenge.id + '-1', 'duelResult') - if (icon) { - setWinIcon(icon) - } else { - setWinIcon(defaultIcon) - } + setWinIcon(icon || defaultIcon) const icon2 = await importIconById(userChallenge.id + '-0', 'duelResult') - if (icon2) { - setLossIcon(icon2) - } else { - setLossIcon(defaultIcon) - } + setLossIcon(icon2 || defaultIcon) } handleEcogestureIcon() }, [userChallenge]) diff --git a/src/components/Duel/DuelUnlocked.tsx b/src/components/Duel/DuelUnlocked.tsx index 9ff52b9ecf8414b7e8f8a8057af195a7dd9eaf06..138838de9844dfed8194c69492ab398cf9ff1da1 100644 --- a/src/components/Duel/DuelUnlocked.tsx +++ b/src/components/Duel/DuelUnlocked.tsx @@ -54,11 +54,7 @@ const DuelUnlocked = ({ userChallenge }: { userChallenge: UserChallenge }) => { useEffect(() => { async function handleEcogestureIcon() { const icon = await importIconById(userChallenge.id, 'challenge') - if (icon) { - setDuelIcon(icon) - } else { - setDuelIcon(defaultDuelIcon) - } + setDuelIcon(icon || defaultDuelIcon) } handleEcogestureIcon() }, [userChallenge]) diff --git a/src/components/Ecogesture/EcogestureCard.tsx b/src/components/Ecogesture/EcogestureCard.tsx index cf8a69b2da5517748e8a22e7188453028965920e..f2f492132f5c39705e4991fbfab82c1adf74a040 100644 --- a/src/components/Ecogesture/EcogestureCard.tsx +++ b/src/components/Ecogesture/EcogestureCard.tsx @@ -22,11 +22,7 @@ const EcogestureCard = ({ useEffect(() => { async function handleEcogestureIcon() { const icon = await importIconById(ecogesture.id, 'ecogesture') - if (icon) { - setEcogestureIcon(icon) - } else { - setEcogestureIcon(defaultIcon) - } + setEcogestureIcon(icon || defaultIcon) } if (ecogesture) { handleEcogestureIcon() diff --git a/src/components/Ecogesture/EcogestureModal.tsx b/src/components/Ecogesture/EcogestureModal.tsx index 43a412bc9b620fbd1152fcd5322fdff156ad5a3f..52ca84070680fb4419d3c089598ef0cac35e6847 100644 --- a/src/components/Ecogesture/EcogestureModal.tsx +++ b/src/components/Ecogesture/EcogestureModal.tsx @@ -43,11 +43,7 @@ const EcogestureModal = ({ useEffect(() => { async function handleEcogestureIcon() { const icon = await importIconById(ecogesture.id, 'ecogesture') - if (icon) { - setEcogestureIcon(icon) - } else { - setEcogestureIcon(defaultIcon) - } + setEcogestureIcon(icon || defaultIcon) if (currentChallenge?.exploration.ecogesture_id === ecogesture._id) { setValidExploration(currentChallenge.exploration.id) } diff --git a/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx b/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx index 1c58e184a47635ddf11c142bf709f44bef95810c..8fea0b04eee44fda35988c5258459dd75ba0f7e0 100644 --- a/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx +++ b/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx @@ -27,13 +27,9 @@ const EcogestureSelectionDetail = ({ useEffect(() => { let subscribed = true async function getIcon() { - const _icon = await importIconById(ecogesture.id, 'ecogesture') + const icon = await importIconById(ecogesture.id, 'ecogesture') if (subscribed) { - if (_icon) { - setEcogestureIcon(_icon) - } else { - setEcogestureIcon(defaultIcon) - } + setEcogestureIcon(icon || defaultIcon) } } getIcon() diff --git a/src/utils/utils.ts b/src/utils/utils.ts index cae5a543900c147b1bf784d9e5b12705af4d3430..dba467798d45c19de8df51eeaec652ce4c5d8464 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -1,3 +1,4 @@ +import { captureException } from '@sentry/react' import { Season } from 'enum/ecogesture.enum' import { FluidSlugType } from 'enum/fluidSlug.enum' import get from 'lodash/get' @@ -128,20 +129,25 @@ export function getRelationships<D>( } /** + * Import a svg file with format : id.svg * @param id * @param pathType */ -export const importIconById = async (id: string, pathType: string) => { - // Les svg doivent ĂȘtre au format id.svg +export const importIconById = async ( + id: string, + pathType: string +): Promise<string | undefined> => { let importedChallengeIcon try { importedChallengeIcon = await import( /* webpackMode: "eager" */ `assets/icons/visu/${pathType}/${id}.svg` ) - // eslint-disable-next-line no-empty - } catch (e) {} - if (importedChallengeIcon) { - return importedChallengeIcon.default + if (importedChallengeIcon) { + return importedChallengeIcon.default + } + } catch (e) { + console.error(`Could not import icon ${pathType}/${id}`) + captureException(e) } }