Skip to content

Commit

Permalink
Move getDisclaimer from ResultPage to typology files
Browse files Browse the repository at this point in the history
  • Loading branch information
thomashbrnrd committed May 23, 2024
1 parent 8db0680 commit cf4d5c5
Show file tree
Hide file tree
Showing 10 changed files with 74 additions and 74 deletions.
37 changes: 2 additions & 35 deletions frontend/src/components/ResultPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -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' })
})
Expand Down Expand Up @@ -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, isCardDetected.value) : null)
function sendFeedback (isCorrect: boolean) {
const json = {
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/main.css
Original file line number Diff line number Diff line change
Expand Up @@ -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%;
}

Expand Down
5 changes: 5 additions & 0 deletions frontend/src/utils/firearms-utils/arme-alarme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,4 +122,9 @@ export const arme_alarme = {
typology: 'pistolet_semi_auto_moderne',
},
],
getDisclaimer: (category: string) => {
if (category === 'D') {
return 'Les <strong>armes d’alarmes</strong> sont susceptibles d’être <strong>modifiées pour tirer des munitions létales</strong>. Pour des raisons de sécurité, <strong>faites si possible expertiser l’arme.</strong>'
}
}
} as const
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -41,4 +42,5 @@ export const epaule_a_levier_sous_garde = {
video: levierSousGardePasMagasinVideo,
},
},
getDisclaimer: getEpaulLevierVerrouDisclaimer,
} as const
15 changes: 4 additions & 11 deletions frontend/src/utils/firearms-utils/epaule-a-pompe.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,8 @@ export const epaule_a_pompe = {
6: '<span class="font-bold">Contrôler l’orifice du tube magasin</span> et constater que celui-ci est bien vide',
},
video: epaulePompeSimpleVideo,
// text_steps: {
// 1: 'Observer l’arme en l’orientant dans une <span class="font-bold">direction sans risque</span>, 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 <span class="font-bold">extraire la munition</span> 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 '<strong>Catégorie B</strong> si la <strong>capacité maximale</strong> (chambre comprise) est <strong>supérieure à 5</strong>, ou si la <strong>crosse n’est pas fixe</strong>.' }
if (category === 'C') { return '<strong>Catégorie B</strong> si la <strong>capacité maximale</strong> (chambre comprise) est <strong>supérieure à 5</strong>, ou si la <strong>crosse n’est pas fixe</strong>, ou si le <strong>canon est lisse</strong>.' }
},
} as const
2 changes: 2 additions & 0 deletions frontend/src/utils/firearms-utils/epaule-a-verrou.ts
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -27,4 +28,5 @@ export const epaule_a_verrou = {
img_ammo: epauleAVerrouBalls,
},
},
getDisclaimer: getEpaulLevierVerrouDisclaimer,
} as const
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ export const epaule_semi_auto_style_militaire_milieu_20e = {
category: 'A ou B',
isDummyTypology: false,
isSecuringOptions: false,
getDisclaimer: () => "<strong>Catégorie A</strong> si à l'origine l’arme était à <strong>répétition automatique</strong> puis a été <strong>transformée</strong> en arme <strong>semi automatique</strong>, ou si l’arme possède <strong>une crosse rétractable / pliable</strong> et qu’en configuration la plus courte elle <strong>mesure moins de 60 cm</strong>.",
} as const
19 changes: 19 additions & 0 deletions frontend/src/utils/firearms-utils/epaule-semi-auto-style-chasse.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
const DISCLAIMERS = {
short: '<strong>Catégorie B</strong> si la <strong>capacité > à 3 munitions</strong>, ou si le <strong>chargeur est amovible</strong>.',
long: '<ul><li><strong>Catégorie B</strong> si la <strong>capacité > à 3 munitions</strong>, ou si le <strong>canon est lisse</strong>, ou si le <strong>chargeur est amovible</strong>.</li><li><strong>Catégorie C</strong> si le <strong>canon est rayé</strong>.</li></ul>',
}

