Browse 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 2 years ago
parent
commit
cc772ed7bd
13 changed files with 159 additions and 52 deletions
  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 View File

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


BIN
client/src/assets/logo_4im.jpg View File

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

+ 2
- 0
client/src/main.js View File

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

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

@@ -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
File diff suppressed because it is too large
View File


+ 5
- 4
client/src/views/Register.vue View File

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

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

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

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

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

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

Loading…
Cancel
Save