From 7283dd298cc941904aa5f4494735d3ddcc069bc6 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Sun, 16 Mar 2025 16:53:10 +0100 Subject: [PATCH 01/11] feat: nieuwe Vue bestanden die bij de nieuwe router passen --- frontend/src/views/classes/UserAssignments.vue | 11 +++++++++++ frontend/src/views/classes/UserClasses.vue | 11 +++++++++++ frontend/src/views/discussions/UserDiscussions.vue | 11 +++++++++++ frontend/src/views/{ => homepage}/StudentHomepage.vue | 0 frontend/src/views/{ => homepage}/TeacherHomepage.vue | 0 frontend/src/views/homepage/UserHomePage.vue | 11 +++++++++++ 6 files changed, 44 insertions(+) create mode 100644 frontend/src/views/classes/UserAssignments.vue create mode 100644 frontend/src/views/classes/UserClasses.vue create mode 100644 frontend/src/views/discussions/UserDiscussions.vue rename frontend/src/views/{ => homepage}/StudentHomepage.vue (100%) rename frontend/src/views/{ => homepage}/TeacherHomepage.vue (100%) create mode 100644 frontend/src/views/homepage/UserHomePage.vue diff --git a/frontend/src/views/classes/UserAssignments.vue b/frontend/src/views/classes/UserAssignments.vue new file mode 100644 index 00000000..73336fa3 --- /dev/null +++ b/frontend/src/views/classes/UserAssignments.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/classes/UserClasses.vue b/frontend/src/views/classes/UserClasses.vue new file mode 100644 index 00000000..73336fa3 --- /dev/null +++ b/frontend/src/views/classes/UserClasses.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/discussions/UserDiscussions.vue b/frontend/src/views/discussions/UserDiscussions.vue new file mode 100644 index 00000000..73336fa3 --- /dev/null +++ b/frontend/src/views/discussions/UserDiscussions.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/StudentHomepage.vue b/frontend/src/views/homepage/StudentHomepage.vue similarity index 100% rename from frontend/src/views/StudentHomepage.vue rename to frontend/src/views/homepage/StudentHomepage.vue diff --git a/frontend/src/views/TeacherHomepage.vue b/frontend/src/views/homepage/TeacherHomepage.vue similarity index 100% rename from frontend/src/views/TeacherHomepage.vue rename to frontend/src/views/homepage/TeacherHomepage.vue diff --git a/frontend/src/views/homepage/UserHomePage.vue b/frontend/src/views/homepage/UserHomePage.vue new file mode 100644 index 00000000..73336fa3 --- /dev/null +++ b/frontend/src/views/homepage/UserHomePage.vue @@ -0,0 +1,11 @@ + + + + + From cd86497b41f54d6518a961cd55d1b14e408e9e97 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Sun, 16 Mar 2025 16:54:03 +0100 Subject: [PATCH 02/11] =?UTF-8?q?feat:=20route=20ge=C3=AFnitialiseerd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/MenuBar.vue | 1 + frontend/src/router/index.ts | 65 ++++++++++------------------- 2 files changed, 23 insertions(+), 43 deletions(-) diff --git a/frontend/src/components/MenuBar.vue b/frontend/src/components/MenuBar.vue index 7d7c4d88..ce4a3a61 100644 --- a/frontend/src/components/MenuBar.vue +++ b/frontend/src/components/MenuBar.vue @@ -9,6 +9,7 @@ // Instantiate variables to use in html to render right // Links and content dependent on the role (student or teacher) + //TODO: use localStorage to know which one in logged in, teacher or student const isTeacher = route.path.includes("teacher"); const userId = route.params.id as string; diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 079c39ef..e69d9fc0 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -1,13 +1,6 @@ -import { createRouter, createWebHistory } from "vue-router"; +import {createRouter, createWebHistory} from "vue-router"; import MenuBar from "@/components/MenuBar.vue"; -import StudentHomepage from "@/views/StudentHomepage.vue"; -import StudentAssignments from "@/views/assignments/StudentAssignments.vue"; -import StudentClasses from "@/views/classes/StudentClasses.vue"; -import StudentDiscussions from "@/views/discussions/StudentDiscussions.vue"; -import TeacherHomepage from "@/views/TeacherHomepage.vue"; -import TeacherAssignments from "@/views/assignments/TeacherAssignments.vue"; -import TeacherClasses from "@/views/classes/TeacherClasses.vue"; -import TeacherDiscussions from "@/views/discussions/TeacherDiscussions.vue"; +import StudentHomepage from "@/views/homepage/StudentHomepage.vue"; import SingleAssignment from "@/views/assignments/SingleAssignment.vue"; import SingleClass from "@/views/classes/SingleClass.vue"; import SingleDiscussion from "@/views/discussions/SingleDiscussion.vue"; @@ -16,6 +9,9 @@ import CreateClass from "@/views/classes/CreateClass.vue"; import CreateAssignment from "@/views/assignments/CreateAssignment.vue"; import CreateDiscussion from "@/views/discussions/CreateDiscussion.vue"; import CallbackPage from "@/views/CallbackPage.vue"; +import UserDiscussions from "@/views/discussions/UserDiscussions.vue"; +import UserClasses from "@/views/classes/UserClasses.vue"; +import UserAssignments from "@/views/classes/UserAssignments.vue"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -34,93 +30,76 @@ const router = createRouter({ path: "/callback", component: CallbackPage, }, + { - path: "/student/:id", + path: "/user", component: MenuBar, + meta: {requiresAuth: true}, children: [ { path: "home", - name: "StudentHomePage", + name: "UserHomePage", component: StudentHomepage, }, { path: "assignment", - name: "StudentAssignments", - component: StudentAssignments, + name: "UserAssignments", + component: UserAssignments, }, { path: "class", - name: "StudentClasses", - component: StudentClasses, + name: "UserClasses", + component: UserClasses, }, { path: "discussion", - name: "StudentDiscussions", - component: StudentDiscussions, + name: "UserDiscussions", + component: UserDiscussions, }, ], }, - { - path: "/teacher/:id", - component: MenuBar, - children: [ - { - path: "home", - name: "TeacherHomepage", - component: TeacherHomepage, - }, - { - path: "assignment", - name: "TeacherAssignments", - component: TeacherAssignments, - }, - { - path: "class", - name: "TeacherClasses", - component: TeacherClasses, - }, - { - path: "discussion", - name: "TeacherDiscussions", - component: TeacherDiscussions, - }, - ], - }, { path: "/assignment/create", name: "CreateAssigment", component: CreateAssignment, + meta: {requiresAuth: true}, }, { path: "/assignment/:id", name: "SingleAssigment", component: SingleAssignment, + meta: {requiresAuth: true}, }, { path: "/class/create", name: "CreateClass", component: CreateClass, + meta: {requiresAuth: true}, }, { path: "/class/:id", name: "SingleClass", component: SingleClass, + meta: {requiresAuth: true}, }, { path: "/discussion/create", name: "CreateDiscussion", component: CreateDiscussion, + meta: {requiresAuth: true}, }, { path: "/discussion/:id", name: "SingleDiscussion", component: SingleDiscussion, + meta: {requiresAuth: true}, }, { path: "/:catchAll(.*)", name: "NotFound", component: NotFound, + meta: {requiresAuth: true}, }, ], }); From 4f67b1e9fe22b7214474fa10d380f53c423cc457 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Sun, 16 Mar 2025 16:55:20 +0100 Subject: [PATCH 03/11] feat: linter verbeteringen --- frontend/src/components/MenuBar.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frontend/src/components/MenuBar.vue b/frontend/src/components/MenuBar.vue index ce4a3a61..f085f4ed 100644 --- a/frontend/src/components/MenuBar.vue +++ b/frontend/src/components/MenuBar.vue @@ -18,9 +18,7 @@ const name = "Kurt Cobain"; const initials = name .split(" ") - .map((n) => { - return n[0]; - }) + .map((n) => n[0]) .join(""); const languages = ref([ From 53cec2a3c4801addda80f0372fdf14d3e9e6a393 Mon Sep 17 00:00:00 2001 From: Lint Action Date: Sun, 16 Mar 2025 16:20:39 +0000 Subject: [PATCH 04/11] style: fix linting issues met Prettier --- frontend/src/router/index.ts | 18 +++++++++--------- frontend/src/views/classes/UserAssignments.vue | 10 +++------- frontend/src/views/classes/UserClasses.vue | 10 +++------- .../src/views/discussions/UserDiscussions.vue | 10 +++------- frontend/src/views/homepage/UserHomePage.vue | 10 +++------- 5 files changed, 21 insertions(+), 37 deletions(-) diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index e69d9fc0..a50d813e 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -1,4 +1,4 @@ -import {createRouter, createWebHistory} from "vue-router"; +import { createRouter, createWebHistory } from "vue-router"; import MenuBar from "@/components/MenuBar.vue"; import StudentHomepage from "@/views/homepage/StudentHomepage.vue"; import SingleAssignment from "@/views/assignments/SingleAssignment.vue"; @@ -34,7 +34,7 @@ const router = createRouter({ { path: "/user", component: MenuBar, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, children: [ { path: "home", @@ -63,43 +63,43 @@ const router = createRouter({ path: "/assignment/create", name: "CreateAssigment", component: CreateAssignment, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, }, { path: "/assignment/:id", name: "SingleAssigment", component: SingleAssignment, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, }, { path: "/class/create", name: "CreateClass", component: CreateClass, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, }, { path: "/class/:id", name: "SingleClass", component: SingleClass, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, }, { path: "/discussion/create", name: "CreateDiscussion", component: CreateDiscussion, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, }, { path: "/discussion/:id", name: "SingleDiscussion", component: SingleDiscussion, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, }, { path: "/:catchAll(.*)", name: "NotFound", component: NotFound, - meta: {requiresAuth: true}, + meta: { requiresAuth: true }, }, ], }); diff --git a/frontend/src/views/classes/UserAssignments.vue b/frontend/src/views/classes/UserAssignments.vue index 73336fa3..1a35a59f 100644 --- a/frontend/src/views/classes/UserAssignments.vue +++ b/frontend/src/views/classes/UserAssignments.vue @@ -1,11 +1,7 @@ - + - + diff --git a/frontend/src/views/classes/UserClasses.vue b/frontend/src/views/classes/UserClasses.vue index 73336fa3..1a35a59f 100644 --- a/frontend/src/views/classes/UserClasses.vue +++ b/frontend/src/views/classes/UserClasses.vue @@ -1,11 +1,7 @@ - + - + diff --git a/frontend/src/views/discussions/UserDiscussions.vue b/frontend/src/views/discussions/UserDiscussions.vue index 73336fa3..1a35a59f 100644 --- a/frontend/src/views/discussions/UserDiscussions.vue +++ b/frontend/src/views/discussions/UserDiscussions.vue @@ -1,11 +1,7 @@ - + - + diff --git a/frontend/src/views/homepage/UserHomePage.vue b/frontend/src/views/homepage/UserHomePage.vue index 73336fa3..1a35a59f 100644 --- a/frontend/src/views/homepage/UserHomePage.vue +++ b/frontend/src/views/homepage/UserHomePage.vue @@ -1,11 +1,7 @@ - + - + From 0d15d068cdcb1a8f87080eb5f161999551c023d3 Mon Sep 17 00:00:00 2001 From: Joyelle Ndagijimana Date: Mon, 17 Mar 2025 11:20:48 +0100 Subject: [PATCH 05/11] feat: logged-in check toegevoegd in de router --- frontend/src/components/MenuBar.vue | 22 ++++++++++------------ frontend/src/router/index.ts | 20 +++++++++++++++++++- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/frontend/src/components/MenuBar.vue b/frontend/src/components/MenuBar.vue index f085f4ed..122d08e2 100644 --- a/frontend/src/components/MenuBar.vue +++ b/frontend/src/components/MenuBar.vue @@ -1,26 +1,24 @@