/*
Armes d’épaule semi-automatiques ou automatiques type chasse
*/
Expand All @@ -6,4 +11,18 @@ export const epaule_semi_auto_style_chasse = {
category: 'B ou C',
isDummyTypology: false,
isSecuringOptions: false,
getDisclaimer: (category: string, isCardDetected: boolean) => {
if (['B ou C', 'C'].includes(category)) {
if (isCardDetected === false) {
return DISCLAIMERS.short
} else {
if (['C'].includes(category)) {
return DISCLAIMERS.short
}
if (['B ou C'].includes(category)) {
return DISCLAIMERS.long
}
}
}
},
} as const
21 changes: 15 additions & 6 deletions frontend/src/utils/firearms-utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,19 @@ export const DISCLAIMERS = {
short: '<strong>Catégorie B</strong> si la <strong>capacité > à 3 munitions</strong>, ou si le <strong>chargeur est amovible</strong>.',
long: '<ul><li><strong>Catégorie B</strong> si la <strong>capacité > à 3 munitions</strong>, ou si le <strong>canon est lisse</strong>, ou si le <strong>chargeur est amovible</strong>.</li><li><strong>Catégorie C</strong> si le <strong>canon est rayé</strong>.</li></ul>',
},
epaule_a_pompe: {
short: '<strong>Catégorie B</strong> si la <strong>capacité maximale</strong> (chambre comprise) est <strong>supérieure à 5</strong>, ou si la <strong>crosse n’est pas fixe</strong>.',
long: '<strong>Catégorie B</strong> si la <strong>capacité maximale</strong> (chambre comprise) est <strong>supérieure à 5</strong>, ou si la <strong>crosse n’est pas fixe</strong>, ou si le <strong>canon est lisse</strong>.',
},
epaule_semi_auto_style_militaire: "<strong>Catégorie A</strong> si à l'origine l’arme était à <strong>répétition automatique</strong> puis a été <strong>transformée</strong> en arme <strong>semi automatique</strong>, ou si l’arme possède <strong>une crosse rétractable / pliable</strong> et qu’en configuration la plus courte elle <strong>mesure moins de 60 cm</strong>.",
alarm_guns: 'Les <strong>armes d’alarmes</strong> sont susceptibles d’être <strong>modifiées pour tirer des munitions létales</strong>. Pour des raisons de sécurité, <strong>faites si possible expertiser l’arme.</strong>',
}

export function getEpaulLevierVerrouDisclaimer (category: string, isCardDetected: boolean) {
if (isCardDetected === 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
}
}
}
44 changes: 23 additions & 21 deletions frontend/src/views/MissingCardPage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,28 +25,30 @@ const resultStore = useResultStore()
</div>
</div>
</div>
<div class="footer">
<div class="fr-grid-row">
<div class="fr-col">
<button
class="fr-btn w-100 text-center"
@click="resultStore.$patch({ securingTutorial: false }); $router.push({ name: 'InstructionsPage'})"
>
Reprendre la photo <span
class="fr-icon-camera-fill mx-1"
aria-hidden="true"
/>
</button>
<div class="footer py-0">
<div class="fr-container">
<div class="fr-grid-row">
<div class="fr-col">
<button
class="fr-btn w-100 text-center"
@click="resultStore.$patch({ securingTutorial: false }); $router.push({ name: 'InstructionsPage'})"
>
Reprendre la photo <span
class="fr-icon-camera-fill mx-1"
aria-hidden="true"
/>
</button>
</div>
</div>
</div>
<div class="fr-grid-row mt-1">
<div class="fr-col">
<button
class="fr-btn w-100 text-center"
@click="$router.push({ name: 'IdentificationTypologyResult'})"
>
Je souhaite tout de même poursuivre
</button>
<div class="fr-grid-row mt-1">
<div class="fr-col">
<button
class="fr-btn w-100 text-center"
@click="$router.push({ name: 'IdentificationTypologyResult'})"
>
Je souhaite tout de même poursuivre
</button>
</div>
</div>
</div>
</div>
Expand Down

0 comments on commit cf4d5c5

Please sign in to comment.