new: [front:scores] Added task depedency icon
This commit is contained in:
parent
7231a55356
commit
34a1242ed9
2 changed files with 18 additions and 3 deletions
|
@ -140,11 +140,14 @@ def get_exercises():
|
||||||
tasks = []
|
tasks = []
|
||||||
for inject in exercise['injects']:
|
for inject in exercise['injects']:
|
||||||
score = db.EXERCISES_STATUS[exercise['exercise']['uuid']]['tasks'][inject['uuid']]['score']
|
score = db.EXERCISES_STATUS[exercise['exercise']['uuid']]['tasks'][inject['uuid']]['score']
|
||||||
|
requirements = db.INJECT_REQUIREMENTS_BY_INJECT_UUID[inject['uuid']]
|
||||||
tasks.append(
|
tasks.append(
|
||||||
{
|
{
|
||||||
"name": inject['name'],
|
"name": inject['name'],
|
||||||
"uuid": inject['uuid'],
|
"uuid": inject['uuid'],
|
||||||
|
"description": inject.get('description', ''),
|
||||||
"score": score,
|
"score": score,
|
||||||
|
"requirements": requirements,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
exercises.append(
|
exercises.append(
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
import { ref, computed } from "vue";
|
import { ref, computed } from "vue";
|
||||||
import { active_exercises as exercises, progresses, setCompletedState } from "@/socket";
|
import { active_exercises as exercises, progresses, setCompletedState } from "@/socket";
|
||||||
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
|
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
|
||||||
import { faCheck, faTimes, faGraduationCap, faMedal } from '@fortawesome/free-solid-svg-icons'
|
import { faCheck, faTimes, faGraduationCap, faMedal, faHourglassHalf } from '@fortawesome/free-solid-svg-icons'
|
||||||
|
|
||||||
const collapsed_panels = ref([])
|
const collapsed_panels = ref([])
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@
|
||||||
<td
|
<td
|
||||||
v-for="(task, task_index) in exercise.tasks"
|
v-for="(task, task_index) in exercise.tasks"
|
||||||
:key="task_index"
|
:key="task_index"
|
||||||
class="text-center border-b border-slate-100 dark:border-slate-700 text-slate-500 dark:text-slate-400 p-3"
|
class="text-center border-b border-slate-100 dark:border-slate-700 text-slate-500 dark:text-slate-400 p-2"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
class="select-none cursor-pointer text-nowrap"
|
class="select-none cursor-pointer text-nowrap"
|
||||||
|
@ -104,7 +104,19 @@
|
||||||
<span class="flex flex-col">
|
<span class="flex flex-col">
|
||||||
<span>
|
<span>
|
||||||
<FontAwesomeIcon
|
<FontAwesomeIcon
|
||||||
:icon="progress.exercises[exercise.uuid].tasks_completion[task.uuid] ? faCheck : faTimes"
|
v-if="progress.exercises[exercise.uuid].tasks_completion[task.uuid]"
|
||||||
|
:icon="faCheck"
|
||||||
|
:class="`text-xl ${progress.exercises[exercise.uuid].tasks_completion[task.uuid] ? 'dark:text-green-400 text-green-600' : 'dark:text-slate-500 text-slate-400'}`"
|
||||||
|
/>
|
||||||
|
<FontAwesomeIcon
|
||||||
|
v-else-if="task.requirements?.inject_uuid !== undefined && !progress.exercises[exercise.uuid].tasks_completion[task.requirements.inject_uuid]"
|
||||||
|
title="All requirements for that task haven't been fullfilled yet"
|
||||||
|
:icon="faHourglassHalf"
|
||||||
|
:class="`text-lg ${progress.exercises[exercise.uuid].tasks_completion[task.uuid] ? 'dark:text-green-400 text-green-600' : 'dark:text-slate-500 text-slate-400'}`"
|
||||||
|
/>
|
||||||
|
<FontAwesomeIcon
|
||||||
|
v-else
|
||||||
|
:icon="faTimes"
|
||||||
:class="`text-xl ${progress.exercises[exercise.uuid].tasks_completion[task.uuid] ? 'dark:text-green-400 text-green-600' : 'dark:text-slate-500 text-slate-400'}`"
|
:class="`text-xl ${progress.exercises[exercise.uuid].tasks_completion[task.uuid] ? 'dark:text-green-400 text-green-600' : 'dark:text-slate-500 text-slate-400'}`"
|
||||||
/>
|
/>
|
||||||
<small :class="progress.exercises[exercise.uuid].tasks_completion[task.uuid] ? 'dark:text-green-400 text-green-600' : 'dark:text-slate-500 text-slate-400'"> (+{{ task.score }})</small>
|
<small :class="progress.exercises[exercise.uuid].tasks_completion[task.uuid] ? 'dark:text-green-400 text-green-600' : 'dark:text-slate-500 text-slate-400'"> (+{{ task.score }})</small>
|
||||||
|
|
Loading…
Reference in a new issue