Просмотр исходного кода

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 лет назад
Родитель
Сommit
cc772ed7bd
13 измененных файлов: 159 добавлений и 52 удалений
  1. +6
    -3
      client/package-lock.json
  2. Двоичные данные
      client/src/assets/LKTF_Urkunde_2023_final.pdf
  3. Двоичные данные
      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"
}

Двоичные данные
client/src/assets/LKTF_Urkunde_2023_final.pdf Просмотреть файл


Двоичные данные
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>

Загрузка…
Отмена
Сохранить