diff --git a/client/src/components/AppFooter.vue b/client/src/components/AppFooter.vue index 927b6d3e..3fde9bf6 100644 --- a/client/src/components/AppFooter.vue +++ b/client/src/components/AppFooter.vue @@ -5,10 +5,17 @@ log.debug("AppFooter created"); diff --git a/client/src/components/MainNavigationBar.vue b/client/src/components/MainNavigationBar.vue index c6880623..b0d232a9 100644 --- a/client/src/components/MainNavigationBar.vue +++ b/client/src/components/MainNavigationBar.vue @@ -145,7 +145,7 @@ const profileDropdownData = [ > diff --git a/client/src/components/learningPath/CircleDiagram.vue b/client/src/components/learningPath/CircleDiagram.vue index 23dedb21..9fa07a4b 100644 --- a/client/src/components/learningPath/CircleDiagram.vue +++ b/client/src/components/learningPath/CircleDiagram.vue @@ -236,20 +236,8 @@ function render() { - - + + diff --git a/client/src/components/learningPath/LearningContent.vue b/client/src/components/learningPath/LearningContent.vue index 8f59ba1d..91bfdd57 100644 --- a/client/src/components/learningPath/LearningContent.vue +++ b/client/src/components/learningPath/LearningContent.vue @@ -30,14 +30,14 @@ const block = computed(() => { type="button" class="btn-text inline-flex items-center px-3 py-2 font-normal" data-cy="close-learning-content" - @click="circleStore.closeLearningContent()" + @click="circleStore.closeLearningContent(props.learningContent)" >

- {{ learningContent?.title }} + {{ learningContent.title }}

-
+
+ +
+

{{ learningContent.title }}

+ +

{{ block.value.description }}

+ + Mediathek öffnen + +
+ +
+

{{ block.value.description }}

+

{{ learningContent.title }}

+
+ +
{{ block.value.description }}
diff --git a/client/src/components/learningPath/LearningContentTypeBadge.vue b/client/src/components/learningPath/LearningContentTypeBadge.vue index a12b8b26..63dcd50f 100644 --- a/client/src/components/learningPath/LearningContentTypeBadge.vue +++ b/client/src/components/learningPath/LearningContentTypeBadge.vue @@ -37,10 +37,11 @@ const props = defineProps<{ v-else-if="props.learningContentType === 'resource'" class="w-6 h-6" /> - +

{{ learningContentTypesToName.get(props.learningContentType) }}

diff --git a/client/src/pages/LearningPathViewVertical.vue b/client/src/components/learningPath/LearningPathViewVertical.vue similarity index 100% rename from client/src/pages/LearningPathViewVertical.vue rename to client/src/components/learningPath/LearningPathViewVertical.vue diff --git a/client/src/components/learningPath/LearningSequence.vue b/client/src/components/learningPath/LearningSequence.vue index 444c7a89..1fd65536 100644 --- a/client/src/components/learningPath/LearningSequence.vue +++ b/client/src/components/learningPath/LearningSequence.vue @@ -99,6 +99,7 @@ const learningSequenceBorderClass = computed(() => { >
@@ -155,26 +156,30 @@ const learningSequenceBorderClass = computed(() => {
- +
Selbsteinschätzung: Ich kann das.
- +
Selbsteinschätzung: Muss ich nochmals anschauen
-
- +
+
Selbsteinschätzung
diff --git a/client/src/components/learningPath/SelfEvaluation.vue b/client/src/components/learningPath/SelfEvaluation.vue index 389cd691..be53ba5b 100644 --- a/client/src/components/learningPath/SelfEvaluation.vue +++ b/client/src/components/learningPath/SelfEvaluation.vue @@ -26,7 +26,7 @@ function handleContinue() { state.questionIndex += 1; } else { log.debug("continue to next learning content"); - circleStore.continueFromSelfEvaluation(); + circleStore.continueFromSelfEvaluation(props.learningUnit); } } @@ -39,18 +39,27 @@ function handleContinue() { -

{{ learningUnit.title }}

+

+ Selbsteinschätzung {{ learningUnit.title }} +

- + -
+
Schritt {{ state.questionIndex + 1 }} von {{ questions.length }}
@@ -73,6 +82,7 @@ function handleContinue() { 'border-2': currentQuestion.completion_status === 'success', 'border-gray-500': currentQuestion.completion_status !== 'success', }" + data-cy="success" @click="circleStore.markCompletion(currentQuestion, 'success')" > @@ -85,6 +95,7 @@ function handleContinue() { 'border-2': currentQuestion.completion_status === 'fail', 'border-gray-500': currentQuestion.completion_status !== 'fail', }" + data-cy="fail" @click="circleStore.markCompletion(currentQuestion, 'fail')" > diff --git a/client/src/components/mediaLibrary/LinkCard.vue b/client/src/components/mediaLibrary/LinkCard.vue index 943a4973..760ba159 100644 --- a/client/src/components/mediaLibrary/LinkCard.vue +++ b/client/src/components/mediaLibrary/LinkCard.vue @@ -1,7 +1,7 @@ diff --git a/client/src/pages/CockpitPage.vue b/client/src/pages/CockpitPage.vue new file mode 100644 index 00000000..76cb303e --- /dev/null +++ b/client/src/pages/CockpitPage.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/client/src/pages/CockpitView.vue b/client/src/pages/CockpitView.vue deleted file mode 100644 index 69407013..00000000 --- a/client/src/pages/CockpitView.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - - diff --git a/client/src/pages/LoginPage.vue b/client/src/pages/LoginPage.vue new file mode 100644 index 00000000..7c972ef7 --- /dev/null +++ b/client/src/pages/LoginPage.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/client/src/pages/LoginView.vue b/client/src/pages/LoginView.vue deleted file mode 100644 index 8f7c21b2..00000000 --- a/client/src/pages/LoginView.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - diff --git a/client/src/pages/MessagesView.vue b/client/src/pages/MessagesPage.vue similarity index 100% rename from client/src/pages/MessagesView.vue rename to client/src/pages/MessagesPage.vue diff --git a/client/src/pages/ProfileView.vue b/client/src/pages/ProfilePage.vue similarity index 100% rename from client/src/pages/ProfileView.vue rename to client/src/pages/ProfilePage.vue diff --git a/client/src/pages/ShopView.vue b/client/src/pages/ShopPage.vue similarity index 100% rename from client/src/pages/ShopView.vue rename to client/src/pages/ShopPage.vue diff --git a/client/src/pages/StyleGuideView.vue b/client/src/pages/StyleGuidePage.vue similarity index 100% rename from client/src/pages/StyleGuideView.vue rename to client/src/pages/StyleGuidePage.vue diff --git a/client/src/pages/CircleView.vue b/client/src/pages/learningPath/CirclePage.vue similarity index 88% rename from client/src/pages/CircleView.vue rename to client/src/pages/learningPath/CirclePage.vue index 3f9b3661..123d788a 100644 --- a/client/src/pages/CircleView.vue +++ b/client/src/pages/learningPath/CirclePage.vue @@ -40,13 +40,25 @@ onMounted(async () => { try { await circleStore.loadCircle(props.learningPathSlug, props.circleSlug); - if (route.hash.startsWith("#ls-")) { - const hashLearningSequence = circleStore.circle?.learningSequences.find((ls) => { - return ls.slug.endsWith(route.hash.replace("#", "")); - }); - if (hashLearningSequence) { + if (route.hash.startsWith("#ls-") || route.hash.startsWith("#lu-")) { + const slugEnd = route.hash.replace("#", ""); + let wagtailPage = null; + + if (slugEnd.startsWith("ls-")) { + wagtailPage = circleStore.circle?.learningSequences.find((ls) => { + return ls.slug.endsWith(slugEnd); + }); + } else if (slugEnd.startsWith("lu-")) { + const learningUnits = circleStore.circle?.learningSequences.flatMap( + (ls) => ls.learningUnits + ); + wagtailPage = learningUnits.find((lu) => { + return lu.slug.endsWith(slugEnd); + }); + } + if (wagtailPage) { document - .getElementById(hashLearningSequence.slug) + .getElementById(wagtailPage.slug) ?.scrollIntoView({ behavior: "smooth" }); } } diff --git a/client/src/pages/LearningContentView.vue b/client/src/pages/learningPath/LearningContentPage.vue similarity index 100% rename from client/src/pages/LearningContentView.vue rename to client/src/pages/learningPath/LearningContentPage.vue diff --git a/client/src/pages/LearningPathView.vue b/client/src/pages/learningPath/LearningPathPage.vue similarity index 61% rename from client/src/pages/LearningPathView.vue rename to client/src/pages/learningPath/LearningPathPage.vue index afe187fc..9246d84c 100644 --- a/client/src/pages/LearningPathView.vue +++ b/client/src/pages/learningPath/LearningPathPage.vue @@ -6,7 +6,7 @@ import { useUserStore } from "@/stores/user"; import { onMounted } from "vue"; import LearningPathDiagram from "@/components/learningPath/LearningPathDiagram.vue"; -import LearningPathViewVertical from "@/pages/LearningPathViewVertical.vue"; +import LearningPathViewVertical from "@/components/learningPath/LearningPathViewVertical.vue"; import type { LearningPath } from "@/services/learningPath"; log.debug("LearningPathView created"); @@ -74,42 +74,43 @@ const createContinueUrl = (learningPath: LearningPath): [string, boolean] => { >
-

- {{ learningPathStore.learningPath.title }} -

- -
-
-

Willkommmen zurück, {{ userStore.first_name }}

-

-
+
+

+ {{ learningPathStore.learningPath.title }} +

- Nächster Schritt -

- {{ - learningPathStore.learningPath.nextLearningContent.parentCircle.title - }}: - {{ - learningPathStore.learningPath.nextLearningContent - .parentLearningSequence?.title - }} -

- +

Willkommmen zurück, {{ userStore.first_name }}

+

+
+
- - Los geht's - - Weiter geht's - + Nächster Schritt +

+ {{ + learningPathStore.learningPath.nextLearningContent.parentCircle.title + }}: + {{ + learningPathStore.learningPath.nextLearningContent + .parentLearningSequence?.title + }} +

+ + + Los geht's + + Weiter geht's + +
diff --git a/client/src/pages/LearningUnitSelfEvaluationView.vue b/client/src/pages/learningPath/SelfEvaluationPage.vue similarity index 100% rename from client/src/pages/LearningUnitSelfEvaluationView.vue rename to client/src/pages/learningPath/SelfEvaluationPage.vue diff --git a/client/src/pages/mediaLibrary/MLCategoryDetailPage.vue b/client/src/pages/mediaLibrary/MLCategoryDetailPage.vue index 9efbc880..1d822529 100644 --- a/client/src/pages/mediaLibrary/MLCategoryDetailPage.vue +++ b/client/src/pages/mediaLibrary/MLCategoryDetailPage.vue @@ -52,27 +52,32 @@ const hasMoreItemsForType = (itemType: string, items: object[]) => {