Compare commits

...

7 Commits

Author SHA1 Message Date
ff91995337 Merge branch 'dev' into feature/11-tracks-management
All checks were successful
continuous-integration/drone/push Build is passing
# Conflicts:
#	src/locales/en.json
2021-01-04 19:40:53 +01:00
008c91a552 track lap time interactive placeholder
ref #11
2021-01-04 19:37:17 +01:00
d830727036 AddTrackModal padding style
ref #11
2021-01-04 19:37:02 +01:00
dadccc1b5f 🌍 i18n lap time
ref #11
2021-01-04 19:33:48 +01:00
6022953417 Merge branch 'dev' into feature/11-tracks-management 2021-01-04 19:20:45 +01:00
7210f1b947 include minimum lap times
ref #11
2021-01-04 19:20:13 +01:00
8af63fc22a Merge commit '3a702aa91e768ab58e017d859732fcac960edac6' into feature/11-tracks-management 2021-01-04 18:24:56 +01:00
3 changed files with 102 additions and 76 deletions

View File

@ -3,12 +3,14 @@
import { tracks as tracksstore } from "../store.js"; import { tracks as tracksstore } from "../store.js";
let trackname_input; let trackname_input;
let trackname_input_value; let trackname_input_value;
let track_min_duration;
let tracklength; let tracklength;
import { TrackService } from "@odit/lfk-client-js"; import { TrackService } from "@odit/lfk-client-js";
export let modal_open; export let modal_open;
let processed_last_submit = true; let processed_last_submit = true;
import Toastify from "toastify-js"; import Toastify from "toastify-js";
import "toastify-js/src/toastify.css"; import "toastify-js/src/toastify.css";
$: smart_track_min_duration_placeholder = parseInt(tracklength || 0) * 0.369;
function submit() { function submit() {
if (processed_last_submit === true) { if (processed_last_submit === true) {
processed_last_submit = false; processed_last_submit = false;
@ -19,6 +21,7 @@
TrackService.trackControllerPost({ TrackService.trackControllerPost({
distance: parseInt(tracklength), distance: parseInt(tracklength),
name: trackname_input_value, name: trackname_input_value,
minimumLapTime: track_min_duration,
}) })
.then((result) => { .then((result) => {
Toastify({ Toastify({
@ -98,7 +101,7 @@
bind:this={trackname_input} bind:this={trackname_input}
type="text" type="text"
name="trackname" name="trackname"
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm sm:text-sm border-gray-300 rounded-md" /> class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
</div> </div>
<div class="col-span-6"> <div class="col-span-6">
<label <label
@ -109,10 +112,25 @@
bind:value={tracklength} bind:value={tracklength}
type="number" type="number"
name="track_length_m" name="track_length_m"
class="focus:ring-indigo-500 focus:border-indigo-500 flex-1 block w-full rounded-none rounded-r-md sm:text-sm border-gray-300" class="focus:ring-indigo-500 focus:border-indigo-500 flex-1 block w-full rounded-none rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2"
placeholder="1000" /> placeholder="1000" />
<span <span
class="inline-flex items-center px-3 rounded-r-md border border-l-0 border-gray-300 bg-gray-50 text-gray-500 text-sm">m</span> class="inline-flex items-center px-3 rounded-r-md border border-gray-300 bg-gray-50 text-gray-500 text-sm">m</span>
</div>
</div>
<div class="col-span-6">
<label
for="track_min_duration"
class="block text-sm font-medium text-gray-700">{$_('minimum-lap-time-in-s')}</label>
<div class="mt-1 flex rounded-md shadow-sm">
<input
bind:value={track_min_duration}
type="number"
name="track_min_duration"
class="focus:ring-indigo-500 focus:border-indigo-500 flex-1 block w-full rounded-none rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2"
placeholder={smart_track_min_duration_placeholder} />
<span
class="inline-flex items-center px-3 rounded-r-md border border-gray-300 bg-gray-50 text-gray-500 text-sm">s</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -31,6 +31,7 @@
tabledata.push([ tabledata.push([
track.name, track.name,
track.distance, track.distance,
track.minimumLapTime || 0,
html(` html(`
<button class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-gray-400 text-base font-medium text-white sm:w-auto sm:text-sm">Edit</button> <button class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-gray-400 text-base font-medium text-white sm:w-auto sm:text-sm">Edit</button>
<button class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-500 text-base font-medium text-white sm:w-auto sm:text-sm">Delete</button> <button class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-500 text-base font-medium text-white sm:w-auto sm:text-sm">Delete</button>
@ -39,7 +40,12 @@
}); });
if (datatable_inited === false) { if (datatable_inited === false) {
datatable = new Grid({ datatable = new Grid({
columns: [$_("track-name"), $_("track-length-in-m"), "Action"], columns: [
$_("track-name"),
$_("track-length-in-m"),
$_("minimum-lap-time-in-s"),
$_("action"),
],
language: getlang($json("datatable")), language: getlang($json("datatable")),
sort: true, sort: true,
search: { enabled: true }, search: { enabled: true },

View File

@ -68,6 +68,8 @@
"users": "Users", "users": "Users",
"teams": "Teams", "teams": "Teams",
"faq": "FAQ", "faq": "FAQ",
"minimum-lap-time-in-s": "Minimum lap time in s",
"action": "Action",
"this-might-take-a-moment": "This might take a moment 👀", "this-might-take-a-moment": "This might take a moment 👀",
"stats-are-being-loaded": "stats are being loaded...", "stats-are-being-loaded": "stats are being loaded...",
"general-stats": "General Stats" "general-stats": "General Stats"