diff --git a/src/components/Footer.vue b/src/components/Footer.vue index 86d1aff..bc4de6d 100644 --- a/src/components/Footer.vue +++ b/src/components/Footer.vue @@ -5,13 +5,17 @@ >
- +
diff --git a/src/components/Header.vue b/src/components/Header.vue index 40dbea7..50c1bd0 100644 --- a/src/components/Header.vue +++ b/src/components/Header.vue @@ -6,9 +6,14 @@

{{ calendarType.type }}

+ (passwortgeschützt)
Farbe
- +
+
+ + +
@@ -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(() => { diff --git a/src/router/index.ts b/src/router/index.ts index dbac896..7b3272d 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -81,7 +81,7 @@ const router = createRouter({ { path: "", name: "admin-default", - component: () => import("@/views/RouterView.vue"), + component: () => import("@/views/admin/ViewSelect.vue"), }, { path: "club", @@ -525,6 +525,23 @@ const router = createRouter({ }, ], }, + { + path: "/public", + name: "public", + component: () => import("@/views/public/View.vue"), + children: [ + { + path: "", + name: "public-default", + component: () => import("@/views/notFound.vue"), + }, + { + path: "calendar", + name: "public-calendar", + component: () => import("@/views/public/calendar/Calendar.vue"), + }, + ], + }, { path: "/nopermissions", name: "nopermissions", diff --git a/src/stores/admin/calendarType.ts b/src/stores/admin/calendarType.ts index 5549b83..8f006f0 100644 --- a/src/stores/admin/calendarType.ts +++ b/src/stores/admin/calendarType.ts @@ -36,6 +36,7 @@ export const useCalendarTypeStore = defineStore("calendarType", { type: calendarType.type, nscdr: calendarType.nscdr, color: calendarType.color, + passphrase: calendarType.passphrase, }); this.fetchCalendarTypes(); return result; @@ -45,6 +46,7 @@ export const useCalendarTypeStore = defineStore("calendarType", { type: calendarType.type, nscdr: calendarType.nscdr, color: calendarType.color, + passphrase: calendarType.passphrase, }); this.fetchCalendarTypes(); return result; diff --git a/src/viewmodels/admin/calendarType.models.ts b/src/viewmodels/admin/calendarType.models.ts index a21a1d3..0a56387 100644 --- a/src/viewmodels/admin/calendarType.models.ts +++ b/src/viewmodels/admin/calendarType.models.ts @@ -3,12 +3,14 @@ export interface CalendarTypeViewModel { type: string; nscdr: boolean; color: string; + passphrase: string | null; } export interface CreateCalendarTypeViewModel { type: string; nscdr: boolean; color: string; + passphrase?: string; } export interface UpdateCalendarTypeViewModel { @@ -16,4 +18,5 @@ export interface UpdateCalendarTypeViewModel { type: string; nscdr: boolean; color: string; + passphrase?: string; } diff --git a/src/views/admin/settings/CalendarTypeEdit.vue b/src/views/admin/settings/CalendarTypeEdit.vue index 5ab29b2..14ea437 100644 --- a/src/views/admin/settings/CalendarTypeEdit.vue +++ b/src/views/admin/settings/CalendarTypeEdit.vue @@ -28,6 +28,10 @@
+
+ + +