public calendar view and secured type edit

This commit is contained in:
Julian Krauser 2024-12-04 19:00:24 +01:00
parent 5bb107e53a
commit e9a3e0c872
10 changed files with 145 additions and 6 deletions

View file

@ -5,13 +5,17 @@
>
<div class="w-full flex flex-row gap-2 h-full align-middle">
<TopLevelLink
v-if="routeName.includes('admin-')"
v-if="routeName == 'admin' || routeName.includes('admin-')"
v-for="item in topLevel"
:key="item.key"
:link="item"
:disableSubLink="true"
/>
<TopLevelLink v-else :link="{ key: 'club', title: 'Zur Verwaltung', levelDefault: '' }" :disableSubLink="true" />
<TopLevelLink
v-else-if="routeName == 'account' || routeName.includes('account-')"
:link="{ key: 'club', title: 'Zur Verwaltung', levelDefault: '' }"
:disableSubLink="true"
/>
</div>
</footer>
</template>

View file

@ -6,9 +6,14 @@
</RouterLink>
<div class="flex flex-row gap-2 items-center">
<div v-if="authCheck" class="hidden md:flex flex-row gap-2 h-full align-middle">
<TopLevelLink v-if="routeName.includes('admin-')" v-for="item in topLevel" :key="item.key" :link="item" />
<TopLevelLink
v-else-if="routeName.includes('account-')"
v-if="routeName == 'admin' || routeName.includes('admin-')"
v-for="item in topLevel"
:key="item.key"
:link="item"
/>
<TopLevelLink
v-else-if="routeName == 'account' || routeName.includes('account-')"
:link="{ key: 'club', title: 'Zur Verwaltung', levelDefault: '' }"
:disable-sub-link="true"
/>

View file

@ -6,6 +6,7 @@
<EyeIcon v-if="calendarType.nscdr" class="w-5 h-5" />
</div>
<p>{{ calendarType.type }}</p>
<small v-if="calendarType.passphrase">(passwortgeschützt)</small>
</div>
<div class="flex flex-row">
<RouterLink

View file

@ -14,9 +14,13 @@
<label for="color">Farbe</label>
</div>
<div class="flex flex-row items-center gap-2">
<input type="checkbox" id="nscdr" />
<input type="checkbox" id="nscdr" v-model="nscdr" />
<label for="nscdr">Standard Kalender Auslieferung (optional)</label>
</div>
<div v-if="!nscdr">
<label for="passphrase">Passphrase (optional)</label>
<input type="text" id="passphrase" />
</div>
<div class="flex flex-row gap-2">
<button primary type="submit" :disabled="status == 'loading' || status?.status == 'success'">erstellen</button>
@ -59,6 +63,7 @@ export default defineComponent({
return {
status: null as null | "loading" | { status: "success" | "failed"; reason?: string },
timeout: undefined as any,
nscdr: false as boolean,
};
},
beforeUnmount() {
@ -75,6 +80,7 @@ export default defineComponent({
type: formData.type.value,
color: formData.color.value,
nscdr: formData.nscdr.checked,
passphrase: formData.passphrase.value,
};
this.createCalendarType(createCalendarType)
.then(() => {