From afd51c38cd6a2dec8ff220dd8f1b69c90d592945 Mon Sep 17 00:00:00 2001
From: Michael Bauer <michael-bauer@posteo.de>
Date: Tue, 30 Jan 2024 18:14:57 +0100
Subject: [PATCH] Add coursebook sub components

---
 .../frontend/components/Coursebook.vue        |  7 ++++--
 .../documentation/Documentation.vue           | 24 +++++++++++++++++++
 .../documentation/LessonInformation.vue       | 15 ++++++++++++
 .../components/documentation/LessonNotes.vue  | 15 ++++++++++++
 .../documentation/LessonSummary.vue           | 15 ++++++++++++
 5 files changed, 74 insertions(+), 2 deletions(-)
 create mode 100644 aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue
 create mode 100644 aleksis/apps/alsijil/frontend/components/documentation/LessonInformation.vue
 create mode 100644 aleksis/apps/alsijil/frontend/components/documentation/LessonNotes.vue
 create mode 100644 aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue

diff --git a/aleksis/apps/alsijil/frontend/components/Coursebook.vue b/aleksis/apps/alsijil/frontend/components/Coursebook.vue
index 5337b90de..3ca0512bf 100644
--- a/aleksis/apps/alsijil/frontend/components/Coursebook.vue
+++ b/aleksis/apps/alsijil/frontend/components/Coursebook.vue
@@ -18,8 +18,9 @@
               <!-- I know slice copies the array. But show me something better. -->
               <v-list-item v-for="doc in day.slice(1)">
                 <v-card class="my-2">
-                  <!-- Insert subcomponents here. -->
-                  <v-card-text>{{ doc.id }}</v-card-text>
+                  <documentation
+                    :documentation="doc"
+                  />
                 </v-card>
               </v-list-item>
             </v-list>
@@ -32,6 +33,7 @@
 
 <script>
 import CRUDIterator from "aleksis.core/components/generic/CRUDIterator.vue";
+import Documentation from "./documentation/Documentation.vue";
 import gqlDocumentationsForCoursebook from "./coursebook.graphql";
 import { DateTime } from "luxon";
 
@@ -39,6 +41,7 @@ export default {
   name: "Coursebook",
   components: {
     CRUDIterator,
+    Documentation,
   },
   props: {
     // Either as props OR route params
diff --git a/aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue b/aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue
new file mode 100644
index 000000000..ea6a840db
--- /dev/null
+++ b/aleksis/apps/alsijil/frontend/components/documentation/Documentation.vue
@@ -0,0 +1,24 @@
+<template>
+ <v-card-text>{{ documentation.id }}</v-card-text>
+</template>
+
+<script>
+import LessonInformation from "./documentation/LessonInformation.vue";
+import LessonSummary from "./documentation/LessonSummary.vue";
+import LessonNotes from "./documentation/LessonNotes.vue";
+
+export default {
+  name: "Documentation",
+  components: {
+    LessonInformation,
+    LessonSummary,
+    LessonNotes,
+  },
+  props: {
+    documentation: {
+      type: Object,
+      required: true,
+    },
+  },
+};
+</script>
diff --git a/aleksis/apps/alsijil/frontend/components/documentation/LessonInformation.vue b/aleksis/apps/alsijil/frontend/components/documentation/LessonInformation.vue
new file mode 100644
index 000000000..641e9ed34
--- /dev/null
+++ b/aleksis/apps/alsijil/frontend/components/documentation/LessonInformation.vue
@@ -0,0 +1,15 @@
+<template>
+  <v-card-text>{{ documentation.id }}</v-card-text>
+</template>
+
+<script>
+export default {
+  name: "LessonInformation",
+  props: {
+    documentation: {
+      type: Object,
+      required: true,
+    },
+  },
+};
+</script>
diff --git a/aleksis/apps/alsijil/frontend/components/documentation/LessonNotes.vue b/aleksis/apps/alsijil/frontend/components/documentation/LessonNotes.vue
new file mode 100644
index 000000000..c6defd7ec
--- /dev/null
+++ b/aleksis/apps/alsijil/frontend/components/documentation/LessonNotes.vue
@@ -0,0 +1,15 @@
+<template>
+  <v-card-text>{{ documentation.id }}</v-card-text>
+</template>
+
+<script>
+export default {
+  name: "LessonNotes",
+  props: {
+    documentation: {
+      type: Object,
+      required: true,
+    },
+  },
+};
+</script>
diff --git a/aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue b/aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue
new file mode 100644
index 000000000..1e08666ea
--- /dev/null
+++ b/aleksis/apps/alsijil/frontend/components/documentation/LessonSummary.vue
@@ -0,0 +1,15 @@
+<template>
+  <v-card-text>{{ documentation.id }}</v-card-text>
+</template>
+
+<script>
+export default {
+  name: "LessonSummary",
+  props: {
+    documentation: {
+      type: Object,
+      required: true,
+    },
+  },
+};
+</script>
-- 
GitLab