Compare commits

..

9 Commits

Author SHA1 Message Date
9e5252181e Merge pull request 'feature/11-user-scans' (#13) from feature/11-user-scans into dev
Reviewed-on: #13
close #11
2021-03-09 16:51:53 +00:00
45c0bdd5cf Merge branch 'dev' into feature/11-user-scans
# Conflicts:
#	src/components/Profile.vue
2021-03-09 17:45:19 +01:00
ff1f43e235 format lap times + only display valid scans
ref #11
2021-03-07 14:22:03 +01:00
c8d462100a use api response object properly
ref #11
2021-03-07 14:08:06 +01:00
69db350461 🌎 added missing translations
ref #11
2021-03-07 14:06:11 +01:00
cb3dc13c8a center empty state image
ref #11
2021-03-07 14:05:28 +01:00
4fb9aee255 re-order language files 😬
ref #11
2021-03-07 14:04:56 +01:00
49c3507a71 added empty state for scans
ref #11
2021-03-07 14:04:40 +01:00
14369480ea basic lap/ scans ui
ref #11
2021-03-07 14:04:29 +01:00
4 changed files with 32 additions and 16 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -121,7 +121,10 @@
<section class="text-gray-400 dark:bg-gray-900 body-font"> <section class="text-gray-400 dark:bg-gray-900 body-font">
<div class="container mx-auto"> <div class="container mx-auto">
<div class="lg:w-2/3 w-full mx-auto overflow-auto"> <div class="lg:w-2/3 w-full mx-auto overflow-auto">
<table class="table-auto w-full text-left whitespace-no-wrap"> <table
v-if="state.scans.length > 0"
class="table-auto w-full text-left whitespace-no-wrap"
>
<thead <thead
class="text-black bg-gray-300 dark:text-white text-sm dark:bg-gray-800" class="text-black bg-gray-300 dark:text-white text-sm dark:bg-gray-800"
> >
@ -135,24 +138,22 @@
</tr> </tr>
</thead> </thead>
<tbody class="text-gray-900 dark:text-gray-50"> <tbody class="text-gray-900 dark:text-gray-50">
<tr class="border-t-2 border-gray-800"> <tr v-for="s in state.scans" :key="s.id">
<td class="px-4 py-3">400m</td> <td class="px-4 py-3">
<td class="px-4 py-3">0min 57s</td> <span v-text="s.distance"></span>m
</tr> </td>
<tr class="border-t-2 border-gray-800"> <td class="px-4 py-3" v-text="s.lapTime"></td>
<td class="px-4 py-3">400m</td>
<td class="px-4 py-3">1min 15s</td>
</tr>
<tr class="border-t-2 border-gray-800">
<td class="px-4 py-3">1km</td>
<td class="px-4 py-3">2min 50s</td>
</tr>
<tr class="border-t-2 border-gray-800">
<td class="px-4 py-3">1km</td>
<td class="px-4 py-3">3min 00s</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div v-else class="text-center font-bold text-black dark:text-white text-2xl">
<img
src="../assets/empty_laps.svg"
style="height:25rem; margin:0 auto;"
:alt="[[$t('no_laps_scans_were_recorded_yet')]]"
/>
{{ $t('no_laps_scans_were_recorded_yet') }}
</div>
</div> </div>
</div> </div>
</section> </section>
@ -181,6 +182,7 @@ const state = reactive({
firstname: "", firstname: "",
middlename: "", middlename: "",
lastname: "", lastname: "",
scans: [],
group: "", group: "",
activetab: "profile", activetab: "profile",
}) })
@ -197,4 +199,15 @@ axios.get(`${config.baseurl}api/runners/me/${token}`)
}).catch((error) => { }).catch((error) => {
toast.error("An error occured while loading your profile data"); toast.error("An error occured while loading your profile data");
}) })
axios.get(`${config.baseurl}api/runners/me/${token}/scans`)
.then(({ data }) => {
data.map(function(s) {
s.lapTime = Math.floor(s.lapTime / 60) + 'min ' + (Math.floor(s.lapTime % 60) + "").padStart(2, "0") + "s"
return s;
})
data.filter(s => s.valid === true);
state.scans = data;
}).catch((error) => {
toast.error("An error occured while loading your profile data");
})
</script> </script>

View File

@ -13,6 +13,7 @@
"main_page_text": "Hier können Sie sich für den Lauf Für Kaya! registrieren oder ihr Läuferprofil verwalten.", "main_page_text": "Hier können Sie sich für den Lauf Für Kaya! registrieren oder ihr Läuferprofil verwalten.",
"mittelname": "Mittelname", "mittelname": "Mittelname",
"nachname": "Nachname", "nachname": "Nachname",
"no_laps_scans_were_recorded_yet": "Es wurden noch keine Runden / Scans aufgezeichnet ...",
"ort": "Ort", "ort": "Ort",
"phone_number": "Telefonnummer", "phone_number": "Telefonnummer",
"please_provide_a_valid_zipcode": "Bitte geben Sie eine gültige Postleitzahl an...", "please_provide_a_valid_zipcode": "Bitte geben Sie eine gültige Postleitzahl an...",

View File

@ -13,6 +13,7 @@
"main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.", "main_page_text": "Here you can register for the Lauf Für Kaya! or manage your runner profile.",
"mittelname": "Middlename", "mittelname": "Middlename",
"nachname": "Lastname", "nachname": "Lastname",
"no_laps_scans_were_recorded_yet": "No laps/ scans were recorded yet...",
"ort": "City", "ort": "City",
"phone_number": "Phone Number", "phone_number": "Phone Number",
"please_provide_a_valid_zipcode": "Please provide a valid zipcode...", "please_provide_a_valid_zipcode": "Please provide a valid zipcode...",