diff --git a/frontend/src/components/ResultPage.vue b/frontend/src/components/ResultPage.vue index 26d74ed0f..5703974f5 100644 --- a/frontend/src/components/ResultPage.vue +++ b/frontend/src/components/ResultPage.vue @@ -2,7 +2,7 @@ import { ref, computed, watchEffect } from 'vue' import axios from 'axios' import SnackbarAlert from '@/components/SnackbarAlert.vue' -import { resultTree, ALARM_GUNS_TYPOLOGIES, MEASURED_GUNS_TYPOLOGIES, DISCLAIMERS } from '@/utils/firearms-utils/index' +import { resultTree, MEASURED_GUNS_TYPOLOGIES } from '@/utils/firearms-utils/index' import { isUserUsingCrosscall } from '@/utils/isUserUsingCrosscall' import { useSnackbarStore } from '@/stores/snackbar' import { useStepsStore } from '@/stores/steps' @@ -31,39 +31,6 @@ function getCategoryFromTypologyAndMeasures (typology: string, gunLength: number return resultTree[typology]?.category } -function getDisclaimer (typology: string, category: string) { - if (['epaule_a_levier_sous_garde', 'epaule_a_verrou'].includes(typology)) { - if (isCardDetected.value === false) { - if (['B ou C', 'C'].includes(category)) { - return DISCLAIMERS.epaule_a_levier_verrou.short - } - } else { - if (['C'].includes(category)) { - return DISCLAIMERS.epaule_a_levier_verrou.short - } - if (['B ou C'].includes(category)) { - return DISCLAIMERS.epaule_a_levier_verrou.long - } - } - } - if (typology === 'epaule_semi_auto_style_chasse' && ['B ou C', 'C'].includes(category)) { - if (isCardDetected.value === false) { - return DISCLAIMERS.semi_auto_style_chasse.short - } else { - if (['C'].includes(category)) { - return DISCLAIMERS.semi_auto_style_chasse.short - } - if (['B ou C'].includes(category)) { - return DISCLAIMERS.semi_auto_style_chasse.long - } - } - } - if (typology === 'epaule_a_pompe' && category === 'B ou C') { return DISCLAIMERS.epaule_a_pompe.short } - if (typology === 'epaule_a_pompe' && category === 'C') { return DISCLAIMERS.epaule_a_pompe.long } - if (['epaule_semi_auto_style_militaire_milieu_20e', 'semi_auto_style_militaire_autre'].includes(typology)) { return DISCLAIMERS.epaule_semi_auto_style_militaire } - if (ALARM_GUNS_TYPOLOGIES.includes(typology) && category === 'D') { return DISCLAIMERS.alarm_guns } -} - watchEffect(() => { if (!resultStore.img) router.push({ name: 'StartPage' }) }) @@ -97,7 +64,7 @@ const category = computed(() => { } }) -const disclaimer = computed(() => getDisclaimer(typology.value, category.value)) +const disclaimer = computed(() => resultTree[typology.value] && Object.hasOwn(resultTree[typology.value], "getDisclaimer") ? resultTree[typology.value].getDisclaimer(category.value, isCardDetected.value) : null) function sendFeedback (isCorrect: boolean) { const json = { diff --git a/frontend/src/main.css b/frontend/src/main.css index d7b6fddcf..f7cb36f67 100644 --- a/frontend/src/main.css +++ b/frontend/src/main.css @@ -27,7 +27,7 @@ a { transform: translate(-50%, -100%); background-color: #f5f5fe; box-shadow: 0 -4px 16px rgb(0 0 0 / 25%); - padding: 15px !important; + padding: 15px; width: 100%; } diff --git a/frontend/src/utils/firearms-utils/epaule-a-levier-sous-garde.ts b/frontend/src/utils/firearms-utils/epaule-a-levier-sous-garde.ts index d1976edd8..7922f7eb4 100644 --- a/frontend/src/utils/firearms-utils/epaule-a-levier-sous-garde.ts +++ b/frontend/src/utils/firearms-utils/epaule-a-levier-sous-garde.ts @@ -2,6 +2,7 @@ import levierSousGardeMagasinAvantImg from '@/assets/guide-mise-en-securite/phot import levierSousGardePasMagasinImg from '@/assets/guide-mise-en-securite/photos/epaule_a_levier_sous_garde/epaule_levier_ss_garde_magasin_fixe.jpg' import levierSousGardeMagasinAvantVideo from '@/assets/guide-mise-en-securite/videos/epaule_a_levier_sous_garde/epaule_levier_ss_garde_magasin_avant.mp4' import levierSousGardePasMagasinVideo from '@/assets/guide-mise-en-securite/videos/epaule_a_levier_sous_garde/epaule_levier_ss_garde_magasin_fixe.mp4' +import { getEpaulLevierVerrouDisclaimer } from '@/utils/firearms-utils/index' /* Armes d’épaule à levier de sous-garde Magasin avant @@ -40,4 +41,5 @@ export const epaule_a_levier_sous_garde = { video: levierSousGardePasMagasinVideo, }, }, + getDisclaimer: getEpaulLevierVerrouDisclaimer, } as const diff --git a/frontend/src/utils/firearms-utils/epaule-a-pompe.ts b/frontend/src/utils/firearms-utils/epaule-a-pompe.ts index 3dab252a3..fa704442e 100644 --- a/frontend/src/utils/firearms-utils/epaule-a-pompe.ts +++ b/frontend/src/utils/firearms-utils/epaule-a-pompe.ts @@ -17,15 +17,8 @@ export const epaule_a_pompe = { 6: 'Contrôler l’orifice du tube magasin et constater que celui-ci est bien vide', }, video: epaulePompeSimpleVideo, - // text_steps: { - // 1: 'Observer l’arme en l’orientant dans une direction sans risque, en manipulant avec précaution', - // 2: 'Retourner l’arme et appuyer sur la planchette élévatrice', - // 3: 'Appuyer sur l’ergot/crochet maintenant les cartouches afin de vider le magasin', - // 4: 'Vérifier que le magasin est vide en appuyant sur le poussoir', - // 5: 'Si la pompe est bloquée, appuyer sur le bouton de déverrouillage situé à l’avant ou sous le pontet', - // 6: 'Actionner la pompe pour extraire la munition par la fenêtre d’éjection', - // 7: 'Contrôler visuellement que la chambre est vide', - // 8: 'Verrouiller l’arme en actionnant la pompe vers l’avant', - // }, - // video: epaulePompeCompliqueVideo, + getDisclaimer: (category: string) => { + if (category === 'B ou C') { return 'Catégorie B si la capacité maximale (chambre comprise) est supérieure à 5, ou si la crosse n’est pas fixe.' } + if (category === 'C') { return 'Catégorie B si la capacité maximale (chambre comprise) est supérieure à 5, ou si la crosse n’est pas fixe, ou si le canon est lisse.' } + }, } as const diff --git a/frontend/src/utils/firearms-utils/epaule-a-verrou.ts b/frontend/src/utils/firearms-utils/epaule-a-verrou.ts index 4dcd5ef9e..b97dd5a92 100644 --- a/frontend/src/utils/firearms-utils/epaule-a-verrou.ts +++ b/frontend/src/utils/firearms-utils/epaule-a-verrou.ts @@ -1,6 +1,7 @@ import epauleAVerrouCartridges from '@/assets/guide-identification/photos/epaule_a_verrou/epaule_a_verrou_chargeur_cartouche.jpg' import epauleAVerrouBalls from '@/assets/guide-identification/photos/epaule_a_verrou/epaule_a_verrou_chargeur_bille.jpg' import epauleAVerrouVideo from '@/assets/guide-mise-en-securite/videos/epaule_a_verrou/epaule_verrou_chargeur-video.mp4' +import { getEpaulLevierVerrouDisclaimer } from '@/utils/firearms-utils/index' /* Armes d’épaule à verrou @@ -26,4 +27,5 @@ export const epaule_a_verrou = { img_ammo: epauleAVerrouBalls, }, }, + getDisclaimer: getEpaulLevierVerrouDisclaimer, } as const diff --git a/frontend/src/utils/firearms-utils/epaule-semi-auto-militaire-milieu-20e.ts b/frontend/src/utils/firearms-utils/epaule-semi-auto-militaire-milieu-20e.ts index ea82308f2..b997a2c6e 100644 --- a/frontend/src/utils/firearms-utils/epaule-semi-auto-militaire-milieu-20e.ts +++ b/frontend/src/utils/firearms-utils/epaule-semi-auto-militaire-milieu-20e.ts @@ -5,4 +5,5 @@ export const epaule_semi_auto_style_militaire_milieu_20e = { displayLabel: 'Arme d’épaule semi-automatique ou automatique', category: 'A ou B', isDummyTypology: false, + getDisclaimer: () => "Catégorie A si à l'origine l’arme était à répétition automatique puis a été transformée en arme semi automatique, ou si l’arme possède une crosse rétractable / pliable et qu’en configuration la plus courte elle mesure moins de 60 cm.", } as const diff --git a/frontend/src/utils/firearms-utils/epaule-semi-auto-style-chasse.ts b/frontend/src/utils/firearms-utils/epaule-semi-auto-style-chasse.ts index 713bf1217..0a38593c9 100644 --- a/frontend/src/utils/firearms-utils/epaule-semi-auto-style-chasse.ts +++ b/frontend/src/utils/firearms-utils/epaule-semi-auto-style-chasse.ts @@ -1,3 +1,8 @@ +const DISCLAIMERS = { + short: 'Catégorie B si la capacité > à 3 munitions, ou si le chargeur est amovible.', + long: '