Handle optionnal flags
This commit is contained in:
parent
e581630d5e
commit
a414cd22c8
18 changed files with 68 additions and 22 deletions
|
|
@ -100,6 +100,11 @@
|
|||
</script>
|
||||
|
||||
<div class="form-group mb-3">
|
||||
{#if flag.bonus_gain}
|
||||
<div class={'float-end badge bg-' + (flag.found?'success':'danger')} title={'Ce flag est optionnel, si vous le complétez il vous rapportera ' + flag.bonus_gain + ' points supplémentaires'}>
|
||||
optionnel | {#if flag.bonus_gain > 0}+{/if}{flag.bonus_gain} pts
|
||||
</div>
|
||||
{/if}
|
||||
<label for="sol_{flag.type}{flag.id}_0">{flag.label} :</label>
|
||||
{#if flag.found && flag.value}
|
||||
<span>{flag.value}</span>
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
{/if}
|
||||
</Col>
|
||||
<Col lg="6" class="mb-5">
|
||||
{#if !$my.exercices[exercice.id].solved_rank && !solved[exercice.id]}
|
||||
{#if $my.exercices[exercice.id].flags && $my.exercices[exercice.id].non_found_flags > 0 && !solved[exercice.id]}
|
||||
<ExerciceFlags
|
||||
{refresh_my}
|
||||
{refresh_teams}
|
||||
|
|
@ -169,7 +169,8 @@
|
|||
bind:forcesolved={solved[exercice.id]}
|
||||
flags={$my.exercices[exercice.id].flags}
|
||||
/>
|
||||
{:else}
|
||||
{/if}
|
||||
{#if $my.exercices[exercice.id].solved_rank || solved[exercice.id]}
|
||||
<ExerciceSolved
|
||||
{theme}
|
||||
exercice={$my.exercices[exercice.id]}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,15 @@ function createMyStore() {
|
|||
for (let k in my.exercices) {
|
||||
my.exercices[k].id = k;
|
||||
|
||||
if (my.exercices[k].flags) {
|
||||
let nb = 0;
|
||||
for (let j in my.exercices[k].flags) {
|
||||
if (!my.exercices[k].flags[j].found)
|
||||
nb += 1;
|
||||
}
|
||||
my.exercices[k].non_found_flags = nb;
|
||||
}
|
||||
|
||||
if (my.team_id === 0 && my.exercices[k].hints) {
|
||||
for (let j in my.exercices[k].hints) {
|
||||
my.exercices[k].hints[j].hidden = true;
|
||||
|
|
|
|||
Reference in a new issue