Преглед изворни кода

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>

Loading…
Откажи
Сачувај