diff --git a/client/src/components/circle/CircleDiagram.vue b/client/src/components/circle/CircleDiagram.vue index 321df800..1de51ddb 100644 --- a/client/src/components/circle/CircleDiagram.vue +++ b/client/src/components/circle/CircleDiagram.vue @@ -48,6 +48,7 @@ const pieData = computed(() => { pie.arrowStartAngle = pie.endAngle + (pie.startAngle - pie.endAngle) / 2 pie.arrowEndAngle = pie.startAngle + (pie.startAngle - pie.endAngle) / 2 pie.translation_key = thisLearningSequence.translation_key + pie.slug = thisLearningSequence.slug pie.someFinished = someFinished(thisLearningSequence) pie.allFinished = allFinished(thisLearningSequence) }) @@ -146,7 +147,7 @@ function render() { }) .on('click', function (d, elm) { console.log('clicked on ', d, elm) - document.getElementById(elm.translation_key)?.scrollIntoView({behavior: 'smooth'}) + document.getElementById(elm.slug)?.scrollIntoView({behavior: 'smooth'}) }) diff --git a/client/src/components/circle/LearningSequence.vue b/client/src/components/circle/LearningSequence.vue index 152f631b..b9aa9ac9 100644 --- a/client/src/components/circle/LearningSequence.vue +++ b/client/src/components/circle/LearningSequence.vue @@ -3,6 +3,7 @@ import ItCheckbox from '@/components/ui/ItCheckbox.vue' import type { LearningContent, LearningSequence } from '@/types' import { useCircleStore } from '@/stores/circle' import { computed } from 'vue' +import _ from 'lodash' const props = defineProps<{ learningSequence: LearningSequence @@ -30,20 +31,19 @@ const allFinished = computed(() => { return false }) -const continueTranslationKey = computed(() => { +const continueTranslationKeyTuple = computed(() => { if (props.learningSequence && circleStore.circle) { - const childrenReversed = [...circleStore.circle.flatLearningContents].reverse() - const lastFinished = childrenReversed.find((learningContent) => { + const lastFinished = _.findLast(circleStore.circle.flatLearningContents, (learningContent) => { return learningContent.completed }) if (!lastFinished) { // must be the first - return circleStore.circle.flatLearningContents[0].translation_key + return [circleStore.circle.flatLearningContents[0].translation_key, true] } if (lastFinished && lastFinished.nextLearningContent) { - return lastFinished.nextLearningContent.translation_key + return [lastFinished.nextLearningContent.translation_key, false] } } @@ -67,7 +67,7 @@ const learningSequenceBorderClass = computed(() => {