Compare commits

..

No commits in common. "8962aad738ca2cd5f0516c9cc7b7cd8543f91f57" and "eca3b5b98d2990f47c5a6b36efccec51a8b74b4c" have entirely different histories.

6 changed files with 57 additions and 165 deletions

View File

@ -1,6 +1,6 @@
# Scores Ceiba
# Ceiba Score App
Vous trouverez ici le code source de l'application de Scores de [Ceiba Conseil](https://www.ceiba-conseil.com/).
Vous trouverez ici le code source de l'application de Score de Ceiba Conseil.
## Recommended IDE Setup

View File

@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Scores Ceiba</title>
<title>Ceiba Scores</title>
</head>
<body>
<div id="app"></div>

View File

@ -51,10 +51,6 @@ html, body, #app {
padding: 0;
}
#app {
min-width: 320px;
}
body {
color: var(--color-text);
background: var(--color-background);

View File

@ -30,10 +30,26 @@ function slideMove(splide, newIndex) {
<template>
<div class="main">
<div class="center">
<div class="top">
<legend>{{ question.title }}</legend>
<div class="images">
<template v-if="question.answers">
<div class="choice" v-for="answer in question.answers" :key="answer.id">
<label>
<input
type="radio"
:data-answerId="answer.id"
:name="`question_${question.id}`"
:value="answer.weight"
v-model="answerWeight"
@change="selectAnswer(answer)"
@click="nextQuestion"
/>
{{ answer.title }}
</label>
</div>
</template>
</div>
<div class="bottom">
<template v-if="question.answers">
<Splide
@splide:move="slideMove"
@ -51,95 +67,17 @@ function slideMove(splide, newIndex) {
</Splide>
</template>
</div>
<template v-if="question.answers">
<ul class="choices">
<li class="choice" v-for="answer in question.answers" :key="answer.id">
<input
type="radio"
:data-answerId="answer.id"
:name="`question_${question.id}`"
:id="`question_${question.id}_answer_${answer.id}`"
:value="answer.weight"
v-model="answerWeight"
@change="selectAnswer(answer)"
@click="nextQuestion"
/>
<label :for="`question_${question.id}_answer_${answer.id}`">
{{ answer.title }}
</label>
</li>
</ul>
</template>
</div>
</div>
</template>
<style lang="sass">
.splide__arrow
background: transparent
border: 3px solid var(--color-green)
width: 3rem
height: 3rem
opacity: 1
svg
fill: var(--color-green)
height: 1.6rem
width: 1.6rem
.splide__pagination
bottom: -1.5em
.splide__pagination__page
width: .7rem
height: .7rem
background: var(--color-green)
&.is-active
background: var(--color-green)
</style>
<style lang="sass" scoped>
legend
text-align: center
font-size: 1.4rem
line-height: 2rem
margin: 1rem
.choices
list-style-type: none
text-align: left
display: inline-block
padding-left: 0
input[type=radio]
display: none
& + label
position: relative
padding-left: 2rem
& + label::before,
& + label::after
display: block
position: absolute
box-sizing: border-box
content:''
border-radius: 1rem
& + label::before
bottom: 0
left: 0
background-color: var(--color-green)
width: 1rem
height: 1rem
& + label::after
bottom: 3px
left: 3px
width: calc(1rem - 6px)
height: calc(1rem - 6px)
&:checked + label::before
background-color: white
&:checked + label::after
background-color: var(--color-green)
input[type=radio]
margin-right: .5rem
.main
height: 100%
@ -149,19 +87,11 @@ legend
justify-content: space-around
align-items: center
.center
width: 100%
text-align: center
.images
margin: 3rem auto
.bottom
width: 400px
max-width: 100%
min-width: 280px
h2
font-size: 2rem
.answers
text-align: center
@ -169,6 +99,6 @@ legend
.main
flex-direction: row
.images
.bottom
max-width: 50%
</style>

View File

@ -105,10 +105,7 @@ function answerSelected(question, answerWeight) {
}
function nextQuestion() {
setTimeout(() => {
slides.value.go(">");
console.log(slides)
}, 100);
setTimeout(() => slides.value.go(">"), 100);
}
</script>
@ -137,8 +134,13 @@ function nextQuestion() {
</SplideSlide>
<SplideSlide class="latest">
<template v-if="displayScoreResult && result">
<h2 class="center">Probabilité d'échec</h2>
<h2 class="center">{{ result.pde_qtra }}</h2>
<ul>
<li>score : {{ scoreSum }}</li>
<li>pde : {{ result.pde }}</li>
<li>pde_qtra : {{ result.pde_qtra }}</li>
<li>effets : {{ result.effets }}</li>
<li>facteur : {{ result.facteur }}</li>
</ul>
<div class="gradient">
<div
v-for="(item, index) in [...Array(7).keys()]"
@ -148,14 +150,6 @@ function nextQuestion() {
{{ index + 1 }}
</div>
</div>
<div class="details">
<p>Rappel des paramètres choisis :</p>
<ul>
<li v-for="question in questions" :key="question.id">
{{ question.title }} : {{ question.answers.find((answer) => answer.weight === question.weight).title }}
</li>
</ul>
</div>
</template>
<template v-else>
<div class="noscore">
@ -187,8 +181,6 @@ function nextQuestion() {
</template>
<style lang="sass" scoped>
.center
text-align: center
.noscore
display: flex
justify-content: center
@ -213,8 +205,7 @@ function nextQuestion() {
.splide__slide
background: white
color: black
background: transparent
position: relative
padding: 1rem
@ -232,64 +223,40 @@ label
.latest
background-color: var(--color-green)
color: var(--color-white)
text-align: center
h2
font-size: 2rem
& + h2
line-height: 2rem
font-size: 2.6rem
ul
text-align: left
.details
text-align: left
display: inline-block
font-size: 1.1rem
color: var(--color-black)
.gradient
width: calc(100% - 2rem)
padding: 0 1rem
height: 3rem
background-image: linear-gradient(to right, red, red, rgb(255, 255, 0), rgb(255, 255, 0), green, green)
display: flex
margin: 2.5rem auto
margin: 2.5rem 0
align-items: center
border-radius: 3px
max-width: 30rem
color: var(--color-black)
position: absolute
bottom: 0
div
width: calc(100%/7)
text-align: center
align-self: center
font-weight: bold
.active
position: relative
&:before
content: ""
border: 1px solid black
border-radius: 3px
top: -2.8rem
bottom: -1.5rem
position: absolute
width: 100%
height: 200%
font-weight: bold
display: flex
align-items: center
justify-content: center
position: relative
&::after
content: "PdE"
&::before
content: "PdE\AQTRA"
position: absolute
font-size: 1rem
top: -2rem
bottom: -1.5rem
left: 0
right: 0
font-size: .5rem
top: 0
line-height: .7rem
.splide__arrows

View File

@ -44,7 +44,7 @@ function getTranslation(translations, key) {
🌞
</li>
</ul>
<h1>Scores Ceiba</h1>
<h1>Ceiba Scores App</h1>
<ul>
<li v-if="store.language == 'fr-FR'" @click="store.switchLanguage">🇫🇷</li>
<li v-if="store.language == 'en-US'" @click="store.switchLanguage">🇺🇸</li>
@ -75,7 +75,6 @@ header
h1
text-align: center
text-transform: uppercase
ul
margin: 0