Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | <template> <link href="https://assets.muenchen.de/mde/1.1.15/css/style.css" rel="stylesheet" /> <main> <div> <div v-html="sanitizeHtml(mucIconsSprite)"></div> <div v-html="sanitizeHtml(customIconsSprit)"></div> <appointment-view :global-state="globalState" :service-id="serviceId" :location-id="locationId" :exclusive-location="exclusiveLocation" :appointment-hash="appointmentHash" :confirm-appointment-hash="confirmAppointmentHash" :appointment-detail-url="appointmentDetailUrl" :show-login-option="showLoginOption.toLowerCase() === 'true'" :t="t" /> </div> </main> </template> <script lang="ts" setup> import customIconsSprit from "@muenchen/muc-patternlab-vue/assets/icons/custom-icons.svg?raw"; import mucIconsSprite from "@muenchen/muc-patternlab-vue/assets/icons/muc-icons.svg?raw"; import { ref } from "vue"; import { useI18n } from "vue-i18n"; import AppointmentView from "@/components/Appointment/AppointmentView.vue"; import { sanitizeHtml } from "@/utils/sanitizeHtml"; import { useGlobalState } from "./utils/useGlobalState"; // Props const props = withDefaults( defineProps<{ baseUrl?: string; appointmentDetailUrl?: string; showLoginOption?: string; }>(), { baseUrl: undefined, appointmentDetailUrl: "appointment-detail.html", showLoginOption: "false", } ); // START Routing const urlElements = window.location.hash.split("/"); const url = new URL(window.location.href); const params = new URLSearchParams(url.search); const serviceId = ref<string | undefined>(undefined); if (urlElements.length >= 3 && urlElements[1] === "services") { serviceId.value = urlElements[2]; } const locationId = ref<string | undefined>(undefined); if (urlElements.length >= 5 && urlElements[3] === "locations") { locationId.value = urlElements[4]; } const confirmAppointmentHash = ref<string | undefined>(undefined); if ( urlElements.length === 4 && urlElements[1] === "appointment" && urlElements[2] === "confirm" ) { confirmAppointmentHash.value = urlElements[3]; } const appointmentHash = ref<string | undefined>(undefined); if (urlElements.length === 3 && urlElements[1] === "appointment") { appointmentHash.value = urlElements[2]; } const exclusiveLocation = ref<string | undefined>(undefined); if (params.get("exclusiveLocation")) { exclusiveLocation.value = "1"; } // END Routing // i18n & Global State const { t } = useI18n(); const globalState = useGlobalState(props); </script> <style> @import "@muenchen/muc-patternlab-vue/assets/css/custom-style.css"; @import "@muenchen/muc-patternlab-vue/style.css"; :host { font-family: Open Sans, sans-serif; } main { padding-bottom: 32px; } </style> |