Переглянути джерело

1.1.0:

Bugfix: E-Mail über richtige Adresse
4-in-motion hinzugefügt
Urkunden aktualisiert unf Urkunden für LKTF hinzugefügt
tags/v1.1.0
akimmig 2 роки тому
джерело
коміт
cc772ed7bd
13 змінених файлів з 159 додано та 52 видалено
  1. +6
    -3
      client/package-lock.json
  2. BIN
      client/src/assets/LKTF_Urkunde_2023_final.pdf
  3. BIN
      client/src/assets/logo_4im.jpg
  4. +2
    -0
      client/src/main.js
  5. +1
    -1
      client/src/plugins/router.js
  6. +2
    -1
      client/src/plugins/store.js
  7. +22
    -4
      client/src/urkunde.js
  8. +5
    -4
      client/src/views/Register.vue
  9. +2
    -1
      client/src/views/components/core/Drawer.vue
  10. +18
    -3
      client/src/views/components/event/event.vue
  11. +9
    -35
      client/src/views/components/start.vue
  12. +46
    -0
      client/src/views/components/start_4im.vue
  13. +46
    -0
      client/src/views/components/start_sim.vue

+ 6
- 3
client/package-lock.json Переглянути файл

@@ -1,11 +1,12 @@
{
"name": "client",
"version": "0.1.0",
"name": "schoolINmotion-client",
"version": "1.0.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"version": "0.1.0",
"name": "schoolINmotion-client",
"version": "1.0.1",
"dependencies": {
"@fortawesome/fontawesome-pro": "^5.15.3",
"@mdi/font": "^5.9.55",
@@ -17954,6 +17955,7 @@
"integrity": "sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw==",
"dev": true,
"requires": {
"@babel/core": "^7.11.0",
"@babel/helper-compilation-targets": "^7.9.6",
"@babel/helper-module-imports": "^7.8.3",
"@babel/plugin-proposal-class-properties": "^7.8.3",
@@ -17966,6 +17968,7 @@
"@vue/babel-plugin-jsx": "^1.0.3",
"@vue/babel-preset-jsx": "^1.2.4",
"babel-plugin-dynamic-import-node": "^2.3.3",
"core-js": "^3.6.5",
"core-js-compat": "^3.6.5",
"semver": "^6.1.0"
}

BIN
client/src/assets/LKTF_Urkunde_2023_final.pdf Переглянути файл


BIN
client/src/assets/logo_4im.jpg Переглянути файл

Before After
Width: 664  |  Height: 518  |  Size: 26KB

+ 2
- 0
client/src/main.js Переглянути файл

@@ -23,6 +23,8 @@ Vue.component('Confirm', () => import('./components/Confirm.vue'))

Vue.config.productionTip = false

store.state.sim = !!window.location.href.match(/school/)

new Vue({
router,
store,

+ 1
- 1
client/src/plugins/router.js Переглянути файл

@@ -12,7 +12,7 @@ const routes = [
{
path: '',
name: 'Startseite',
component: () => import('../views/components/start')
component: () => import('../views/components/start.vue')
},
{
path: 'login',

+ 2
- 1
client/src/plugins/store.js Переглянути файл

@@ -11,7 +11,8 @@ export default new Vuex.Store({
snackbar: {
visible: false,
text: ''
}
},
sim: true
},
mutations: {
SET_DRAWER (state, payload) {

+ 22
- 4
client/src/urkunde.js
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 5
- 4
client/src/views/Register.vue Переглянути файл

@@ -18,7 +18,8 @@
>
<h1>Registrierung</h1>
<p>Hier können Sie sich kostenlos für das System registrieren.</p>
<p>Anmerkung: School-in-Motion ist in erster Linie für Schulen konzipiert. Wird eine Registrierung missbräuchlich verwendet, so behalten wir uns vor, den Nutzer zu sperren bzw. zu löschen.</p>
<p>Die erste Person, die eine Schule/einen Verein anlegt übernimmt die Funktion des Administrators für die jeweilige Organisation. Sollten sich weitere Personen für die Organisation anmelden, muss der Administrator diese innerhalb des Tools bestätigen.</p>
<p>Anmerkung: School-in-Motion/4INMOTION ist in erster Linie für Schulen konzipiert. Wird eine Registrierung missbräuchlich verwendet, so behalten wir uns vor, den Nutzer zu sperren bzw. zu löschen.</p>
<v-row>
<v-col
cols="12"
@@ -34,7 +35,7 @@
<v-select
v-model="schule"
:items="organizer"
label="Schule auswählen"
label="Bitte Schule/Verein auswählen"
/>
</v-col>
<v-col
@@ -44,13 +45,13 @@
<v-text-field
v-if="schule && schule !== -1"
:value="schule.name"
label="Schulname"
label="Schulname/Vereinsname"
disabled
/>
<v-text-field
v-else
v-model="name"
label="Schulname"
label="Schulname/Vereinsname"
:disabled="schule !== -1"
/>
</v-col>

+ 2
- 1
client/src/views/components/core/Drawer.vue Переглянути файл

@@ -21,7 +21,8 @@
<v-list-item-content>
<v-list-item-avatar><img src="../../../assets/bogen.png"/></v-list-item-avatar>
<v-list-item-title class="font-weight-regular display-2 text-center">
<span class="logo-normal">schoolINmotion</span>
<span class="logo-normal" v-if="$store.state.sim">schoolINmotion</span>
<span class="logo-normal" v-else>4INMOTION</span>
</v-list-item-title>
</v-list-item-content>
</v-list-item>

+ 18
- 3
client/src/views/components/event/event.vue Переглянути файл

@@ -509,6 +509,22 @@
Urkunden für Vordruck
</v-btn>
</v-col>
<v-col cols="12">
<v-btn
block
@click="generatePDF(true, 'lktf23')"
>
LKTF 2023: Urkunden inklusive Hintergrund
</v-btn>
</v-col>
<v-col cols="12">
<v-btn
block
@click="generatePDF(false, 'lktf23')"
>
LKTF 2023: Urkunden für Vordruck
</v-btn>
</v-col>
</v-row>
</v-col>
<v-col
@@ -972,9 +988,8 @@ export default {

this.resultclose()
},
async generatePDF (vorlage = false) {
console.log(this.$store.getters.profile)
generateUrkunde(this.ergebnisse.map(e => ({ platz: `${e.platz}. PLATZ`, zeit: `${Math.floor(e.time / 60)} MIN. ${Math.floor(e.time % 60)} SEK.`, team: e.team })), this.urkunde.schule, this.urkunde.name, this.urkunde.unterschrift, vorlage)
async generatePDF (vorlage = false, typ = 'sim') {
generateUrkunde(this.ergebnisse.map(e => ({ platz: `${e.platz}. PLATZ`, zeit: `${Math.floor(e.time / 60)} MIN. ${Math.floor(e.time % 60)} SEK.`, team: e.team })), this.urkunde.schule, this.urkunde.name, this.urkunde.unterschrift, vorlage, typ)
}
},


+ 9
- 35
client/src/views/components/start.vue Переглянути файл

@@ -1,46 +1,20 @@
<template>
<v-container
fluid
tag="section"
>
<h1>schoolINmotion</h1>
<img src="../../assets/logo_sim.jpg" />
<h2><b>schoolINmotion</b> ist ein Mannschaftswettbewerb, bei dem eine Anzahl von zwei bis vier Schülerinnen und Schülern in einem Team antreten. Es ist dabei unerheblich, ob das Team aus nur Jungen, nur Mädchen oder als gemischtes Team zusammengestellt wird.</h2>
<h3>Ziel des Wettbewerbs ist es, eine möglichst schnelle Zeit in einem Geräte-Parcours zu erzielen. Zusätzlich sind an den einzelnen Geräten turnerische Elemente zu erfüllen.</h3>
<h3>Der zu absolvierende Parcours besteht aus 4 Geräten, an welchen jeweils drei Elemente gezeigt werden müssen. Jedes Teammitglied kann eine oder zwei Geräte turnen, allerdings nicht direkt hintereinander. Es zählt die Team-Zeit, nicht die beste Ausführung! Auf turnerische Aspekte, wie die korrekte Ausführung von Pflichtübungen wird bewusst weniger Wert gelegt. So garantiert das gemeinsame Turnen Spaß und Action.</h3>
</v-container>
<sim v-if="$store.state.sim" />
<fim v-else />
</template>

<script>
export default {
name: 'start'
}
</script>
name: 'start',

<style scoped>
img {
display: block;
max-width: calc(100% - 48px);
width: 400px;
height: auto;
/* float: right; */
margin: 24px auto;
components: {
sim: () => import('./start_sim'),
fim: () => import('./start_4im')
}
}

h1 {
font-size: 350%;
text-align: center;
}
</script>

h2 {
line-height: 180%;
margin-bottom: 16px;
letter-spacing: 0.2px;
}
<style scoped>

h3 {
line-height: 180%;
letter-spacing: 0.2px;
margin-bottom: 12px;
}
</style>

+ 46
- 0
client/src/views/components/start_4im.vue Переглянути файл

@@ -0,0 +1,46 @@
<template>
<v-container
fluid
tag="section"
>
<h1>4INMOTION</h1>
<img src="../../assets/logo_4im.jpg" />
<h2><b>4<span style="font-weight:400;">IN</span>MOTION</b> ist ein Mannschaftswettbewerb, bei dem eine Anzahl von zwei bis vier Personen in einem Team antreten. Es ist dabei unerheblich, ob das Team rein männlich, rein weiblich oder als gemischtes Team zusammengestellt wird.</h2>
<h3>Ziel des Wettbewerbs ist es, eine möglichst schnelle Zeit in einem Geräte-Parcours zu erzielen. Zusätzlich sind an den einzelnen Geräten turnerische Elemente zu erfüllen.</h3>
<h3>Der Parcours kann sich aus den unterschiedlichsten Turngeräten zusammensetzen, es sind hierbei vier Geräte zu verwenden. An jedem Gerät müssen fünf Elemente aus der Elementeliste gezeigt werden. Jedes Teammitglied kann ein oder zwei Geräte turnen, allerdings nicht direkt hintereinander. Es zählt die Team-Zeit, nicht die beste Ausführung! Allerdings könnt ihr euch mit einer guten Ausführung einen kleinen Zeitbonus erturnen. So oder so garantiert 4INMOTION Spaß und Action beim gemeinsamen Turnen.</h3>
</v-container>
</template>

<script>
export default {
name: 'start_4im'
}
</script>

<style scoped>
img {
display: block;
max-width: calc(100% - 48px);
width: 400px;
height: auto;
/* float: right; */
margin: 24px auto;
}

h1 {
font-size: 350%;
text-align: center;
}

h2 {
line-height: 180%;
margin-bottom: 16px;
letter-spacing: 0.2px;
}

h3 {
line-height: 180%;
letter-spacing: 0.2px;
margin-bottom: 12px;
}
</style>

+ 46
- 0
client/src/views/components/start_sim.vue Переглянути файл

@@ -0,0 +1,46 @@
<template>
<v-container
fluid
tag="section"
>
<h1>schoolINmotion</h1>
<img src="../../assets/logo_sim.jpg" />
<h2><b>schoolINmotion</b> ist ein Mannschaftswettbewerb, bei dem eine Anzahl von zwei bis vier Schülerinnen und Schülern in einem Team antreten. Es ist dabei unerheblich, ob das Team aus nur Jungen, nur Mädchen oder als gemischtes Team zusammengestellt wird.</h2>
<h3>Ziel des Wettbewerbs ist es, eine möglichst schnelle Zeit in einem Geräte-Parcours zu erzielen. Zusätzlich sind an den einzelnen Geräten turnerische Elemente zu erfüllen.</h3>
<h3>Der zu absolvierende Parcours besteht aus 4 Geräten, an welchen jeweils drei Elemente gezeigt werden müssen. Jedes Teammitglied kann eine oder zwei Geräte turnen, allerdings nicht direkt hintereinander. Es zählt die Team-Zeit, nicht die beste Ausführung! Auf turnerische Aspekte, wie die korrekte Ausführung von Pflichtübungen wird bewusst weniger Wert gelegt. So garantiert das gemeinsame Turnen Spaß und Action.</h3>
</v-container>
</template>

<script>
export default {
name: 'start_sim'
}
</script>

<style scoped>
img {
display: block;
max-width: calc(100% - 48px);
width: 400px;
height: auto;
/* float: right; */
margin: 24px auto;
}

h1 {
font-size: 350%;
text-align: center;
}

h2 {
line-height: 180%;
margin-bottom: 16px;
letter-spacing: 0.2px;
}

h3 {
line-height: 180%;
letter-spacing: 0.2px;
margin-bottom: 12px;
}
</style>

Завантаження…
Відмінити
Зберегти