diff --git a/frontend/src/components/BrowseThemes.vue b/frontend/src/components/BrowseThemes.vue index 9575da5f..3e63a2f9 100644 --- a/frontend/src/components/BrowseThemes.vue +++ b/frontend/src/components/BrowseThemes.vue @@ -1,9 +1,57 @@ diff --git a/frontend/src/components/ThemeCard.vue b/frontend/src/components/ThemeCard.vue new file mode 100644 index 00000000..f84a9c2f --- /dev/null +++ b/frontend/src/components/ThemeCard.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/frontend/src/i18n/locale/en.json b/frontend/src/i18n/locale/en.json index 2f6555a4..18be114d 100644 --- a/frontend/src/i18n/locale/en.json +++ b/frontend/src/i18n/locale/en.json @@ -28,5 +28,6 @@ "upper-secondary": "14-16 years old", "high-school": "16-18 years old", "older": "18 and older" - } + }, + "read-more": "read-more" } diff --git a/frontend/src/router/index.ts b/frontend/src/router/index.ts index 08618aac..0d1b5a0d 100644 --- a/frontend/src/router/index.ts +++ b/frontend/src/router/index.ts @@ -13,6 +13,7 @@ import UserClasses from "@/views/classes/UserClasses.vue"; import UserAssignments from "@/views/classes/UserAssignments.vue"; import authState from "@/services/auth/auth-service.ts"; import UserHomePage from "@/views/homepage/UserHomePage.vue"; +import SingleTheme from "@/views/SingleTheme.vue"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), @@ -63,6 +64,12 @@ const router = createRouter({ ], }, + { + path: "/theme/:id", + name: "Theme", + component: SingleTheme, + meta: { requiresAuth: true }, + }, { path: "/assignment/create", name: "CreateAssigment", @@ -112,7 +119,7 @@ router.beforeEach(async (to, from, next) => { // Verify if user is logged in before accessing certain routes if (to.meta.requiresAuth) { if (!authState.isLoggedIn.value) { - //next("/login"); + //Next("/login"); next(); } else { next(); diff --git a/frontend/src/utils/constants.ts b/frontend/src/utils/constants.ts new file mode 100644 index 00000000..32ccb76f --- /dev/null +++ b/frontend/src/utils/constants.ts @@ -0,0 +1,22 @@ +import { ref } from "vue"; + +export const THEMESITEMS = ref([ + "all-themes", + "culture", + "electricity-and-mechanics", + "nature-and-climate", + "agriculture", + "society", + "math", + "technology", + "algorithms", +]); + +export const AGEITEMS = ref([ + "all-ages", + "primary-school", + "lower-secondary", + "upper-secondary", + "high-school", + "older", +]); diff --git a/frontend/src/views/SingleTheme.vue b/frontend/src/views/SingleTheme.vue new file mode 100644 index 00000000..85af7153 --- /dev/null +++ b/frontend/src/views/SingleTheme.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/frontend/src/views/homepage/UserHomePage.vue b/frontend/src/views/homepage/UserHomePage.vue index cfd4d7db..e90f0262 100644 --- a/frontend/src/views/homepage/UserHomePage.vue +++ b/frontend/src/views/homepage/UserHomePage.vue @@ -1,12 +1,11 @@