Add footer with links and update UI/UX consistency
This commit is contained in:
@@ -59,7 +59,10 @@ watch(
|
|||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<v-app-bar-nav-icon @click="toggleDrawer()"></v-app-bar-nav-icon>
|
<v-app-bar-nav-icon
|
||||||
|
v-tooltip="!showDrawer ? 'Menü öffnen' : 'Menü schließen'"
|
||||||
|
@click="toggleDrawer()"
|
||||||
|
></v-app-bar-nav-icon>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<v-app-bar-title class="title" @click="$router.push({ name: 'Home' })"
|
<v-app-bar-title class="title" @click="$router.push({ name: 'Home' })"
|
||||||
@@ -106,6 +109,21 @@ watch(
|
|||||||
|
|
||||||
<v-main>
|
<v-main>
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
|
<v-footer
|
||||||
|
class="d-flex align-center justify-center ga-2 flex-wrap flex-grow-1 py-3"
|
||||||
|
>
|
||||||
|
<v-btn
|
||||||
|
v-for="link in routes.filter((x) => x.visible === Visibility.Footer)"
|
||||||
|
:key="link.path"
|
||||||
|
:to="link.path"
|
||||||
|
:text="link.name"
|
||||||
|
variant="text"
|
||||||
|
rounded
|
||||||
|
></v-btn>
|
||||||
|
<div class="flex-1-0-100 text-center mt-2">
|
||||||
|
{{ new Date().getFullYear() }} — <strong>Judoteam - Stadtlohn</strong>
|
||||||
|
</div>
|
||||||
|
</v-footer>
|
||||||
</v-main>
|
</v-main>
|
||||||
</v-app>
|
</v-app>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -24,6 +24,6 @@ const props = defineProps({
|
|||||||
padding: 2px;
|
padding: 2px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
border-radius: 0px 0px 8px 8px;
|
border-radius: 0px 0px var(--default-radius) var(--default-radius);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
:root{
|
||||||
|
--default-radius: 7px;
|
||||||
|
--red-color: #b62b2b
|
||||||
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,12 @@ import type { RouteRecordRaw } from 'vue-router'
|
|||||||
import Login from '@/routes/authentication/Login.vue';
|
import Login from '@/routes/authentication/Login.vue';
|
||||||
|
|
||||||
export enum Visibility {
|
export enum Visibility {
|
||||||
Hidden,
|
Hidden,
|
||||||
Authorized,
|
Authenticated,
|
||||||
Public
|
Unauthenticated,
|
||||||
|
Authorized,
|
||||||
|
Public,
|
||||||
|
Footer,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -15,8 +18,9 @@ export interface LayoutRoute {
|
|||||||
name: string,
|
name: string,
|
||||||
description: string,
|
description: string,
|
||||||
icon: string,
|
icon: string,
|
||||||
|
disableFooter?: boolean,
|
||||||
visible: Visibility,
|
visible: Visibility,
|
||||||
meta: RouteRecordRaw
|
meta?: RouteRecordRaw
|
||||||
}
|
}
|
||||||
|
|
||||||
export const routes: LayoutRoute[] = [
|
export const routes: LayoutRoute[] = [
|
||||||
@@ -44,6 +48,13 @@ export const routes: LayoutRoute[] = [
|
|||||||
component: Login
|
component: Login
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/impressum",
|
||||||
|
name: "Impressum",
|
||||||
|
description: "Impressum der Anwendung",
|
||||||
|
icon: "mdi-file-document",
|
||||||
|
visible: Visibility.Footer
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: "/notFound",
|
path: "/notFound",
|
||||||
name: "Nicht Gefunden",
|
name: "Nicht Gefunden",
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createRouter, createWebHistory } from 'vue-router'
|
import { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router';
|
||||||
import { routes } from '@/plugins/routesLayout'
|
import { routes } from '@/plugins/routesLayout'
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHistory(import.meta.env.BASE_URL),
|
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
|
export default router
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ const tabItems = [
|
|||||||
<template>
|
<template>
|
||||||
<v-container fluid>
|
<v-container fluid>
|
||||||
<v-img class="rounded-lg" height="40vh" src="/static/images/startPage.png" cover />
|
<v-img class="rounded-lg" height="40vh" src="/static/images/startPage.png" cover />
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<v-container
|
<v-container
|
||||||
id="main"
|
id="main"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts"></script>
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<h1>Login</h1>
|
<v-container class="">
|
||||||
|
<h1>Potenzieller Login</h1>
|
||||||
|
</v-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|||||||
Reference in New Issue
Block a user