englisch / deutsch und footer für impressum und datenschutz
This commit is contained in:
parent
5b2886307e
commit
67aa3d9749
2 changed files with 32 additions and 21 deletions
|
@ -5,11 +5,20 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<title>Zammad Form</title>
|
||||
<title>Theater Dortmund Ticket Formular</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="app"></div>
|
||||
|
||||
|
||||
<footer class="text-center text-lg-start bg-body-tertiary text-muted">
|
||||
<div class="text-center p-4">
|
||||
© 2025 Theater Dortmund.
|
||||
<a class="text-reset" href="https://www.theaterdo.de/impressum">Impressum</a> /
|
||||
<a class="text-reset" href="https://www.theaterdo.de/datenschutz/">Datenschutz</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script type="module" src="/src/main.js"></script>
|
||||
</body>
|
||||
|
|
|
@ -62,31 +62,33 @@ async function submit() {
|
|||
<template>
|
||||
<div class="container">
|
||||
|
||||
<h1>Ticket erstellen</h1>
|
||||
<h1>Ticket erstellen <small class="text-muted">/ Create Ticket</small></h1>
|
||||
|
||||
<div v-if="success" class="alert alert-success" role="alert">
|
||||
Das Formular wurde versendet. Es wurde ein neues Ticket angelegt.
|
||||
Das Formular wurde versendet. Es wurde ein neues Ticket angelegt.<br/>
|
||||
<small class="text-muted">The form has been sent. A new ticket has been created.</small>
|
||||
</div>
|
||||
<div v-if="error" class="alert alert-danger" role="alert">
|
||||
Das Formular konnte nicht abgeschickt werden. Bitte wenden Sie sich per E-Mail an
|
||||
<a href="mailto:it-theater@theaterdo.de">it-theater@theaterdo.de</a>.
|
||||
<a href="mailto:it-theater@theaterdo.de">it-theater@theaterdo.de</a>.<br/>
|
||||
<small class="text-muted">The form could not be sent. Please send an e-mail to the IT-Department.</small>
|
||||
</div>
|
||||
|
||||
|
||||
<form v-if="!success" @submit.prevent="submit" class="needs-validation" novalidate>
|
||||
<div class="row mb-3">
|
||||
<div class="col">
|
||||
<div class="col-md">
|
||||
<div data-mdb-input-init class="form-outline">
|
||||
<label class="form-label" for="firstname">Vorname *</label>
|
||||
<label class="form-label" for="firstname">Vorname <small class="text-muted">/ Firstname</small> *</label>
|
||||
<input type="text" id="firstname" class="form-control"
|
||||
:class="{ 'is-invalid': v$.firstname.$error }" v-model="formdata.firstname" required />
|
||||
<span class="invalid-feedback" v-if="v$.firstname.$error"> {{ v$.firstname.$errors[0].$message
|
||||
}} </span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col">
|
||||
<div class="col-md">
|
||||
<div data-mdb-input-init class="form-outline">
|
||||
<label class="form-label" for="lastname">Nachname *</label>
|
||||
<label class="form-label" for="lastname">Nachname <small class="text-muted">/ Lastname</small> *</label>
|
||||
<input type="text" id="lastname" class="form-control"
|
||||
:class="{ 'is-invalid': v$.lastname.$error }" v-model="formdata.lastname" required />
|
||||
<span class="invalid-feedback" v-if="v$.lastname.$error"> {{ v$.lastname.$errors[0].$message }}
|
||||
|
@ -96,14 +98,14 @@ async function submit() {
|
|||
</div>
|
||||
|
||||
<div class="row mb-4">
|
||||
<div class="col">
|
||||
<label for="emailaddress" class="form-label">Email Adresse *</label>
|
||||
<div class="col-md">
|
||||
<label for="emailaddress" class="form-label">Email Adresse <small class="text-muted">/ E-Mail address</small> *</label>
|
||||
<input type="email" class="form-control" id="emailaddress" :class="{ 'is-invalid': v$.email.$error }"
|
||||
v-model="formdata.email" required />
|
||||
<span class="invalid-feedback" v-if="v$.email.$error"> {{ v$.email.$errors[0].$message }} </span>
|
||||
</div>
|
||||
<div class="col">
|
||||
<label for="phone" class="form-label">Telefon:</label>
|
||||
<div class="col-md">
|
||||
<label for="phone" class="form-label">Telefon <small class="text-muted">/ Phone number </small></label>
|
||||
<input type="text" class="form-control" id="phone" v-model="formdata.phone">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -111,8 +113,8 @@ async function submit() {
|
|||
<hr class="mb-4" />
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col">
|
||||
<label for="building" class="form-label">Gebäude *</label>
|
||||
<div class="col-md">
|
||||
<label for="building" class="form-label">Gebäude <small class="text-muted">/ Building</small> *</label>
|
||||
<select id="building" class="form-select" :class="{ 'is-invalid': v$.building.$error }"
|
||||
v-model="formdata.building" required>
|
||||
<option v-for="option in buildings" :value="option.name">{{ option.name }}</option>
|
||||
|
@ -120,8 +122,8 @@ async function submit() {
|
|||
<span class="invalid-feedback" v-if="v$.building.$error"> {{ v$.building.$errors[0].$message }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="col">
|
||||
<label for="room" class="form-label">Raum *</label>
|
||||
<div class="col-md">
|
||||
<label for="room" class="form-label">Raum <small class="text-muted">/ Room</small> *</label>
|
||||
<input type="text" class="form-control" id="room" :class="{ 'is-invalid': v$.room.$error }"
|
||||
v-model="formdata.room" required />
|
||||
<span class="invalid-feedback" v-if="v$.room.$error"> {{ v$.room.$errors[0].$message }} </span>
|
||||
|
@ -129,7 +131,7 @@ async function submit() {
|
|||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="description" class="form-label">Was ist los? *</label>
|
||||
<label for="description" class="form-label">Was ist los? <small class="text-muted">/ What's going on?</small> *</label>
|
||||
<textarea class="form-control" id="description" rows="4" :class="{ 'is-invalid': v$.description.$error }"
|
||||
v-model="formdata.description" required>
|
||||
</textarea>
|
||||
|
@ -138,8 +140,8 @@ async function submit() {
|
|||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="group" class="form-label">An wen soll das Ticket gehen? *</label>
|
||||
<select id="group" class="form-select" v-model="formdata.group" :class="{ 'is-invalid': v$.group.$error }"
|
||||
<label for="group" class="form-label">An wen soll das Ticket gehen? <small class="text-muted">/ Who should receive the ticket? </small>*</label>
|
||||
<select id="group" class="form-select mb-1" v-model="formdata.group" :class="{ 'is-invalid': v$.group.$error }"
|
||||
required>
|
||||
<option v-for="option in groups" :value="option">{{ option }}</option>
|
||||
</select>
|
||||
|
@ -149,12 +151,12 @@ async function submit() {
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info" viewBox="0 0 16 16">
|
||||
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0"/>
|
||||
</svg>
|
||||
Zuständigkeiten anzeigen
|
||||
Zuständigkeiten anzeigen <small class="text-muted">/ Show responsibilities (German only)</small>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<button :disabled="sending" type="submit" class="btn btn-primary">Absenden</button>
|
||||
</form>
|
||||
|
||||
|
|
Loading…
Reference in a new issue