From facc84157cc1cf03c04fed4c6af1e3f79b2822e5 Mon Sep 17 00:00:00 2001 From: Jonas Date: Sun, 25 Jan 2026 13:00:25 +0100 Subject: [PATCH] Add footer with links and update UI/UX consistency --- GUI/src/Layout.vue | 20 +++++++++++++++++++- GUI/src/components/CarouselItemWithTitle.vue | 2 +- GUI/src/css/global.css | 5 +++++ GUI/src/plugins/routesLayout.ts | 19 +++++++++++++++---- GUI/src/router/index.ts | 4 ++-- GUI/src/routes/Home.vue | 1 - GUI/src/routes/authentication/Login.vue | 8 ++++---- 7 files changed, 46 insertions(+), 13 deletions(-) diff --git a/GUI/src/Layout.vue b/GUI/src/Layout.vue index 401c0aa..d0d51d9 100644 --- a/GUI/src/Layout.vue +++ b/GUI/src/Layout.vue @@ -59,7 +59,10 @@ watch( /> + + +
+ {{ new Date().getFullYear() }} — Judoteam - Stadtlohn +
+
diff --git a/GUI/src/components/CarouselItemWithTitle.vue b/GUI/src/components/CarouselItemWithTitle.vue index 1e646a6..a6120fe 100644 --- a/GUI/src/components/CarouselItemWithTitle.vue +++ b/GUI/src/components/CarouselItemWithTitle.vue @@ -24,6 +24,6 @@ const props = defineProps({ padding: 2px; padding-right: 10px; padding-left: 10px; - border-radius: 0px 0px 8px 8px; + border-radius: 0px 0px var(--default-radius) var(--default-radius); } diff --git a/GUI/src/css/global.css b/GUI/src/css/global.css index 9408f27..a0d9b8a 100644 --- a/GUI/src/css/global.css +++ b/GUI/src/css/global.css @@ -1,3 +1,8 @@ +:root{ + --default-radius: 7px; + --red-color: #b62b2b +} + .title { font-weight: 600; } diff --git a/GUI/src/plugins/routesLayout.ts b/GUI/src/plugins/routesLayout.ts index bee1bb4..671484f 100644 --- a/GUI/src/plugins/routesLayout.ts +++ b/GUI/src/plugins/routesLayout.ts @@ -4,9 +4,12 @@ import type { RouteRecordRaw } from 'vue-router' import Login from '@/routes/authentication/Login.vue'; export enum Visibility { - Hidden, - Authorized, - Public + Hidden, + Authenticated, + Unauthenticated, + Authorized, + Public, + Footer, } @@ -15,8 +18,9 @@ export interface LayoutRoute { name: string, description: string, icon: string, + disableFooter?: boolean, visible: Visibility, - meta: RouteRecordRaw + meta?: RouteRecordRaw } export const routes: LayoutRoute[] = [ @@ -44,6 +48,13 @@ export const routes: LayoutRoute[] = [ component: Login } }, + { + path: "/impressum", + name: "Impressum", + description: "Impressum der Anwendung", + icon: "mdi-file-document", + visible: Visibility.Footer + }, { path: "/notFound", name: "Nicht Gefunden", diff --git a/GUI/src/router/index.ts b/GUI/src/router/index.ts index a561eb8..74d56a2 100644 --- a/GUI/src/router/index.ts +++ b/GUI/src/router/index.ts @@ -1,9 +1,9 @@ -import { createRouter, createWebHistory } from 'vue-router' +import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router'; import { routes } from '@/plugins/routesLayout' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), - routes: routes.map(x => x.meta) + routes: routes.filter(x => x.meta !== undefined).map(x => x.meta) as RouteRecordRaw[] }) export default router diff --git a/GUI/src/routes/Home.vue b/GUI/src/routes/Home.vue index cad6ce7..fc18d66 100644 --- a/GUI/src/routes/Home.vue +++ b/GUI/src/routes/Home.vue @@ -14,7 +14,6 @@ const tabItems = [