diff --git a/software/src/components/navigationItems.vue b/software/src/components/navigationItems.vue index e2f3801..28dec75 100644 --- a/software/src/components/navigationItems.vue +++ b/software/src/components/navigationItems.vue @@ -59,6 +59,7 @@ const navRail = defineModel("navRail", { type: Boolean })
+ \ No newline at end of file diff --git a/software/src/data/stores/scoreStore.ts b/software/src/data/stores/scoreStore.ts new file mode 100644 index 0000000..f2607f2 --- /dev/null +++ b/software/src/data/stores/scoreStore.ts @@ -0,0 +1,11 @@ +import { useLocalStorage } from "@vueuse/core"; +import { defineStore } from "pinia"; + +const useScoreStore = defineStore("scoreStore", { + state: () => ({ + progressGroup0: useLocalStorage("hackmycart/scoreStore/progressGroup0", 0), + progressGroup1: useLocalStorage("hackmycart/scoreStore/progressGroup1", 0), + progressGroup2: useLocalStorage("hackmycart/scoreStore/progressGroup2", 0), + progressGroup3: useLocalStorage("hackmycart/scoreStore/progressGroup3", 0), + }) +}) \ No newline at end of file diff --git a/software/src/locales/de.json b/software/src/locales/de.json index a37b1aa..d81b3b0 100644 --- a/software/src/locales/de.json +++ b/software/src/locales/de.json @@ -9,7 +9,8 @@ "systemAndHelp": "System & Hilfe", "helpInstructions": "Hilfestellung", "preferences": "Einstellungen", - "logout": "Ausloggen" + "logout": "Ausloggen", + "scoreBoard": "Score Board" }, "preferences": { "pageSetup": "Seiteneinstellungen", @@ -102,5 +103,12 @@ "title": "Datenbank zurücksetzen?", "description": "Soll die Datenbank des Servers wirklich zurückgesetzt werden? Dies kann nicht rückgänig gemacht werden!" } + }, + "scoreBoard": { + "exerciseGroup0": "Aufgabengruppe 0: Den Shop kennenlernen", + "exerciseGroup1": "Aufgabengruppe 1: SQL Injections", + "exerciseGroup2": "Aufgabengruppe 2: Broken Access Control", + "exerciseGroup3": "Aufgabengruppe 3: Cross-Site Scripting (XSS)", + "exercise": "Aufgabe {0}" } } diff --git a/software/src/locales/en.json b/software/src/locales/en.json index d9076ea..08f25f2 100644 --- a/software/src/locales/en.json +++ b/software/src/locales/en.json @@ -9,7 +9,8 @@ "systemAndHelp": "System & Help", "helpInstructions": "Help instructions", "preferences": "Preferences", - "logout": "Logout" + "logout": "Logout", + "scoreBoard": "Score Board" }, "preferences": { "pageSetup": "Page setup", @@ -102,5 +103,12 @@ "title": "Reset database?", "description": "Do you really want to reset the server database? This can't be undone!" } + }, + "scoreBoard": { + "exerciseGroup0": "Exercise Group 0: Getting Started", + "exerciseGroup1": "Exercise Group 1: SQL Injections", + "exerciseGroup2": "Exercise Group 2: Broken Access Control", + "exerciseGroup3": "Exercise Group 3: Cross-Site Scripting (XSS)", + "exercise": "Exercise {0}" } } diff --git a/software/src/pages/scoreBoardPage/index.vue b/software/src/pages/scoreBoardPage/index.vue new file mode 100644 index 0000000..b865789 --- /dev/null +++ b/software/src/pages/scoreBoardPage/index.vue @@ -0,0 +1,51 @@ + + + \ No newline at end of file diff --git a/software/src/pages/scoreBoardPage/scoreCard.vue b/software/src/pages/scoreBoardPage/scoreCard.vue new file mode 100644 index 0000000..8f4b0b7 --- /dev/null +++ b/software/src/pages/scoreBoardPage/scoreCard.vue @@ -0,0 +1,49 @@ + + + \ No newline at end of file diff --git a/software/src/router/routes.ts b/software/src/router/routes.ts index f93693a..c988160 100644 --- a/software/src/router/routes.ts +++ b/software/src/router/routes.ts @@ -5,6 +5,7 @@ import ProductsPage from "@/pages/productsPage/index.vue"; import LoginPage from "@/pages/loginPage/index.vue" import BasketPage from "@/pages/basketPage/index.vue" import HelpPage from "@/pages/helpPage/index.vue" +import ScoreBoardPage from "@/pages/scoreBoardPage/index.vue" const routes = [ { path: '/', component: ProductsPage }, @@ -13,6 +14,7 @@ const routes = [ { path: '/preferences', component: PreferencesPage }, { path: '/login', component: LoginPage }, { path: '/basket', component: BasketPage }, + { path: '/scoreboard', component: ScoreBoardPage }, { path: '/help', component: HelpPage } ]