docs first pages

This commit is contained in:
Julian Krauser 2025-01-04 19:18:14 +01:00
parent 683d862560
commit 5050011f29
16 changed files with 320 additions and 14 deletions

View file

@ -1,6 +1,6 @@
<template>
<footer
v-if="authCheck && (routeName.includes('admin-') || routeName.includes('account-'))"
v-if="authCheck && (routeName.includes('admin-') || routeName.includes('account-') || routeName.includes('docs-'))"
class="md:hidden flex flex-row h-16 min-h-16 justify-center md:justify-normal p-1 bg-white"
>
<div class="w-full flex flex-row gap-2 h-full align-middle">
@ -12,7 +12,7 @@
:disableSubLink="true"
/>
<TopLevelLink
v-else-if="routeName == 'account' || routeName.includes('account-')"
v-else-if="routeName == 'account' || routeName.includes('account-') || routeName == 'docs' || routeName.includes('docs-')"
:link="{ key: 'club', title: 'Zur Verwaltung', levelDefault: '' }"
:disableSubLink="true"
/>

View file

@ -13,7 +13,7 @@
:link="item"
/>
<TopLevelLink
v-else-if="routeName == 'account' || routeName.includes('account-')"
v-else-if="routeName == 'account' || routeName.includes('account-') || routeName == 'docs' || routeName.includes('docs-')"
:link="{ key: 'club', title: 'Zur Verwaltung', levelDefault: '' }"
:disable-sub-link="true"
/>

View file

@ -13,7 +13,7 @@
leave-to-class="transform scale-95 opacity-0"
>
<MenuItems
class="absolute right-0 mt-2 w-56 z-10 origin-top-right divide-y divide-gray-100 rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
class="absolute right-0 mt-2 w-56 z-20 origin-top-right divide-y divide-gray-100 rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
>
<div class="px-3 py-1 pt-2">
<p class="text-xs">Angemeldet als</p>
@ -25,6 +25,11 @@
<button button primary @click="close">Mein Account</button>
</RouterLink>
</MenuItem>
<MenuItem v-slot="{ close }">
<RouterLink to="/docs">
<button button primary @click="close">Dokumentation</button>
</RouterLink>
</MenuItem>
<MenuItem>
<span>
<button primary-outline @click="logoutAccount">ausloggen</button>

View file

@ -45,7 +45,6 @@ const router = createRouter({
path: "/reset",
name: "reset",
component: () => import("@/views/RouterView.vue"),
children: [
{
path: "",
@ -655,6 +654,7 @@ const router = createRouter({
path: "/docs",
name: "docs",
component: () => import("@/views/docs/View.vue"),
beforeEnter: [isAuthenticated],
props: true,
children: [
{

View file

@ -1,6 +1,10 @@
<template>
<div class="flex flex-col gap-2 h-full w-full overflow-y-auto">
<div v-if="activeMemberObj != null" class="flex flex-col gap-2 w-full">
<div>
<label for="id">Interne Id</label>
<input type="text" id="id" :value="activeMemberObj.internalId" readonly />
</div>
<div>
<label for="salutation">Anrede</label>
<input type="text" id="salutation" :value="activeMemberObj.salutation" readonly />

View file

@ -1,15 +1,17 @@
<template>
<MainTemplate :useStagedOverviewLink="false">
<template #topBar>
<!-- <template #topBar>
<div class="flex flex-row items-center justify-between pt-5 pb-3 px-7">
<h1 class="font-bold text-xl h-8">{{page}}</h1>
</div>
</template>
<template #main>
<div class="markdown-container">
<component v-if="markdownComponent" :is="markdownComponent" />
<p v-else>Diese Seite existiert nicht.</p>
</div>
</template> -->
<template #diffMain>
<div class="flex flex-col gap-2 h-full px-4 overflow-hidden">
<div class="markdown-container overflow-y-scroll">
<component v-if="markdownComponent" :is="markdownComponent" />
<p v-else>Diese Seite existiert nicht.</p>
</div>
</div>
</template>
</MainTemplate>
</template>
@ -40,8 +42,46 @@ export default defineComponent({
},
methods:{
loadPage(){
this.markdownComponent = null
this.markdownComponent = markRaw(defineAsyncComponent(() => import(`$/${this.page?.toLowerCase()}.md`)));
}
}
});
</script>
</script>
<style>
.markdown-container {
font-family: 'Open Sans', sans-serif;
color: #555;
background-color: #f8f8f8;
border: 2px solid gray;
padding: 20px;
border-radius: 5px;
height: 100%
}
.markdown-container h1 {
font-size: 2rem !important;
color: #222;
}
.markdown-container h2 {
font-size: 1.25rem !important;
color: #222;
}
.markdown-container hr {
background-color: #222;
margin: 8px 0;
padding: 1px;
}
.markdown-container p {
margin: 10px 0;
}
.markdown-container ul {
list-style-type: disc;
margin-left: 20px;
}
</style>

View file

@ -4,6 +4,14 @@
<SidebarTemplate mainTitle="Dokumentation">
<template #list>
<RoutingLink title="FF Admin" :link="{ name: 'docs-page', params: { page: 'ff-admin' } }" :active="page == 'ff-admin'" />
<RoutingLink title="Mitgliederverwaltung" :link="{ name: 'docs-page', params: { page: 'member' } }" :active="page == 'member'" />
<RoutingLink title="Kalendar" :link="{ name: 'docs-page', params: { page: 'calendar' } }" :active="page == 'calendar'" />
<RoutingLink title="Newsletter-Versand" :link="{ name: 'docs-page', params: { page: 'newsletter' } }" :active="page == 'newsletter'" />
<RoutingLink title="Protokolle" :link="{ name: 'docs-page', params: { page: 'protocol' } }" :active="page == 'protocol'" />
<RoutingLink title="Datenabfrage" :link="{ name: 'docs-page', params: { page: 'query' } }" :active="page == 'query'" />
<RoutingLink title="Templating-Engine" :link="{ name: 'docs-page', params: { page: 'templating' } }" :active="page == 'templating'" />
<RoutingLink title="Benutzerverwaltung" :link="{ name: 'docs-page', params: { page: 'user' } }" :active="page == 'user'" />
<RoutingLink title="Rollenverwaltung" :link="{ name: 'docs-page', params: { page: 'role' } }" :active="page == 'role'" />
</template>
</SidebarTemplate>
</template>