diff --git a/backend/controllers/navigationController.js b/backend/controllers/navigationController.js index afe0a47..420d73f 100644 --- a/backend/controllers/navigationController.js +++ b/backend/controllers/navigationController.js @@ -50,20 +50,6 @@ const menuStructure = { visible: ["all"], path: "/socialnetwork/gallery" }, - sprachenlernen: { - visible: ["all"], - children: { - vocabtrainer: { - visible: ["all"], - path: "/socialnetwork/vocab", - showVocabLanguages: 1 // Flag für dynamische Sprachen-Liste - }, - sprachkurse: { - visible: ["all"], - path: "/socialnetwork/vocab/courses" - } - } - }, blockedUsers: { visible: ["all"], path: "/socialnetwork/blocked" @@ -192,6 +178,30 @@ const menuStructure = { } } }, + personal: { + visible: ["all"], + icon: "profile16.png", + children: { + sprachenlernen: { + visible: ["all"], + children: { + vocabtrainer: { + visible: ["all"], + path: "/socialnetwork/vocab", + showVocabLanguages: 1 // Flag für dynamische Sprachen-Liste + }, + sprachkurse: { + visible: ["all"], + path: "/socialnetwork/vocab/courses" + } + } + }, + calendar: { + visible: ["all"], + path: "/personal/calendar" + } + } + }, settings: { visible: ["all"], icon: "settings16.png", diff --git a/frontend/src/i18n/index.js b/frontend/src/i18n/index.js index 224a8a8..061dbb5 100644 --- a/frontend/src/i18n/index.js +++ b/frontend/src/i18n/index.js @@ -18,6 +18,7 @@ import enPasswordReset from './locales/en/passwordReset.json'; import enBlog from './locales/en/blog.json'; import enMinigames from './locales/en/minigames.json'; import enMessage from './locales/en/message.json'; +import enPersonal from './locales/en/personal.json'; import deGeneral from './locales/de/general.json'; import deHeader from './locales/de/header.json'; @@ -36,6 +37,7 @@ import dePasswordReset from './locales/de/passwordReset.json'; import deBlog from './locales/de/blog.json'; import deMinigames from './locales/de/minigames.json'; import deMessage from './locales/de/message.json'; +import dePersonal from './locales/de/personal.json'; const messages = { en: { @@ -56,6 +58,7 @@ const messages = { ...enBlog, ...enMinigames, ...enMessage, + ...enPersonal, }, de: { 'Ok': 'Ok', @@ -76,6 +79,7 @@ const messages = { ...deBlog, ...deMinigames, ...deMessage, + ...dePersonal, } }; diff --git a/frontend/src/i18n/locales/de/navigation.json b/frontend/src/i18n/locales/de/navigation.json index 7efc329..97f01ad 100644 --- a/frontend/src/i18n/locales/de/navigation.json +++ b/frontend/src/i18n/locales/de/navigation.json @@ -7,6 +7,7 @@ "chats": "Chats", "falukant": "Falukant", "minigames": "Minispiele", + "personal": "Persönliches", "settings": "Einstellungen", "administration": "Verwaltung", "m-chats": { @@ -41,6 +42,17 @@ "match3": "Match 3 - Juwelen", "taxi": "Taxi Simulator" }, + "m-personal": { + "sprachenlernen": "Sprachen lernen", + "calendar": "Kalender", + "m-sprachenlernen": { + "vocabtrainer": "Vokabeltrainer", + "sprachkurse": "Sprachkurse", + "m-vocabtrainer": { + "newLanguage": "Neue Sprache" + } + } + }, "m-settings": { "homepage": "Startseite", "account": "Account", diff --git a/frontend/src/i18n/locales/de/personal.json b/frontend/src/i18n/locales/de/personal.json new file mode 100644 index 0000000..fde8914 --- /dev/null +++ b/frontend/src/i18n/locales/de/personal.json @@ -0,0 +1,8 @@ +{ + "personal": { + "calendar": { + "title": "Kalender", + "comingSoon": "Der Kalender wird bald verfügbar sein. Hier können Sie zukünftig Ihre Termine und Ereignisse verwalten." + } + } +} diff --git a/frontend/src/i18n/locales/en/navigation.json b/frontend/src/i18n/locales/en/navigation.json index ce80407..3b50bd6 100644 --- a/frontend/src/i18n/locales/en/navigation.json +++ b/frontend/src/i18n/locales/en/navigation.json @@ -7,6 +7,7 @@ "chats": "Chats", "falukant": "Falukant", "minigames": "Mini games", + "personal": "Personal", "settings": "Settings", "administration": "Administration", "m-chats": { @@ -41,6 +42,17 @@ "match3": "Match 3 - Jewels", "taxi": "Taxi Simulator" }, + "m-personal": { + "sprachenlernen": "Learn Languages", + "calendar": "Calendar", + "m-sprachenlernen": { + "vocabtrainer": "Vocabulary trainer", + "sprachkurse": "Language courses", + "m-vocabtrainer": { + "newLanguage": "New language" + } + } + }, "m-settings": { "homepage": "Homepage", "account": "Account", diff --git a/frontend/src/i18n/locales/en/personal.json b/frontend/src/i18n/locales/en/personal.json new file mode 100644 index 0000000..67fb4d6 --- /dev/null +++ b/frontend/src/i18n/locales/en/personal.json @@ -0,0 +1,8 @@ +{ + "personal": { + "calendar": { + "title": "Calendar", + "comingSoon": "The calendar will be available soon. Here you will be able to manage your appointments and events." + } + } +} diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index 138a283..f96fe7c 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -8,6 +8,7 @@ import adminRoutes from './adminRoutes'; import falukantRoutes from './falukantRoutes'; import blogRoutes from './blogRoutes'; import minigamesRoutes from './minigamesRoutes'; +import personalRoutes from './personalRoutes'; const routes = [ { @@ -22,6 +23,7 @@ const routes = [ ...falukantRoutes, ...blogRoutes, ...minigamesRoutes, + ...personalRoutes, ]; const router = createRouter({ diff --git a/frontend/src/router/personalRoutes.js b/frontend/src/router/personalRoutes.js new file mode 100644 index 0000000..d6fef94 --- /dev/null +++ b/frontend/src/router/personalRoutes.js @@ -0,0 +1,12 @@ +const CalendarView = () => import('../views/personal/CalendarView.vue'); + +const personalRoutes = [ + { + path: '/personal/calendar', + name: 'Calendar', + component: CalendarView, + meta: { requiresAuth: true } + } +]; + +export default personalRoutes; diff --git a/frontend/src/views/personal/CalendarView.vue b/frontend/src/views/personal/CalendarView.vue new file mode 100644 index 0000000..e3df35e --- /dev/null +++ b/frontend/src/views/personal/CalendarView.vue @@ -0,0 +1,51 @@ + + + + +