Parcourir la source

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 il y a 2 ans
Parent
révision
cc772ed7bd
13 fichiers modifiés avec 159 ajouts et 52 suppressions
  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 Voir le fichier

@@ -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 Voir le fichier


BIN
client/src/assets/logo_4im.jpg Voir le fichier

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

+ 2
- 0
client/src/main.js Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


+ 5
- 4
client/src/views/Register.vue Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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>

Chargement…
Annuler
Enregistrer