From 5201362ac4ef6ef56b07e2d51101a217dcc1bfc3 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 28 Nov 2021 14:11:30 +0100 Subject: [PATCH 1/5] [Client] workout - add checkbox to select data on chart - fix #116 --- .../index.vue} | 36 +++++++++++ .../components/Workout/WorkoutChart/legend.ts | 63 +++++++++++++++++++ .../src/views/workouts/Workout.vue | 2 +- 3 files changed, 100 insertions(+), 1 deletion(-) rename fittrackee_client/src/components/Workout/{WorkoutChart.vue => WorkoutChart/index.vue} (88%) create mode 100644 fittrackee_client/src/components/Workout/WorkoutChart/legend.ts diff --git a/fittrackee_client/src/components/Workout/WorkoutChart.vue b/fittrackee_client/src/components/Workout/WorkoutChart/index.vue similarity index 88% rename from fittrackee_client/src/components/Workout/WorkoutChart.vue rename to fittrackee_client/src/components/Workout/WorkoutChart/index.vue index 54f477ad..9ed7a09e 100644 --- a/fittrackee_client/src/components/Workout/WorkoutChart.vue +++ b/fittrackee_client/src/components/Workout/WorkoutChart/index.vue @@ -23,6 +23,7 @@ {{ $t('workouts.DURATION') }} +
{ + const legendContainer = document.getElementById(id) + if (legendContainer) { + let listContainer = legendContainer.querySelector('ul') + if (!listContainer) { + listContainer = document.createElement('ul') + legendContainer.appendChild(listContainer) + } + return listContainer + } + throw new Error('No legend container') +} + +export const htmlLegendPlugin = { + id: 'htmlLegend', + afterUpdate( + chart: Chart, + args: Record, + options: Record + ): void { + const ul = getOrCreateLegendList(options.containerID) + while (ul.firstChild) { + ul.firstChild.remove() + } + + const legendItems = chart.options.plugins?.legend?.labels?.generateLabels + ? chart.options.plugins?.legend?.labels?.generateLabels(chart) + : [] + + legendItems.forEach((item: LegendItem) => { + const li = document.createElement('li') + li.onclick = () => { + chart.setDatasetVisibility( + item.datasetIndex, + !chart.isDatasetVisible(item.datasetIndex) + ) + chart.update() + } + + const checkBox = document.createElement('input') + if (checkBox) { + checkBox.type = 'checkbox' + checkBox.id = item.text + checkBox.checked = !item.hidden + } + + const text = document.createTextNode(item.text) + + const boxSpan = document.createElement('span') + if (boxSpan) { + boxSpan.style.background = `${item.fillStyle}` + boxSpan.style.borderColor = `${item.strokeStyle}` + } + + li.appendChild(checkBox) + li.appendChild(text) + li.appendChild(boxSpan) + ul.appendChild(li) + }) + }, +} diff --git a/fittrackee_client/src/views/workouts/Workout.vue b/fittrackee_client/src/views/workouts/Workout.vue index 4743185e..d717470d 100644 --- a/fittrackee_client/src/views/workouts/Workout.vue +++ b/fittrackee_client/src/views/workouts/Workout.vue @@ -52,7 +52,7 @@ import { useRoute } from 'vue-router' import NotFound from '@/components/Common/NotFound.vue' - import WorkoutChart from '@/components/Workout/WorkoutChart.vue' + import WorkoutChart from '@/components/Workout/WorkoutChart/index.vue' import WorkoutDetail from '@/components/Workout/WorkoutDetail/index.vue' import WorkoutNotes from '@/components/Workout/WorkoutNotes.vue' import WorkoutSegments from '@/components/Workout/WorkoutSegments.vue' From 2cc485a2936c5e6eb7b40c4426db8afe788cf56d Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 28 Nov 2021 14:53:15 +0100 Subject: [PATCH 2/5] [Client] minor refacto --- .../Workout/{ => WorkoutDetail}/WorkoutChart/index.vue | 2 +- .../Workout/{ => WorkoutDetail}/WorkoutChart/legend.ts | 4 ++-- .../components/Workout/{ => WorkoutDetail}/WorkoutNotes.vue | 0 .../Workout/{ => WorkoutDetail}/WorkoutSegments.vue | 0 fittrackee_client/src/views/workouts/Workout.vue | 6 +++--- 5 files changed, 6 insertions(+), 6 deletions(-) rename fittrackee_client/src/components/Workout/{ => WorkoutDetail}/WorkoutChart/index.vue (99%) rename fittrackee_client/src/components/Workout/{ => WorkoutDetail}/WorkoutChart/legend.ts (93%) rename fittrackee_client/src/components/Workout/{ => WorkoutDetail}/WorkoutNotes.vue (100%) rename fittrackee_client/src/components/Workout/{ => WorkoutDetail}/WorkoutSegments.vue (100%) diff --git a/fittrackee_client/src/components/Workout/WorkoutChart/index.vue b/fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutChart/index.vue similarity index 99% rename from fittrackee_client/src/components/Workout/WorkoutChart/index.vue rename to fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutChart/index.vue index 9ed7a09e..59657244 100644 --- a/fittrackee_client/src/components/Workout/WorkoutChart/index.vue +++ b/fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutChart/index.vue @@ -56,7 +56,7 @@ import { LineChart, useLineChart } from 'vue-chart-3' import { useI18n } from 'vue-i18n' - import { htmlLegendPlugin } from '@/components/Workout/WorkoutChart/legend' + import { htmlLegendPlugin } from '@/components/Workout/WorkoutDetail/WorkoutChart/legend' import { TUnit } from '@/types/units' import { IUserProfile } from '@/types/user' import { diff --git a/fittrackee_client/src/components/Workout/WorkoutChart/legend.ts b/fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutChart/legend.ts similarity index 93% rename from fittrackee_client/src/components/Workout/WorkoutChart/legend.ts rename to fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutChart/legend.ts index 321fa94a..1c6fd4bf 100644 --- a/fittrackee_client/src/components/Workout/WorkoutChart/legend.ts +++ b/fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutChart/legend.ts @@ -50,8 +50,8 @@ export const htmlLegendPlugin = { const boxSpan = document.createElement('span') if (boxSpan) { - boxSpan.style.background = `${item.fillStyle}` - boxSpan.style.borderColor = `${item.strokeStyle}` + boxSpan.style.background = String(item.fillStyle) + boxSpan.style.borderColor = String(item.strokeStyle) } li.appendChild(checkBox) diff --git a/fittrackee_client/src/components/Workout/WorkoutNotes.vue b/fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutNotes.vue similarity index 100% rename from fittrackee_client/src/components/Workout/WorkoutNotes.vue rename to fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutNotes.vue diff --git a/fittrackee_client/src/components/Workout/WorkoutSegments.vue b/fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutSegments.vue similarity index 100% rename from fittrackee_client/src/components/Workout/WorkoutSegments.vue rename to fittrackee_client/src/components/Workout/WorkoutDetail/WorkoutSegments.vue diff --git a/fittrackee_client/src/views/workouts/Workout.vue b/fittrackee_client/src/views/workouts/Workout.vue index d717470d..131f1278 100644 --- a/fittrackee_client/src/views/workouts/Workout.vue +++ b/fittrackee_client/src/views/workouts/Workout.vue @@ -52,10 +52,10 @@ import { useRoute } from 'vue-router' import NotFound from '@/components/Common/NotFound.vue' - import WorkoutChart from '@/components/Workout/WorkoutChart/index.vue' import WorkoutDetail from '@/components/Workout/WorkoutDetail/index.vue' - import WorkoutNotes from '@/components/Workout/WorkoutNotes.vue' - import WorkoutSegments from '@/components/Workout/WorkoutSegments.vue' + import WorkoutChart from '@/components/Workout/WorkoutDetail/WorkoutChart/index.vue' + import WorkoutNotes from '@/components/Workout/WorkoutDetail/WorkoutNotes.vue' + import WorkoutSegments from '@/components/Workout/WorkoutDetail/WorkoutSegments.vue' import { AUTH_USER_STORE, SPORTS_STORE, From b5b1e0add2e326cf3629e3224931da9b978161ab Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 28 Nov 2021 14:56:36 +0100 Subject: [PATCH 3/5] [Client] build dist files --- fittrackee/dist/index.html | 2 +- ...manifest.7a688b22d6dc13ea332d48fd328e009f.js} | 16 ++++++++-------- fittrackee/dist/service-worker.js | 2 +- fittrackee/dist/static/css/workouts.84cbed34.css | 1 - fittrackee/dist/static/css/workouts.9ff3dd7d.css | 1 + .../js/{app.aa3fc8a8.js => app.43c2e954.js} | 4 ++-- .../{app.aa3fc8a8.js.map => app.43c2e954.js.map} | 2 +- fittrackee/dist/static/js/workouts.ca9449b1.js | 2 -- .../dist/static/js/workouts.ca9449b1.js.map | 1 - fittrackee/dist/static/js/workouts.ffc990d6.js | 2 ++ .../dist/static/js/workouts.ffc990d6.js.map | 1 + 11 files changed, 17 insertions(+), 17 deletions(-) rename fittrackee/dist/{precache-manifest.eb56f78718c678088fa66ae97922cb98.js => precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js} (94%) delete mode 100644 fittrackee/dist/static/css/workouts.84cbed34.css create mode 100644 fittrackee/dist/static/css/workouts.9ff3dd7d.css rename fittrackee/dist/static/js/{app.aa3fc8a8.js => app.43c2e954.js} (99%) rename fittrackee/dist/static/js/{app.aa3fc8a8.js.map => app.43c2e954.js.map} (99%) delete mode 100644 fittrackee/dist/static/js/workouts.ca9449b1.js delete mode 100644 fittrackee/dist/static/js/workouts.ca9449b1.js.map create mode 100644 fittrackee/dist/static/js/workouts.ffc990d6.js create mode 100644 fittrackee/dist/static/js/workouts.ffc990d6.js.map diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 77fd720a..50102022 100644 --- a/fittrackee/dist/index.html +++ b/fittrackee/dist/index.html @@ -1 +1 @@ -FitTrackee
\ No newline at end of file +FitTrackee
\ No newline at end of file diff --git a/fittrackee/dist/precache-manifest.eb56f78718c678088fa66ae97922cb98.js b/fittrackee/dist/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js similarity index 94% rename from fittrackee/dist/precache-manifest.eb56f78718c678088fa66ae97922cb98.js rename to fittrackee/dist/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js index eedce667..47ea34c5 100644 --- a/fittrackee/dist/precache-manifest.eb56f78718c678088fa66ae97922cb98.js +++ b/fittrackee/dist/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js @@ -64,7 +64,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/img/workouts/mountains.svg" }, { - "revision": "daeb08eb2247d9fbbfce6f460f1066be", + "revision": "c065bda31fabb8bd912a8fc5f66f14ae", "url": "/index.html" }, { @@ -80,7 +80,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/admin.babfd43e.css" }, { - "revision": "4fefe86bda62538fef01", + "revision": "bbd04e90c9b70bc8544d", "url": "/static/css/app.2b8c39ab.css" }, { @@ -108,8 +108,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/reset.46776e72.css" }, { - "revision": "03d9a79c5f845c47ef9c", - "url": "/static/css/workouts.84cbed34.css" + "revision": "7abb1002f1d525a1d397", + "url": "/static/css/workouts.9ff3dd7d.css" }, { "revision": "e719f9244c69e28e7d00e725ca1e280e", @@ -196,8 +196,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/admin.2f1d393d.js" }, { - "revision": "4fefe86bda62538fef01", - "url": "/static/js/app.aa3fc8a8.js" + "revision": "bbd04e90c9b70bc8544d", + "url": "/static/js/app.43c2e954.js" }, { "revision": "bd7d183c9f68e5f4027d", @@ -240,7 +240,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/reset.518e646f.js" }, { - "revision": "03d9a79c5f845c47ef9c", - "url": "/static/js/workouts.ca9449b1.js" + "revision": "7abb1002f1d525a1d397", + "url": "/static/js/workouts.ffc990d6.js" } ]); \ No newline at end of file diff --git a/fittrackee/dist/service-worker.js b/fittrackee/dist/service-worker.js index 3cc0abf2..f17d3abb 100644 --- a/fittrackee/dist/service-worker.js +++ b/fittrackee/dist/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.eb56f78718c678088fa66ae97922cb98.js" + "/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js" ); workbox.core.setCacheNameDetails({prefix: "fittrackee_client"}); diff --git a/fittrackee/dist/static/css/workouts.84cbed34.css b/fittrackee/dist/static/css/workouts.84cbed34.css deleted file mode 100644 index fbb94223..00000000 --- a/fittrackee/dist/static/css/workouts.84cbed34.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-06d30f25]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-06d30f25]{margin:0}#app[data-v-06d30f25]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-06d30f25]{color:var(--app-a-color);text-decoration:none}img[data-v-06d30f25]{max-width:100%}input[data-v-06d30f25],select[data-v-06d30f25],textarea[data-v-06d30f25]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-06d30f25]:disabled,select[data-v-06d30f25]:disabled,textarea[data-v-06d30f25]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-06d30f25] :invalid{outline:2px solid var(--input-error-color)}label[data-v-06d30f25]{font-weight:700}button[data-v-06d30f25]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-06d30f25]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-06d30f25]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-06d30f25]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-06d30f25]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-06d30f25]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-06d30f25]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-06d30f25]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-06d30f25]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-06d30f25]{display:flex;flex-direction:column}.form-box .form-items input[data-v-06d30f25]{margin:10px;padding:5px}.upper[data-v-06d30f25]{text-transform:uppercase}.view[data-v-06d30f25]{padding-bottom:35px}.fa-trophy[data-v-06d30f25]{color:var(--workout-trophy-color)}.mountains[data-v-06d30f25]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-06d30f25]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-06d30f25]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-06d30f25]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-06d30f25]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-06d30f25]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-06d30f25]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-06d30f25]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-06d30f25]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-06d30f25]{font-weight:700}.description-list dl dd[data-v-06d30f25]{margin-bottom:10px}.center-card[data-v-06d30f25]{margin:0 auto;width:700px}.center-card.with-margin[data-v-06d30f25]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-06d30f25]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-06d30f25]{margin-top:0}}.text-center[data-v-06d30f25]{text-align:center}.text-left[data-v-06d30f25]{text-align:left}.responsive-table[data-v-06d30f25]{margin-bottom:15px}.responsive-table table[data-v-06d30f25]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-06d30f25]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-06d30f25]{font-size:.95em}.responsive-table table tbody td[data-v-06d30f25]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:none}.responsive-table table .cell-heading[data-v-06d30f25]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-06d30f25]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-06d30f25]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-06d30f25]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-06d30f25]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-06d30f25]{width:100%}}.profile-buttons[data-v-06d30f25]{display:flex;gap:10px}.medium-sport-img[data-v-06d30f25]{height:35px;width:35px;margin:0 auto}.workouts-filters .form[data-v-06d30f25]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-06d30f25]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-06d30f25]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-06d30f25]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-06d30f25]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-06d30f25]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-06d30f25]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:75%}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-06d30f25]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:wrap}}[data-v-1ba1a972]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-1ba1a972]{margin:0}#app[data-v-1ba1a972]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-1ba1a972]{color:var(--app-a-color);text-decoration:none}img[data-v-1ba1a972]{max-width:100%}input[data-v-1ba1a972],select[data-v-1ba1a972],textarea[data-v-1ba1a972]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-1ba1a972]:disabled,select[data-v-1ba1a972]:disabled,textarea[data-v-1ba1a972]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-1ba1a972] :invalid{outline:2px solid var(--input-error-color)}label[data-v-1ba1a972]{font-weight:700}button[data-v-1ba1a972]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-1ba1a972]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-1ba1a972]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-1ba1a972]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-1ba1a972]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-1ba1a972]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-1ba1a972]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-1ba1a972]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-1ba1a972]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-1ba1a972]{display:flex;flex-direction:column}.form-box .form-items input[data-v-1ba1a972]{margin:10px;padding:5px}.upper[data-v-1ba1a972]{text-transform:uppercase}.view[data-v-1ba1a972]{padding-bottom:35px}.fa-trophy[data-v-1ba1a972]{color:var(--workout-trophy-color)}.mountains[data-v-1ba1a972]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-1ba1a972]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-1ba1a972]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-1ba1a972]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-1ba1a972]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-1ba1a972]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-1ba1a972]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-1ba1a972]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-1ba1a972]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-1ba1a972]{font-weight:700}.description-list dl dd[data-v-1ba1a972]{margin-bottom:10px}.center-card[data-v-1ba1a972]{margin:0 auto;width:700px}.center-card.with-margin[data-v-1ba1a972]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-1ba1a972]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-1ba1a972]{margin-top:0}}.text-center[data-v-1ba1a972]{text-align:center}.text-left[data-v-1ba1a972]{text-align:left}.responsive-table[data-v-1ba1a972]{margin-bottom:15px}.responsive-table table[data-v-1ba1a972]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-1ba1a972]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-1ba1a972]{font-size:.95em}.responsive-table table tbody td[data-v-1ba1a972]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:none}.responsive-table table .cell-heading[data-v-1ba1a972]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-1ba1a972]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-1ba1a972]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-1ba1a972]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-1ba1a972]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-1ba1a972]{width:100%}}.profile-buttons[data-v-1ba1a972]{display:flex;gap:10px}.medium-sport-img[data-v-1ba1a972]{height:35px;width:35px;margin:0 auto}.workouts-list[data-v-1ba1a972]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-1ba1a972]{padding:10px 20px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-1ba1a972]{display:none}}.workouts-list .box .total[data-v-1ba1a972]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-1ba1a972]{font-weight:700}.workouts-list .box .top-pagination[data-v-1ba1a972]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-1ba1a972]{display:flex}}@media screen and (max-width:700px){.workouts-list .box[data-v-1ba1a972] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-1ba1a972]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-1ba1a972]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-1ba1a972]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:none}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:none}}.workouts-list .more-workouts[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}[data-v-ed6df5ba]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-ed6df5ba]{margin:0}#app[data-v-ed6df5ba]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-ed6df5ba]{color:var(--app-a-color);text-decoration:none}img[data-v-ed6df5ba]{max-width:100%}input[data-v-ed6df5ba],select[data-v-ed6df5ba],textarea[data-v-ed6df5ba]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ed6df5ba]:disabled,select[data-v-ed6df5ba]:disabled,textarea[data-v-ed6df5ba]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-ed6df5ba] :invalid{outline:2px solid var(--input-error-color)}label[data-v-ed6df5ba]{font-weight:700}button[data-v-ed6df5ba]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ed6df5ba]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ed6df5ba]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ed6df5ba]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ed6df5ba]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ed6df5ba]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ed6df5ba]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ed6df5ba]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ed6df5ba]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ed6df5ba]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ed6df5ba]{margin:10px;padding:5px}.upper[data-v-ed6df5ba]{text-transform:uppercase}.view[data-v-ed6df5ba]{padding-bottom:35px}.fa-trophy[data-v-ed6df5ba]{color:var(--workout-trophy-color)}.mountains[data-v-ed6df5ba]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-ed6df5ba]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ed6df5ba]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-ed6df5ba]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ed6df5ba]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ed6df5ba]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ed6df5ba]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-ed6df5ba]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ed6df5ba]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ed6df5ba]{font-weight:700}.description-list dl dd[data-v-ed6df5ba]{margin-bottom:10px}.center-card[data-v-ed6df5ba]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ed6df5ba]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ed6df5ba]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ed6df5ba]{margin-top:0}}.text-center[data-v-ed6df5ba]{text-align:center}.text-left[data-v-ed6df5ba]{text-align:left}.responsive-table[data-v-ed6df5ba]{margin-bottom:15px}.responsive-table table[data-v-ed6df5ba]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ed6df5ba]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ed6df5ba]{font-size:.95em}.responsive-table table tbody td[data-v-ed6df5ba]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:none}.responsive-table table .cell-heading[data-v-ed6df5ba]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-ed6df5ba]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ed6df5ba]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ed6df5ba]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ed6df5ba]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ed6df5ba]{width:100%}}.profile-buttons[data-v-ed6df5ba]{display:flex;gap:10px}.medium-sport-img[data-v-ed6df5ba]{height:35px;width:35px;margin:0 auto}#workouts[data-v-ed6df5ba]{height:100%}#workouts .workouts-container[data-v-ed6df5ba]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-ed6df5ba]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-ed6df5ba],#workouts .workouts-container .list-container[data-v-ed6df5ba]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-ed6df5ba]{display:none}}#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-ed6df5ba]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-ed6df5ba]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:100%}}[data-v-4819bfdb]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-4819bfdb]{margin:0}#app[data-v-4819bfdb]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-4819bfdb]{color:var(--app-a-color);text-decoration:none}img[data-v-4819bfdb]{max-width:100%}input[data-v-4819bfdb],select[data-v-4819bfdb],textarea[data-v-4819bfdb]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-4819bfdb]:disabled,select[data-v-4819bfdb]:disabled,textarea[data-v-4819bfdb]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-4819bfdb] :invalid{outline:2px solid var(--input-error-color)}label[data-v-4819bfdb]{font-weight:700}button[data-v-4819bfdb]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-4819bfdb]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-4819bfdb]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-4819bfdb]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-4819bfdb]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-4819bfdb]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-4819bfdb]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-4819bfdb]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-4819bfdb]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-4819bfdb]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-4819bfdb]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-4819bfdb]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-4819bfdb]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-4819bfdb]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-4819bfdb]{display:flex;flex-direction:column}.form-box .form-items input[data-v-4819bfdb]{margin:10px;padding:5px}.upper[data-v-4819bfdb]{text-transform:uppercase}.view[data-v-4819bfdb]{padding-bottom:35px}.fa-trophy[data-v-4819bfdb]{color:var(--workout-trophy-color)}.mountains[data-v-4819bfdb]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-4819bfdb]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-4819bfdb]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-4819bfdb]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-4819bfdb]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-4819bfdb]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-4819bfdb]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-4819bfdb]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-4819bfdb]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-4819bfdb]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-4819bfdb]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-4819bfdb]{font-weight:700}.description-list dl dd[data-v-4819bfdb]{margin-bottom:10px}.center-card[data-v-4819bfdb]{margin:0 auto;width:700px}.center-card.with-margin[data-v-4819bfdb]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-4819bfdb]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-4819bfdb]{margin-top:0}}.text-center[data-v-4819bfdb]{text-align:center}.text-left[data-v-4819bfdb]{text-align:left}.responsive-table[data-v-4819bfdb]{margin-bottom:15px}.responsive-table table[data-v-4819bfdb]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-4819bfdb]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-4819bfdb]{font-size:.95em}.responsive-table table tbody td[data-v-4819bfdb]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-4819bfdb]{border:none}.responsive-table table .cell-heading[data-v-4819bfdb]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-4819bfdb]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-4819bfdb]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-4819bfdb]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-4819bfdb]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-4819bfdb]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-4819bfdb]{width:100%}}.profile-buttons[data-v-4819bfdb]{display:flex;gap:10px}.medium-sport-img[data-v-4819bfdb]{height:35px;width:35px;margin:0 auto}#workout-chart[data-v-4819bfdb] .card .card-title{text-transform:capitalize}#workout-chart[data-v-4819bfdb] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-4819bfdb] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-4819bfdb] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-4819bfdb] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}@media screen and (max-width:700px){#workout-chart[data-v-4819bfdb] .card .card-content{padding:10px 0}#workout-chart[data-v-4819bfdb] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-4819bfdb] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-4819bfdb] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}[data-v-21fe0e9a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-21fe0e9a]{margin:0}#app[data-v-21fe0e9a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-21fe0e9a]{color:var(--app-a-color);text-decoration:none}img[data-v-21fe0e9a]{max-width:100%}input[data-v-21fe0e9a],select[data-v-21fe0e9a],textarea[data-v-21fe0e9a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-21fe0e9a]:disabled,select[data-v-21fe0e9a]:disabled,textarea[data-v-21fe0e9a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-21fe0e9a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-21fe0e9a]{font-weight:700}button[data-v-21fe0e9a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-21fe0e9a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-21fe0e9a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-21fe0e9a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-21fe0e9a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-21fe0e9a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-21fe0e9a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-21fe0e9a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-21fe0e9a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-21fe0e9a]{margin:10px;padding:5px}.upper[data-v-21fe0e9a]{text-transform:uppercase}.view[data-v-21fe0e9a]{padding-bottom:35px}.fa-trophy[data-v-21fe0e9a]{color:var(--workout-trophy-color)}.mountains[data-v-21fe0e9a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-21fe0e9a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-21fe0e9a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-21fe0e9a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-21fe0e9a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-21fe0e9a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-21fe0e9a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-21fe0e9a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-21fe0e9a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-21fe0e9a]{font-weight:700}.description-list dl dd[data-v-21fe0e9a]{margin-bottom:10px}.center-card[data-v-21fe0e9a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-21fe0e9a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-21fe0e9a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-21fe0e9a]{margin-top:0}}.text-center[data-v-21fe0e9a]{text-align:center}.text-left[data-v-21fe0e9a]{text-align:left}.responsive-table[data-v-21fe0e9a]{margin-bottom:15px}.responsive-table table[data-v-21fe0e9a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-21fe0e9a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-21fe0e9a]{font-size:.95em}.responsive-table table tbody td[data-v-21fe0e9a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:none}.responsive-table table .cell-heading[data-v-21fe0e9a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-21fe0e9a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-21fe0e9a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-21fe0e9a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-21fe0e9a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-21fe0e9a]{width:100%}}.profile-buttons[data-v-21fe0e9a]{display:flex;gap:10px}.medium-sport-img[data-v-21fe0e9a]{height:35px;width:35px;margin:0 auto}#workout-card-title[data-v-21fe0e9a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-21fe0e9a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-21fe0e9a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-21fe0e9a]{display:flex;flex-grow:1}#workout-card-title .workout-card-title .sport-img[data-v-21fe0e9a]{height:35px;width:35px;padding:0 10px}#workout-card-title .workout-card-title .workout-date[data-v-21fe0e9a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-21fe0e9a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-21fe0e9a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-21fe0e9a]{padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-edit[data-v-21fe0e9a],#workout-card-title .workout-card-title .fa-trash[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;margin-left:5px;padding:0 10px}}[data-v-2e8c6844]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2e8c6844]{margin:0}#app[data-v-2e8c6844]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2e8c6844]{color:var(--app-a-color);text-decoration:none}img[data-v-2e8c6844]{max-width:100%}input[data-v-2e8c6844],select[data-v-2e8c6844],textarea[data-v-2e8c6844]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2e8c6844]:disabled,select[data-v-2e8c6844]:disabled,textarea[data-v-2e8c6844]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2e8c6844] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2e8c6844]{font-weight:700}button[data-v-2e8c6844]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2e8c6844]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2e8c6844]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2e8c6844]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2e8c6844]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2e8c6844]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2e8c6844]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2e8c6844]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2e8c6844]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2e8c6844]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2e8c6844]{margin:10px;padding:5px}.upper[data-v-2e8c6844]{text-transform:uppercase}.view[data-v-2e8c6844]{padding-bottom:35px}.fa-trophy[data-v-2e8c6844]{color:var(--workout-trophy-color)}.mountains[data-v-2e8c6844]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2e8c6844]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2e8c6844]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2e8c6844]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2e8c6844]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2e8c6844]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2e8c6844]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2e8c6844]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2e8c6844]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2e8c6844]{font-weight:700}.description-list dl dd[data-v-2e8c6844]{margin-bottom:10px}.center-card[data-v-2e8c6844]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2e8c6844]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2e8c6844]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2e8c6844]{margin-top:0}}.text-center[data-v-2e8c6844]{text-align:center}.text-left[data-v-2e8c6844]{text-align:left}.responsive-table[data-v-2e8c6844]{margin-bottom:15px}.responsive-table table[data-v-2e8c6844]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2e8c6844]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2e8c6844]{font-size:.95em}.responsive-table table tbody td[data-v-2e8c6844]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:none}.responsive-table table .cell-heading[data-v-2e8c6844]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2e8c6844]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2e8c6844]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2e8c6844]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2e8c6844]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2e8c6844]{width:100%}}.profile-buttons[data-v-2e8c6844]{display:flex;gap:10px}.medium-sport-img[data-v-2e8c6844]{height:35px;width:35px;margin:0 auto}.workout-record sup[data-v-2e8c6844]{font-size:75%;line-height:0}[data-v-07781815]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-07781815]{margin:0}#app[data-v-07781815]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-07781815]{color:var(--app-a-color);text-decoration:none}img[data-v-07781815]{max-width:100%}input[data-v-07781815],select[data-v-07781815],textarea[data-v-07781815]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-07781815]:disabled,select[data-v-07781815]:disabled,textarea[data-v-07781815]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-07781815] :invalid{outline:2px solid var(--input-error-color)}label[data-v-07781815]{font-weight:700}button[data-v-07781815]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-07781815]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-07781815]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-07781815]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-07781815]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-07781815]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-07781815]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-07781815]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-07781815]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-07781815]{display:flex;flex-direction:column}.form-box .form-items input[data-v-07781815]{margin:10px;padding:5px}.upper[data-v-07781815]{text-transform:uppercase}.view[data-v-07781815]{padding-bottom:35px}.fa-trophy[data-v-07781815]{color:var(--workout-trophy-color)}.mountains[data-v-07781815]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-07781815]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-07781815]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-07781815]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-07781815]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-07781815]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-07781815]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-07781815]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-07781815]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-07781815]{font-weight:700}.description-list dl dd[data-v-07781815]{margin-bottom:10px}.center-card[data-v-07781815]{margin:0 auto;width:700px}.center-card.with-margin[data-v-07781815]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-07781815]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-07781815]{margin-top:0}}.text-center[data-v-07781815]{text-align:center}.text-left[data-v-07781815]{text-align:left}.responsive-table[data-v-07781815]{margin-bottom:15px}.responsive-table table[data-v-07781815]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-07781815]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-07781815]{font-size:.95em}.responsive-table table tbody td[data-v-07781815]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:none}.responsive-table table .cell-heading[data-v-07781815]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-07781815]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-07781815]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-07781815]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-07781815]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-07781815]{width:100%}}.profile-buttons[data-v-07781815]{display:flex;gap:10px}.medium-sport-img[data-v-07781815]{height:35px;width:35px;margin:0 auto}#workout-weather[data-v-07781815]{padding-top:10px}#workout-weather .weather-img[data-v-07781815]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-07781815]{height:20px}#workout-weather .weather-table[data-v-07781815]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-07781815]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-07781815]{font-size:.8em}[data-v-a7c2d728]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a7c2d728]{margin:0}#app[data-v-a7c2d728]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a7c2d728]{color:var(--app-a-color);text-decoration:none}img[data-v-a7c2d728]{max-width:100%}input[data-v-a7c2d728],select[data-v-a7c2d728],textarea[data-v-a7c2d728]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a7c2d728]:disabled,select[data-v-a7c2d728]:disabled,textarea[data-v-a7c2d728]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-a7c2d728] :invalid{outline:2px solid var(--input-error-color)}label[data-v-a7c2d728]{font-weight:700}button[data-v-a7c2d728]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a7c2d728]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a7c2d728]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a7c2d728]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a7c2d728]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a7c2d728]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a7c2d728]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a7c2d728]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a7c2d728]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a7c2d728]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a7c2d728]{margin:10px;padding:5px}.upper[data-v-a7c2d728]{text-transform:uppercase}.view[data-v-a7c2d728]{padding-bottom:35px}.fa-trophy[data-v-a7c2d728]{color:var(--workout-trophy-color)}.mountains[data-v-a7c2d728]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-a7c2d728]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a7c2d728]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a7c2d728]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a7c2d728]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a7c2d728]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a7c2d728]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a7c2d728]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a7c2d728]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a7c2d728]{font-weight:700}.description-list dl dd[data-v-a7c2d728]{margin-bottom:10px}.center-card[data-v-a7c2d728]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a7c2d728]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a7c2d728]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a7c2d728]{margin-top:0}}.text-center[data-v-a7c2d728]{text-align:center}.text-left[data-v-a7c2d728]{text-align:left}.responsive-table[data-v-a7c2d728]{margin-bottom:15px}.responsive-table table[data-v-a7c2d728]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a7c2d728]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a7c2d728]{font-size:.95em}.responsive-table table tbody td[data-v-a7c2d728]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:none}.responsive-table table .cell-heading[data-v-a7c2d728]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a7c2d728]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a7c2d728]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a7c2d728]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a7c2d728]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a7c2d728]{width:100%}}.profile-buttons[data-v-a7c2d728]{display:flex;gap:10px}.medium-sport-img[data-v-a7c2d728]{height:35px;width:35px;margin:0 auto}#workout-info[data-v-a7c2d728]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-a7c2d728],#workout-info .mountains[data-v-a7c2d728]{padding-right:5px}#workout-info .workout-data[data-v-a7c2d728]{padding:5px 0}#workout-info .workout-data .label[data-v-a7c2d728]{text-transform:capitalize}#workout-info .workout-data .value[data-v-a7c2d728]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-a7c2d728]{padding:10px}}[data-v-b4b3006a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-b4b3006a]{margin:0}#app[data-v-b4b3006a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-b4b3006a]{color:var(--app-a-color);text-decoration:none}img[data-v-b4b3006a]{max-width:100%}input[data-v-b4b3006a],select[data-v-b4b3006a],textarea[data-v-b4b3006a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-b4b3006a]:disabled,select[data-v-b4b3006a]:disabled,textarea[data-v-b4b3006a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-b4b3006a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-b4b3006a]{font-weight:700}button[data-v-b4b3006a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-b4b3006a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-b4b3006a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-b4b3006a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-b4b3006a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-b4b3006a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-b4b3006a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-b4b3006a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-b4b3006a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-b4b3006a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-b4b3006a]{margin:10px;padding:5px}.upper[data-v-b4b3006a]{text-transform:uppercase}.view[data-v-b4b3006a]{padding-bottom:35px}.fa-trophy[data-v-b4b3006a]{color:var(--workout-trophy-color)}.mountains[data-v-b4b3006a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-b4b3006a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-b4b3006a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-b4b3006a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-b4b3006a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-b4b3006a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-b4b3006a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-b4b3006a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-b4b3006a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-b4b3006a]{font-weight:700}.description-list dl dd[data-v-b4b3006a]{margin-bottom:10px}.center-card[data-v-b4b3006a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-b4b3006a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-b4b3006a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-b4b3006a]{margin-top:0}}.text-center[data-v-b4b3006a]{text-align:center}.text-left[data-v-b4b3006a]{text-align:left}.responsive-table[data-v-b4b3006a]{margin-bottom:15px}.responsive-table table[data-v-b4b3006a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-b4b3006a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-b4b3006a]{font-size:.95em}.responsive-table table tbody td[data-v-b4b3006a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:none}.responsive-table table .cell-heading[data-v-b4b3006a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-b4b3006a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-b4b3006a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-b4b3006a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-b4b3006a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-b4b3006a]{width:100%}}.profile-buttons[data-v-b4b3006a]{display:flex;gap:10px}.medium-sport-img[data-v-b4b3006a]{height:35px;width:35px;margin:0 auto}#workout-map[data-v-b4b3006a]{padding:10px 0}#workout-map .leaflet-container[data-v-b4b3006a],#workout-map .no-map[data-v-b4b3006a]{height:400px;width:600px}#workout-map .no-map[data-v-b4b3006a]{line-height:400px}@media screen and (max-width:700px){#workout-map[data-v-b4b3006a]{padding:0}#workout-map .leaflet-container[data-v-b4b3006a]{width:100%;height:300px}#workout-map .no-map[data-v-b4b3006a]{display:none}}[data-v-2655acaa]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2655acaa]{margin:0}#app[data-v-2655acaa]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2655acaa]{color:var(--app-a-color);text-decoration:none}img[data-v-2655acaa]{max-width:100%}input[data-v-2655acaa],select[data-v-2655acaa],textarea[data-v-2655acaa]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2655acaa]:disabled,select[data-v-2655acaa]:disabled,textarea[data-v-2655acaa]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2655acaa] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2655acaa]{font-weight:700}button[data-v-2655acaa]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2655acaa]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2655acaa]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2655acaa]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2655acaa]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2655acaa]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2655acaa]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2655acaa]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2655acaa]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2655acaa]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2655acaa]{margin:10px;padding:5px}.upper[data-v-2655acaa]{text-transform:uppercase}.view[data-v-2655acaa]{padding-bottom:35px}.fa-trophy[data-v-2655acaa]{color:var(--workout-trophy-color)}.mountains[data-v-2655acaa]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2655acaa]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2655acaa]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2655acaa]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2655acaa]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2655acaa]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2655acaa]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2655acaa]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2655acaa]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2655acaa]{font-weight:700}.description-list dl dd[data-v-2655acaa]{margin-bottom:10px}.center-card[data-v-2655acaa]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2655acaa]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2655acaa]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2655acaa]{margin-top:0}}.text-center[data-v-2655acaa]{text-align:center}.text-left[data-v-2655acaa]{text-align:left}.responsive-table[data-v-2655acaa]{margin-bottom:15px}.responsive-table table[data-v-2655acaa]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2655acaa]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2655acaa]{font-size:.95em}.responsive-table table tbody td[data-v-2655acaa]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:none}.responsive-table table .cell-heading[data-v-2655acaa]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2655acaa]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2655acaa]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2655acaa]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2655acaa]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2655acaa]{width:100%}}.profile-buttons[data-v-2655acaa]{display:flex;gap:10px}.medium-sport-img[data-v-2655acaa]{height:35px;width:35px;margin:0 auto}.workout-detail[data-v-2655acaa]{display:flex}.workout-detail[data-v-2655acaa] .card{width:100%}.workout-detail[data-v-2655acaa] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-2655acaa] .card .card-content{flex-direction:column}}[data-v-64197f7a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-64197f7a]{margin:0}#app[data-v-64197f7a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-64197f7a]{color:var(--app-a-color);text-decoration:none}img[data-v-64197f7a]{max-width:100%}input[data-v-64197f7a],select[data-v-64197f7a],textarea[data-v-64197f7a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-64197f7a]:disabled,select[data-v-64197f7a]:disabled,textarea[data-v-64197f7a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-64197f7a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-64197f7a]{font-weight:700}button[data-v-64197f7a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-64197f7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-64197f7a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-64197f7a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-64197f7a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-64197f7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-64197f7a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-64197f7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-64197f7a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-64197f7a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-64197f7a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-64197f7a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-64197f7a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-64197f7a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-64197f7a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-64197f7a]{margin:10px;padding:5px}.upper[data-v-64197f7a]{text-transform:uppercase}.view[data-v-64197f7a]{padding-bottom:35px}.fa-trophy[data-v-64197f7a]{color:var(--workout-trophy-color)}.mountains[data-v-64197f7a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-64197f7a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-64197f7a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-64197f7a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-64197f7a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-64197f7a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-64197f7a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-64197f7a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-64197f7a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-64197f7a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-64197f7a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-64197f7a]{font-weight:700}.description-list dl dd[data-v-64197f7a]{margin-bottom:10px}.center-card[data-v-64197f7a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-64197f7a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-64197f7a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-64197f7a]{margin-top:0}}.text-center[data-v-64197f7a]{text-align:center}.text-left[data-v-64197f7a]{text-align:left}.responsive-table[data-v-64197f7a]{margin-bottom:15px}.responsive-table table[data-v-64197f7a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-64197f7a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-64197f7a]{font-size:.95em}.responsive-table table tbody td[data-v-64197f7a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-64197f7a]{border:none}.responsive-table table .cell-heading[data-v-64197f7a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-64197f7a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-64197f7a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-64197f7a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-64197f7a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-64197f7a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-64197f7a]{width:100%}}.profile-buttons[data-v-64197f7a]{display:flex;gap:10px}.medium-sport-img[data-v-64197f7a]{height:35px;width:35px;margin:0 auto}#workout-note[data-v-64197f7a] .card-content{font-style:italic;white-space:pre-wrap}[data-v-01f43375]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-01f43375]{margin:0}#app[data-v-01f43375]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-01f43375]{color:var(--app-a-color);text-decoration:none}img[data-v-01f43375]{max-width:100%}input[data-v-01f43375],select[data-v-01f43375],textarea[data-v-01f43375]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-01f43375]:disabled,select[data-v-01f43375]:disabled,textarea[data-v-01f43375]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-01f43375] :invalid{outline:2px solid var(--input-error-color)}label[data-v-01f43375]{font-weight:700}button[data-v-01f43375]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-01f43375]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-01f43375]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-01f43375]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-01f43375]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-01f43375]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-01f43375]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-01f43375]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-01f43375]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-01f43375]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-01f43375]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-01f43375]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-01f43375]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-01f43375]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-01f43375]{display:flex;flex-direction:column}.form-box .form-items input[data-v-01f43375]{margin:10px;padding:5px}.upper[data-v-01f43375]{text-transform:uppercase}.view[data-v-01f43375]{padding-bottom:35px}.fa-trophy[data-v-01f43375]{color:var(--workout-trophy-color)}.mountains[data-v-01f43375]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-01f43375]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-01f43375]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-01f43375]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-01f43375]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-01f43375]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-01f43375]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-01f43375]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-01f43375]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-01f43375]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-01f43375]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-01f43375]{font-weight:700}.description-list dl dd[data-v-01f43375]{margin-bottom:10px}.center-card[data-v-01f43375]{margin:0 auto;width:700px}.center-card.with-margin[data-v-01f43375]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-01f43375]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-01f43375]{margin-top:0}}.text-center[data-v-01f43375]{text-align:center}.text-left[data-v-01f43375]{text-align:left}.responsive-table[data-v-01f43375]{margin-bottom:15px}.responsive-table table[data-v-01f43375]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-01f43375]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-01f43375]{font-size:.95em}.responsive-table table tbody td[data-v-01f43375]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-01f43375]{border:none}.responsive-table table .cell-heading[data-v-01f43375]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-01f43375]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-01f43375]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-01f43375]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-01f43375]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-01f43375]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-01f43375]{width:100%}}.profile-buttons[data-v-01f43375]{display:flex;gap:10px}.medium-sport-img[data-v-01f43375]{height:35px;width:35px;margin:0 auto}#workout-segments[data-v-01f43375] .card .card-title{text-transform:capitalize}#workout-segments[data-v-01f43375] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-01f43375] .card .card-content a{font-weight:700}#workout-segments[data-v-01f43375] .card .card-content ul{padding:0 10px;list-style:square}[data-v-05ad7fd0]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-05ad7fd0]{margin:0}#app[data-v-05ad7fd0]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-05ad7fd0]{color:var(--app-a-color);text-decoration:none}img[data-v-05ad7fd0]{max-width:100%}input[data-v-05ad7fd0],select[data-v-05ad7fd0],textarea[data-v-05ad7fd0]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-05ad7fd0]:disabled,select[data-v-05ad7fd0]:disabled,textarea[data-v-05ad7fd0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-05ad7fd0] :invalid{outline:2px solid var(--input-error-color)}label[data-v-05ad7fd0]{font-weight:700}button[data-v-05ad7fd0]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-05ad7fd0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-05ad7fd0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-05ad7fd0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-05ad7fd0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-05ad7fd0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-05ad7fd0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-05ad7fd0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-05ad7fd0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-05ad7fd0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-05ad7fd0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-05ad7fd0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-05ad7fd0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-05ad7fd0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-05ad7fd0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-05ad7fd0]{margin:10px;padding:5px}.upper[data-v-05ad7fd0]{text-transform:uppercase}.view[data-v-05ad7fd0]{padding-bottom:35px}.fa-trophy[data-v-05ad7fd0]{color:var(--workout-trophy-color)}.mountains[data-v-05ad7fd0]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-05ad7fd0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-05ad7fd0]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-05ad7fd0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-05ad7fd0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-05ad7fd0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-05ad7fd0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-05ad7fd0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-05ad7fd0]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-05ad7fd0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-05ad7fd0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-05ad7fd0]{font-weight:700}.description-list dl dd[data-v-05ad7fd0]{margin-bottom:10px}.center-card[data-v-05ad7fd0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-05ad7fd0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-05ad7fd0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-05ad7fd0]{margin-top:0}}.text-center[data-v-05ad7fd0]{text-align:center}.text-left[data-v-05ad7fd0]{text-align:left}.responsive-table[data-v-05ad7fd0]{margin-bottom:15px}.responsive-table table[data-v-05ad7fd0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-05ad7fd0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-05ad7fd0]{font-size:.95em}.responsive-table table tbody td[data-v-05ad7fd0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-05ad7fd0]{border:none}.responsive-table table .cell-heading[data-v-05ad7fd0]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-05ad7fd0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-05ad7fd0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-05ad7fd0]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-05ad7fd0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-05ad7fd0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-05ad7fd0]{width:100%}}.profile-buttons[data-v-05ad7fd0]{display:flex;gap:10px}.medium-sport-img[data-v-05ad7fd0]{height:35px;width:35px;margin:0 auto}#workout[data-v-05ad7fd0]{display:flex}#workout .container[data-v-05ad7fd0]{width:100%;padding:0}#workout .container .workout-container[data-v-05ad7fd0]{width:100%}#workout .container .workout-loading[data-v-05ad7fd0]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-05ad7fd0]{display:flex;align-items:center;height:100%}[data-v-225fffcc]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-225fffcc]{margin:0}#app[data-v-225fffcc]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-225fffcc]{color:var(--app-a-color);text-decoration:none}img[data-v-225fffcc]{max-width:100%}input[data-v-225fffcc],select[data-v-225fffcc],textarea[data-v-225fffcc]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-225fffcc]:disabled,select[data-v-225fffcc]:disabled,textarea[data-v-225fffcc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-225fffcc] :invalid{outline:2px solid var(--input-error-color)}label[data-v-225fffcc]{font-weight:700}button[data-v-225fffcc]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-225fffcc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-225fffcc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-225fffcc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-225fffcc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-225fffcc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-225fffcc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-225fffcc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-225fffcc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-225fffcc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-225fffcc]{margin:10px;padding:5px}.upper[data-v-225fffcc]{text-transform:uppercase}.view[data-v-225fffcc]{padding-bottom:35px}.fa-trophy[data-v-225fffcc]{color:var(--workout-trophy-color)}.mountains[data-v-225fffcc]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-225fffcc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-225fffcc]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-225fffcc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-225fffcc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-225fffcc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-225fffcc]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-225fffcc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-225fffcc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-225fffcc]{font-weight:700}.description-list dl dd[data-v-225fffcc]{margin-bottom:10px}.center-card[data-v-225fffcc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-225fffcc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-225fffcc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-225fffcc]{margin-top:0}}.text-center[data-v-225fffcc]{text-align:center}.text-left[data-v-225fffcc]{text-align:left}.responsive-table[data-v-225fffcc]{margin-bottom:15px}.responsive-table table[data-v-225fffcc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-225fffcc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-225fffcc]{font-size:.95em}.responsive-table table tbody td[data-v-225fffcc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:none}.responsive-table table .cell-heading[data-v-225fffcc]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-225fffcc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-225fffcc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-225fffcc]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-225fffcc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-225fffcc]{width:100%}}.profile-buttons[data-v-225fffcc]{display:flex;gap:10px}.medium-sport-img[data-v-225fffcc]{height:35px;width:35px;margin:0 auto}@media screen and (max-width:700px){#workout-edition.center-form[data-v-225fffcc]{margin:50px auto}}#workout-edition[data-v-225fffcc] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content{padding:10px 0}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px} \ No newline at end of file diff --git a/fittrackee/dist/static/css/workouts.9ff3dd7d.css b/fittrackee/dist/static/css/workouts.9ff3dd7d.css new file mode 100644 index 00000000..bd0931a7 --- /dev/null +++ b/fittrackee/dist/static/css/workouts.9ff3dd7d.css @@ -0,0 +1 @@ +[data-v-06d30f25]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-06d30f25]{margin:0}#app[data-v-06d30f25]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-06d30f25]{color:var(--app-a-color);text-decoration:none}img[data-v-06d30f25]{max-width:100%}input[data-v-06d30f25],select[data-v-06d30f25],textarea[data-v-06d30f25]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-06d30f25]:disabled,select[data-v-06d30f25]:disabled,textarea[data-v-06d30f25]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-06d30f25] :invalid{outline:2px solid var(--input-error-color)}label[data-v-06d30f25]{font-weight:700}button[data-v-06d30f25]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-06d30f25]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-06d30f25]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-06d30f25]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-06d30f25]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-06d30f25]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-06d30f25]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-06d30f25]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-06d30f25]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-06d30f25]{display:flex;flex-direction:column}.form-box .form-items input[data-v-06d30f25]{margin:10px;padding:5px}.upper[data-v-06d30f25]{text-transform:uppercase}.view[data-v-06d30f25]{padding-bottom:35px}.fa-trophy[data-v-06d30f25]{color:var(--workout-trophy-color)}.mountains[data-v-06d30f25]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-06d30f25]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-06d30f25]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-06d30f25]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-06d30f25]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-06d30f25]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-06d30f25]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-06d30f25]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-06d30f25]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-06d30f25]{font-weight:700}.description-list dl dd[data-v-06d30f25]{margin-bottom:10px}.center-card[data-v-06d30f25]{margin:0 auto;width:700px}.center-card.with-margin[data-v-06d30f25]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-06d30f25]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-06d30f25]{margin-top:0}}.text-center[data-v-06d30f25]{text-align:center}.text-left[data-v-06d30f25]{text-align:left}.responsive-table[data-v-06d30f25]{margin-bottom:15px}.responsive-table table[data-v-06d30f25]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-06d30f25]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-06d30f25]{font-size:.95em}.responsive-table table tbody td[data-v-06d30f25]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:none}.responsive-table table .cell-heading[data-v-06d30f25]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-06d30f25]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-06d30f25]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-06d30f25]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-06d30f25]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-06d30f25]{width:100%}}.profile-buttons[data-v-06d30f25]{display:flex;gap:10px}.medium-sport-img[data-v-06d30f25]{height:35px;width:35px;margin:0 auto}.workouts-filters .form[data-v-06d30f25]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-06d30f25]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-06d30f25]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-06d30f25]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-06d30f25]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-06d30f25]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-06d30f25]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:75%}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-06d30f25]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:wrap}}[data-v-1ba1a972]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-1ba1a972]{margin:0}#app[data-v-1ba1a972]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-1ba1a972]{color:var(--app-a-color);text-decoration:none}img[data-v-1ba1a972]{max-width:100%}input[data-v-1ba1a972],select[data-v-1ba1a972],textarea[data-v-1ba1a972]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-1ba1a972]:disabled,select[data-v-1ba1a972]:disabled,textarea[data-v-1ba1a972]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-1ba1a972] :invalid{outline:2px solid var(--input-error-color)}label[data-v-1ba1a972]{font-weight:700}button[data-v-1ba1a972]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-1ba1a972]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-1ba1a972]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-1ba1a972]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-1ba1a972]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-1ba1a972]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-1ba1a972]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-1ba1a972]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-1ba1a972]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-1ba1a972]{display:flex;flex-direction:column}.form-box .form-items input[data-v-1ba1a972]{margin:10px;padding:5px}.upper[data-v-1ba1a972]{text-transform:uppercase}.view[data-v-1ba1a972]{padding-bottom:35px}.fa-trophy[data-v-1ba1a972]{color:var(--workout-trophy-color)}.mountains[data-v-1ba1a972]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-1ba1a972]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-1ba1a972]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-1ba1a972]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-1ba1a972]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-1ba1a972]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-1ba1a972]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-1ba1a972]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-1ba1a972]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-1ba1a972]{font-weight:700}.description-list dl dd[data-v-1ba1a972]{margin-bottom:10px}.center-card[data-v-1ba1a972]{margin:0 auto;width:700px}.center-card.with-margin[data-v-1ba1a972]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-1ba1a972]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-1ba1a972]{margin-top:0}}.text-center[data-v-1ba1a972]{text-align:center}.text-left[data-v-1ba1a972]{text-align:left}.responsive-table[data-v-1ba1a972]{margin-bottom:15px}.responsive-table table[data-v-1ba1a972]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-1ba1a972]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-1ba1a972]{font-size:.95em}.responsive-table table tbody td[data-v-1ba1a972]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:none}.responsive-table table .cell-heading[data-v-1ba1a972]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-1ba1a972]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-1ba1a972]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-1ba1a972]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-1ba1a972]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-1ba1a972]{width:100%}}.profile-buttons[data-v-1ba1a972]{display:flex;gap:10px}.medium-sport-img[data-v-1ba1a972]{height:35px;width:35px;margin:0 auto}.workouts-list[data-v-1ba1a972]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-1ba1a972]{padding:10px 20px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-1ba1a972]{display:none}}.workouts-list .box .total[data-v-1ba1a972]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-1ba1a972]{font-weight:700}.workouts-list .box .top-pagination[data-v-1ba1a972]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-1ba1a972]{display:flex}}@media screen and (max-width:700px){.workouts-list .box[data-v-1ba1a972] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-1ba1a972]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-1ba1a972]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-1ba1a972]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:none}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:none}}.workouts-list .more-workouts[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}[data-v-ed6df5ba]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-ed6df5ba]{margin:0}#app[data-v-ed6df5ba]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-ed6df5ba]{color:var(--app-a-color);text-decoration:none}img[data-v-ed6df5ba]{max-width:100%}input[data-v-ed6df5ba],select[data-v-ed6df5ba],textarea[data-v-ed6df5ba]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ed6df5ba]:disabled,select[data-v-ed6df5ba]:disabled,textarea[data-v-ed6df5ba]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-ed6df5ba] :invalid{outline:2px solid var(--input-error-color)}label[data-v-ed6df5ba]{font-weight:700}button[data-v-ed6df5ba]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ed6df5ba]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ed6df5ba]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ed6df5ba]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ed6df5ba]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ed6df5ba]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ed6df5ba]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ed6df5ba]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ed6df5ba]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ed6df5ba]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ed6df5ba]{margin:10px;padding:5px}.upper[data-v-ed6df5ba]{text-transform:uppercase}.view[data-v-ed6df5ba]{padding-bottom:35px}.fa-trophy[data-v-ed6df5ba]{color:var(--workout-trophy-color)}.mountains[data-v-ed6df5ba]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-ed6df5ba]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ed6df5ba]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-ed6df5ba]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ed6df5ba]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ed6df5ba]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ed6df5ba]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-ed6df5ba]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ed6df5ba]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ed6df5ba]{font-weight:700}.description-list dl dd[data-v-ed6df5ba]{margin-bottom:10px}.center-card[data-v-ed6df5ba]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ed6df5ba]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ed6df5ba]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ed6df5ba]{margin-top:0}}.text-center[data-v-ed6df5ba]{text-align:center}.text-left[data-v-ed6df5ba]{text-align:left}.responsive-table[data-v-ed6df5ba]{margin-bottom:15px}.responsive-table table[data-v-ed6df5ba]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ed6df5ba]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ed6df5ba]{font-size:.95em}.responsive-table table tbody td[data-v-ed6df5ba]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:none}.responsive-table table .cell-heading[data-v-ed6df5ba]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-ed6df5ba]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ed6df5ba]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ed6df5ba]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ed6df5ba]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ed6df5ba]{width:100%}}.profile-buttons[data-v-ed6df5ba]{display:flex;gap:10px}.medium-sport-img[data-v-ed6df5ba]{height:35px;width:35px;margin:0 auto}#workouts[data-v-ed6df5ba]{height:100%}#workouts .workouts-container[data-v-ed6df5ba]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-ed6df5ba]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-ed6df5ba],#workouts .workouts-container .list-container[data-v-ed6df5ba]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-ed6df5ba]{display:none}}#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-ed6df5ba]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-ed6df5ba]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:100%}}[data-v-21fe0e9a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-21fe0e9a]{margin:0}#app[data-v-21fe0e9a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-21fe0e9a]{color:var(--app-a-color);text-decoration:none}img[data-v-21fe0e9a]{max-width:100%}input[data-v-21fe0e9a],select[data-v-21fe0e9a],textarea[data-v-21fe0e9a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-21fe0e9a]:disabled,select[data-v-21fe0e9a]:disabled,textarea[data-v-21fe0e9a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-21fe0e9a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-21fe0e9a]{font-weight:700}button[data-v-21fe0e9a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-21fe0e9a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-21fe0e9a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-21fe0e9a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-21fe0e9a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-21fe0e9a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-21fe0e9a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-21fe0e9a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-21fe0e9a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-21fe0e9a]{margin:10px;padding:5px}.upper[data-v-21fe0e9a]{text-transform:uppercase}.view[data-v-21fe0e9a]{padding-bottom:35px}.fa-trophy[data-v-21fe0e9a]{color:var(--workout-trophy-color)}.mountains[data-v-21fe0e9a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-21fe0e9a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-21fe0e9a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-21fe0e9a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-21fe0e9a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-21fe0e9a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-21fe0e9a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-21fe0e9a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-21fe0e9a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-21fe0e9a]{font-weight:700}.description-list dl dd[data-v-21fe0e9a]{margin-bottom:10px}.center-card[data-v-21fe0e9a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-21fe0e9a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-21fe0e9a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-21fe0e9a]{margin-top:0}}.text-center[data-v-21fe0e9a]{text-align:center}.text-left[data-v-21fe0e9a]{text-align:left}.responsive-table[data-v-21fe0e9a]{margin-bottom:15px}.responsive-table table[data-v-21fe0e9a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-21fe0e9a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-21fe0e9a]{font-size:.95em}.responsive-table table tbody td[data-v-21fe0e9a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:none}.responsive-table table .cell-heading[data-v-21fe0e9a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-21fe0e9a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-21fe0e9a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-21fe0e9a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-21fe0e9a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-21fe0e9a]{width:100%}}.profile-buttons[data-v-21fe0e9a]{display:flex;gap:10px}.medium-sport-img[data-v-21fe0e9a]{height:35px;width:35px;margin:0 auto}#workout-card-title[data-v-21fe0e9a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-21fe0e9a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-21fe0e9a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-21fe0e9a]{display:flex;flex-grow:1}#workout-card-title .workout-card-title .sport-img[data-v-21fe0e9a]{height:35px;width:35px;padding:0 10px}#workout-card-title .workout-card-title .workout-date[data-v-21fe0e9a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-21fe0e9a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-21fe0e9a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-21fe0e9a]{padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-edit[data-v-21fe0e9a],#workout-card-title .workout-card-title .fa-trash[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;margin-left:5px;padding:0 10px}}[data-v-2e8c6844]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2e8c6844]{margin:0}#app[data-v-2e8c6844]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2e8c6844]{color:var(--app-a-color);text-decoration:none}img[data-v-2e8c6844]{max-width:100%}input[data-v-2e8c6844],select[data-v-2e8c6844],textarea[data-v-2e8c6844]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2e8c6844]:disabled,select[data-v-2e8c6844]:disabled,textarea[data-v-2e8c6844]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2e8c6844] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2e8c6844]{font-weight:700}button[data-v-2e8c6844]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2e8c6844]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2e8c6844]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2e8c6844]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2e8c6844]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2e8c6844]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2e8c6844]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2e8c6844]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2e8c6844]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2e8c6844]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2e8c6844]{margin:10px;padding:5px}.upper[data-v-2e8c6844]{text-transform:uppercase}.view[data-v-2e8c6844]{padding-bottom:35px}.fa-trophy[data-v-2e8c6844]{color:var(--workout-trophy-color)}.mountains[data-v-2e8c6844]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2e8c6844]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2e8c6844]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2e8c6844]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2e8c6844]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2e8c6844]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2e8c6844]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2e8c6844]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2e8c6844]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2e8c6844]{font-weight:700}.description-list dl dd[data-v-2e8c6844]{margin-bottom:10px}.center-card[data-v-2e8c6844]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2e8c6844]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2e8c6844]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2e8c6844]{margin-top:0}}.text-center[data-v-2e8c6844]{text-align:center}.text-left[data-v-2e8c6844]{text-align:left}.responsive-table[data-v-2e8c6844]{margin-bottom:15px}.responsive-table table[data-v-2e8c6844]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2e8c6844]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2e8c6844]{font-size:.95em}.responsive-table table tbody td[data-v-2e8c6844]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:none}.responsive-table table .cell-heading[data-v-2e8c6844]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2e8c6844]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2e8c6844]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2e8c6844]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2e8c6844]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2e8c6844]{width:100%}}.profile-buttons[data-v-2e8c6844]{display:flex;gap:10px}.medium-sport-img[data-v-2e8c6844]{height:35px;width:35px;margin:0 auto}.workout-record sup[data-v-2e8c6844]{font-size:75%;line-height:0}[data-v-07781815]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-07781815]{margin:0}#app[data-v-07781815]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-07781815]{color:var(--app-a-color);text-decoration:none}img[data-v-07781815]{max-width:100%}input[data-v-07781815],select[data-v-07781815],textarea[data-v-07781815]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-07781815]:disabled,select[data-v-07781815]:disabled,textarea[data-v-07781815]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-07781815] :invalid{outline:2px solid var(--input-error-color)}label[data-v-07781815]{font-weight:700}button[data-v-07781815]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-07781815]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-07781815]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-07781815]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-07781815]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-07781815]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-07781815]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-07781815]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-07781815]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-07781815]{display:flex;flex-direction:column}.form-box .form-items input[data-v-07781815]{margin:10px;padding:5px}.upper[data-v-07781815]{text-transform:uppercase}.view[data-v-07781815]{padding-bottom:35px}.fa-trophy[data-v-07781815]{color:var(--workout-trophy-color)}.mountains[data-v-07781815]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-07781815]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-07781815]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-07781815]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-07781815]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-07781815]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-07781815]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-07781815]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-07781815]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-07781815]{font-weight:700}.description-list dl dd[data-v-07781815]{margin-bottom:10px}.center-card[data-v-07781815]{margin:0 auto;width:700px}.center-card.with-margin[data-v-07781815]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-07781815]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-07781815]{margin-top:0}}.text-center[data-v-07781815]{text-align:center}.text-left[data-v-07781815]{text-align:left}.responsive-table[data-v-07781815]{margin-bottom:15px}.responsive-table table[data-v-07781815]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-07781815]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-07781815]{font-size:.95em}.responsive-table table tbody td[data-v-07781815]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:none}.responsive-table table .cell-heading[data-v-07781815]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-07781815]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-07781815]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-07781815]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-07781815]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-07781815]{width:100%}}.profile-buttons[data-v-07781815]{display:flex;gap:10px}.medium-sport-img[data-v-07781815]{height:35px;width:35px;margin:0 auto}#workout-weather[data-v-07781815]{padding-top:10px}#workout-weather .weather-img[data-v-07781815]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-07781815]{height:20px}#workout-weather .weather-table[data-v-07781815]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-07781815]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-07781815]{font-size:.8em}[data-v-a7c2d728]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a7c2d728]{margin:0}#app[data-v-a7c2d728]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a7c2d728]{color:var(--app-a-color);text-decoration:none}img[data-v-a7c2d728]{max-width:100%}input[data-v-a7c2d728],select[data-v-a7c2d728],textarea[data-v-a7c2d728]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a7c2d728]:disabled,select[data-v-a7c2d728]:disabled,textarea[data-v-a7c2d728]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-a7c2d728] :invalid{outline:2px solid var(--input-error-color)}label[data-v-a7c2d728]{font-weight:700}button[data-v-a7c2d728]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a7c2d728]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a7c2d728]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a7c2d728]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a7c2d728]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a7c2d728]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a7c2d728]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a7c2d728]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a7c2d728]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a7c2d728]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a7c2d728]{margin:10px;padding:5px}.upper[data-v-a7c2d728]{text-transform:uppercase}.view[data-v-a7c2d728]{padding-bottom:35px}.fa-trophy[data-v-a7c2d728]{color:var(--workout-trophy-color)}.mountains[data-v-a7c2d728]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-a7c2d728]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a7c2d728]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a7c2d728]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a7c2d728]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a7c2d728]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a7c2d728]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a7c2d728]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a7c2d728]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a7c2d728]{font-weight:700}.description-list dl dd[data-v-a7c2d728]{margin-bottom:10px}.center-card[data-v-a7c2d728]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a7c2d728]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a7c2d728]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a7c2d728]{margin-top:0}}.text-center[data-v-a7c2d728]{text-align:center}.text-left[data-v-a7c2d728]{text-align:left}.responsive-table[data-v-a7c2d728]{margin-bottom:15px}.responsive-table table[data-v-a7c2d728]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a7c2d728]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a7c2d728]{font-size:.95em}.responsive-table table tbody td[data-v-a7c2d728]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:none}.responsive-table table .cell-heading[data-v-a7c2d728]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a7c2d728]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a7c2d728]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a7c2d728]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a7c2d728]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a7c2d728]{width:100%}}.profile-buttons[data-v-a7c2d728]{display:flex;gap:10px}.medium-sport-img[data-v-a7c2d728]{height:35px;width:35px;margin:0 auto}#workout-info[data-v-a7c2d728]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-a7c2d728],#workout-info .mountains[data-v-a7c2d728]{padding-right:5px}#workout-info .workout-data[data-v-a7c2d728]{padding:5px 0}#workout-info .workout-data .label[data-v-a7c2d728]{text-transform:capitalize}#workout-info .workout-data .value[data-v-a7c2d728]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-a7c2d728]{padding:10px}}[data-v-b4b3006a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-b4b3006a]{margin:0}#app[data-v-b4b3006a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-b4b3006a]{color:var(--app-a-color);text-decoration:none}img[data-v-b4b3006a]{max-width:100%}input[data-v-b4b3006a],select[data-v-b4b3006a],textarea[data-v-b4b3006a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-b4b3006a]:disabled,select[data-v-b4b3006a]:disabled,textarea[data-v-b4b3006a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-b4b3006a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-b4b3006a]{font-weight:700}button[data-v-b4b3006a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-b4b3006a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-b4b3006a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-b4b3006a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-b4b3006a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-b4b3006a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-b4b3006a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-b4b3006a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-b4b3006a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-b4b3006a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-b4b3006a]{margin:10px;padding:5px}.upper[data-v-b4b3006a]{text-transform:uppercase}.view[data-v-b4b3006a]{padding-bottom:35px}.fa-trophy[data-v-b4b3006a]{color:var(--workout-trophy-color)}.mountains[data-v-b4b3006a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-b4b3006a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-b4b3006a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-b4b3006a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-b4b3006a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-b4b3006a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-b4b3006a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-b4b3006a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-b4b3006a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-b4b3006a]{font-weight:700}.description-list dl dd[data-v-b4b3006a]{margin-bottom:10px}.center-card[data-v-b4b3006a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-b4b3006a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-b4b3006a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-b4b3006a]{margin-top:0}}.text-center[data-v-b4b3006a]{text-align:center}.text-left[data-v-b4b3006a]{text-align:left}.responsive-table[data-v-b4b3006a]{margin-bottom:15px}.responsive-table table[data-v-b4b3006a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-b4b3006a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-b4b3006a]{font-size:.95em}.responsive-table table tbody td[data-v-b4b3006a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:none}.responsive-table table .cell-heading[data-v-b4b3006a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-b4b3006a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-b4b3006a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-b4b3006a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-b4b3006a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-b4b3006a]{width:100%}}.profile-buttons[data-v-b4b3006a]{display:flex;gap:10px}.medium-sport-img[data-v-b4b3006a]{height:35px;width:35px;margin:0 auto}#workout-map[data-v-b4b3006a]{padding:10px 0}#workout-map .leaflet-container[data-v-b4b3006a],#workout-map .no-map[data-v-b4b3006a]{height:400px;width:600px}#workout-map .no-map[data-v-b4b3006a]{line-height:400px}@media screen and (max-width:700px){#workout-map[data-v-b4b3006a]{padding:0}#workout-map .leaflet-container[data-v-b4b3006a]{width:100%;height:300px}#workout-map .no-map[data-v-b4b3006a]{display:none}}[data-v-2655acaa]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2655acaa]{margin:0}#app[data-v-2655acaa]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2655acaa]{color:var(--app-a-color);text-decoration:none}img[data-v-2655acaa]{max-width:100%}input[data-v-2655acaa],select[data-v-2655acaa],textarea[data-v-2655acaa]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2655acaa]:disabled,select[data-v-2655acaa]:disabled,textarea[data-v-2655acaa]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2655acaa] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2655acaa]{font-weight:700}button[data-v-2655acaa]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2655acaa]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2655acaa]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2655acaa]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2655acaa]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2655acaa]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2655acaa]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2655acaa]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2655acaa]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2655acaa]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2655acaa]{margin:10px;padding:5px}.upper[data-v-2655acaa]{text-transform:uppercase}.view[data-v-2655acaa]{padding-bottom:35px}.fa-trophy[data-v-2655acaa]{color:var(--workout-trophy-color)}.mountains[data-v-2655acaa]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2655acaa]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2655acaa]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2655acaa]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2655acaa]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2655acaa]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2655acaa]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2655acaa]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2655acaa]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2655acaa]{font-weight:700}.description-list dl dd[data-v-2655acaa]{margin-bottom:10px}.center-card[data-v-2655acaa]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2655acaa]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2655acaa]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2655acaa]{margin-top:0}}.text-center[data-v-2655acaa]{text-align:center}.text-left[data-v-2655acaa]{text-align:left}.responsive-table[data-v-2655acaa]{margin-bottom:15px}.responsive-table table[data-v-2655acaa]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2655acaa]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2655acaa]{font-size:.95em}.responsive-table table tbody td[data-v-2655acaa]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:none}.responsive-table table .cell-heading[data-v-2655acaa]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2655acaa]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2655acaa]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2655acaa]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2655acaa]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2655acaa]{width:100%}}.profile-buttons[data-v-2655acaa]{display:flex;gap:10px}.medium-sport-img[data-v-2655acaa]{height:35px;width:35px;margin:0 auto}.workout-detail[data-v-2655acaa]{display:flex}.workout-detail[data-v-2655acaa] .card{width:100%}.workout-detail[data-v-2655acaa] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-2655acaa] .card .card-content{flex-direction:column}}[data-v-82a367b0]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-82a367b0]{margin:0}#app[data-v-82a367b0]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-82a367b0]{color:var(--app-a-color);text-decoration:none}img[data-v-82a367b0]{max-width:100%}input[data-v-82a367b0],select[data-v-82a367b0],textarea[data-v-82a367b0]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-82a367b0]:disabled,select[data-v-82a367b0]:disabled,textarea[data-v-82a367b0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-82a367b0] :invalid{outline:2px solid var(--input-error-color)}label[data-v-82a367b0]{font-weight:700}button[data-v-82a367b0]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-82a367b0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-82a367b0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-82a367b0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-82a367b0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-82a367b0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-82a367b0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-82a367b0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-82a367b0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-82a367b0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-82a367b0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-82a367b0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-82a367b0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-82a367b0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-82a367b0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-82a367b0]{margin:10px;padding:5px}.upper[data-v-82a367b0]{text-transform:uppercase}.view[data-v-82a367b0]{padding-bottom:35px}.fa-trophy[data-v-82a367b0]{color:var(--workout-trophy-color)}.mountains[data-v-82a367b0]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-82a367b0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-82a367b0]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-82a367b0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-82a367b0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-82a367b0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-82a367b0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-82a367b0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-82a367b0]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-82a367b0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-82a367b0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-82a367b0]{font-weight:700}.description-list dl dd[data-v-82a367b0]{margin-bottom:10px}.center-card[data-v-82a367b0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-82a367b0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-82a367b0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-82a367b0]{margin-top:0}}.text-center[data-v-82a367b0]{text-align:center}.text-left[data-v-82a367b0]{text-align:left}.responsive-table[data-v-82a367b0]{margin-bottom:15px}.responsive-table table[data-v-82a367b0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-82a367b0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-82a367b0]{font-size:.95em}.responsive-table table tbody td[data-v-82a367b0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-82a367b0]{border:none}.responsive-table table .cell-heading[data-v-82a367b0]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-82a367b0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-82a367b0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-82a367b0]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-82a367b0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-82a367b0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-82a367b0]{width:100%}}.profile-buttons[data-v-82a367b0]{display:flex;gap:10px}.medium-sport-img[data-v-82a367b0]{height:35px;width:35px;margin:0 auto}#workout-chart[data-v-82a367b0] .card .card-title{text-transform:capitalize}#workout-chart[data-v-82a367b0] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-82a367b0] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-82a367b0] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-82a367b0] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend ul li span{border-radius:50%;border-style:solid;border-width:1.5px;height:10px;margin-top:4px;margin-left:2px;width:10px}@media screen and (max-width:700px){#workout-chart[data-v-82a367b0] .card .card-content{padding:10px 0}#workout-chart[data-v-82a367b0] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-82a367b0] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-82a367b0] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}[data-v-6dd0f3c4]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6dd0f3c4]{margin:0}#app[data-v-6dd0f3c4]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6dd0f3c4]{color:var(--app-a-color);text-decoration:none}img[data-v-6dd0f3c4]{max-width:100%}input[data-v-6dd0f3c4],select[data-v-6dd0f3c4],textarea[data-v-6dd0f3c4]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6dd0f3c4]:disabled,select[data-v-6dd0f3c4]:disabled,textarea[data-v-6dd0f3c4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-6dd0f3c4] :invalid{outline:2px solid var(--input-error-color)}label[data-v-6dd0f3c4]{font-weight:700}button[data-v-6dd0f3c4]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6dd0f3c4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6dd0f3c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6dd0f3c4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6dd0f3c4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6dd0f3c4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6dd0f3c4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6dd0f3c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6dd0f3c4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6dd0f3c4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6dd0f3c4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6dd0f3c4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6dd0f3c4]{margin:10px;padding:5px}.upper[data-v-6dd0f3c4]{text-transform:uppercase}.view[data-v-6dd0f3c4]{padding-bottom:35px}.fa-trophy[data-v-6dd0f3c4]{color:var(--workout-trophy-color)}.mountains[data-v-6dd0f3c4]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-6dd0f3c4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6dd0f3c4]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6dd0f3c4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6dd0f3c4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6dd0f3c4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6dd0f3c4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6dd0f3c4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6dd0f3c4]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6dd0f3c4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6dd0f3c4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6dd0f3c4]{font-weight:700}.description-list dl dd[data-v-6dd0f3c4]{margin-bottom:10px}.center-card[data-v-6dd0f3c4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6dd0f3c4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6dd0f3c4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6dd0f3c4]{margin-top:0}}.text-center[data-v-6dd0f3c4]{text-align:center}.text-left[data-v-6dd0f3c4]{text-align:left}.responsive-table[data-v-6dd0f3c4]{margin-bottom:15px}.responsive-table table[data-v-6dd0f3c4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6dd0f3c4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6dd0f3c4]{font-size:.95em}.responsive-table table tbody td[data-v-6dd0f3c4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6dd0f3c4]{border:none}.responsive-table table .cell-heading[data-v-6dd0f3c4]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6dd0f3c4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6dd0f3c4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6dd0f3c4]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6dd0f3c4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6dd0f3c4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6dd0f3c4]{width:100%}}.profile-buttons[data-v-6dd0f3c4]{display:flex;gap:10px}.medium-sport-img[data-v-6dd0f3c4]{height:35px;width:35px;margin:0 auto}#workout-note[data-v-6dd0f3c4] .card-content{font-style:italic;white-space:pre-wrap}[data-v-73381f36]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-73381f36]{margin:0}#app[data-v-73381f36]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-73381f36]{color:var(--app-a-color);text-decoration:none}img[data-v-73381f36]{max-width:100%}input[data-v-73381f36],select[data-v-73381f36],textarea[data-v-73381f36]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-73381f36]:disabled,select[data-v-73381f36]:disabled,textarea[data-v-73381f36]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-73381f36] :invalid{outline:2px solid var(--input-error-color)}label[data-v-73381f36]{font-weight:700}button[data-v-73381f36]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-73381f36]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-73381f36]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-73381f36]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-73381f36]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-73381f36]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-73381f36]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-73381f36]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-73381f36]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-73381f36]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-73381f36]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-73381f36]{display:flex;flex-direction:column}.form-box .form-items input[data-v-73381f36]{margin:10px;padding:5px}.upper[data-v-73381f36]{text-transform:uppercase}.view[data-v-73381f36]{padding-bottom:35px}.fa-trophy[data-v-73381f36]{color:var(--workout-trophy-color)}.mountains[data-v-73381f36]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-73381f36]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-73381f36]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-73381f36]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-73381f36]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-73381f36]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-73381f36]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-73381f36]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-73381f36]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-73381f36]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-73381f36]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-73381f36]{font-weight:700}.description-list dl dd[data-v-73381f36]{margin-bottom:10px}.center-card[data-v-73381f36]{margin:0 auto;width:700px}.center-card.with-margin[data-v-73381f36]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-73381f36]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-73381f36]{margin-top:0}}.text-center[data-v-73381f36]{text-align:center}.text-left[data-v-73381f36]{text-align:left}.responsive-table[data-v-73381f36]{margin-bottom:15px}.responsive-table table[data-v-73381f36]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-73381f36]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-73381f36]{font-size:.95em}.responsive-table table tbody td[data-v-73381f36]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-73381f36]{border:none}.responsive-table table .cell-heading[data-v-73381f36]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-73381f36]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-73381f36]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-73381f36]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-73381f36]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-73381f36]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-73381f36]{width:100%}}.profile-buttons[data-v-73381f36]{display:flex;gap:10px}.medium-sport-img[data-v-73381f36]{height:35px;width:35px;margin:0 auto}#workout-segments[data-v-73381f36] .card .card-title{text-transform:capitalize}#workout-segments[data-v-73381f36] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-73381f36] .card .card-content a{font-weight:700}#workout-segments[data-v-73381f36] .card .card-content ul{padding:0 10px;list-style:square}[data-v-a8e74d78]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a8e74d78]{margin:0}#app[data-v-a8e74d78]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a8e74d78]{color:var(--app-a-color);text-decoration:none}img[data-v-a8e74d78]{max-width:100%}input[data-v-a8e74d78],select[data-v-a8e74d78],textarea[data-v-a8e74d78]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a8e74d78]:disabled,select[data-v-a8e74d78]:disabled,textarea[data-v-a8e74d78]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-a8e74d78] :invalid{outline:2px solid var(--input-error-color)}label[data-v-a8e74d78]{font-weight:700}button[data-v-a8e74d78]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a8e74d78]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a8e74d78]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a8e74d78]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a8e74d78]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a8e74d78]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a8e74d78]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a8e74d78]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a8e74d78]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a8e74d78]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a8e74d78]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a8e74d78]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a8e74d78]{margin:10px;padding:5px}.upper[data-v-a8e74d78]{text-transform:uppercase}.view[data-v-a8e74d78]{padding-bottom:35px}.fa-trophy[data-v-a8e74d78]{color:var(--workout-trophy-color)}.mountains[data-v-a8e74d78]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-a8e74d78]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a8e74d78]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a8e74d78]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a8e74d78]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a8e74d78]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a8e74d78]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a8e74d78]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a8e74d78]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a8e74d78]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a8e74d78]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a8e74d78]{font-weight:700}.description-list dl dd[data-v-a8e74d78]{margin-bottom:10px}.center-card[data-v-a8e74d78]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a8e74d78]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a8e74d78]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a8e74d78]{margin-top:0}}.text-center[data-v-a8e74d78]{text-align:center}.text-left[data-v-a8e74d78]{text-align:left}.responsive-table[data-v-a8e74d78]{margin-bottom:15px}.responsive-table table[data-v-a8e74d78]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a8e74d78]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a8e74d78]{font-size:.95em}.responsive-table table tbody td[data-v-a8e74d78]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a8e74d78]{border:none}.responsive-table table .cell-heading[data-v-a8e74d78]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a8e74d78]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a8e74d78]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a8e74d78]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a8e74d78]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a8e74d78]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a8e74d78]{width:100%}}.profile-buttons[data-v-a8e74d78]{display:flex;gap:10px}.medium-sport-img[data-v-a8e74d78]{height:35px;width:35px;margin:0 auto}#workout[data-v-a8e74d78]{display:flex}#workout .container[data-v-a8e74d78]{width:100%;padding:0}#workout .container .workout-container[data-v-a8e74d78]{width:100%}#workout .container .workout-loading[data-v-a8e74d78]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-a8e74d78]{display:flex;align-items:center;height:100%}[data-v-225fffcc]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-225fffcc]{margin:0}#app[data-v-225fffcc]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-225fffcc]{color:var(--app-a-color);text-decoration:none}img[data-v-225fffcc]{max-width:100%}input[data-v-225fffcc],select[data-v-225fffcc],textarea[data-v-225fffcc]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-225fffcc]:disabled,select[data-v-225fffcc]:disabled,textarea[data-v-225fffcc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-225fffcc] :invalid{outline:2px solid var(--input-error-color)}label[data-v-225fffcc]{font-weight:700}button[data-v-225fffcc]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-225fffcc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-225fffcc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-225fffcc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-225fffcc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-225fffcc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-225fffcc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-225fffcc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-225fffcc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-225fffcc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-225fffcc]{margin:10px;padding:5px}.upper[data-v-225fffcc]{text-transform:uppercase}.view[data-v-225fffcc]{padding-bottom:35px}.fa-trophy[data-v-225fffcc]{color:var(--workout-trophy-color)}.mountains[data-v-225fffcc]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-225fffcc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-225fffcc]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-225fffcc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-225fffcc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-225fffcc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-225fffcc]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-225fffcc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-225fffcc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-225fffcc]{font-weight:700}.description-list dl dd[data-v-225fffcc]{margin-bottom:10px}.center-card[data-v-225fffcc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-225fffcc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-225fffcc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-225fffcc]{margin-top:0}}.text-center[data-v-225fffcc]{text-align:center}.text-left[data-v-225fffcc]{text-align:left}.responsive-table[data-v-225fffcc]{margin-bottom:15px}.responsive-table table[data-v-225fffcc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-225fffcc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-225fffcc]{font-size:.95em}.responsive-table table tbody td[data-v-225fffcc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:none}.responsive-table table .cell-heading[data-v-225fffcc]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-225fffcc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-225fffcc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-225fffcc]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-225fffcc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-225fffcc]{width:100%}}.profile-buttons[data-v-225fffcc]{display:flex;gap:10px}.medium-sport-img[data-v-225fffcc]{height:35px;width:35px;margin:0 auto}@media screen and (max-width:700px){#workout-edition.center-form[data-v-225fffcc]{margin:50px auto}}#workout-edition[data-v-225fffcc] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content{padding:10px 0}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.aa3fc8a8.js b/fittrackee/dist/static/js/app.43c2e954.js similarity index 99% rename from fittrackee/dist/static/js/app.aa3fc8a8.js rename to fittrackee/dist/static/js/app.43c2e954.js index 8737ebc8..d7ec9437 100644 --- a/fittrackee/dist/static/js/app.aa3fc8a8.js +++ b/fittrackee/dist/static/js/app.43c2e954.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var r,c,i=t[0],s=t[1],l=t[2],u=0,O=[];ur?1:n2&&void 0!==arguments[2]&&arguments[2],c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return e.filter((function(e){return!n||(null===c?e.is_active_for_user:c.includes(e.id)||e.is_active)})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(a)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]},l=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.color}))[0]}},1446:function(e,t,n){"use strict";n("1db4")},"1db4":function(e,t,n){},"1e18":function(e,t,n){},"1f46":function(e,t,n){},2679:function(e,t,n){},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n("5502");function c(){return Object(r["b"])()}},"30bb":function(e,t,n){"use strict";n("599b")},3256:function(e,t,n){},3605:function(e,t,n){},"3c44":function(e,t,n){"use strict";var r=n("7a23"),c=n("c46a"),o={class:"box user-header"},a={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},l={class:"user-stat"},u={class:"stat-number"},O={class:"stat-label"},d={class:"user-stat"},m={class:"stat-label"},b={class:"user-stat hide-small"},E={class:"stat-number"},p={class:"stat-label"},T=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),T=n.user;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[Object(r["createVNode"])(c["a"],{user:Object(r["unref"])(T)},null,8,["user"]),Object(r["createElementVNode"])("div",a,[Object(r["createElementVNode"])("div",i,Object(r["toDisplayString"])(Object(r["unref"])(T).username),1),Object(r["createElementVNode"])("div",s,[Object(r["createElementVNode"])("div",l,[Object(r["createElementVNode"])("span",u,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_workouts),1),Object(r["createElementVNode"])("span",O,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",Object(r["unref"])(T).nb_workouts)),1)]),Object(r["createElementVNode"])("div",d,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(T).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:Object(r["unref"])(T).imperial_units},null,8,["distance","useImperialUnits"]),Object(r["createElementVNode"])("span",m,Object(r["toDisplayString"])(Object(r["unref"])(T).imperial_units?"miles":"km"),1)]),Object(r["createElementVNode"])("div",b,[Object(r["createElementVNode"])("span",E,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_sports),1),Object(r["createElementVNode"])("span",p,Object(r["toDisplayString"])(e.$t("workouts.SPORT",Object(r["unref"])(T).nb_sports)),1)])])])])}}}),f=(n("feac"),n("6b0d")),j=n.n(f);const S=j()(T,[["__scopeId","data-v-4e6eb0d2"]]);t["a"]=S},"3ca5":function(e,t,n){"use strict";n("4a37")},4042:function(e,t,n){"use strict";n("0bca")},4163:function(e,t,n){},"44dee":function(e,t,n){"use strict";n("d9b8")},4870:function(e,t,n){"use strict";var r,c,o;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return o})),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(c||(c={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(o||(o={}))},"49c1":function(e,t,n){},"4a0c":function(e,t,n){},"4a37":function(e,t,n){},"55a6":function(e,t,n){"use strict";n("dbf1")},"599b":function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return m})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return T}));var r=n("69eb"),c=n("d6e9"),o=n("f628"),a=n("f7f1"),i=n("cdb6"),s=n("74b5"),l=n("8cac"),u=n("2fc8"),O=n("b166"),d=n("78b2"),m=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(c["a"])(t);case"month":return Object(o["a"])(t);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},b=function(e,t){switch(e){case"week":return Object(a["a"])(t,7);case"year":return Object(i["a"])(t,1);case"month":return Object(s["a"])(t,1);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},E=function(e,t){return Object(d["a"])(new Date(e),t)},p=function(e,t){var n=Object(o["a"])(e),c=Object(l["a"])(e),a=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:a}),end:Object(u["a"])(c,{weekStartsOn:a})}},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:Object(O["a"])(e,t),workout_time:Object(O["a"])(e,n)}}},"61af":function(e,t,n){"use strict";n("ae19")},6284:function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("b680");var r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},c={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,a=r[t],i=r[n],s=e*a.multiplier*c[a.system][i.system]/i.multiplier;return null!==o?parseFloat(s.toFixed(o)):s},a=function(e,t,n){var c=n?r[e].defaultTarget:e;return n?o(t,e,c,2):t}},"65d3":function(e,t,n){},"663e":function(e,t,n){"use strict";n.r(t);var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Etes-vous sûr de vouloir supprimer le compte de ",n(r(0))," ? Toutes les données seront définitivement."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les drois d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les drois d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Mot de passe : 8 caractères minimum."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Désolé, cet utilisateur existe déjà."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Nom d'utilisateur : 3 à 12 caractères requis."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Saisir une adresse email"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},6862:function(e,t,n){"use strict";n("d251")},"6d7d":function(e,t,n){"use strict";var r=n("7a23"),c=n("97e5"),o=function(e){return Object(r["pushScopeId"])("data-v-de4b01da"),e=e(),Object(r["popScopeId"])(),e},a={class:"pagination-center","aria-label":"navigation"},i={class:"pagination"},s=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),l={key:0},u=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),O=Object(r["defineComponent"])({props:{pagination:null,path:null,query:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.pagination,O=n.path,d=n.query;function m(e,t){var n=Object.assign({},d.value);return n.page=t?e+t:e,n}return function(e,t){var n=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("nav",a,[Object(r["createElementVNode"])("ul",i,[Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-prev",{disabled:!Object(r["unref"])(o).has_prev}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,-1)},event:Object(r["unref"])(o).has_prev?"click":"",disabled:!Object(r["unref"])(o).has_prev},{default:Object(r["withCtx"])((function(){return[s,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(c["b"])(Object(r["unref"])(o).pages,Object(r["unref"])(o).page),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:e,class:Object(r["normalizeClass"])(["page",{active:e===Object(r["unref"])(o).page}])},["..."===e?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",l," ... ")):(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:1,class:"page-link",to:{path:Object(r["unref"])(O),query:m(+e)}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e),1)]})),_:2},1032,["to"]))],2)})),128)),Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-next",{disabled:!Object(r["unref"])(o).has_next}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,1)},event:Object(r["unref"])(o).has_next?"click":"",disabled:!Object(r["unref"])(o).has_next},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("api.PAGINATION.NEXT"))+" ",1),u]})),_:1},8,["to","event","disabled"])],2)])])}}}),d=(n("30bb"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-de4b01da"]]);t["a"]=b},"71a7":function(e,t,n){"use strict";var r=n("7a23"),c=n("b166"),o=n("dad5"),a=n("2906"),i={id:"user-infos",class:"description-list"},s={class:"user-bio"},l={key:1,class:"profile-buttons"},u={key:2,class:"profile-buttons"},O=Object(r["defineComponent"])({props:{user:null,fromAdmin:{default:!1}},setup:function(e){var t=e,n=Object(a["a"])(),O=Object(r["toRefs"])(t),d=O.user,m=O.fromAdmin,b=Object(r["computed"])((function(){return n.getters[o["a"].GETTERS.AUTH_USER_PROFILE]})),E=Object(r["computed"])((function(){return t.user.created_at?Object(c["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),p=Object(r["computed"])((function(){return t.user.birth_date?Object(c["a"])(new Date(t.user.birth_date),"dd/MM/yyyy"):""})),T=Object(r["ref"])(!1);function f(e){T.value=e}function j(e){n.dispatch(o["e"].ACTIONS.DELETE_USER_ACCOUNT,{username:e})}return function(e,t){var n=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["unref"])(T)?(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:Object(r["unref"])(d).username,onConfirmAction:t[0]||(t[0]=function(e){return j(Object(r["unref"])(d).username)}),onCancelAction:t[1]||(t[1]=function(e){return f(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("dl",null,[Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(E)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).first_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).last_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(p)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).location),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createElementVNode"])("dd",s,Object(r["toDisplayString"])(Object(r["unref"])(d).bio),1)]),Object(r["unref"])(m)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",l,[Object(r["unref"])(b).username!==Object(r["unref"])(d).username?(Object(r["openBlock"])(),Object(r["createElementBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=Object(r["withModifiers"])((function(e){return f(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("button",{onClick:t[3]||(t[3]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])}}}),d=(n("8501"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-deec58e4"]]);t["a"]=b},7489:function(e,t,n){"use strict";n("1f46")},"7cd8":function(e,t,n){"use strict";n("4a0c")},"83d3":function(e,t,n){"use strict";n("aaee")},8501:function(e,t,n){"use strict";n("9260")},"910d":function(e,t,n){},9176:function(e,t,n){"use strict";n("4e82"),n("99af");var r=n("7a23"),c={class:"table-selects"},o=["value"],a=["value"],i=["value"],s=["value"],l=["value"],u=["value"],O=Object(r["defineComponent"])({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup:function(e,t){var n=t.emit,O=e,d=Object(r["toRefs"])(O),m=d.order_by,b=d.query,E=d.sort,p=d.message,T=[10,25,50,100];function f(e){n("updateSelect",e.target.id,e.target.value)}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",c,[Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order_by",id:"order_by",value:Object(r["unref"])(b).order_by,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(m),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("".concat(Object(r["unref"])(p),".").concat(t.toUpperCase()))),9,a)})),128))],40,o)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order",id:"order",value:Object(r["unref"])(b).order,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(E),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.".concat(t.toUpperCase()))),9,s)})),128))],40,i)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"per_page",id:"per_page",value:Object(r["unref"])(b).per_page,onChange:f},[(Object(r["openBlock"])(),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(T,(function(e){return Object(r["createElementVNode"])("option",{value:e,key:e},Object(r["toDisplayString"])(e),9,u)})),64))],40,l)])])}}}),d=(n("9308"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-a5d764a4"]]);t["a"]=b},"922d":function(e,t,n){"use strict";n("dbef")},9260:function(e,t,n){},9308:function(e,t,n){"use strict";n("910d")},"96f9":function(e,t,n){},"97e5":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return l})),n.d(t,"b",(function(){return O}));n("caad"),n("2532"),n("a630"),n("3ca3"),n("99af");var r=["asc","desc"],c=1,o=10,a=function(e,t){return e&&"string"===typeof e&&+e>0?+e:t},i=function(e,t,n){return e&&"string"===typeof e&&t.includes(e)?e:n},s=function(e,t,n,s){var l=s||{},u=l.defaultSort||"asc",O={};return O.page=a(e.page,c),O.per_page=a(e.per_page,o),O.order=i(e.order,r,u),O.order_by=i(e.order_by,t,n),O},l=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Array.from({length:e-t+1},(function(e,n){return t+n}))},O=function(e,t){if(e<0)return[];if(e<9)return u(e);var n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Password: 8 characters required."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Sorry, that user already exists."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Username: 3 to 12 characters required."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems encounter some issues.
Please try later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Enter an email address"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirm the password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirm Password"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Password confirmation"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},c26b:function(e,t,n){},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return o}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],c=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};var c=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?"".concat(c).concat(o):{size:c,suffix:o}},o=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";n("99af");var r=n("7a23"),c=n("d257"),o={class:"user-picture"},a=["alt","src"],i={key:1,class:"no-picture"},s=Object(r["createElementVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),l=[s],u=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["computed"])((function(){return t.user.picture?"".concat(Object(c["a"])(),"users/").concat(t.user.username,"/picture"):""}));return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[""!==Object(r["unref"])(n)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:Object(r["unref"])(n)},null,8,a)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,l))])}}});n("a06d");const O=u;t["a"]=O},c7cd:function(e,t,n){},ccf6:function(e,t,n){},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("d3b7"),n("159b"),n("b0c0");var r=n("9b4a"),c=n("d9fa"),o=n("7a23"),a=n("9483");Object(a["a"])("".concat("/","service-worker.js"),{ready:function(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered:function(){console.log("Service worker has been registered.")},cached:function(){console.log("Content has been cached for offline use.")},updatefound:function(){console.log("New content is downloading.")},updated:function(){console.log("New content is available; please refresh.")},offline:function(){console.log("No internet connection found. App is running in offline mode.")},error:function(e){console.error("Error during service worker registration:",e)}});var i=function(e){return Object(o["pushScopeId"])("data-v-e60d9c5e"),e=e(),Object(o["popScopeId"])(),e},s={id:"footer"},l={class:"footer-items"},u={class:"footer-item"},O=i((function(){return Object(o["createElementVNode"])("strong",null,"FitTrackee",-1)})),d=Object(o["createStaticVNode"])('',4),m=Object(o["defineComponent"])({props:{version:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.version;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",s,[Object(o["createElementVNode"])("div",l,[Object(o["createElementVNode"])("div",u,[O,Object(o["createTextVNode"])(" v"+Object(o["toDisplayString"])(Object(o["unref"])(r)),1)]),d])])}}}),b=(n("3ca5"),n("6b0d")),E=n.n(b);const p=E()(m,[["__scopeId","data-v-e60d9c5e"]]);var T=p,f=(n("25f0"),n("47e2")),j=n("c46a"),S=n("dad5"),A=n("2906"),_=(n("d81d"),n("8923")),N=n("d481");n("ddb0"),n("ac1f"),n("466d");function R(){var e=n("e7b6"),t={};return e.keys().forEach((function(n){var r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){var c=r[1];t[c]=e(n).default}})),t}var g=Object(f["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:R()}),I={en:_["a"],fr:N["a"]},v={en:"English",fr:"Français"},h=g.global.availableLocales,U=h.map((function(e){return{label:v[e],value:e}})),k=function(e){return Object(o["pushScopeId"])("data-v-53493688"),e=e(),Object(o["popScopeId"])(),e},D={id:"nav"},C={class:"nav-container"},P={class:"nav-app-name"},L={class:"nav-items-close"},M=k((function(){return Object(o["createElementVNode"])("div",{class:"app-name"},"FitTrackee",-1)})),z={key:0,class:"nav-items-group"},y=k((function(){return Object(o["createElementVNode"])("div",{class:"nav-item nav-separator"},null,-1)})),w={class:"nav-items-user-menu"},V={key:0,class:"nav-items-group"},B={class:"nav-item nav-profile-img"},G={key:1,class:"nav-items-group"},x=k((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-language"},null,-1)})),F=Object(o["defineComponent"])({emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(f["b"])(),c=r.locale,a=Object(A["a"])(),i=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.IS_AUTHENTICATED]})),l=Object(o["computed"])((function(){return a.getters[S["b"].GETTERS.LANGUAGE]})),u=Object(o["ref"])(!1);function O(){u.value=!0,n("menuInteraction",!0)}function d(){u.value=!1,n("menuInteraction",!1)}function m(e){c.value=e.value.toString(),a.commit(S["b"].MUTATIONS.UPDATE_LANG,e.value)}function b(){a.dispatch(S["a"].ACTIONS.LOGOUT)}return function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("Dropdown");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",D,[Object(o["createElementVNode"])("div",C,[Object(o["createElementVNode"])("div",P,[Object(o["createElementVNode"])("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-icon-open",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=function(e){return O()})})],2),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-items",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("div",L,[M,Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])(["fa fa-close close-icon nav-item",{"menu-closed":!Object(o["unref"])(u)}]),onClick:t[2]||(t[2]=function(e){return d()})},null,2)]),Object(o["createElementVNode"])("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=function(e){return d()})},[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",z,[Object(o["createVNode"])(n,{class:"nav-item",to:"/"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/statistics"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts/add"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),Object(o["unref"])(s)&&Object(o["unref"])(i).admin?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,class:"nav-item",to:"/admin"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(o["createCommentVNode"])("",!0),y])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",w,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",V,[Object(o["createElementVNode"])("div",B,[Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(i)},null,8,["user"])]),Object(o["createVNode"])(n,{class:"nav-item",to:"/profile",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i).username),1)]})),_:1}),Object(o["createElementVNode"])("div",{class:"nav-item nav-link",onClick:b},Object(o["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",G,[Object(o["createVNode"])(n,{class:"nav-item",to:"/login",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/register",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1})])),Object(o["unref"])(U)&&Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,class:"nav-item",options:Object(o["unref"])(U),selected:Object(o["unref"])(l),onSelected:m},{default:Object(o["withCtx"])((function(){return[x]})),_:1},8,["options","selected"])):Object(o["createCommentVNode"])("",!0)])],2)])])}}});n("bae4");const K=E()(F,[["__scopeId","data-v-53493688"]]);var W=K,$={id:"no-config"},H={class:"error-page"},Y=Object(o["createStaticVNode"])('
',1),q=["innerHTML"];function X(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$,[Object(o["createElementVNode"])("div",H,[Y,Object(o["createElementVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,q)])])}n("ba7f");const Z={},J=E()(Z,[["render",X],["__scopeId","data-v-c1193208"]]);var Q=J,ee=function(e){return Object(o["pushScopeId"])("data-v-6c3336ff"),e=e(),Object(o["popScopeId"])(),e},te=ee((function(){return Object(o["createElementVNode"])("div",{id:"top"},null,-1)})),ne={key:0,class:"app-container"},re={class:"app-loading"},ce={class:"container scroll"},oe=ee((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1)})),ae=[oe],ie=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_CONFIG]})),r=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_LOADING]})),c=Object(o["ref"])(!1),a=Object(o["ref"])(!1);function i(e){c.value=e}function s(e){return e.getBoundingClientRect().top=0}function l(){window.onscroll=function(){var e=document.querySelector("#bottom");a.value=null!==e&&s(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){a.value=!1}),300)}return Object(o["onBeforeMount"])((function(){return t.dispatch(S["b"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(o["onMounted"])((function(){return l()})),function(e,t){var s=Object(o["resolveComponent"])("Loader"),l=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[te,Object(o["createVNode"])(W,{onMenuInteraction:i}),Object(o["unref"])(r)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ne,[Object(o["createElementVNode"])("div",re,[Object(o["createVNode"])(s)])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:1,class:Object(o["normalizeClass"])(["app-container",{"hide-scroll":c.value}])},[Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(l,{key:0})):(Object(o["openBlock"])(),Object(o["createBlock"])(Q,{key:1}))],2)),Object(o["createElementVNode"])("div",ce,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["scroll-button",{"display-button":a.value}]),onClick:u},ae,2)]),Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(T,{key:2,version:Object(o["unref"])(n)?Object(o["unref"])(n).version:""},null,8,["version"])):Object(o["createCommentVNode"])("",!0)],64)}}});n("1446");const se=E()(ie,[["__scopeId","data-v-6c3336ff"]]);var le=se,ue=(n("5319"),n("3ca3"),n("caad"),n("6c02")),Oe=(n("b64b"),n("c364")),de=function(e){return Object(o["pushScopeId"])("data-v-03002a18"),e=e(),Object(o["popScopeId"])(),e},me={id:"admin-app",class:"admin-card"},be=["onSubmit"],Ee={for:"max_users"},pe=["disabled"],Te={class:"user-limit-help"},fe={class:"info-box"},je=de((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Se={for:"max_single_file_size"},Ae=["disabled"],_e={for:"max_zip_file_size"},Ne=["disabled"],Re={for:"gpx_limit_import"},ge=["disabled"],Ie={key:1,class:"form-buttons"},ve={class:"confirm",type:"submit"},he=["onClick"],Ue={key:2,class:"form-buttons"},ke=Object(o["defineComponent"])({props:{appConfig:null,edition:{default:!1}},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(ue["d"])(),c=Object(o["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e){Object.keys(c).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?c[t]=Object(Oe["a"])(e[t]):c[t]=e[t]}))}function s(){i(t.appConfig),n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),r.push("/admin/application")}function l(){var e=Object.assign({},c);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,n.dispatch(S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(o["onBeforeMount"])((function(){t.appConfig&&i(t.appConfig)})),function(t,n){var r=Object(o["resolveComponent"])("ErrorMessage"),i=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",me,[Object(o["createVNode"])(i,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("form",{class:"admin-form",onSubmit:Object(o["withModifiers"])(l,["prevent"])},[Object(o["createElementVNode"])("label",Ee,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["unref"])(c).max_users=e}),disabled:!e.edition},null,8,pe),[[o["vModelText"],Object(o["unref"])(c).max_users]])]),Object(o["createElementVNode"])("div",Te,[Object(o["createElementVNode"])("span",fe,[je,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(o["createElementVNode"])("label",Se,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[1]||(n[1]=function(e){return Object(o["unref"])(c).max_single_file_size=e}),disabled:!e.edition},null,8,Ae),[[o["vModelText"],Object(o["unref"])(c).max_single_file_size]])]),Object(o["createElementVNode"])("label",_e,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[2]||(n[2]=function(e){return Object(o["unref"])(c).max_zip_file_size=e}),disabled:!e.edition},null,8,Ne),[[o["vModelText"],Object(o["unref"])(c).max_zip_file_size]])]),Object(o["createElementVNode"])("label",Re,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":n[3]||(n[3]=function(e){return Object(o["unref"])(c).gpx_limit_import=e}),disabled:!e.edition},null,8,ge),[[o["vModelText"],Object(o["unref"])(c).gpx_limit_import]])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),e.edition?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ie,[Object(o["createElementVNode"])("button",ve,Object(o["toDisplayString"])(t.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:Object(o["withModifiers"])(s,["prevent"])},Object(o["toDisplayString"])(t.$t("buttons.CANCEL")),9,he)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ue,[Object(o["createElementVNode"])("button",{class:"confirm",onClick:n[4]||(n[4]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin/application/edit")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("buttons.EDIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:n[5]||(n[5]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("admin.BACK_TO_ADMIN")),1)]))],40,be)]})),_:1})])}}});n("61af");const De=E()(ke,[["__scopeId","data-v-03002a18"]]);var Ce=De,Pe=n("05d9"),Le={id:"user-stats"},Me=Object(o["defineComponent"])({props:{appStatistics:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appStatistics,c=Object(o["computed"])((function(){return Object(Oe["b"])(r.value.uploads_dir_size,!1)}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Le,[Object(o["createVNode"])(Pe["a"],{icon:"users",value:Object(o["unref"])(r).users,text:e.$t("admin.USER",Object(o["unref"])(r).users)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"tags",value:Object(o["unref"])(r).sports,text:e.$t("workouts.SPORT",Object(o["unref"])(r).sports)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"calendar",value:Object(o["unref"])(r).workouts,text:e.$t("workouts.WORKOUT",Object(o["unref"])(r).workouts)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"folder-open",value:Object(o["unref"])(c).size,text:Object(o["unref"])(c).suffix},null,8,["value","text"])])}}});n("7cd8");const ze=Me;var ye=ze,we={class:"card"},Ve={class:"card-title"},Be={class:"card-content"};function Ge(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",we,[Object(o["createElementVNode"])("div",Ve,[Object(o["renderSlot"])(e.$slots,"title")]),Object(o["createElementVNode"])("div",Be,[Object(o["renderSlot"])(e.$slots,"content")])])}n("83d3");const xe={},Fe=E()(xe,[["render",Ge]]);var Ke=Fe,We=function(e){return Object(o["pushScopeId"])("data-v-7dad7915"),e=e(),Object(o["popScopeId"])(),e},$e={id:"admin-menu",class:"center-card"},He={class:"admin-menu description-list"},Ye=We((function(){return Object(o["createElementVNode"])("br",null,null,-1)})),qe={class:"registration-status"},Xe=Object(o["defineComponent"])({props:{appConfig:null,appStatistics:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appConfig,c=n.appStatistics;return function(e,t){var n=Object(o["resolveComponent"])("router-link");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$e,[Object(o["createVNode"])(Ke,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(ye,{appStatistics:Object(o["unref"])(c)},null,8,["appStatistics"]),Object(o["createElementVNode"])("div",He,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/application"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ye,Object(o["createElementVNode"])("span",qe,Object(o["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(Object(o["unref"])(r).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/sports"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/users"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])}}});n("07a4");const Ze=E()(Xe,[["__scopeId","data-v-7dad7915"]]);var Je=Ze,Qe=n("1119"),et=function(e){return Object(o["pushScopeId"])("data-v-7342d2cc"),e=e(),Object(o["popScopeId"])(),e},tt={id:"admin-sports",class:"admin-card"},nt={class:"responsive-table"},rt=et((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),ct={class:"text-left"},ot={class:"text-left sport-action"},at=et((function(){return Object(o["createElementVNode"])("th",null,null,-1)})),it={class:"text-center"},st=et((function(){return Object(o["createElementVNode"])("span",{class:"cell-heading"},"id",-1)})),lt={class:"cell-heading"},ut={class:"sport-label"},Ot={class:"cell-heading"},dt={class:"text-center"},mt={class:"cell-heading"},bt={class:"sport-action"},Et={class:"cell-heading"},pt={class:"action-button"},Tt=["onClick"],ft={key:0,class:"has-workouts"},jt=et((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)})),St=Object(o["defineComponent"])({setup:function(e){var t=Object(f["b"])(),n=t.t,r=Object(A["a"])(),c=Object(o["computed"])((function(){return Object(Qe["e"])(r.getters[S["c"].GETTERS.SPORTS],n)})),a=Object(o["computed"])((function(){return r.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e,t){r.dispatch(S["c"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage"),s=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",tt,[Object(o["createVNode"])(s,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createElementVNode"])("div",nt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[rt,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createElementVNode"])("th",ct,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("th",ot,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),at])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(c),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.id},[Object(o["createElementVNode"])("td",it,[st,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.id),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",lt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createVNode"])(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),Object(o["createElementVNode"])("td",ut,[Object(o["createElementVNode"])("span",Ot,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.translatedLabel),1)]),Object(o["createElementVNode"])("td",dt,[Object(o["createElementVNode"])("span",mt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",bt,[Object(o["createElementVNode"])("span",Et,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("div",pt,[Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.is_active}),onClick:function(e){return i(t.id,!t.is_active)}},Object(o["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,Tt),t.has_workouts?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",ft,[jt,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(o["createCommentVNode"])("",!0)])])])})),128))])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("a583");const At=E()(St,[["__scopeId","data-v-7342d2cc"]]);var _t=At,Nt=n("b166"),Rt=n("9176"),gt=n("6d7d"),It=n("97e5"),vt=n("5e65"),ht=function(e){return Object(o["pushScopeId"])("data-v-0d3ec733"),e=e(),Object(o["popScopeId"])(),e},Ut={id:"admin-users",class:"admin-card"},kt={class:"responsive-table"},Dt=ht((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),Ct={class:"left-text"},Pt={class:"left-text"},Lt={class:"left-text"},Mt={class:"cell-heading"},zt={class:"cell-heading"},yt={class:"cell-heading"},wt={class:"cell-heading"},Vt={class:"text-center"},Bt={class:"cell-heading"},Gt={class:"text-center"},xt={class:"cell-heading"},Ft={class:"text-center"},Kt={class:"cell-heading"},Wt=["disabled","onClick"],$t=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(ue["c"])(),r=Object(ue["d"])(),c=["admin","created_at","username","workouts_count"],a="created_at",i=Object(o["reactive"])(Object(It["a"])(n.query,c,a)),s=Object(o["computed"])((function(){return t.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),l=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS]})),u=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS_PAGINATION]})),O=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function d(e){t.dispatch(S["e"].ACTIONS.GET_USERS,e)}function m(e,n){t.dispatch(S["e"].ACTIONS.UPDATE_USER,{username:e,admin:n})}function b(e,t){i[e]=t,"per_page"===e&&(i.page=1),r.push({path:"/admin/users",query:i})}return Object(o["onBeforeMount"])((function(){return d(i)})),Object(o["onUnmounted"])((function(){t.dispatch(S["e"].ACTIONS.EMPTY_USERS)})),Object(o["watch"])((function(){return n.query}),(function(e){i=Object(It["a"])(e,c,a,{query:i}),d(i)})),function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ut,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createVNode"])(Rt["a"],{sort:Object(o["unref"])(It["c"]),order_by:c,query:Object(o["unref"])(i),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:b},null,8,["sort","query"]),Object(o["createElementVNode"])("div",kt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Dt,Object(o["createElementVNode"])("th",Ct,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createElementVNode"])("th",Pt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createElementVNode"])("th",Lt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(l),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.username},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Mt,Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(o["createVNode"])(j["a"],{user:t},null,8,["user"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",zt,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createVNode"])(n,{to:"/users/".concat(t.username)},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",yt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.email),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",wt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(Nt["a"])(Object(o["unref"])(vt["c"])(t.created_at,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",Vt,[Object(o["createElementVNode"])("span",Bt,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.nb_workouts),1)]),Object(o["createElementVNode"])("td",Gt,[Object(o["createElementVNode"])("span",xt,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.admin?"-check":"","-square-o")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",Ft,[Object(o["createElementVNode"])("span",Kt,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.admin}),disabled:t.username===Object(o["unref"])(s).username,onClick:function(e){return m(t.username,!t.admin)}},Object(o["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,Wt)])])})),128))])]),Object(o["unref"])(u).page?(Object(o["openBlock"])(),Object(o["createBlock"])(gt["a"],{key:0,path:"/admin/users",pagination:Object(o["unref"])(u),query:Object(o["unref"])(i)},null,8,["pagination","query"])):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(O)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:1,message:Object(o["unref"])(O)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("4042");const Ht=E()($t,[["__scopeId","data-v-0d3ec733"]]);var Yt=Ht,qt=n("3c44"),Xt=(n("99af"),{class:"profile-tabs custom-checkboxes-group"}),Zt={class:"profile-tabs-checkboxes custom-checkboxes"},Jt=["id","name","checked","disabled","onInput"],Qt=Object(o["defineComponent"])({props:{tabs:null,selectedTab:null,edition:null,disabled:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.tabs,c=n.selectedTab,a=n.disabled;function i(e){switch(e){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":case"SPORTS":return"/profile".concat(t.edition?"/edit":"","/").concat(e.toLocaleLowerCase());default:case"PROFILE":return"/profile".concat(t.edition?"/edit":"")}}return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xt,[Object(o["createElementVNode"])("div",Zt,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(o["createElementVNode"])("label",null,[Object(o["createElementVNode"])("input",{type:"radio",id:t,name:t,checked:Object(o["unref"])(c)===t,disabled:Object(o["unref"])(a),onInput:function(n){return e.$router.push(i(t))}},null,40,Jt),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}}});n("fa52");const en=Qt;var tn=en,nn={id:"user-profile"},rn={class:"box"},cn=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.user,c=n.tab,a=["PROFILE","PREFERENCES","SPORTS"];return function(e,t){var n=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nn,[Object(o["createVNode"])(qt["a"],{user:Object(o["unref"])(r)},null,8,["user"]),Object(o["createElementVNode"])("div",rn,[Object(o["createVNode"])(tn,{tabs:a,selectedTab:Object(o["unref"])(c),edition:!1},null,8,["selectedTab"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(r)},null,8,["user"])])])}}});n("f509");const on=E()(cn,[["__scopeId","data-v-41d26a96"]]);var an=on,sn=n("71a7"),ln={id:"user-preferences",class:"description-list"},un={class:"profile-buttons"},On=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(o["computed"])((function(){return t.user.language?v[t.user.language]:v["en"]})),r=Object(o["computed"])((function(){return t.user.weekm?"MONDAY":"SUNDAY"})),c=Object(o["computed"])((function(){return t.user.timezone?t.user.timezone:"Europe/Paris"}));return function(t,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ln,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.LANGUAGE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(n)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.TIMEZONE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(c)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.".concat(Object(o["unref"])(r)))),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.".concat(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),Object(o["createElementVNode"])("div",un,[Object(o["createElementVNode"])("button",{onClick:a[0]||(a[0]=function(e){return t.$router.push("/profile/edit/preferences")})},Object(o["toDisplayString"])(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:a[1]||(a[1]=function(e){return t.$router.push("/")})},Object(o["toDisplayString"])(t.$t("common.HOME")),1)])])}}});const dn=On;var mn=dn,bn={id:"user-profile-edition",class:"center-card"},En=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=r.tab,i=["PROFILE","PICTURE","PREFERENCES","SPORTS"],s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]}));return function(e,t){var n=Object(o["resolveComponent"])("router-view"),r=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",bn,[Object(o["createVNode"])(r,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(Object(o["unref"])(a),"_EDITION"))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(tn,{tabs:i,selectedTab:Object(o["unref"])(a),edition:!0,disabled:Object(o["unref"])(s)},null,8,["selectedTab","disabled"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(c)},null,8,["user"])]})),_:1})])}}});const pn=En;var Tn=pn,fn={id:"user-infos-edition"},jn={class:"profile-form form-box"},Sn=["onSubmit"],An={class:"form-items",for:"email"},_n=["value"],Nn={class:"form-items",for:"registrationDate"},Rn=["value"],gn={class:"form-items",for:"password"},In=["disabled"],vn={class:"form-items",for:"passwordConfirmation"},hn=["disabled"],Un=Object(o["createElementVNode"])("hr",null,null,-1),kn={class:"form-items",for:"first_name"},Dn=["disabled"],Cn={class:"form-items",for:"last_name"},Pn={class:"form-items",for:"birth_date"},Ln=["disabled"],Mn={class:"form-items",for:"location"},zn=["disabled"],yn={class:"form-items"},wn={class:"form-buttons"},Vn={class:"confirm",type:"submit"},Bn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),i=Object(o["computed"])((function(){return t.user.created_at?Object(Nt["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),l=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),u=Object(o["ref"])(!1);function O(e){a.first_name=e.first_name?e.first_name:"",a.last_name=e.last_name?e.last_name:"",a.birth_date=e.birth_date?Object(Nt["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",a.location=e.location?e.location:"",a.bio=e.bio?e.bio:""}function d(e){a.bio=e}function m(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PROFILE,a)}function b(e){u.value=e}function E(e){n.dispatch(S["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(o["onMounted"])((function(){t.user&&O(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("Modal"),r=Object(o["resolveComponent"])("ErrorMessage"),O=Object(o["resolveComponent"])("CustomTextArea");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",fn,[Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=function(e){return E(Object(o["unref"])(c).username)}),onCancelAction:t[1]||(t[1]=function(e){return b(!1)})},null,8,["title","message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",jn,[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(l)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(m,["prevent"])},[Object(o["createElementVNode"])("label",An,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(o["createElementVNode"])("input",{id:"email",value:Object(o["unref"])(c).email,disabled:""},null,8,_n)]),Object(o["createElementVNode"])("label",Nn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(o["createElementVNode"])("input",{id:"registrationDate",value:Object(o["unref"])(i),disabled:""},null,8,Rn)]),Object(o["createElementVNode"])("label",gn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(a).password=e}),disabled:Object(o["unref"])(s)},null,8,In),[[o["vModelText"],Object(o["unref"])(a).password]])]),Object(o["createElementVNode"])("label",vn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(o["unref"])(a).password_conf=e}),disabled:Object(o["unref"])(s)},null,8,hn),[[o["vModelText"],Object(o["unref"])(a).password_conf]])]),Un,Object(o["createElementVNode"])("label",kn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"first_name","onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(o["unref"])(a).first_name=e}),disabled:Object(o["unref"])(s)},null,8,Dn),[[o["vModelText"],Object(o["unref"])(a).first_name]])]),Object(o["createElementVNode"])("label",Cn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"last_name","onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(o["unref"])(a).last_name=e})},null,512),[[o["vModelText"],Object(o["unref"])(a).last_name]])]),Object(o["createElementVNode"])("label",Pn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(o["unref"])(a).birth_date=e}),disabled:Object(o["unref"])(s)},null,8,Ln),[[o["vModelText"],Object(o["unref"])(a).birth_date]])]),Object(o["createElementVNode"])("label",Mn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"location","onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(o["unref"])(a).location=e}),disabled:Object(o["unref"])(s)},null,8,zn),[[o["vModelText"],Object(o["unref"])(a).location]])]),Object(o["createElementVNode"])("label",yn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(o["createVNode"])(O,{name:"bio",charLimit:200,input:Object(o["unref"])(a).bio,disabled:Object(o["unref"])(s),onUpdateValue:d},null,8,["input","disabled"])]),Object(o["createElementVNode"])("div",wn,[Object(o["createElementVNode"])("button",Vn,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[8]||(t[8]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(o["createElementVNode"])("button",{class:"danger",onClick:t[9]||(t[9]=Object(o["withModifiers"])((function(e){return b(!0)}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],40,Sn)])])}}});n("44dee");const Gn=Bn;var xn=Gn,Fn=function(e){return Object(o["pushScopeId"])("data-v-239b9d46"),e=e(),Object(o["popScopeId"])(),e},Kn={id:"user-picture-edition"},Wn={class:"user-picture-form"},$n=["onSubmit"],Hn={class:"picture-help"},Yn={class:"info-box"},qn=Fn((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Xn={class:"picture-buttons"},Zn=["disabled"],Jn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),i=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.APP_CONFIG]})),s=i.value.max_single_file_size?Object(Oe["b"])(i.value.max_single_file_size):"",l=Object(o["ref"])(null);function u(){n.dispatch(S["a"].ACTIONS.DELETE_PICTURE)}function O(e){e.target.files&&(l.value=e.target.files[0])}function d(){l.value&&n.dispatch(S["a"].ACTIONS.UPDATE_USER_PICTURE,{picture:l.value})}return function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Kn,[Object(o["createElementVNode"])("div",Wn,[Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(c)},null,8,["user"]),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(d,["prevent"])},[Object(o["createElementVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:O},null,32),Object(o["createElementVNode"])("div",Hn,[Object(o["createElementVNode"])("span",Yn,[qn,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(s)),1)])]),Object(o["createElementVNode"])("div",Xn,[Object(o["createElementVNode"])("button",{type:"submit",disabled:!Object(o["unref"])(l)},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Zn),Object(o["unref"])(c).picture?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"danger",onClick:u},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=function(t){return e.$router.push("/profile")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,$n)])])}}});n("9ad0");const Qn=E()(Jn,[["__scopeId","data-v-239b9d46"]]);var er=Qn,tr=(n("498a"),n("4de4"),["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"]),nr={id:"tz-dropdown"},rr=["value","disabled","onKeydown"],cr=["onClick","onMouseover","autofocus"],or=Object(o["defineComponent"])({props:{input:null,disabled:{default:!1}},emits:["updateTimezone"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["toRefs"])(r),a=c.input,i=c.disabled,s=Object(o["ref"])(r.input),l=Object(o["ref"])(!1),u=Object(o["ref"])(null),O=Object(o["ref"])(0);function d(e){return e.toLowerCase().match(s.value.toLowerCase())}function m(e){O.value=e}function b(e){s.value=e,l.value=!1,n("updateTimezone",e)}function E(e){var t,n,r,c;(e.preventDefault(),null!==(t=u.value)&&void 0!==t&&null!==(n=t.firstElementChild)&&void 0!==n&&n.innerHTML)&&b(null===(r=u.value)||void 0===r||null===(c=r.firstElementChild)||void 0===c?void 0:c.innerHTML)}function p(e){e.preventDefault(),l.value=!0,s.value=e.target.value.trim()}return Object(o["watch"])((function(){return r.input}),(function(e){s.value=e})),function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nr,[Object(o["createElementVNode"])("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:s.value,disabled:Object(o["unref"])(i),required:"",onKeydown:[t[0]||(t[0]=Object(o["withKeys"])((function(e){return b(Object(o["unref"])(a))}),["esc"])),Object(o["withKeys"])(E,["enter"])],onInput:p},null,40,rr),l.value?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",{key:0,class:"tz-dropdown-list",ref:function(e,t){t["tzList"]=e,u.value=e}},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(tr).filter((function(e){return d(e)})),(function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:e,class:Object(o["normalizeClass"])(["tz-dropdown-item",{focus:t===O.value}]),onClick:function(t){return b(e)},onMouseover:function(e){return m(t)},autofocus:t===O.value},Object(o["toDisplayString"])(e),43,cr)})),128))],512)):Object(o["createCommentVNode"])("",!0)])}}});n("dfd6");const ar=E()(or,[["__scopeId","data-v-d1c5cf04"]]);var ir=ar,sr={id:"user-preferences-edition"},lr={class:"profile-form form-box"},ur=["onSubmit"],Or={class:"form-items"},dr=["disabled"],mr=["value"],br={class:"form-items"},Er={class:"form-items"},pr=["disabled"],Tr=["value"],fr={class:"form-items"},jr=["disabled"],Sr=["value"],Ar={class:"form-buttons"},_r={class:"confirm",type:"submit"},Nr=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["reactive"])({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),c=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],a=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],i=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),s=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function l(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function u(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PREFERENCES,r)}function O(e){r.timezone=e}return Object(o["onMounted"])((function(){t.user&&l(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",sr,[Object(o["createElementVNode"])("div",lr,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(s)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(u,["prevent"])},[Object(o["createElementVNode"])("label",Or,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(o["unref"])(r).language=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(U),(function(e){return Object(o["openBlock"])(),Object(o["createElementBlock"])("option",{value:e.value,key:e.value},Object(o["toDisplayString"])(e.label),9,mr)})),128))],8,dr),[[o["vModelSelect"],Object(o["unref"])(r).language]])]),Object(o["createElementVNode"])("label",br,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(o["createVNode"])(ir,{input:Object(o["unref"])(r).timezone,disabled:Object(o["unref"])(i),onUpdateTimezone:O},null,8,["input","disabled"])]),Object(o["createElementVNode"])("label",Er,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(o["unref"])(r).weekm=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(c,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,Tr)})),64))],8,pr),[[o["vModelSelect"],Object(o["unref"])(r).weekm]])]),Object(o["createElementVNode"])("label",fr,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(r).imperial_units=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(a,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.".concat(t.label))),9,Sr)})),64))],8,jr),[[o["vModelSelect"],Object(o["unref"])(r).imperial_units]])]),Object(o["createElementVNode"])("div",Ar,[Object(o["createElementVNode"])("button",_r,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],40,ur)])])}}});const Rr=Nr;var gr=Rr,Ir=(n("2532"),{id:"user-sport-preferences"}),vr={key:0,class:"responsive-table"},hr={class:"mobile-display"},Ur={key:0,class:"profile-buttons mobile-display"},kr={key:1,class:"profile-buttons"},Dr={class:"text-left"},Cr={key:0},Pr={class:"cell-heading"},Lr=["value"],Mr={class:"cell-heading"},zr={key:0,class:"disabled-message"},yr={key:1,class:"fa fa-refresh fa-spin fa-fw"},wr={class:"cell-heading"},Vr={class:"cell-heading"},Br=["checked"],Gr={class:"cell-heading"},xr=["value"],Fr={key:1},Kr={key:0,class:"action-buttons"},Wr={class:"cell-heading"},$r=["onClick"],Hr={key:1,class:"edition-buttons"},Yr=["disabled"],qr=["disabled"],Xr={key:0,class:"profile-buttons"},Zr={key:1,class:"profile-buttons"},Jr=Object(o["defineComponent"])({props:{user:null,isEdition:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(f["b"])(),c=r.t,a=Object(o["toRefs"])(t),i=a.isEdition,s=a.user,l=Object(o["inject"])("sportColors"),u=Object(o["computed"])((function(){return n.getters[S["c"].GETTERS.SPORTS]})),O=Object(o["computed"])((function(){return Object(Qe["e"])(u.value,c,!0,s.value.sports_list)})),d=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),m=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),b=Object(o["reactive"])({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function E(e){null!==e?(b.sport_id=e.id,b.color=e.color?e.color:l[e.label],b.is_active=e.is_active_for_user,b.stopped_speed_threshold=e.stopped_speed_threshold):N()}function p(e){return b.sport_id===e}function T(e){b.color=e.target.value}function j(e){b.stopped_speed_threshold=parseFloat(e.target.value)}function _(e){b.is_active=e.target.checked}function N(){b.sport_id=0,b.color=null,b.is_active=!0,b.stopped_speed_threshold=1,n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)}function R(e){e.preventDefault(),n.dispatch(S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,b)}return Object(o["watch"])((function(){return d.value}),(function(e){e||m.value||N()})),function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ir,[Object(o["unref"])(u).length>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",vr,[Object(o["createElementVNode"])("div",hr,[Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ur,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",kr,[Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),Object(o["createElementVNode"])("th",Dr,Object(o["toDisplayString"])(e.$t("workouts.SPORT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",Cr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1)):Object(o["createCommentVNode"])("",!0)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(c){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:c.id},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Pr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"sport-color",type:"color",value:Object(o["unref"])(b).color,onInput:T},null,40,Lr)):(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:1,title:c.translatedLabel,"sport-label":c.label,color:c.color?c.color:Object(o["unref"])(l)[c.label]},null,8,["title","sport-label","color"]))]),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["sport-label",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Mr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(c.translatedLabel)+" ",1),c.is_active?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",zr," ("+Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),Object(o["unref"])(d)&&p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",yr)):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(m)&&Object(o["unref"])(b).sport_id===c.id?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,message:Object(o["unref"])(m)},null,8,["message"])):Object(o["createCommentVNode"])("",!0)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",wr,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(Object(o["unref"])(s).sports_list.includes(c.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Vr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,type:"checkbox",checked:c.is_active_for_user,onChange:_},null,40,Br)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",{key:1,class:Object(o["normalizeClass"])("fa fa".concat(c.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Gr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:Object(o["unref"])(b).stopped_speed_threshold,onInput:j},null,40,xr)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",Fr,Object(o["toDisplayString"])(c.stopped_speed_threshold),1))],2),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",Kr,[Object(o["createElementVNode"])("span",Wr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1),0===Object(o["unref"])(b).sport_id?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,onClick:function(e){return E(c)}},Object(o["toDisplayString"])(e.$t("buttons.EDIT")),9,$r)):Object(o["createCommentVNode"])("",!0),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Hr,[Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:R},Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),9,Yr),Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:t[3]||(t[3]=function(e){return E(null)})},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),9,qr)])):Object(o["createCommentVNode"])("",!0)])):Object(o["createCommentVNode"])("",!0)])})),128))])]),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xr,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Zr,[Object(o["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))])):Object(o["createCommentVNode"])("",!0)])}}});n("e7b2");const Qr=E()(Jr,[["__scopeId","data-v-bd7a47b2"]]);var ec=Qr,tc=n("5502"),nc=n("ade3"),rc=n("bc3a"),cc=n.n(rc),oc=n("d257"),ac=cc.a.create({baseURL:Object(oc["a"])()});ac.interceptors.request.use((function(e){var t=bo.getters[S["a"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var ic,sc,lc,uc,Oc,dc,mc,bc,Ec,pc,Tc,fc,jc,Sc,Ac=ac,_c=cc.a.create({baseURL:Object(oc["a"])()}),Nc=_c,Rc=function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.delete("users/".concat(t.username)).then((function(n){204===n.status?t.fromAdmin?jo.push("/admin/users"):e.dispatch(S["a"].ACTIONS.LOGOUT).then((function(){return jo.push("/")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},gc=(ic={},Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USER,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USER,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USERS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USERS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["e"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.DELETE_USER_ACCOUNT,(function(e,t){Rc(e,{username:t.username,fromAdmin:!0})})),ic),Ic=g.global.locale,vc=function(e){localStorage.removeItem("authToken"),e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["d"].MUTATIONS.EMPTY_USER_STATS),e.commit(S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUTS),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),jo.push("/login")},hc=(sc={},Object(nc["a"])(sc,S["a"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE))})),Object(nc["a"])(sc,S["a"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language),e.dispatch(S["c"].ACTIONS.GET_SPORTS)):(Object(oc["b"])(e,null),vc(e))})).catch((function(t){Object(oc["b"])(e,t),vc(e)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("/auth/".concat(t.actionType),t.formData).then((function(n){if("success"===n.data.status){var r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")}))}else Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGOUT,(function(e){vc(e)})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),jo.push("/profile")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language,jo.push("/profile/preferences")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/sports",t).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){Object(oc["b"])(e,t),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),Ac.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_ACCOUNT,(function(e,t){Rc(e,t)})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.delete("auth/picture").then((function(t){204===t.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/sent"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/update",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/password-updated"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),sc),Uc=(lc={},Object(nc["a"])(lc,S["a"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(nc["a"])(lc,S["a"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(nc["a"])(lc,S["a"].GETTERS.USER_LOADING,(function(e){return e.loading})),lc),kc=(uc={},Object(nc["a"])(uc,S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),uc),Dc={authToken:null,authUserProfile:{},loading:!1},Cc={state:Dc,actions:hc,getters:Uc,mutations:kc},Pc=Cc,Lc=(Oc={},Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),Ac.get("config").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/all").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),jo.push("/admin/application")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Oc),Mc=(dc={},Object(nc["a"])(dc,S["b"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(nc["a"])(dc,S["b"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(nc["a"])(dc,S["b"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(nc["a"])(dc,S["b"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(nc["a"])(dc,S["b"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(nc["a"])(dc,S["b"].GETTERS.LOCALE,(function(e){return e.locale})),dc),zc=(mc={},Object(nc["a"])(mc,S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(nc["a"])(mc,S["b"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=I[t]})),mc),yc={root:!0,language:"en",locale:_["a"],errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},wc=(bc={},Object(nc["a"])(bc,S["c"].ACTIONS.GET_SPORTS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("sports").then((function(t){"success"===t.data.status?(e.commit(S["c"].MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(bc,S["c"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),bc),Vc=Object(nc["a"])({},S["c"].GETTERS.SPORTS,(function(e){return e.sports})),Bc=Object(nc["a"])({},S["c"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),Gc={sports:[]},xc={state:Gc,actions:wc,getters:Vc,mutations:Bc},Fc=xc,Kc=Object(nc["a"])({},S["d"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(S["d"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Wc=Object(nc["a"])({},S["d"].GETTERS.USER_STATS,(function(e){return e.statistics})),$c=(Ec={},Object(nc["a"])(Ec,S["d"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(nc["a"])(Ec,S["d"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),Ec),Hc={statistics:{}},Yc={state:Hc,actions:Kc,getters:Wc,mutations:$c},qc=Yc,Xc=(pc={},Object(nc["a"])(pc,S["e"].GETTERS.USER,(function(e){return e.user})),Object(nc["a"])(pc,S["e"].GETTERS.USERS,(function(e){return e.users})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),pc),Zc=(Tc={},Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),Tc),Jc={user:{},users:[],loading:!1,pagination:{}},Qc={state:Jc,actions:gc,getters:Xc,mutations:Zc},eo=Qc,to=n("4870"),no=function(e,t,n){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("workouts",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["f"].MUTATIONS[n],t.data.data.workouts),n===to["c"]["SET_USER_WORKOUTS"]&&e.commit(S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},ro=(fc={},Object(nc["a"])(fc,S["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),no(e,t,to["c"]["SET_CALENDAR_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_USER_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["ADD_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";Ac.get("workouts/".concat(t.workoutId)).then((function(r){var c=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===c.segments.length||!c.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(S["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(Ac.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),Ac.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,null)})).catch((function(t){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),jo.push("/")})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),e.dispatch(S["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){jo.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");var n=new FormData;n.append("file",t.file),n.append("data",'{"sport_id": '.concat(t.sport_id,', "notes": "').concat(t.notes,'"}')),Ac.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push("/workouts/".concat(n.id))}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),fc),co=(jc={},Object(nc["a"])(jc,S["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.TIMELINE_WORKOUTS,(function(e){return e.timeline_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUTS_PAGINATION,(function(e){return e.pagination})),jc),oo=(Sc={},Object(nc["a"])(Sc,S["f"].MUTATIONS.ADD_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=e.timeline_workouts.concat(t)})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,(function(e,t){e.pagination=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),Sc),ao={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},io={state:ao,actions:ro,getters:co,mutations:oo},so=io,lo={authUserModule:Pc,sportsModule:Fc,statsModule:qc,usersModule:eo,workoutsModule:so},uo={state:yc,actions:Lc,getters:Mc,mutations:zc,modules:lo},Oo=uo,mo=Object(tc["a"])(Oo),bo=mo,Eo=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},po=[{path:"/",name:"Dashboard",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"7277"))}},{path:"/login",name:"Login",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"login"}},{path:"/register",name:"Register",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"register"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset"}},{path:"/profile",name:"Profile",component:function(){return n.e("profile").then(n.bind(null,"36e8"))},children:[{path:"",name:"UserProfile",component:an,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfos",component:sn["a"]},{path:"preferences",name:"UserPreferences",component:mn},{path:"sports",name:"UserSportPreferences",component:ec,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Tn,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfosEdition",component:xn},{path:"picture",name:"UserPictureEdition",component:er},{path:"preferences",name:"UserPreferencesEdition",component:gr},{path:"sports",name:"UserSportPreferencesEdition",component:ec,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"ccb2"))}},{path:"/users/:username",name:"User",component:function(){return n.e("profile").then(n.bind(null,"ad3d"))}},{path:"/workouts",name:"Workouts",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"0385"))}},{path:"/workouts/:workoutId",name:"Workout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"8ee9"))}},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"692d"))}},{path:"/admin",name:"Administration",component:function(){return n.e("admin").then(n.bind(null,"89b3"))},children:[{path:"",name:"AdministrationMenu",component:Je},{path:"application",name:"ApplicationAdministration",component:Ce},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ce,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:_t},{path:"users",name:"UsersAdministration",component:Yt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],To=Object(ue["a"])({history:Object(ue["b"])("/"),routes:po}),fo=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];To.beforeEach((function(e,t,n){bo.dispatch(S["a"].ACTIONS.CHECK_AUTH_USER).then((function(){if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&fo.includes(e.path))return n("/");if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]||fo.includes(e.path))n();else{var t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((function(e){console.error(e),n()}))}));var jo=To,So={class:"alert-message"},Ao=["innerHTML"],_o=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",So,[Object(o["createElementVNode"])("div",{innerHTML:e.$t(Object(o["unref"])(r))},null,8,Ao)])}}});n("b9a4");const No=E()(_o,[["__scopeId","data-v-1c7b89ce"]]);var Ro=No,go={class:"custom-textarea"},Io=["id","name","maxLenght","disabled"],vo={class:"remaining-chars"},ho=Object(o["defineComponent"])({props:{name:null,charLimit:{default:500},disabled:{default:!1},input:{default:""}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["ref"])("");function a(e){n("updateValue",e.target.value)}return Object(o["watch"])((function(){return r.input}),(function(e){c.value=e})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",go,[Object(o["withDirectives"])(Object(o["createElementVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["isRef"])(c)?c.value=e:c=e}),onInput:a},null,40,Io),[[o["vModelText"],Object(o["unref"])(c)]]),Object(o["createElementVNode"])("div",vo,Object(o["toDisplayString"])(t.$t("workouts.REMAINING_CHARS"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(c).length)+"/"+Object(o["toDisplayString"])(e.charLimit),1)])}}});n("f41d");const Uo=E()(ho,[["__scopeId","data-v-129e44c0"]]);var ko=Uo,Do=(n("b680"),n("6284")),Co=Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(" ")+" "),Po=Object(o["defineComponent"])({props:{distance:null,unitFrom:null,useImperialUnits:null,digits:{default:2},displayUnit:{default:!0},speed:{default:!1},strong:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.digits,c=n.displayUnit,a=n.distance,i=n.speed,s=n.strong,l=n.unitFrom,u=n.useImperialUnits,O=Object(o["computed"])((function(){return u.value?Do["c"][l.value].defaultTarget:l.value})),d=Object(o["computed"])((function(){return u.value?Object(Do["a"])(a.value,l.value,O.value,r.value):parseFloat(a.value.toFixed(r.value))}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["distance",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(d)),3),Co,Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(["unit",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(O))+Object(o["toDisplayString"])(Object(o["unref"])(i)?"/h":""),3)):Object(o["createCommentVNode"])("",!0)],64)}}});n("6862");const Lo=E()(Po,[["__scopeId","data-v-5d562b40"]]);var Mo=Lo,zo={class:"dropdown-wrapper"},yo={key:0,class:"dropdown-list"},wo=["onClick"],Vo=Object(o["defineComponent"])({props:{options:null,selected:null},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=e,c=Object(ue["c"])(),a=Object(o["ref"])(!1),i=r.options.map((function(e){return e}));function s(){a.value=!a.value}function l(e){n("selected",e),a.value=!1}return Object(o["watch"])((function(){return c.path}),(function(){return a.value=!1})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",zo,[Object(o["createElementVNode"])("div",{class:"dropdown-selected",onClick:s},[Object(o["renderSlot"])(t.$slots,"default")]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",yo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(i),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{class:Object(o["normalizeClass"])(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:function(e){return l(t)}},Object(o["toDisplayString"])(t.label),11,wo)})),128))])):Object(o["createCommentVNode"])("",!0)])}}});n("55a6");const Bo=E()(Vo,[["__scopeId","data-v-ca61364c"]]);var Go=Bo,xo={class:"error-message"},Fo={key:0},Ko={key:1},Wo=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",xo,[Array.isArray(Object(o["unref"])(r))?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",Fo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:n},Object(o["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ko,Object(o["toDisplayString"])(e.$t(Object(o["unref"])(r))),1))])}}});n("cf98");const $o=E()(Wo,[["__scopeId","data-v-4366d0e7"]]);var Ho=$o,Yo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},qo=Object(o["createElementVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),Xo=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),Object(o["createElementVNode"])("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),Zo=[qo,Xo];function Jo(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Yo,Zo)}var Qo={name:"CyclingSport"};const ea=E()(Qo,[["render",Jo]]);var ta=ea,na={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},ra=Object(o["createElementVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),ca=Object(o["createElementVNode"])("g",{id:"g147"},[Object(o["createElementVNode"])("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),Object(o["createElementVNode"])("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),oa=[ra,ca];function aa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",na,oa)}var ia={name:"CyclingTransport"};const sa=E()(ia,[["render",aa]]);var la=sa,ua={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Oa=Object(o["createElementVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),da=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),Object(o["createElementVNode"])("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),ma=[Oa,da];function ba(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ua,ma)}var Ea={name:"Hiking"};const pa=E()(Ea,[["render",ba]]);var Ta=pa,fa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},ja=Object(o["createElementVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Sa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),Object(o["createElementVNode"])("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),Object(o["createElementVNode"])("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),Aa=[ja,Sa];function _a(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",fa,Aa)}var Na={name:"MountainBiking"};const Ra=E()(Na,[["render",_a]]);var ga=Ra,Ia={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},va=Object(o["createStaticVNode"])(' silhouette of a person riding an electric mountain bike ',18),ha=[va];function Ua(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ia,ha)}var ka={name:"MountainBikingElectric"};const Da=E()(ka,[["render",Ua]]);var Ca=Da,Pa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},La=Object(o["createElementVNode"])("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ma=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),Object(o["createElementVNode"])("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),za=[La,Ma];function ya(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Pa,za)}var wa={name:"Rowing"};const Va=E()(wa,[["render",ya]]);var Ba=Va,Ga={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},xa=Object(o["createElementVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),Fa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),Object(o["createElementVNode"])("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),Ka=[xa,Fa];function Wa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ga,Ka)}var $a={name:"Running"};const Ha=E()($a,[["render",Wa]]);var Ya=Ha,qa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Xa=Object(o["createElementVNode"])("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Za=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),Object(o["createElementVNode"])("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),Ja=[Xa,Za];function Qa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",qa,Ja)}var ei={name:"SkiingAlpine"};const ti=E()(ei,[["render",Qa]]);var ni=ti,ri={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},ci=Object(o["createElementVNode"])("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),oi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),ai=[ci,oi];function ii(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ri,ai)}var si={name:"SkiingCrossCountry"};const li=E()(si,[["render",ii]]);var ui=li,Oi={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},di=Object(o["createElementVNode"])("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),mi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),Object(o["createElementVNode"])("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),bi=[di,mi];function Ei(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Oi,bi)}var pi={name:"Trail"};const Ti=E()(pi,[["render",Ei]]);var fi=Ti,ji={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Si=Object(o["createStaticVNode"])('silhouette of a walking person',3),Ai=[Si];function _i(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ji,Ai)}var Ni={name:"Walking"};const Ri=E()(Ni,[["render",_i]]);var gi=Ri,Ii=["title"],vi=Object(o["defineComponent"])({props:{sportLabel:null,color:null,title:{default:""}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.color,c=n.sportLabel,a=n.title,i=Object(o["inject"])("sportColors");return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"sport-img",style:Object(o["normalizeStyle"])({fill:Object(o["unref"])(r)?Object(o["unref"])(r):Object(o["unref"])(i)[Object(o["unref"])(c)]}),title:Object(o["unref"])(a)?Object(o["unref"])(a):e.$t("sports.".concat(Object(o["unref"])(c),".LABEL"))},["Cycling (Sport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ta,{key:0})):Object(o["createCommentVNode"])("",!0),"Cycling (Transport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(la,{key:1})):Object(o["createCommentVNode"])("",!0),"Hiking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ta,{key:2})):Object(o["createCommentVNode"])("",!0),"Mountain Biking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ga,{key:3})):Object(o["createCommentVNode"])("",!0),"Mountain Biking (Electric)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ca,{key:4})):Object(o["createCommentVNode"])("",!0),"Rowing"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ba,{key:5})):Object(o["createCommentVNode"])("",!0),"Running"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ya,{key:6})):Object(o["createCommentVNode"])("",!0),"Skiing (Alpine)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ni,{key:7})):Object(o["createCommentVNode"])("",!0),"Skiing (Cross Country)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ui,{key:8})):Object(o["createCommentVNode"])("",!0),"Trail"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(fi,{key:9})):Object(o["createCommentVNode"])("",!0),"Walking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(gi,{key:10})):Object(o["createCommentVNode"])("",!0)],12,Ii)}}});const hi=vi;var Ui=hi,ki={class:"loader"};function Di(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ki)}n("922d");const Ci={},Pi=E()(Ci,[["render",Di],["__scopeId","data-v-436637e0"]]);var Li=Pi,Mi={id:"modal"},zi={class:"custom-modal"},yi={key:0,class:"modal-message"},wi={key:1,class:"modal-message"},Vi={class:"modal-buttons"},Bi=Object(o["defineComponent"])({props:{title:null,message:null,strongMessage:{default:function(){return null}}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=e,c=Object(A["a"])(),a=Object(o["toRefs"])(r),i=a.title,s=a.message,l=a.strongMessage,u=Object(o["computed"])((function(){return c.getters[S["b"].GETTERS.ERROR_MESSAGES]}));return Object(o["onUnmounted"])((function(){return c.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),function(e,t){var r=Object(o["resolveComponent"])("i18n-t"),c=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Mi,[Object(o["createElementVNode"])("div",zi,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i)),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yi,[Object(o["createVNode"])(r,{keypath:Object(o["unref"])(s)},{default:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(Object(o["unref"])(l)),1)]})),_:1},8,["keypath"])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",wi,Object(o["toDisplayString"])(Object(o["unref"])(s)),1)),Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:2,message:Object(o["unref"])(u)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",Vi,[Object(o["unref"])(u)?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"confirm",onClick:t[0]||(t[0]=function(e){return n("confirmAction")})},Object(o["toDisplayString"])(e.$t("buttons.YES")),1)),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[1]||(t[1]=function(e){return n("cancelAction")})},Object(o["toDisplayString"])(e.$t("buttons.".concat(Object(o["unref"])(u)?"CANCEL":"NO"))),1)])]})),_:1})])])}}});n("7489");const Gi=E()(Bi,[["__scopeId","data-v-20a846ac"]]);var xi=Gi,Fi=[{target:Ro,name:"AlertMessage"},{target:Ke,name:"Card"},{target:ko,name:"CustomTextArea"},{target:Mo,name:"Distance"},{target:Go,name:"Dropdown"},{target:Ho,name:"ErrorMessage"},{target:Li,name:"Loader"},{target:xi,name:"Modal"},{target:Ui,name:"SportImage"}],Ki={mounted:function(e,t){e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};r["Chart"].register(r["BarElement"],r["LineElement"],r["PointElement"],r["Legend"],r["Title"],r["Tooltip"],r["Filler"],r["BarController"],r["CategoryScale"],r["LineController"],r["LinearScale"],c["a"]);var Wi=Object(o["createApp"])(le).provide("sportColors",Qe["c"]).use(g).use(bo).use(jo).directive("click-outside",Ki);Fi.forEach((function(e){Wi.component(e.name,e.target)})),Wi.mount("#app")},cf98:function(e,t,n){"use strict";n("c7cd")},d251:function(e,t,n){},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return o}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("d3b7"),n("ac1f"),n("1276");var r=n("dad5"),c=function(){return"/api/"},o=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",c=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r["b"].MUTATIONS.SET_ERROR_MESSAGES,c.includes("\n")?c.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(c))}},d2bc:function(e,t,n){},d9b8:function(e,t,n){},dad5:function(e,t,n){"use strict";var r,c,o,a,i,s,l,u,O,d,m,b,E,p,T;n.d(t,"b",(function(){return j})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"a",(function(){return _})),n.d(t,"e",(function(){return N})),n.d(t,"f",(function(){return R})),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["USER_LOADING"]="USER_LOADING"}(c||(c={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(a||(a={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(i||(i={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(s||(s={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(l||(l={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(O||(O={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(d||(d={})),function(e){e["USER_STATS"]="USER_STATS"}(m||(m={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(b||(b={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(E||(E={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(p||(p={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION"}(T||(T={}));var f=n("4870"),j={ACTIONS:a,GETTERS:i,MUTATIONS:s},S={ACTIONS:l,GETTERS:u,MUTATIONS:O},A={ACTIONS:d,GETTERS:m,MUTATIONS:b},_={ACTIONS:r,GETTERS:c,MUTATIONS:o},N={ACTIONS:E,GETTERS:p,MUTATIONS:T},R={ACTIONS:f["a"],GETTERS:f["b"],MUTATIONS:f["c"]}},dbef:function(e,t,n){},dbf1:function(e,t,n){},dfd6:function(e,t,n){"use strict";n("2679")},e7b2:function(e,t,n){"use strict";n("3605")},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function c(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}c.keys=function(){return Object.keys(r)},c.resolve=o,e.exports=c,c.id="e7b6"},e9c9:function(e,t,n){},ef54:function(e,t,n){},f41d:function(e,t,n){"use strict";n("a0eb")},f509:function(e,t,n){"use strict";n("3256")},fa52:function(e,t,n){"use strict";n("65d3")},feac:function(e,t,n){"use strict";n("c26b")}}); -//# sourceMappingURL=app.aa3fc8a8.js.map \ No newline at end of file +(function(e){function t(t){for(var r,c,i=t[0],s=t[1],l=t[2],u=0,O=[];ur?1:n2&&void 0!==arguments[2]&&arguments[2],c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return e.filter((function(e){return!n||(null===c?e.is_active_for_user:c.includes(e.id)||e.is_active)})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(a)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]},l=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.color}))[0]}},1446:function(e,t,n){"use strict";n("1db4")},"1db4":function(e,t,n){},"1e18":function(e,t,n){},"1f46":function(e,t,n){},2679:function(e,t,n){},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n("5502");function c(){return Object(r["b"])()}},"30bb":function(e,t,n){"use strict";n("599b")},3256:function(e,t,n){},3605:function(e,t,n){},"3c44":function(e,t,n){"use strict";var r=n("7a23"),c=n("c46a"),o={class:"box user-header"},a={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},l={class:"user-stat"},u={class:"stat-number"},O={class:"stat-label"},d={class:"user-stat"},m={class:"stat-label"},b={class:"user-stat hide-small"},E={class:"stat-number"},p={class:"stat-label"},T=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),T=n.user;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[Object(r["createVNode"])(c["a"],{user:Object(r["unref"])(T)},null,8,["user"]),Object(r["createElementVNode"])("div",a,[Object(r["createElementVNode"])("div",i,Object(r["toDisplayString"])(Object(r["unref"])(T).username),1),Object(r["createElementVNode"])("div",s,[Object(r["createElementVNode"])("div",l,[Object(r["createElementVNode"])("span",u,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_workouts),1),Object(r["createElementVNode"])("span",O,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",Object(r["unref"])(T).nb_workouts)),1)]),Object(r["createElementVNode"])("div",d,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(T).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:Object(r["unref"])(T).imperial_units},null,8,["distance","useImperialUnits"]),Object(r["createElementVNode"])("span",m,Object(r["toDisplayString"])(Object(r["unref"])(T).imperial_units?"miles":"km"),1)]),Object(r["createElementVNode"])("div",b,[Object(r["createElementVNode"])("span",E,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_sports),1),Object(r["createElementVNode"])("span",p,Object(r["toDisplayString"])(e.$t("workouts.SPORT",Object(r["unref"])(T).nb_sports)),1)])])])])}}}),f=(n("feac"),n("6b0d")),j=n.n(f);const S=j()(T,[["__scopeId","data-v-4e6eb0d2"]]);t["a"]=S},"3ca5":function(e,t,n){"use strict";n("4a37")},4042:function(e,t,n){"use strict";n("0bca")},4163:function(e,t,n){},"44dee":function(e,t,n){"use strict";n("d9b8")},4870:function(e,t,n){"use strict";var r,c,o;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return o})),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(c||(c={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(o||(o={}))},"49c1":function(e,t,n){},"4a0c":function(e,t,n){},"4a37":function(e,t,n){},"55a6":function(e,t,n){"use strict";n("dbf1")},"599b":function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return m})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return T}));var r=n("69eb"),c=n("d6e9"),o=n("f628"),a=n("f7f1"),i=n("cdb6"),s=n("74b5"),l=n("8cac"),u=n("2fc8"),O=n("b166"),d=n("78b2"),m=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(c["a"])(t);case"month":return Object(o["a"])(t);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},b=function(e,t){switch(e){case"week":return Object(a["a"])(t,7);case"year":return Object(i["a"])(t,1);case"month":return Object(s["a"])(t,1);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},E=function(e,t){return Object(d["a"])(new Date(e),t)},p=function(e,t){var n=Object(o["a"])(e),c=Object(l["a"])(e),a=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:a}),end:Object(u["a"])(c,{weekStartsOn:a})}},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:Object(O["a"])(e,t),workout_time:Object(O["a"])(e,n)}}},"61af":function(e,t,n){"use strict";n("ae19")},6284:function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("b680");var r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},c={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,a=r[t],i=r[n],s=e*a.multiplier*c[a.system][i.system]/i.multiplier;return null!==o?parseFloat(s.toFixed(o)):s},a=function(e,t,n){var c=n?r[e].defaultTarget:e;return n?o(t,e,c,2):t}},"65d3":function(e,t,n){},"663e":function(e,t,n){"use strict";n.r(t);var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Etes-vous sûr de vouloir supprimer le compte de ",n(r(0))," ? Toutes les données seront définitivement."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les drois d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les drois d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Mot de passe : 8 caractères minimum."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Désolé, cet utilisateur existe déjà."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Nom d'utilisateur : 3 à 12 caractères requis."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Saisir une adresse email"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},6862:function(e,t,n){"use strict";n("d251")},"6d7d":function(e,t,n){"use strict";var r=n("7a23"),c=n("97e5"),o=function(e){return Object(r["pushScopeId"])("data-v-de4b01da"),e=e(),Object(r["popScopeId"])(),e},a={class:"pagination-center","aria-label":"navigation"},i={class:"pagination"},s=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),l={key:0},u=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),O=Object(r["defineComponent"])({props:{pagination:null,path:null,query:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.pagination,O=n.path,d=n.query;function m(e,t){var n=Object.assign({},d.value);return n.page=t?e+t:e,n}return function(e,t){var n=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("nav",a,[Object(r["createElementVNode"])("ul",i,[Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-prev",{disabled:!Object(r["unref"])(o).has_prev}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,-1)},event:Object(r["unref"])(o).has_prev?"click":"",disabled:!Object(r["unref"])(o).has_prev},{default:Object(r["withCtx"])((function(){return[s,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(c["b"])(Object(r["unref"])(o).pages,Object(r["unref"])(o).page),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:e,class:Object(r["normalizeClass"])(["page",{active:e===Object(r["unref"])(o).page}])},["..."===e?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",l," ... ")):(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:1,class:"page-link",to:{path:Object(r["unref"])(O),query:m(+e)}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e),1)]})),_:2},1032,["to"]))],2)})),128)),Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-next",{disabled:!Object(r["unref"])(o).has_next}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,1)},event:Object(r["unref"])(o).has_next?"click":"",disabled:!Object(r["unref"])(o).has_next},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("api.PAGINATION.NEXT"))+" ",1),u]})),_:1},8,["to","event","disabled"])],2)])])}}}),d=(n("30bb"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-de4b01da"]]);t["a"]=b},"71a7":function(e,t,n){"use strict";var r=n("7a23"),c=n("b166"),o=n("dad5"),a=n("2906"),i={id:"user-infos",class:"description-list"},s={class:"user-bio"},l={key:1,class:"profile-buttons"},u={key:2,class:"profile-buttons"},O=Object(r["defineComponent"])({props:{user:null,fromAdmin:{default:!1}},setup:function(e){var t=e,n=Object(a["a"])(),O=Object(r["toRefs"])(t),d=O.user,m=O.fromAdmin,b=Object(r["computed"])((function(){return n.getters[o["a"].GETTERS.AUTH_USER_PROFILE]})),E=Object(r["computed"])((function(){return t.user.created_at?Object(c["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),p=Object(r["computed"])((function(){return t.user.birth_date?Object(c["a"])(new Date(t.user.birth_date),"dd/MM/yyyy"):""})),T=Object(r["ref"])(!1);function f(e){T.value=e}function j(e){n.dispatch(o["e"].ACTIONS.DELETE_USER_ACCOUNT,{username:e})}return function(e,t){var n=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["unref"])(T)?(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:Object(r["unref"])(d).username,onConfirmAction:t[0]||(t[0]=function(e){return j(Object(r["unref"])(d).username)}),onCancelAction:t[1]||(t[1]=function(e){return f(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("dl",null,[Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(E)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).first_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).last_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(p)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).location),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createElementVNode"])("dd",s,Object(r["toDisplayString"])(Object(r["unref"])(d).bio),1)]),Object(r["unref"])(m)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",l,[Object(r["unref"])(b).username!==Object(r["unref"])(d).username?(Object(r["openBlock"])(),Object(r["createElementBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=Object(r["withModifiers"])((function(e){return f(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("button",{onClick:t[3]||(t[3]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])}}}),d=(n("8501"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-deec58e4"]]);t["a"]=b},7489:function(e,t,n){"use strict";n("1f46")},"7cd8":function(e,t,n){"use strict";n("4a0c")},"83d3":function(e,t,n){"use strict";n("aaee")},8501:function(e,t,n){"use strict";n("9260")},"910d":function(e,t,n){},9176:function(e,t,n){"use strict";n("4e82"),n("99af");var r=n("7a23"),c={class:"table-selects"},o=["value"],a=["value"],i=["value"],s=["value"],l=["value"],u=["value"],O=Object(r["defineComponent"])({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup:function(e,t){var n=t.emit,O=e,d=Object(r["toRefs"])(O),m=d.order_by,b=d.query,E=d.sort,p=d.message,T=[10,25,50,100];function f(e){n("updateSelect",e.target.id,e.target.value)}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",c,[Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order_by",id:"order_by",value:Object(r["unref"])(b).order_by,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(m),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("".concat(Object(r["unref"])(p),".").concat(t.toUpperCase()))),9,a)})),128))],40,o)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order",id:"order",value:Object(r["unref"])(b).order,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(E),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.".concat(t.toUpperCase()))),9,s)})),128))],40,i)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"per_page",id:"per_page",value:Object(r["unref"])(b).per_page,onChange:f},[(Object(r["openBlock"])(),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(T,(function(e){return Object(r["createElementVNode"])("option",{value:e,key:e},Object(r["toDisplayString"])(e),9,u)})),64))],40,l)])])}}}),d=(n("9308"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-a5d764a4"]]);t["a"]=b},"922d":function(e,t,n){"use strict";n("dbef")},9260:function(e,t,n){},9308:function(e,t,n){"use strict";n("910d")},"96f9":function(e,t,n){},"97e5":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return l})),n.d(t,"b",(function(){return O}));n("caad"),n("2532"),n("a630"),n("3ca3"),n("99af");var r=["asc","desc"],c=1,o=10,a=function(e,t){return e&&"string"===typeof e&&+e>0?+e:t},i=function(e,t,n){return e&&"string"===typeof e&&t.includes(e)?e:n},s=function(e,t,n,s){var l=s||{},u=l.defaultSort||"asc",O={};return O.page=a(e.page,c),O.per_page=a(e.per_page,o),O.order=i(e.order,r,u),O.order_by=i(e.order_by,t,n),O},l=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Array.from({length:e-t+1},(function(e,n){return t+n}))},O=function(e,t){if(e<0)return[];if(e<9)return u(e);var n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Password: 8 characters required."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Sorry, that user already exists."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Username: 3 to 12 characters required."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems encounter some issues.
Please try later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Enter an email address"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirm the password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirm Password"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Password confirmation"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},c26b:function(e,t,n){},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return o}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],c=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};var c=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?"".concat(c).concat(o):{size:c,suffix:o}},o=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";n("99af");var r=n("7a23"),c=n("d257"),o={class:"user-picture"},a=["alt","src"],i={key:1,class:"no-picture"},s=Object(r["createElementVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),l=[s],u=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["computed"])((function(){return t.user.picture?"".concat(Object(c["a"])(),"users/").concat(t.user.username,"/picture"):""}));return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[""!==Object(r["unref"])(n)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:Object(r["unref"])(n)},null,8,a)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,l))])}}});n("a06d");const O=u;t["a"]=O},c7cd:function(e,t,n){},ccf6:function(e,t,n){},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("d3b7"),n("159b"),n("b0c0");var r=n("9b4a"),c=n("d9fa"),o=n("7a23"),a=n("9483");Object(a["a"])("".concat("/","service-worker.js"),{ready:function(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered:function(){console.log("Service worker has been registered.")},cached:function(){console.log("Content has been cached for offline use.")},updatefound:function(){console.log("New content is downloading.")},updated:function(){console.log("New content is available; please refresh.")},offline:function(){console.log("No internet connection found. App is running in offline mode.")},error:function(e){console.error("Error during service worker registration:",e)}});var i=function(e){return Object(o["pushScopeId"])("data-v-e60d9c5e"),e=e(),Object(o["popScopeId"])(),e},s={id:"footer"},l={class:"footer-items"},u={class:"footer-item"},O=i((function(){return Object(o["createElementVNode"])("strong",null,"FitTrackee",-1)})),d=Object(o["createStaticVNode"])('',4),m=Object(o["defineComponent"])({props:{version:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.version;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",s,[Object(o["createElementVNode"])("div",l,[Object(o["createElementVNode"])("div",u,[O,Object(o["createTextVNode"])(" v"+Object(o["toDisplayString"])(Object(o["unref"])(r)),1)]),d])])}}}),b=(n("3ca5"),n("6b0d")),E=n.n(b);const p=E()(m,[["__scopeId","data-v-e60d9c5e"]]);var T=p,f=(n("25f0"),n("47e2")),j=n("c46a"),S=n("dad5"),A=n("2906"),_=(n("d81d"),n("8923")),N=n("d481");n("ddb0"),n("ac1f"),n("466d");function R(){var e=n("e7b6"),t={};return e.keys().forEach((function(n){var r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){var c=r[1];t[c]=e(n).default}})),t}var g=Object(f["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:R()}),I={en:_["a"],fr:N["a"]},v={en:"English",fr:"Français"},h=g.global.availableLocales,U=h.map((function(e){return{label:v[e],value:e}})),k=function(e){return Object(o["pushScopeId"])("data-v-53493688"),e=e(),Object(o["popScopeId"])(),e},D={id:"nav"},C={class:"nav-container"},P={class:"nav-app-name"},L={class:"nav-items-close"},M=k((function(){return Object(o["createElementVNode"])("div",{class:"app-name"},"FitTrackee",-1)})),z={key:0,class:"nav-items-group"},y=k((function(){return Object(o["createElementVNode"])("div",{class:"nav-item nav-separator"},null,-1)})),w={class:"nav-items-user-menu"},V={key:0,class:"nav-items-group"},B={class:"nav-item nav-profile-img"},G={key:1,class:"nav-items-group"},x=k((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-language"},null,-1)})),F=Object(o["defineComponent"])({emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(f["b"])(),c=r.locale,a=Object(A["a"])(),i=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.IS_AUTHENTICATED]})),l=Object(o["computed"])((function(){return a.getters[S["b"].GETTERS.LANGUAGE]})),u=Object(o["ref"])(!1);function O(){u.value=!0,n("menuInteraction",!0)}function d(){u.value=!1,n("menuInteraction",!1)}function m(e){c.value=e.value.toString(),a.commit(S["b"].MUTATIONS.UPDATE_LANG,e.value)}function b(){a.dispatch(S["a"].ACTIONS.LOGOUT)}return function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("Dropdown");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",D,[Object(o["createElementVNode"])("div",C,[Object(o["createElementVNode"])("div",P,[Object(o["createElementVNode"])("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-icon-open",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=function(e){return O()})})],2),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-items",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("div",L,[M,Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])(["fa fa-close close-icon nav-item",{"menu-closed":!Object(o["unref"])(u)}]),onClick:t[2]||(t[2]=function(e){return d()})},null,2)]),Object(o["createElementVNode"])("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=function(e){return d()})},[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",z,[Object(o["createVNode"])(n,{class:"nav-item",to:"/"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/statistics"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts/add"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),Object(o["unref"])(s)&&Object(o["unref"])(i).admin?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,class:"nav-item",to:"/admin"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(o["createCommentVNode"])("",!0),y])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",w,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",V,[Object(o["createElementVNode"])("div",B,[Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(i)},null,8,["user"])]),Object(o["createVNode"])(n,{class:"nav-item",to:"/profile",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i).username),1)]})),_:1}),Object(o["createElementVNode"])("div",{class:"nav-item nav-link",onClick:b},Object(o["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",G,[Object(o["createVNode"])(n,{class:"nav-item",to:"/login",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/register",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1})])),Object(o["unref"])(U)&&Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,class:"nav-item",options:Object(o["unref"])(U),selected:Object(o["unref"])(l),onSelected:m},{default:Object(o["withCtx"])((function(){return[x]})),_:1},8,["options","selected"])):Object(o["createCommentVNode"])("",!0)])],2)])])}}});n("bae4");const K=E()(F,[["__scopeId","data-v-53493688"]]);var W=K,$={id:"no-config"},H={class:"error-page"},Y=Object(o["createStaticVNode"])('
',1),q=["innerHTML"];function X(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$,[Object(o["createElementVNode"])("div",H,[Y,Object(o["createElementVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,q)])])}n("ba7f");const Z={},J=E()(Z,[["render",X],["__scopeId","data-v-c1193208"]]);var Q=J,ee=function(e){return Object(o["pushScopeId"])("data-v-6c3336ff"),e=e(),Object(o["popScopeId"])(),e},te=ee((function(){return Object(o["createElementVNode"])("div",{id:"top"},null,-1)})),ne={key:0,class:"app-container"},re={class:"app-loading"},ce={class:"container scroll"},oe=ee((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1)})),ae=[oe],ie=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_CONFIG]})),r=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_LOADING]})),c=Object(o["ref"])(!1),a=Object(o["ref"])(!1);function i(e){c.value=e}function s(e){return e.getBoundingClientRect().top=0}function l(){window.onscroll=function(){var e=document.querySelector("#bottom");a.value=null!==e&&s(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){a.value=!1}),300)}return Object(o["onBeforeMount"])((function(){return t.dispatch(S["b"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(o["onMounted"])((function(){return l()})),function(e,t){var s=Object(o["resolveComponent"])("Loader"),l=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[te,Object(o["createVNode"])(W,{onMenuInteraction:i}),Object(o["unref"])(r)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ne,[Object(o["createElementVNode"])("div",re,[Object(o["createVNode"])(s)])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:1,class:Object(o["normalizeClass"])(["app-container",{"hide-scroll":c.value}])},[Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(l,{key:0})):(Object(o["openBlock"])(),Object(o["createBlock"])(Q,{key:1}))],2)),Object(o["createElementVNode"])("div",ce,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["scroll-button",{"display-button":a.value}]),onClick:u},ae,2)]),Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(T,{key:2,version:Object(o["unref"])(n)?Object(o["unref"])(n).version:""},null,8,["version"])):Object(o["createCommentVNode"])("",!0)],64)}}});n("1446");const se=E()(ie,[["__scopeId","data-v-6c3336ff"]]);var le=se,ue=(n("5319"),n("3ca3"),n("caad"),n("6c02")),Oe=(n("b64b"),n("c364")),de=function(e){return Object(o["pushScopeId"])("data-v-03002a18"),e=e(),Object(o["popScopeId"])(),e},me={id:"admin-app",class:"admin-card"},be=["onSubmit"],Ee={for:"max_users"},pe=["disabled"],Te={class:"user-limit-help"},fe={class:"info-box"},je=de((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Se={for:"max_single_file_size"},Ae=["disabled"],_e={for:"max_zip_file_size"},Ne=["disabled"],Re={for:"gpx_limit_import"},ge=["disabled"],Ie={key:1,class:"form-buttons"},ve={class:"confirm",type:"submit"},he=["onClick"],Ue={key:2,class:"form-buttons"},ke=Object(o["defineComponent"])({props:{appConfig:null,edition:{default:!1}},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(ue["d"])(),c=Object(o["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e){Object.keys(c).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?c[t]=Object(Oe["a"])(e[t]):c[t]=e[t]}))}function s(){i(t.appConfig),n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),r.push("/admin/application")}function l(){var e=Object.assign({},c);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,n.dispatch(S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(o["onBeforeMount"])((function(){t.appConfig&&i(t.appConfig)})),function(t,n){var r=Object(o["resolveComponent"])("ErrorMessage"),i=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",me,[Object(o["createVNode"])(i,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("form",{class:"admin-form",onSubmit:Object(o["withModifiers"])(l,["prevent"])},[Object(o["createElementVNode"])("label",Ee,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["unref"])(c).max_users=e}),disabled:!e.edition},null,8,pe),[[o["vModelText"],Object(o["unref"])(c).max_users]])]),Object(o["createElementVNode"])("div",Te,[Object(o["createElementVNode"])("span",fe,[je,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(o["createElementVNode"])("label",Se,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[1]||(n[1]=function(e){return Object(o["unref"])(c).max_single_file_size=e}),disabled:!e.edition},null,8,Ae),[[o["vModelText"],Object(o["unref"])(c).max_single_file_size]])]),Object(o["createElementVNode"])("label",_e,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[2]||(n[2]=function(e){return Object(o["unref"])(c).max_zip_file_size=e}),disabled:!e.edition},null,8,Ne),[[o["vModelText"],Object(o["unref"])(c).max_zip_file_size]])]),Object(o["createElementVNode"])("label",Re,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":n[3]||(n[3]=function(e){return Object(o["unref"])(c).gpx_limit_import=e}),disabled:!e.edition},null,8,ge),[[o["vModelText"],Object(o["unref"])(c).gpx_limit_import]])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),e.edition?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ie,[Object(o["createElementVNode"])("button",ve,Object(o["toDisplayString"])(t.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:Object(o["withModifiers"])(s,["prevent"])},Object(o["toDisplayString"])(t.$t("buttons.CANCEL")),9,he)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ue,[Object(o["createElementVNode"])("button",{class:"confirm",onClick:n[4]||(n[4]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin/application/edit")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("buttons.EDIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:n[5]||(n[5]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("admin.BACK_TO_ADMIN")),1)]))],40,be)]})),_:1})])}}});n("61af");const De=E()(ke,[["__scopeId","data-v-03002a18"]]);var Ce=De,Pe=n("05d9"),Le={id:"user-stats"},Me=Object(o["defineComponent"])({props:{appStatistics:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appStatistics,c=Object(o["computed"])((function(){return Object(Oe["b"])(r.value.uploads_dir_size,!1)}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Le,[Object(o["createVNode"])(Pe["a"],{icon:"users",value:Object(o["unref"])(r).users,text:e.$t("admin.USER",Object(o["unref"])(r).users)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"tags",value:Object(o["unref"])(r).sports,text:e.$t("workouts.SPORT",Object(o["unref"])(r).sports)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"calendar",value:Object(o["unref"])(r).workouts,text:e.$t("workouts.WORKOUT",Object(o["unref"])(r).workouts)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"folder-open",value:Object(o["unref"])(c).size,text:Object(o["unref"])(c).suffix},null,8,["value","text"])])}}});n("7cd8");const ze=Me;var ye=ze,we={class:"card"},Ve={class:"card-title"},Be={class:"card-content"};function Ge(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",we,[Object(o["createElementVNode"])("div",Ve,[Object(o["renderSlot"])(e.$slots,"title")]),Object(o["createElementVNode"])("div",Be,[Object(o["renderSlot"])(e.$slots,"content")])])}n("83d3");const xe={},Fe=E()(xe,[["render",Ge]]);var Ke=Fe,We=function(e){return Object(o["pushScopeId"])("data-v-7dad7915"),e=e(),Object(o["popScopeId"])(),e},$e={id:"admin-menu",class:"center-card"},He={class:"admin-menu description-list"},Ye=We((function(){return Object(o["createElementVNode"])("br",null,null,-1)})),qe={class:"registration-status"},Xe=Object(o["defineComponent"])({props:{appConfig:null,appStatistics:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appConfig,c=n.appStatistics;return function(e,t){var n=Object(o["resolveComponent"])("router-link");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$e,[Object(o["createVNode"])(Ke,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(ye,{appStatistics:Object(o["unref"])(c)},null,8,["appStatistics"]),Object(o["createElementVNode"])("div",He,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/application"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ye,Object(o["createElementVNode"])("span",qe,Object(o["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(Object(o["unref"])(r).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/sports"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/users"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])}}});n("07a4");const Ze=E()(Xe,[["__scopeId","data-v-7dad7915"]]);var Je=Ze,Qe=n("1119"),et=function(e){return Object(o["pushScopeId"])("data-v-7342d2cc"),e=e(),Object(o["popScopeId"])(),e},tt={id:"admin-sports",class:"admin-card"},nt={class:"responsive-table"},rt=et((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),ct={class:"text-left"},ot={class:"text-left sport-action"},at=et((function(){return Object(o["createElementVNode"])("th",null,null,-1)})),it={class:"text-center"},st=et((function(){return Object(o["createElementVNode"])("span",{class:"cell-heading"},"id",-1)})),lt={class:"cell-heading"},ut={class:"sport-label"},Ot={class:"cell-heading"},dt={class:"text-center"},mt={class:"cell-heading"},bt={class:"sport-action"},Et={class:"cell-heading"},pt={class:"action-button"},Tt=["onClick"],ft={key:0,class:"has-workouts"},jt=et((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)})),St=Object(o["defineComponent"])({setup:function(e){var t=Object(f["b"])(),n=t.t,r=Object(A["a"])(),c=Object(o["computed"])((function(){return Object(Qe["e"])(r.getters[S["c"].GETTERS.SPORTS],n)})),a=Object(o["computed"])((function(){return r.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e,t){r.dispatch(S["c"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage"),s=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",tt,[Object(o["createVNode"])(s,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createElementVNode"])("div",nt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[rt,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createElementVNode"])("th",ct,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("th",ot,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),at])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(c),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.id},[Object(o["createElementVNode"])("td",it,[st,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.id),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",lt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createVNode"])(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),Object(o["createElementVNode"])("td",ut,[Object(o["createElementVNode"])("span",Ot,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.translatedLabel),1)]),Object(o["createElementVNode"])("td",dt,[Object(o["createElementVNode"])("span",mt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",bt,[Object(o["createElementVNode"])("span",Et,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("div",pt,[Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.is_active}),onClick:function(e){return i(t.id,!t.is_active)}},Object(o["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,Tt),t.has_workouts?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",ft,[jt,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(o["createCommentVNode"])("",!0)])])])})),128))])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("a583");const At=E()(St,[["__scopeId","data-v-7342d2cc"]]);var _t=At,Nt=n("b166"),Rt=n("9176"),gt=n("6d7d"),It=n("97e5"),vt=n("5e65"),ht=function(e){return Object(o["pushScopeId"])("data-v-0d3ec733"),e=e(),Object(o["popScopeId"])(),e},Ut={id:"admin-users",class:"admin-card"},kt={class:"responsive-table"},Dt=ht((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),Ct={class:"left-text"},Pt={class:"left-text"},Lt={class:"left-text"},Mt={class:"cell-heading"},zt={class:"cell-heading"},yt={class:"cell-heading"},wt={class:"cell-heading"},Vt={class:"text-center"},Bt={class:"cell-heading"},Gt={class:"text-center"},xt={class:"cell-heading"},Ft={class:"text-center"},Kt={class:"cell-heading"},Wt=["disabled","onClick"],$t=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(ue["c"])(),r=Object(ue["d"])(),c=["admin","created_at","username","workouts_count"],a="created_at",i=Object(o["reactive"])(Object(It["a"])(n.query,c,a)),s=Object(o["computed"])((function(){return t.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),l=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS]})),u=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS_PAGINATION]})),O=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function d(e){t.dispatch(S["e"].ACTIONS.GET_USERS,e)}function m(e,n){t.dispatch(S["e"].ACTIONS.UPDATE_USER,{username:e,admin:n})}function b(e,t){i[e]=t,"per_page"===e&&(i.page=1),r.push({path:"/admin/users",query:i})}return Object(o["onBeforeMount"])((function(){return d(i)})),Object(o["onUnmounted"])((function(){t.dispatch(S["e"].ACTIONS.EMPTY_USERS)})),Object(o["watch"])((function(){return n.query}),(function(e){i=Object(It["a"])(e,c,a,{query:i}),d(i)})),function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ut,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createVNode"])(Rt["a"],{sort:Object(o["unref"])(It["c"]),order_by:c,query:Object(o["unref"])(i),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:b},null,8,["sort","query"]),Object(o["createElementVNode"])("div",kt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Dt,Object(o["createElementVNode"])("th",Ct,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createElementVNode"])("th",Pt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createElementVNode"])("th",Lt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(l),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.username},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Mt,Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(o["createVNode"])(j["a"],{user:t},null,8,["user"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",zt,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createVNode"])(n,{to:"/users/".concat(t.username)},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",yt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.email),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",wt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(Nt["a"])(Object(o["unref"])(vt["c"])(t.created_at,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",Vt,[Object(o["createElementVNode"])("span",Bt,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.nb_workouts),1)]),Object(o["createElementVNode"])("td",Gt,[Object(o["createElementVNode"])("span",xt,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.admin?"-check":"","-square-o")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",Ft,[Object(o["createElementVNode"])("span",Kt,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.admin}),disabled:t.username===Object(o["unref"])(s).username,onClick:function(e){return m(t.username,!t.admin)}},Object(o["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,Wt)])])})),128))])]),Object(o["unref"])(u).page?(Object(o["openBlock"])(),Object(o["createBlock"])(gt["a"],{key:0,path:"/admin/users",pagination:Object(o["unref"])(u),query:Object(o["unref"])(i)},null,8,["pagination","query"])):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(O)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:1,message:Object(o["unref"])(O)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("4042");const Ht=E()($t,[["__scopeId","data-v-0d3ec733"]]);var Yt=Ht,qt=n("3c44"),Xt=(n("99af"),{class:"profile-tabs custom-checkboxes-group"}),Zt={class:"profile-tabs-checkboxes custom-checkboxes"},Jt=["id","name","checked","disabled","onInput"],Qt=Object(o["defineComponent"])({props:{tabs:null,selectedTab:null,edition:null,disabled:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.tabs,c=n.selectedTab,a=n.disabled;function i(e){switch(e){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":case"SPORTS":return"/profile".concat(t.edition?"/edit":"","/").concat(e.toLocaleLowerCase());default:case"PROFILE":return"/profile".concat(t.edition?"/edit":"")}}return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xt,[Object(o["createElementVNode"])("div",Zt,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(o["createElementVNode"])("label",null,[Object(o["createElementVNode"])("input",{type:"radio",id:t,name:t,checked:Object(o["unref"])(c)===t,disabled:Object(o["unref"])(a),onInput:function(n){return e.$router.push(i(t))}},null,40,Jt),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}}});n("fa52");const en=Qt;var tn=en,nn={id:"user-profile"},rn={class:"box"},cn=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.user,c=n.tab,a=["PROFILE","PREFERENCES","SPORTS"];return function(e,t){var n=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nn,[Object(o["createVNode"])(qt["a"],{user:Object(o["unref"])(r)},null,8,["user"]),Object(o["createElementVNode"])("div",rn,[Object(o["createVNode"])(tn,{tabs:a,selectedTab:Object(o["unref"])(c),edition:!1},null,8,["selectedTab"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(r)},null,8,["user"])])])}}});n("f509");const on=E()(cn,[["__scopeId","data-v-41d26a96"]]);var an=on,sn=n("71a7"),ln={id:"user-preferences",class:"description-list"},un={class:"profile-buttons"},On=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(o["computed"])((function(){return t.user.language?v[t.user.language]:v["en"]})),r=Object(o["computed"])((function(){return t.user.weekm?"MONDAY":"SUNDAY"})),c=Object(o["computed"])((function(){return t.user.timezone?t.user.timezone:"Europe/Paris"}));return function(t,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ln,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.LANGUAGE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(n)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.TIMEZONE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(c)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.".concat(Object(o["unref"])(r)))),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.".concat(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),Object(o["createElementVNode"])("div",un,[Object(o["createElementVNode"])("button",{onClick:a[0]||(a[0]=function(e){return t.$router.push("/profile/edit/preferences")})},Object(o["toDisplayString"])(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:a[1]||(a[1]=function(e){return t.$router.push("/")})},Object(o["toDisplayString"])(t.$t("common.HOME")),1)])])}}});const dn=On;var mn=dn,bn={id:"user-profile-edition",class:"center-card"},En=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=r.tab,i=["PROFILE","PICTURE","PREFERENCES","SPORTS"],s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]}));return function(e,t){var n=Object(o["resolveComponent"])("router-view"),r=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",bn,[Object(o["createVNode"])(r,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(Object(o["unref"])(a),"_EDITION"))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(tn,{tabs:i,selectedTab:Object(o["unref"])(a),edition:!0,disabled:Object(o["unref"])(s)},null,8,["selectedTab","disabled"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(c)},null,8,["user"])]})),_:1})])}}});const pn=En;var Tn=pn,fn={id:"user-infos-edition"},jn={class:"profile-form form-box"},Sn=["onSubmit"],An={class:"form-items",for:"email"},_n=["value"],Nn={class:"form-items",for:"registrationDate"},Rn=["value"],gn={class:"form-items",for:"password"},In=["disabled"],vn={class:"form-items",for:"passwordConfirmation"},hn=["disabled"],Un=Object(o["createElementVNode"])("hr",null,null,-1),kn={class:"form-items",for:"first_name"},Dn=["disabled"],Cn={class:"form-items",for:"last_name"},Pn={class:"form-items",for:"birth_date"},Ln=["disabled"],Mn={class:"form-items",for:"location"},zn=["disabled"],yn={class:"form-items"},wn={class:"form-buttons"},Vn={class:"confirm",type:"submit"},Bn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),i=Object(o["computed"])((function(){return t.user.created_at?Object(Nt["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),l=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),u=Object(o["ref"])(!1);function O(e){a.first_name=e.first_name?e.first_name:"",a.last_name=e.last_name?e.last_name:"",a.birth_date=e.birth_date?Object(Nt["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",a.location=e.location?e.location:"",a.bio=e.bio?e.bio:""}function d(e){a.bio=e}function m(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PROFILE,a)}function b(e){u.value=e}function E(e){n.dispatch(S["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(o["onMounted"])((function(){t.user&&O(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("Modal"),r=Object(o["resolveComponent"])("ErrorMessage"),O=Object(o["resolveComponent"])("CustomTextArea");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",fn,[Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=function(e){return E(Object(o["unref"])(c).username)}),onCancelAction:t[1]||(t[1]=function(e){return b(!1)})},null,8,["title","message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",jn,[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(l)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(m,["prevent"])},[Object(o["createElementVNode"])("label",An,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(o["createElementVNode"])("input",{id:"email",value:Object(o["unref"])(c).email,disabled:""},null,8,_n)]),Object(o["createElementVNode"])("label",Nn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(o["createElementVNode"])("input",{id:"registrationDate",value:Object(o["unref"])(i),disabled:""},null,8,Rn)]),Object(o["createElementVNode"])("label",gn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(a).password=e}),disabled:Object(o["unref"])(s)},null,8,In),[[o["vModelText"],Object(o["unref"])(a).password]])]),Object(o["createElementVNode"])("label",vn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(o["unref"])(a).password_conf=e}),disabled:Object(o["unref"])(s)},null,8,hn),[[o["vModelText"],Object(o["unref"])(a).password_conf]])]),Un,Object(o["createElementVNode"])("label",kn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"first_name","onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(o["unref"])(a).first_name=e}),disabled:Object(o["unref"])(s)},null,8,Dn),[[o["vModelText"],Object(o["unref"])(a).first_name]])]),Object(o["createElementVNode"])("label",Cn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"last_name","onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(o["unref"])(a).last_name=e})},null,512),[[o["vModelText"],Object(o["unref"])(a).last_name]])]),Object(o["createElementVNode"])("label",Pn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(o["unref"])(a).birth_date=e}),disabled:Object(o["unref"])(s)},null,8,Ln),[[o["vModelText"],Object(o["unref"])(a).birth_date]])]),Object(o["createElementVNode"])("label",Mn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"location","onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(o["unref"])(a).location=e}),disabled:Object(o["unref"])(s)},null,8,zn),[[o["vModelText"],Object(o["unref"])(a).location]])]),Object(o["createElementVNode"])("label",yn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(o["createVNode"])(O,{name:"bio",charLimit:200,input:Object(o["unref"])(a).bio,disabled:Object(o["unref"])(s),onUpdateValue:d},null,8,["input","disabled"])]),Object(o["createElementVNode"])("div",wn,[Object(o["createElementVNode"])("button",Vn,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[8]||(t[8]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(o["createElementVNode"])("button",{class:"danger",onClick:t[9]||(t[9]=Object(o["withModifiers"])((function(e){return b(!0)}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],40,Sn)])])}}});n("44dee");const Gn=Bn;var xn=Gn,Fn=function(e){return Object(o["pushScopeId"])("data-v-239b9d46"),e=e(),Object(o["popScopeId"])(),e},Kn={id:"user-picture-edition"},Wn={class:"user-picture-form"},$n=["onSubmit"],Hn={class:"picture-help"},Yn={class:"info-box"},qn=Fn((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Xn={class:"picture-buttons"},Zn=["disabled"],Jn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),i=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.APP_CONFIG]})),s=i.value.max_single_file_size?Object(Oe["b"])(i.value.max_single_file_size):"",l=Object(o["ref"])(null);function u(){n.dispatch(S["a"].ACTIONS.DELETE_PICTURE)}function O(e){e.target.files&&(l.value=e.target.files[0])}function d(){l.value&&n.dispatch(S["a"].ACTIONS.UPDATE_USER_PICTURE,{picture:l.value})}return function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Kn,[Object(o["createElementVNode"])("div",Wn,[Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(c)},null,8,["user"]),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(d,["prevent"])},[Object(o["createElementVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:O},null,32),Object(o["createElementVNode"])("div",Hn,[Object(o["createElementVNode"])("span",Yn,[qn,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(s)),1)])]),Object(o["createElementVNode"])("div",Xn,[Object(o["createElementVNode"])("button",{type:"submit",disabled:!Object(o["unref"])(l)},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Zn),Object(o["unref"])(c).picture?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"danger",onClick:u},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=function(t){return e.$router.push("/profile")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,$n)])])}}});n("9ad0");const Qn=E()(Jn,[["__scopeId","data-v-239b9d46"]]);var er=Qn,tr=(n("498a"),n("4de4"),["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"]),nr={id:"tz-dropdown"},rr=["value","disabled","onKeydown"],cr=["onClick","onMouseover","autofocus"],or=Object(o["defineComponent"])({props:{input:null,disabled:{default:!1}},emits:["updateTimezone"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["toRefs"])(r),a=c.input,i=c.disabled,s=Object(o["ref"])(r.input),l=Object(o["ref"])(!1),u=Object(o["ref"])(null),O=Object(o["ref"])(0);function d(e){return e.toLowerCase().match(s.value.toLowerCase())}function m(e){O.value=e}function b(e){s.value=e,l.value=!1,n("updateTimezone",e)}function E(e){var t,n,r,c;(e.preventDefault(),null!==(t=u.value)&&void 0!==t&&null!==(n=t.firstElementChild)&&void 0!==n&&n.innerHTML)&&b(null===(r=u.value)||void 0===r||null===(c=r.firstElementChild)||void 0===c?void 0:c.innerHTML)}function p(e){e.preventDefault(),l.value=!0,s.value=e.target.value.trim()}return Object(o["watch"])((function(){return r.input}),(function(e){s.value=e})),function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nr,[Object(o["createElementVNode"])("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:s.value,disabled:Object(o["unref"])(i),required:"",onKeydown:[t[0]||(t[0]=Object(o["withKeys"])((function(e){return b(Object(o["unref"])(a))}),["esc"])),Object(o["withKeys"])(E,["enter"])],onInput:p},null,40,rr),l.value?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",{key:0,class:"tz-dropdown-list",ref:function(e,t){t["tzList"]=e,u.value=e}},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(tr).filter((function(e){return d(e)})),(function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:e,class:Object(o["normalizeClass"])(["tz-dropdown-item",{focus:t===O.value}]),onClick:function(t){return b(e)},onMouseover:function(e){return m(t)},autofocus:t===O.value},Object(o["toDisplayString"])(e),43,cr)})),128))],512)):Object(o["createCommentVNode"])("",!0)])}}});n("dfd6");const ar=E()(or,[["__scopeId","data-v-d1c5cf04"]]);var ir=ar,sr={id:"user-preferences-edition"},lr={class:"profile-form form-box"},ur=["onSubmit"],Or={class:"form-items"},dr=["disabled"],mr=["value"],br={class:"form-items"},Er={class:"form-items"},pr=["disabled"],Tr=["value"],fr={class:"form-items"},jr=["disabled"],Sr=["value"],Ar={class:"form-buttons"},_r={class:"confirm",type:"submit"},Nr=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["reactive"])({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),c=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],a=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],i=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),s=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function l(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function u(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PREFERENCES,r)}function O(e){r.timezone=e}return Object(o["onMounted"])((function(){t.user&&l(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",sr,[Object(o["createElementVNode"])("div",lr,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(s)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(u,["prevent"])},[Object(o["createElementVNode"])("label",Or,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(o["unref"])(r).language=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(U),(function(e){return Object(o["openBlock"])(),Object(o["createElementBlock"])("option",{value:e.value,key:e.value},Object(o["toDisplayString"])(e.label),9,mr)})),128))],8,dr),[[o["vModelSelect"],Object(o["unref"])(r).language]])]),Object(o["createElementVNode"])("label",br,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(o["createVNode"])(ir,{input:Object(o["unref"])(r).timezone,disabled:Object(o["unref"])(i),onUpdateTimezone:O},null,8,["input","disabled"])]),Object(o["createElementVNode"])("label",Er,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(o["unref"])(r).weekm=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(c,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,Tr)})),64))],8,pr),[[o["vModelSelect"],Object(o["unref"])(r).weekm]])]),Object(o["createElementVNode"])("label",fr,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(r).imperial_units=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(a,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.".concat(t.label))),9,Sr)})),64))],8,jr),[[o["vModelSelect"],Object(o["unref"])(r).imperial_units]])]),Object(o["createElementVNode"])("div",Ar,[Object(o["createElementVNode"])("button",_r,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],40,ur)])])}}});const Rr=Nr;var gr=Rr,Ir=(n("2532"),{id:"user-sport-preferences"}),vr={key:0,class:"responsive-table"},hr={class:"mobile-display"},Ur={key:0,class:"profile-buttons mobile-display"},kr={key:1,class:"profile-buttons"},Dr={class:"text-left"},Cr={key:0},Pr={class:"cell-heading"},Lr=["value"],Mr={class:"cell-heading"},zr={key:0,class:"disabled-message"},yr={key:1,class:"fa fa-refresh fa-spin fa-fw"},wr={class:"cell-heading"},Vr={class:"cell-heading"},Br=["checked"],Gr={class:"cell-heading"},xr=["value"],Fr={key:1},Kr={key:0,class:"action-buttons"},Wr={class:"cell-heading"},$r=["onClick"],Hr={key:1,class:"edition-buttons"},Yr=["disabled"],qr=["disabled"],Xr={key:0,class:"profile-buttons"},Zr={key:1,class:"profile-buttons"},Jr=Object(o["defineComponent"])({props:{user:null,isEdition:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(f["b"])(),c=r.t,a=Object(o["toRefs"])(t),i=a.isEdition,s=a.user,l=Object(o["inject"])("sportColors"),u=Object(o["computed"])((function(){return n.getters[S["c"].GETTERS.SPORTS]})),O=Object(o["computed"])((function(){return Object(Qe["e"])(u.value,c,!0,s.value.sports_list)})),d=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),m=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),b=Object(o["reactive"])({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function E(e){null!==e?(b.sport_id=e.id,b.color=e.color?e.color:l[e.label],b.is_active=e.is_active_for_user,b.stopped_speed_threshold=e.stopped_speed_threshold):N()}function p(e){return b.sport_id===e}function T(e){b.color=e.target.value}function j(e){b.stopped_speed_threshold=parseFloat(e.target.value)}function _(e){b.is_active=e.target.checked}function N(){b.sport_id=0,b.color=null,b.is_active=!0,b.stopped_speed_threshold=1,n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)}function R(e){e.preventDefault(),n.dispatch(S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,b)}return Object(o["watch"])((function(){return d.value}),(function(e){e||m.value||N()})),function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ir,[Object(o["unref"])(u).length>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",vr,[Object(o["createElementVNode"])("div",hr,[Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ur,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",kr,[Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),Object(o["createElementVNode"])("th",Dr,Object(o["toDisplayString"])(e.$t("workouts.SPORT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",Cr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1)):Object(o["createCommentVNode"])("",!0)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(c){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:c.id},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Pr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"sport-color",type:"color",value:Object(o["unref"])(b).color,onInput:T},null,40,Lr)):(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:1,title:c.translatedLabel,"sport-label":c.label,color:c.color?c.color:Object(o["unref"])(l)[c.label]},null,8,["title","sport-label","color"]))]),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["sport-label",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Mr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(c.translatedLabel)+" ",1),c.is_active?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",zr," ("+Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),Object(o["unref"])(d)&&p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",yr)):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(m)&&Object(o["unref"])(b).sport_id===c.id?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,message:Object(o["unref"])(m)},null,8,["message"])):Object(o["createCommentVNode"])("",!0)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",wr,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(Object(o["unref"])(s).sports_list.includes(c.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Vr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,type:"checkbox",checked:c.is_active_for_user,onChange:_},null,40,Br)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",{key:1,class:Object(o["normalizeClass"])("fa fa".concat(c.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Gr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:Object(o["unref"])(b).stopped_speed_threshold,onInput:j},null,40,xr)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",Fr,Object(o["toDisplayString"])(c.stopped_speed_threshold),1))],2),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",Kr,[Object(o["createElementVNode"])("span",Wr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1),0===Object(o["unref"])(b).sport_id?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,onClick:function(e){return E(c)}},Object(o["toDisplayString"])(e.$t("buttons.EDIT")),9,$r)):Object(o["createCommentVNode"])("",!0),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Hr,[Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:R},Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),9,Yr),Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:t[3]||(t[3]=function(e){return E(null)})},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),9,qr)])):Object(o["createCommentVNode"])("",!0)])):Object(o["createCommentVNode"])("",!0)])})),128))])]),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xr,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Zr,[Object(o["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))])):Object(o["createCommentVNode"])("",!0)])}}});n("e7b2");const Qr=E()(Jr,[["__scopeId","data-v-bd7a47b2"]]);var ec=Qr,tc=n("5502"),nc=n("ade3"),rc=n("bc3a"),cc=n.n(rc),oc=n("d257"),ac=cc.a.create({baseURL:Object(oc["a"])()});ac.interceptors.request.use((function(e){var t=bo.getters[S["a"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var ic,sc,lc,uc,Oc,dc,mc,bc,Ec,pc,Tc,fc,jc,Sc,Ac=ac,_c=cc.a.create({baseURL:Object(oc["a"])()}),Nc=_c,Rc=function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.delete("users/".concat(t.username)).then((function(n){204===n.status?t.fromAdmin?jo.push("/admin/users"):e.dispatch(S["a"].ACTIONS.LOGOUT).then((function(){return jo.push("/")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},gc=(ic={},Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USER,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USER,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USERS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USERS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["e"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.DELETE_USER_ACCOUNT,(function(e,t){Rc(e,{username:t.username,fromAdmin:!0})})),ic),Ic=g.global.locale,vc=function(e){localStorage.removeItem("authToken"),e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["d"].MUTATIONS.EMPTY_USER_STATS),e.commit(S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUTS),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),jo.push("/login")},hc=(sc={},Object(nc["a"])(sc,S["a"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE))})),Object(nc["a"])(sc,S["a"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language),e.dispatch(S["c"].ACTIONS.GET_SPORTS)):(Object(oc["b"])(e,null),vc(e))})).catch((function(t){Object(oc["b"])(e,t),vc(e)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("/auth/".concat(t.actionType),t.formData).then((function(n){if("success"===n.data.status){var r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")}))}else Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGOUT,(function(e){vc(e)})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),jo.push("/profile")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language,jo.push("/profile/preferences")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/sports",t).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){Object(oc["b"])(e,t),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),Ac.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_ACCOUNT,(function(e,t){Rc(e,t)})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.delete("auth/picture").then((function(t){204===t.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/sent"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/update",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/password-updated"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),sc),Uc=(lc={},Object(nc["a"])(lc,S["a"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(nc["a"])(lc,S["a"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(nc["a"])(lc,S["a"].GETTERS.USER_LOADING,(function(e){return e.loading})),lc),kc=(uc={},Object(nc["a"])(uc,S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),uc),Dc={authToken:null,authUserProfile:{},loading:!1},Cc={state:Dc,actions:hc,getters:Uc,mutations:kc},Pc=Cc,Lc=(Oc={},Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),Ac.get("config").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/all").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),jo.push("/admin/application")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Oc),Mc=(dc={},Object(nc["a"])(dc,S["b"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(nc["a"])(dc,S["b"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(nc["a"])(dc,S["b"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(nc["a"])(dc,S["b"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(nc["a"])(dc,S["b"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(nc["a"])(dc,S["b"].GETTERS.LOCALE,(function(e){return e.locale})),dc),zc=(mc={},Object(nc["a"])(mc,S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(nc["a"])(mc,S["b"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=I[t]})),mc),yc={root:!0,language:"en",locale:_["a"],errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},wc=(bc={},Object(nc["a"])(bc,S["c"].ACTIONS.GET_SPORTS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("sports").then((function(t){"success"===t.data.status?(e.commit(S["c"].MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(bc,S["c"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),bc),Vc=Object(nc["a"])({},S["c"].GETTERS.SPORTS,(function(e){return e.sports})),Bc=Object(nc["a"])({},S["c"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),Gc={sports:[]},xc={state:Gc,actions:wc,getters:Vc,mutations:Bc},Fc=xc,Kc=Object(nc["a"])({},S["d"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(S["d"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Wc=Object(nc["a"])({},S["d"].GETTERS.USER_STATS,(function(e){return e.statistics})),$c=(Ec={},Object(nc["a"])(Ec,S["d"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(nc["a"])(Ec,S["d"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),Ec),Hc={statistics:{}},Yc={state:Hc,actions:Kc,getters:Wc,mutations:$c},qc=Yc,Xc=(pc={},Object(nc["a"])(pc,S["e"].GETTERS.USER,(function(e){return e.user})),Object(nc["a"])(pc,S["e"].GETTERS.USERS,(function(e){return e.users})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),pc),Zc=(Tc={},Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),Tc),Jc={user:{},users:[],loading:!1,pagination:{}},Qc={state:Jc,actions:gc,getters:Xc,mutations:Zc},eo=Qc,to=n("4870"),no=function(e,t,n){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("workouts",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["f"].MUTATIONS[n],t.data.data.workouts),n===to["c"]["SET_USER_WORKOUTS"]&&e.commit(S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},ro=(fc={},Object(nc["a"])(fc,S["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),no(e,t,to["c"]["SET_CALENDAR_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_USER_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["ADD_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";Ac.get("workouts/".concat(t.workoutId)).then((function(r){var c=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===c.segments.length||!c.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(S["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(Ac.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),Ac.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,null)})).catch((function(t){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),jo.push("/")})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),e.dispatch(S["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){jo.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");var n=new FormData;n.append("file",t.file),n.append("data",'{"sport_id": '.concat(t.sport_id,', "notes": "').concat(t.notes,'"}')),Ac.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push("/workouts/".concat(n.id))}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),fc),co=(jc={},Object(nc["a"])(jc,S["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.TIMELINE_WORKOUTS,(function(e){return e.timeline_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUTS_PAGINATION,(function(e){return e.pagination})),jc),oo=(Sc={},Object(nc["a"])(Sc,S["f"].MUTATIONS.ADD_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=e.timeline_workouts.concat(t)})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,(function(e,t){e.pagination=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),Sc),ao={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},io={state:ao,actions:ro,getters:co,mutations:oo},so=io,lo={authUserModule:Pc,sportsModule:Fc,statsModule:qc,usersModule:eo,workoutsModule:so},uo={state:yc,actions:Lc,getters:Mc,mutations:zc,modules:lo},Oo=uo,mo=Object(tc["a"])(Oo),bo=mo,Eo=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},po=[{path:"/",name:"Dashboard",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"7277"))}},{path:"/login",name:"Login",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"login"}},{path:"/register",name:"Register",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"register"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset"}},{path:"/profile",name:"Profile",component:function(){return n.e("profile").then(n.bind(null,"36e8"))},children:[{path:"",name:"UserProfile",component:an,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfos",component:sn["a"]},{path:"preferences",name:"UserPreferences",component:mn},{path:"sports",name:"UserSportPreferences",component:ec,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Tn,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfosEdition",component:xn},{path:"picture",name:"UserPictureEdition",component:er},{path:"preferences",name:"UserPreferencesEdition",component:gr},{path:"sports",name:"UserSportPreferencesEdition",component:ec,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"ccb2"))}},{path:"/users/:username",name:"User",component:function(){return n.e("profile").then(n.bind(null,"ad3d"))}},{path:"/workouts",name:"Workouts",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"0385"))}},{path:"/workouts/:workoutId",name:"Workout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"8ee9"))}},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"692d"))}},{path:"/admin",name:"Administration",component:function(){return n.e("admin").then(n.bind(null,"89b3"))},children:[{path:"",name:"AdministrationMenu",component:Je},{path:"application",name:"ApplicationAdministration",component:Ce},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ce,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:_t},{path:"users",name:"UsersAdministration",component:Yt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],To=Object(ue["a"])({history:Object(ue["b"])("/"),routes:po}),fo=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];To.beforeEach((function(e,t,n){bo.dispatch(S["a"].ACTIONS.CHECK_AUTH_USER).then((function(){if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&fo.includes(e.path))return n("/");if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]||fo.includes(e.path))n();else{var t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((function(e){console.error(e),n()}))}));var jo=To,So={class:"alert-message"},Ao=["innerHTML"],_o=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",So,[Object(o["createElementVNode"])("div",{innerHTML:e.$t(Object(o["unref"])(r))},null,8,Ao)])}}});n("b9a4");const No=E()(_o,[["__scopeId","data-v-1c7b89ce"]]);var Ro=No,go={class:"custom-textarea"},Io=["id","name","maxLenght","disabled"],vo={class:"remaining-chars"},ho=Object(o["defineComponent"])({props:{name:null,charLimit:{default:500},disabled:{default:!1},input:{default:""}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["ref"])("");function a(e){n("updateValue",e.target.value)}return Object(o["watch"])((function(){return r.input}),(function(e){c.value=e})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",go,[Object(o["withDirectives"])(Object(o["createElementVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["isRef"])(c)?c.value=e:c=e}),onInput:a},null,40,Io),[[o["vModelText"],Object(o["unref"])(c)]]),Object(o["createElementVNode"])("div",vo,Object(o["toDisplayString"])(t.$t("workouts.REMAINING_CHARS"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(c).length)+"/"+Object(o["toDisplayString"])(e.charLimit),1)])}}});n("f41d");const Uo=E()(ho,[["__scopeId","data-v-129e44c0"]]);var ko=Uo,Do=(n("b680"),n("6284")),Co=Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(" ")+" "),Po=Object(o["defineComponent"])({props:{distance:null,unitFrom:null,useImperialUnits:null,digits:{default:2},displayUnit:{default:!0},speed:{default:!1},strong:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.digits,c=n.displayUnit,a=n.distance,i=n.speed,s=n.strong,l=n.unitFrom,u=n.useImperialUnits,O=Object(o["computed"])((function(){return u.value?Do["c"][l.value].defaultTarget:l.value})),d=Object(o["computed"])((function(){return u.value?Object(Do["a"])(a.value,l.value,O.value,r.value):parseFloat(a.value.toFixed(r.value))}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["distance",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(d)),3),Co,Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(["unit",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(O))+Object(o["toDisplayString"])(Object(o["unref"])(i)?"/h":""),3)):Object(o["createCommentVNode"])("",!0)],64)}}});n("6862");const Lo=E()(Po,[["__scopeId","data-v-5d562b40"]]);var Mo=Lo,zo={class:"dropdown-wrapper"},yo={key:0,class:"dropdown-list"},wo=["onClick"],Vo=Object(o["defineComponent"])({props:{options:null,selected:null},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=e,c=Object(ue["c"])(),a=Object(o["ref"])(!1),i=r.options.map((function(e){return e}));function s(){a.value=!a.value}function l(e){n("selected",e),a.value=!1}return Object(o["watch"])((function(){return c.path}),(function(){return a.value=!1})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",zo,[Object(o["createElementVNode"])("div",{class:"dropdown-selected",onClick:s},[Object(o["renderSlot"])(t.$slots,"default")]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",yo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(i),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{class:Object(o["normalizeClass"])(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:function(e){return l(t)}},Object(o["toDisplayString"])(t.label),11,wo)})),128))])):Object(o["createCommentVNode"])("",!0)])}}});n("55a6");const Bo=E()(Vo,[["__scopeId","data-v-ca61364c"]]);var Go=Bo,xo={class:"error-message"},Fo={key:0},Ko={key:1},Wo=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",xo,[Array.isArray(Object(o["unref"])(r))?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",Fo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:n},Object(o["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ko,Object(o["toDisplayString"])(e.$t(Object(o["unref"])(r))),1))])}}});n("cf98");const $o=E()(Wo,[["__scopeId","data-v-4366d0e7"]]);var Ho=$o,Yo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},qo=Object(o["createElementVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),Xo=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),Object(o["createElementVNode"])("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),Zo=[qo,Xo];function Jo(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Yo,Zo)}var Qo={name:"CyclingSport"};const ea=E()(Qo,[["render",Jo]]);var ta=ea,na={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},ra=Object(o["createElementVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),ca=Object(o["createElementVNode"])("g",{id:"g147"},[Object(o["createElementVNode"])("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),Object(o["createElementVNode"])("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),oa=[ra,ca];function aa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",na,oa)}var ia={name:"CyclingTransport"};const sa=E()(ia,[["render",aa]]);var la=sa,ua={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Oa=Object(o["createElementVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),da=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),Object(o["createElementVNode"])("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),ma=[Oa,da];function ba(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ua,ma)}var Ea={name:"Hiking"};const pa=E()(Ea,[["render",ba]]);var Ta=pa,fa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},ja=Object(o["createElementVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Sa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),Object(o["createElementVNode"])("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),Object(o["createElementVNode"])("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),Aa=[ja,Sa];function _a(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",fa,Aa)}var Na={name:"MountainBiking"};const Ra=E()(Na,[["render",_a]]);var ga=Ra,Ia={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},va=Object(o["createStaticVNode"])(' silhouette of a person riding an electric mountain bike ',18),ha=[va];function Ua(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ia,ha)}var ka={name:"MountainBikingElectric"};const Da=E()(ka,[["render",Ua]]);var Ca=Da,Pa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},La=Object(o["createElementVNode"])("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ma=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),Object(o["createElementVNode"])("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),za=[La,Ma];function ya(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Pa,za)}var wa={name:"Rowing"};const Va=E()(wa,[["render",ya]]);var Ba=Va,Ga={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},xa=Object(o["createElementVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),Fa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),Object(o["createElementVNode"])("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),Ka=[xa,Fa];function Wa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ga,Ka)}var $a={name:"Running"};const Ha=E()($a,[["render",Wa]]);var Ya=Ha,qa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Xa=Object(o["createElementVNode"])("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Za=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),Object(o["createElementVNode"])("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),Ja=[Xa,Za];function Qa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",qa,Ja)}var ei={name:"SkiingAlpine"};const ti=E()(ei,[["render",Qa]]);var ni=ti,ri={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},ci=Object(o["createElementVNode"])("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),oi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),ai=[ci,oi];function ii(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ri,ai)}var si={name:"SkiingCrossCountry"};const li=E()(si,[["render",ii]]);var ui=li,Oi={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},di=Object(o["createElementVNode"])("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),mi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),Object(o["createElementVNode"])("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),bi=[di,mi];function Ei(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Oi,bi)}var pi={name:"Trail"};const Ti=E()(pi,[["render",Ei]]);var fi=Ti,ji={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Si=Object(o["createStaticVNode"])('silhouette of a walking person',3),Ai=[Si];function _i(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ji,Ai)}var Ni={name:"Walking"};const Ri=E()(Ni,[["render",_i]]);var gi=Ri,Ii=["title"],vi=Object(o["defineComponent"])({props:{sportLabel:null,color:null,title:{default:""}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.color,c=n.sportLabel,a=n.title,i=Object(o["inject"])("sportColors");return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"sport-img",style:Object(o["normalizeStyle"])({fill:Object(o["unref"])(r)?Object(o["unref"])(r):Object(o["unref"])(i)[Object(o["unref"])(c)]}),title:Object(o["unref"])(a)?Object(o["unref"])(a):e.$t("sports.".concat(Object(o["unref"])(c),".LABEL"))},["Cycling (Sport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ta,{key:0})):Object(o["createCommentVNode"])("",!0),"Cycling (Transport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(la,{key:1})):Object(o["createCommentVNode"])("",!0),"Hiking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ta,{key:2})):Object(o["createCommentVNode"])("",!0),"Mountain Biking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ga,{key:3})):Object(o["createCommentVNode"])("",!0),"Mountain Biking (Electric)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ca,{key:4})):Object(o["createCommentVNode"])("",!0),"Rowing"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ba,{key:5})):Object(o["createCommentVNode"])("",!0),"Running"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ya,{key:6})):Object(o["createCommentVNode"])("",!0),"Skiing (Alpine)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ni,{key:7})):Object(o["createCommentVNode"])("",!0),"Skiing (Cross Country)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ui,{key:8})):Object(o["createCommentVNode"])("",!0),"Trail"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(fi,{key:9})):Object(o["createCommentVNode"])("",!0),"Walking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(gi,{key:10})):Object(o["createCommentVNode"])("",!0)],12,Ii)}}});const hi=vi;var Ui=hi,ki={class:"loader"};function Di(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ki)}n("922d");const Ci={},Pi=E()(Ci,[["render",Di],["__scopeId","data-v-436637e0"]]);var Li=Pi,Mi={id:"modal"},zi={class:"custom-modal"},yi={key:0,class:"modal-message"},wi={key:1,class:"modal-message"},Vi={class:"modal-buttons"},Bi=Object(o["defineComponent"])({props:{title:null,message:null,strongMessage:{default:function(){return null}}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=e,c=Object(A["a"])(),a=Object(o["toRefs"])(r),i=a.title,s=a.message,l=a.strongMessage,u=Object(o["computed"])((function(){return c.getters[S["b"].GETTERS.ERROR_MESSAGES]}));return Object(o["onUnmounted"])((function(){return c.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),function(e,t){var r=Object(o["resolveComponent"])("i18n-t"),c=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Mi,[Object(o["createElementVNode"])("div",zi,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i)),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yi,[Object(o["createVNode"])(r,{keypath:Object(o["unref"])(s)},{default:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(Object(o["unref"])(l)),1)]})),_:1},8,["keypath"])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",wi,Object(o["toDisplayString"])(Object(o["unref"])(s)),1)),Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:2,message:Object(o["unref"])(u)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",Vi,[Object(o["unref"])(u)?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"confirm",onClick:t[0]||(t[0]=function(e){return n("confirmAction")})},Object(o["toDisplayString"])(e.$t("buttons.YES")),1)),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[1]||(t[1]=function(e){return n("cancelAction")})},Object(o["toDisplayString"])(e.$t("buttons.".concat(Object(o["unref"])(u)?"CANCEL":"NO"))),1)])]})),_:1})])])}}});n("7489");const Gi=E()(Bi,[["__scopeId","data-v-20a846ac"]]);var xi=Gi,Fi=[{target:Ro,name:"AlertMessage"},{target:Ke,name:"Card"},{target:ko,name:"CustomTextArea"},{target:Mo,name:"Distance"},{target:Go,name:"Dropdown"},{target:Ho,name:"ErrorMessage"},{target:Li,name:"Loader"},{target:xi,name:"Modal"},{target:Ui,name:"SportImage"}],Ki={mounted:function(e,t){e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};r["Chart"].register(r["BarElement"],r["LineElement"],r["PointElement"],r["Legend"],r["Title"],r["Tooltip"],r["Filler"],r["BarController"],r["CategoryScale"],r["LineController"],r["LinearScale"],c["a"]);var Wi=Object(o["createApp"])(le).provide("sportColors",Qe["c"]).use(g).use(bo).use(jo).directive("click-outside",Ki);Fi.forEach((function(e){Wi.component(e.name,e.target)})),Wi.mount("#app")},cf98:function(e,t,n){"use strict";n("c7cd")},d251:function(e,t,n){},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return o}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("d3b7"),n("ac1f"),n("1276");var r=n("dad5"),c=function(){return"/api/"},o=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",c=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r["b"].MUTATIONS.SET_ERROR_MESSAGES,c.includes("\n")?c.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(c))}},d2bc:function(e,t,n){},d9b8:function(e,t,n){},dad5:function(e,t,n){"use strict";var r,c,o,a,i,s,l,u,O,d,m,b,E,p,T;n.d(t,"b",(function(){return j})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"a",(function(){return _})),n.d(t,"e",(function(){return N})),n.d(t,"f",(function(){return R})),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["USER_LOADING"]="USER_LOADING"}(c||(c={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(a||(a={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(i||(i={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(s||(s={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(l||(l={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(O||(O={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(d||(d={})),function(e){e["USER_STATS"]="USER_STATS"}(m||(m={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(b||(b={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(E||(E={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(p||(p={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION"}(T||(T={}));var f=n("4870"),j={ACTIONS:a,GETTERS:i,MUTATIONS:s},S={ACTIONS:l,GETTERS:u,MUTATIONS:O},A={ACTIONS:d,GETTERS:m,MUTATIONS:b},_={ACTIONS:r,GETTERS:c,MUTATIONS:o},N={ACTIONS:E,GETTERS:p,MUTATIONS:T},R={ACTIONS:f["a"],GETTERS:f["b"],MUTATIONS:f["c"]}},dbef:function(e,t,n){},dbf1:function(e,t,n){},dfd6:function(e,t,n){"use strict";n("2679")},e7b2:function(e,t,n){"use strict";n("3605")},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function c(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}c.keys=function(){return Object.keys(r)},c.resolve=o,e.exports=c,c.id="e7b6"},e9c9:function(e,t,n){},ef54:function(e,t,n){},f41d:function(e,t,n){"use strict";n("a0eb")},f509:function(e,t,n){"use strict";n("3256")},fa52:function(e,t,n){"use strict";n("65d3")},feac:function(e,t,n){"use strict";n("c26b")}}); +//# sourceMappingURL=app.43c2e954.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.aa3fc8a8.js.map b/fittrackee/dist/static/js/app.43c2e954.js.map similarity index 99% rename from fittrackee/dist/static/js/app.aa3fc8a8.js.map rename to fittrackee/dist/static/js/app.43c2e954.js.map index ebcc3cff..d2930fff 100644 --- a/fittrackee/dist/static/js/app.aa3fc8a8.js.map +++ b/fittrackee/dist/static/js/app.43c2e954.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?7652","webpack:///./src/components/Administration/AdminMenu.vue?95c1","webpack:///./src/components/Common/StatCard.vue?785a","webpack:///./src/utils/sports.ts","webpack:///./src/App.vue?5d1b","webpack:///./src/use/useStore.ts","webpack:///./src/components/Common/Pagination.vue?42b0","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?24df","webpack:///./src/components/Footer.vue?1c0e","webpack:///./src/components/Administration/AdminUsers.vue?a81b","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?3ebe","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/components/Common/Dropdown.vue?9d33","webpack:///./src/utils/dates.ts","webpack:///./src/components/Administration/AdminApplication.vue?1c1a","webpack:///./src/utils/units.ts","webpack:///./src/locales/fr/administration.json","webpack:///./src/locales/fr/api.json","webpack:///./src/locales/fr/buttons.json","webpack:///./src/locales/fr/common.json","webpack:///./src/locales/fr/dashboard.json","webpack:///./src/locales/fr/error.json","webpack:///./src/locales/fr/sports.json","webpack:///./src/locales/fr/statistics.json","webpack:///./src/locales/fr/user.json","webpack:///./src/locales/fr/workouts.json","webpack:///./src/locales/fr/fr.ts","webpack:///./src/components/Common/Distance.vue?3125","webpack:///./src/components/Common/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?573e","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?9546","webpack:///./src/components/Common/Modal.vue?2baf","webpack:///./src/components/Administration/AppStatsCards.vue?4f54","webpack:///./src/components/Common/Card.vue?ee24","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?21e6","webpack:///./src/components/Common/FilterSelects.vue","webpack:///./src/components/Common/FilterSelects.vue?2f0a","webpack:///./src/components/Common/Loader.vue?458e","webpack:///./src/components/Common/FilterSelects.vue?bcc8","webpack:///./src/utils/api.ts","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?2f25","webpack:///./src/components/User/UserPicture.vue?3c5d","webpack:///./src/components/Administration/AdminSports.vue?0c60","webpack:///./src/components/Common/AlertMessage.vue?cde4","webpack:///./src/components/NoConfig.vue?d170","webpack:///./src/components/NavBar.vue?6217","webpack:///./src/locales/en/administration.json","webpack:///./src/locales/en/api.json","webpack:///./src/locales/en/buttons.json","webpack:///./src/locales/en/common.json","webpack:///./src/locales/en/dashboard.json","webpack:///./src/locales/en/error.json","webpack:///./src/locales/en/sports.json","webpack:///./src/locales/en/statistics.json","webpack:///./src/locales/en/user.json","webpack:///./src/locales/en/workouts.json","webpack:///./src/locales/en/en.ts","webpack:///./src/utils/files.ts","webpack:///./src/components/User/UserPicture.vue","webpack:///./src/components/User/UserPicture.vue?dc88","webpack:///./src/registerServiceWorker.ts","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?14b8","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?5ec4","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?0078","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?9c66","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?5d3b","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?ecbc","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AdminMenu.vue?572b","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?8d91","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsers.vue?9006","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?68f5","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/ProfileDisplay/index.vue?d237","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?e51f","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?27de","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?a314","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?6a32","webpack:///./src/utils/timezone.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?2dc4","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?a05c","webpack:///./src/components/User/UserSportPreferences.vue","webpack:///./src/components/User/UserSportPreferences.vue?ec8d","webpack:///./src/api/authApi.ts","webpack:///./src/api/defaultApi.ts","webpack:///./src/store/modules/users/actions.ts","webpack:///./src/store/modules/authUser/actions.ts","webpack:///./src/store/modules/authUser/getters.ts","webpack:///./src/store/modules/authUser/mutations.ts","webpack:///./src/store/modules/authUser/state.ts","webpack:///./src/store/modules/authUser/index.ts","webpack:///./src/store/modules/root/actions.ts","webpack:///./src/store/modules/root/getters.ts","webpack:///./src/store/modules/root/mutations.ts","webpack:///./src/store/modules/root/state.ts","webpack:///./src/store/modules/sports/actions.ts","webpack:///./src/store/modules/sports/getters.ts","webpack:///./src/store/modules/sports/mutations.ts","webpack:///./src/store/modules/sports/state.ts","webpack:///./src/store/modules/sports/index.ts","webpack:///./src/store/modules/statistics/actions.ts","webpack:///./src/store/modules/statistics/getters.ts","webpack:///./src/store/modules/statistics/mutations.ts","webpack:///./src/store/modules/statistics/state.ts","webpack:///./src/store/modules/statistics/index.ts","webpack:///./src/store/modules/users/getters.ts","webpack:///./src/store/modules/users/mutations.ts","webpack:///./src/store/modules/users/state.ts","webpack:///./src/store/modules/users/index.ts","webpack:///./src/store/modules/workouts/actions.ts","webpack:///./src/store/modules/workouts/getters.ts","webpack:///./src/store/modules/workouts/mutations.ts","webpack:///./src/store/modules/workouts/state.ts","webpack:///./src/store/modules/workouts/index.ts","webpack:///./src/store/modules/root/index.ts","webpack:///./src/store/index.ts","webpack:///./src/router/index.ts","webpack:///./src/components/Common/AlertMessage.vue","webpack:///./src/components/Common/AlertMessage.vue?7dca","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?933e","webpack:///./src/components/Common/Distance.vue","webpack:///./src/components/Common/Distance.vue?de84","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?56da","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?31ca","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?1dcc","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?667c","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?75de","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b14","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue?adb2","webpack:///./src/components/Common/Images/SportImage/Rowing.vue","webpack:///./src/components/Common/Images/SportImage/Rowing.vue?a825","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?275d","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue?8028","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue?a0cc","webpack:///./src/components/Common/Images/SportImage/Trail.vue","webpack:///./src/components/Common/Images/SportImage/Trail.vue?43e1","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?ecc5","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/index.vue?1dbe","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?bdb0","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1686","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/components/Common/ErrorMessage.vue?172e","webpack:///./src/utils/index.ts","webpack:///./src/store/modules/authUser/enums.ts","webpack:///./src/store/modules/root/enums.ts","webpack:///./src/store/modules/sports/enums.ts","webpack:///./src/store/modules/statistics/enums.ts","webpack:///./src/store/modules/users/enums.ts","webpack:///./src/store/constants.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?25ee","webpack:///./src/components/User/UserSportPreferences.vue?7f8c","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/Common/CustomTextArea.vue?7df9","webpack:///./src/components/User/ProfileDisplay/index.vue?594a","webpack:///./src/components/User/UserProfileTabs.vue?6883","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?cedb"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","props","icon","text","setup","__props","_ctx","_cache","__exports__","sportColors","Hiking","Rowing","Running","Trail","Walking","sportIdColors","sports","colors","map","sport","id","color","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","userSports","filter","is_active_for_user","includes","is_active","sort","getSportLabel","workout","sport_id","getSportColor","useStore","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","user","_component_Distance","UserPicture","username","nb_workouts","$t","distance","total_distance","unitFrom","digits","displayUnit","useImperialUnits","imperial_units","nb_sports","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","getStartDate","duration","day","weekStartingMonday","weekStartsOn","incrementDate","getDateWithTZ","dateInUTC","tz","Date","getCalendarStartAndEnd","date","monthStart","monthEnd","start","end","formatWorkoutDate","dateTime","dateFormat","timeFormat","workout_date","workout_time","units","ft","unit","system","multiplier","defaultTarget","mi","km","factors","metric","imperial","convertDistance","from","to","unitTo","convertedDistance","parseFloat","toFixed","convertStatsDistance","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","admin","api","buttons","common","dashboard","statistics","workouts","pagination","path","query","getQuery","page","cursor","newQuery","assign","_component_router_link","disabled","has_prev","default","_","pages","active","has_next","fromAdmin","store","authUser","getters","GETTERS","AUTH_USER_PROFILE","registrationDate","created_at","format","birthDate","birth_date","displayModal","updateDisplayModal","deleteUserAccount","dispatch","ACTIONS","DELETE_USER_ACCOUNT","_component_Modal","title","strongMessage","onConfirmAction","$event","onCancelAction","first_name","last_name","location","bio","onClick","$router","go","order_by","emits","emit","perPage","onSelectUpdate","onChange","order","toUpperCase","per_page","nb","sortList","defaultPage","defaultPerPage","getNumberQueryValue","queryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","orderByList","defaultOrderBy","options","queryOptions","defaultSort","workoutsPayloadKeys","getRange","stop","Array","rangePagination","currentPage","concat","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","authUserPictureUrl","picture","alt","ready","registered","cached","updatefound","updated","offline","version","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","availableLanguages","isAuthenticated","IS_AUTHENTICATED","language","LANGUAGE","isMenuOpen","openMenu","closeMenu","updateLanguage","option","toString","commit","MUTATIONS","UPDATE_LANG","logout","LOGOUT","_component_Dropdown","selected","onSelected","render","appConfig","APP_CONFIG","appLoading","APP_LOADING","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollToTop","scrollTo","behavior","GET_APPLICATION_CONFIG","_component_Loader","_component_router_view","NavBar","onMenuInteraction","NoConfig","Footer","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","edition","router","appData","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","ERROR_MESSAGES","updateForm","onCancel","EMPTY_ERROR_MESSAGES","onSubmit","formData","UPDATE_APPLICATION_CONFIG","_component_ErrorMessage","_component_Card","content","min","step","appStatistics","uploadDirSize","uploads_dir_size","StatCard","users","Card","AppStatsCards","is_registration_enabled","_hoisted_18","_hoisted_19","translatedSports","SPORTS","updateSportStatus","isActive","UPDATE_SPORTS","_component_SportImage","danger","has_workouts","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","updateUser","UPDATE_USER","reloadUsers","queryParam","EMPTY_USERS","FilterSelects","onUpdateSelect","email","timezone","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","onInput","UserHeader","UserProfileTabs","fistDayOfWeek","weekm","loading","USER_LOADING","_hoisted_20","_hoisted_21","_hoisted_22","userForm","password","password_conf","updateUserForm","updateBio","updateProfile","UPDATE_USER_PROFILE","deleteAccount","DELETE_ACCOUNT","_component_CustomTextArea","charLimit","input","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","DELETE_PICTURE","updatePictureFile","files","updateUserPicture","UPDATE_USER_PICTURE","accept","timeZones","isOpen","tzList","focusItemIndex","matchTimezone","onMouseOver","index","onUpdateTimezone","onEnter","preventDefault","firstElementChild","innerHTML","openDropdown","trim","required","onKeydown","ref","_value","_refs","focus","onMouseover","autofocus","weekStart","imperialUnits","UPDATE_USER_PREFERENCES","updateTZ","lang","TimezoneDropdown","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","isEdition","sports_list","sportPayload","stopped_speed_threshold","updateSportInEdition","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","UPDATE_USER_SPORT_PREFERENCES","newIsLoading","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","context","payload","delete","res","status","catch","actions","EMPTY_USER","UPDATE_USERS","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","finally","params","patch","UPDATE_USER_IN_USERS","localStorage","removeItem","EMPTY_USER_STATS","CLEAR_AUTH_USER_TOKEN","EMPTY_WORKOUTS","EMPTY_WORKOUT","CHECK_AUTH_USER","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","UPDATE_AUTH_USER_PROFILE","GET_SPORTS","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","redirectUrl","UPDATE_USER_LOADING","form","FormData","append","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","state","authUserProfile","IS_ADMIN","mutations","authUserState","UPDATE_APPLICATION_LOADING","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","application","APP_STATS","LOCALE","SET_ERROR_MESSAGES","root","SET_SPORTS","sportsState","GET_USER_STATS","filterType","UPDATE_USER_STATS","USER_STATS","statisticsState","USER","USERS_LOADING","updatedUser","usersState","SET_WORKOUTS_PAGINATION","GET_CALENDAR_WORKOUTS","EMPTY_CALENDAR_WORKOUTS","GET_USER_WORKOUTS","GET_TIMELINE_WORKOUTS","GET_MORE_TIMELINE_WORKOUTS","GET_WORKOUT_DATA","SET_WORKOUT_LOADING","segmentUrl","segmentId","workoutId","segments","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","notes","ADD_WORKOUT_WITHOUT_GPX","CALENDAR_WORKOUTS","calendar_workouts","TIMELINE_WORKOUTS","timeline_workouts","USER_WORKOUTS","user_workouts","WORKOUT_DATA","workoutData","WORKOUTS_PAGINATION","ADD_TIMELINE_WORKOUTS","SET_CALENDAR_WORKOUTS","SET_TIMELINE_WORKOUTS","SET_USER_WORKOUTS","chartData","workoutsState","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","getTabFromPath","regex","replace","routes","component","action","children","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","next","fullPath","updateText","maxLenght","speed","strong","dropdownOptions","toggleDropdown","updateSelected","$slots","isArray","subMessage","xmlns","xmlns:xlink","x","y","viewBox","style","xml:space","xmlns:svg","cx","cy","sportLabel","fill","CyclingSport","CyclingTransport","MountainBiking","MountainBikingElectric","SkiingAlpine","SkiingCrossCountry","_component_i18n_t","keypath","customComponents","AlertMessage","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","register","app","App","provide","i18n","directive","mount","getApiUrl","handleError","msg","response","split","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ROOT_STORE","SPORTS_STORE","STATS_STORE","AUTH_USER_STORE","USERS_STORE","WORKOUTS_STORE","webpackContext","req","webpackContextResolve"],"mappings":"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BAAwB,KAAO,6BAAiB,mBAAO+T,IAAiB,OAG5H,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,SAAU,CAC5Bxb,KAAM,SACNuM,UAAW,mBAAOkP,IACjB,6BAAiBhX,EAAKgD,GAAG,gCAAiC,EAAG,IAC/D,mBAAOL,GAAMmK,SACT,yBAAc,gCAAoB,SAAU,CAC3CrO,IAAK,EACLY,MAAO,SACP2K,QAASiN,GACR,6BAAiBjX,EAAKgD,GAAG,gCAAiC,IAC7D,gCAAoB,IAAI,GAC5B,gCAAoB,SAAU,CAC5B3D,MAAO,SACP2K,QAAS/J,EAAO,KAAOA,EAAO,GAAK,SAACyJ,GAAD,OAAkB1J,EAAKiK,QAAQlR,KAAK,eACtE,6BAAiBiH,EAAKgD,GAAG,iCAAkC,MAE/D,GAAI,Y,UC7Gb,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UCRFwU,I,oBAAY,CACvB,iBACA,eACA,iBACA,gBACA,eACA,oBACA,eACA,kBACA,sBACA,cACA,kBACA,eACA,gBACA,kBACA,iBACA,kBACA,kBACA,iBACA,eACA,kBACA,eACA,oBACA,oBACA,iCACA,8BACA,4BACA,0BACA,6BACA,4BACA,iCACA,0BACA,6BACA,6BACA,4BACA,4BACA,mBACA,mBACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,wBACA,uBACA,iBACA,kBACA,kBACA,kBACA,oBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,sBACA,oBACA,sBACA,oBACA,kBACA,oBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,iBACA,kBACA,kBACA,iBACA,8BACA,8BACA,iBACA,eACA,sBACA,iBACA,kBACA,iBACA,qBACA,oBACA,mBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,yBACA,wBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,mBACA,mBACA,wBACA,oBACA,uBACA,gBACA,mBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,oBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,oBACA,qBACA,mBACA,mBACA,oBACA,cACA,aACA,cACA,aACA,cACA,gBACA,cACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,aACA,kBACA,eACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,mBACA,iBACA,YACA,eACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,iBACA,gBACA,eACA,mBACA,oBACA,eACA,aACA,eACA,gBACA,cACA,eACA,oBACA,mBACA,YACA,YACA,iBACA,iBACA,aACA,gBACA,iBACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,eACA,aACA,aACA,mBACA,cACA,gBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,iBACA,mBACA,qBACA,yBACA,mBACA,qBACA,qBACA,wBACA,mBACA,mBACA,kBACA,mBACA,qBACA,sBACA,sBACA,kBACA,mBACA,mBACA,iBACA,mBACA,gBACA,kBACA,gBACA,kBACA,mBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,cACA,eACA,gBACA,gBACA,oBACA,gBACA,eACA,eACA,gBACA,gBACA,cACA,eACA,gBACA,cACA,cACA,gBACA,iBACA,oBACA,eACA,mBACA,iBACA,gBACA,mBACA,kBACA,gBACA,iBACA,mBACA,gBACA,oBACA,gBACA,gBACA,mBACA,eACA,mBACA,cACA,kBACA,mBACA,iBACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,q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","file":"static/js/app.aa3fc8a8.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"2f1d393d\",\"main~workouts\":\"6afa0411\",\"main\":\"8ecc731b\",\"workouts\":\"ca9449b1\",\"profile\":\"62578012\",\"reset\":\"518e646f\",\"chunk-2d0c9189\":\"c81458cc\",\"chunk-2d0cf391\":\"020c75ea\",\"chunk-2d0da8f3\":\"c8c3e7e8\",\"chunk-2d2248b6\":\"d84473c1\",\"chunk-2d22523a\":\"4b710d99\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"admin\":1,\"main~workouts\":1,\"main\":1,\"workouts\":1,\"profile\":1,\"reset\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"babfd43e\",\"main~workouts\":\"0edb3403\",\"main\":\"4a1640fb\",\"workouts\":\"84cbed34\",\"profile\":\"05400f70\",\"reset\":\"46776e72\",\"chunk-2d0c9189\":\"31d6cfe0\",\"chunk-2d0cf391\":\"31d6cfe0\",\"chunk-2d0da8f3\":\"31d6cfe0\",\"chunk-2d2248b6\":\"31d6cfe0\",\"chunk-2d22523a\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"","import { ISport, ITranslatedSport } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n onlyActive = false,\n userSports: number[] | null = null\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n onlyActive\n ? userSports === null\n ? sport.is_active_for_user\n : userSports.includes(sport.id) || sport.is_active\n : true\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4e6eb0d2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(user).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4e6eb0d2\"]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer le compte de \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les drois d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les drois d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : 8 caractères minimum.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, cet utilisateur existe déjà.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur : 3 à 12 caractères requis.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-de4b01da\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(page: number, cursor?: number): TWorkoutsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n event: _unref(pagination).has_prev ? 'click' : '',\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')), 1)\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n event: _unref(pagination).has_next ? 'click' : '',\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-de4b01da\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-deec58e4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"user-bio\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_4 = {\n key: 2,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, Ref, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { AUTH_USER_STORE, USERS_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n let displayModal: Ref = ref(false)\n\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \"admin.CONFIRM_USER_ACCOUNT_DELETION\",\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteUserAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_2, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-deec58e4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a5d764a4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a5d764a4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: 8 characters required.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that user already exists.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username: 3 to 12 characters required.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems encounter some issues.
Please try later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter an email address\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm the password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm Password\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password confirmation\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e60d9c5e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/_createStaticVNode(\"
•
•
\", 4)\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n }\n\n \n\n const { version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e60d9c5e\"]])\n\nexport default __exports__","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-53493688\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-53493688\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./NoConfig.vue?vue&type=template&id=c1193208&scoped=true\"\nconst script = {}\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c1193208\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6c3336ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1))\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : ''\n }, null, 8, [\"version\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6c3336ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-03002a18\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"max_users\" }\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = { class: \"user-limit-help\" }\nconst _hoisted_6 = { class: \"info-box\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = { for: \"max_single_file_size\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = { for: \"max_zip_file_size\" }\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = { for: \"gpx_limit_import\" }\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_16 = [\"onClick\"]\nconst _hoisted_17 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ;['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_4), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_13), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (__props.edition)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_16)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-03002a18\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=66f9fd1d\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7dad7915\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7dad7915\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7342d2cc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7342d2cc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d3ec733\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"left-text\" }\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"cell-heading\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"text-center\" }\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-center\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-center\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_17)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d3ec733\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: null,\n disabled: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-41d26a96\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-41d26a96\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_7 = [\"value\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"password\"\n}\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = {\n class: \"form-items\",\n for: \"passwordConfirmation\"\n}\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1)\nconst _hoisted_13 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_16 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_19 = [\"disabled\"]\nconst _hoisted_20 = { class: \"form-items\" }\nconst _hoisted_21 = { class: \"form-buttons\" }\nconst _hoisted_22 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const userForm: IUserPayload = reactive({\n password: '',\n password_conf: '',\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"email\",\n value: _unref(user).email,\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_7)\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).password) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(userForm).password]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_CONFIRMATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"passwordConfirmation\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).password_conf) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(userForm).password_conf]\n ])\n ]),\n _hoisted_12,\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_16, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_17), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_18, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_19), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_20, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"button\", _hoisted_22, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[8] || (_cache[8] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[9] || (_cache[9] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-239b9d46\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-239b9d46\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d1c5cf04\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref: (_value, _refs) => {\n _refs['tzList'] = _value\n tzList.value = _value\n }\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-d1c5cf04\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bd7a47b2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_26 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, true, user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_24)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bd7a47b2\"]])\n\nexport default __exports__","import axios from 'axios'\n\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`users/${payload.username}`, { admin: payload.admin })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n handleError(context, error)\n removeAuthUserData(context)\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n removeAuthUserData(context)\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserPasswordPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/Dashboard.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'register' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/NotFoundView.vue'),\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n]\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n } else if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1c7b89ce\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1c7b89ce\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-129e44c0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-129e44c0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5d562b40\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: null,\n digits: { default: 2 },\n displayUnit: { default: true },\n speed: { default: false },\n strong: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5d562b40\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4366d0e7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4366d0e7\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 10 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=436637e0&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-436637e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20a846ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20a846ac\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"","var map = {\n\t\"./en/en.ts\": \"c142\",\n\t\"./fr/fr.ts\": \"663e\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e7b6\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\""],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?7652","webpack:///./src/components/Administration/AdminMenu.vue?95c1","webpack:///./src/components/Common/StatCard.vue?785a","webpack:///./src/utils/sports.ts","webpack:///./src/App.vue?5d1b","webpack:///./src/use/useStore.ts","webpack:///./src/components/Common/Pagination.vue?42b0","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?24df","webpack:///./src/components/Footer.vue?1c0e","webpack:///./src/components/Administration/AdminUsers.vue?a81b","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?3ebe","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/components/Common/Dropdown.vue?9d33","webpack:///./src/utils/dates.ts","webpack:///./src/components/Administration/AdminApplication.vue?1c1a","webpack:///./src/utils/units.ts","webpack:///./src/locales/fr/administration.json","webpack:///./src/locales/fr/api.json","webpack:///./src/locales/fr/buttons.json","webpack:///./src/locales/fr/common.json","webpack:///./src/locales/fr/dashboard.json","webpack:///./src/locales/fr/error.json","webpack:///./src/locales/fr/sports.json","webpack:///./src/locales/fr/statistics.json","webpack:///./src/locales/fr/user.json","webpack:///./src/locales/fr/workouts.json","webpack:///./src/locales/fr/fr.ts","webpack:///./src/components/Common/Distance.vue?3125","webpack:///./src/components/Common/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?573e","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?9546","webpack:///./src/components/Common/Modal.vue?2baf","webpack:///./src/components/Administration/AppStatsCards.vue?4f54","webpack:///./src/components/Common/Card.vue?ee24","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?21e6","webpack:///./src/components/Common/FilterSelects.vue","webpack:///./src/components/Common/FilterSelects.vue?2f0a","webpack:///./src/components/Common/Loader.vue?458e","webpack:///./src/components/Common/FilterSelects.vue?bcc8","webpack:///./src/utils/api.ts","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?2f25","webpack:///./src/components/User/UserPicture.vue?3c5d","webpack:///./src/components/Administration/AdminSports.vue?0c60","webpack:///./src/components/Common/AlertMessage.vue?cde4","webpack:///./src/components/NoConfig.vue?d170","webpack:///./src/components/NavBar.vue?6217","webpack:///./src/locales/en/administration.json","webpack:///./src/locales/en/api.json","webpack:///./src/locales/en/buttons.json","webpack:///./src/locales/en/common.json","webpack:///./src/locales/en/dashboard.json","webpack:///./src/locales/en/error.json","webpack:///./src/locales/en/sports.json","webpack:///./src/locales/en/statistics.json","webpack:///./src/locales/en/user.json","webpack:///./src/locales/en/workouts.json","webpack:///./src/locales/en/en.ts","webpack:///./src/utils/files.ts","webpack:///./src/components/User/UserPicture.vue","webpack:///./src/components/User/UserPicture.vue?dc88","webpack:///./src/registerServiceWorker.ts","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?14b8","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?5ec4","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?0078","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?9c66","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?5d3b","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?ecbc","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AdminMenu.vue?572b","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?8d91","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsers.vue?9006","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?68f5","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/ProfileDisplay/index.vue?d237","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?e51f","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?27de","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?a314","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?6a32","webpack:///./src/utils/timezone.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?2dc4","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?a05c","webpack:///./src/components/User/UserSportPreferences.vue","webpack:///./src/components/User/UserSportPreferences.vue?ec8d","webpack:///./src/api/authApi.ts","webpack:///./src/api/defaultApi.ts","webpack:///./src/store/modules/users/actions.ts","webpack:///./src/store/modules/authUser/actions.ts","webpack:///./src/store/modules/authUser/getters.ts","webpack:///./src/store/modules/authUser/mutations.ts","webpack:///./src/store/modules/authUser/state.ts","webpack:///./src/store/modules/authUser/index.ts","webpack:///./src/store/modules/root/actions.ts","webpack:///./src/store/modules/root/getters.ts","webpack:///./src/store/modules/root/mutations.ts","webpack:///./src/store/modules/root/state.ts","webpack:///./src/store/modules/sports/actions.ts","webpack:///./src/store/modules/sports/getters.ts","webpack:///./src/store/modules/sports/mutations.ts","webpack:///./src/store/modules/sports/state.ts","webpack:///./src/store/modules/sports/index.ts","webpack:///./src/store/modules/statistics/actions.ts","webpack:///./src/store/modules/statistics/getters.ts","webpack:///./src/store/modules/statistics/mutations.ts","webpack:///./src/store/modules/statistics/state.ts","webpack:///./src/store/modules/statistics/index.ts","webpack:///./src/store/modules/users/getters.ts","webpack:///./src/store/modules/users/mutations.ts","webpack:///./src/store/modules/users/state.ts","webpack:///./src/store/modules/users/index.ts","webpack:///./src/store/modules/workouts/actions.ts","webpack:///./src/store/modules/workouts/getters.ts","webpack:///./src/store/modules/workouts/mutations.ts","webpack:///./src/store/modules/workouts/state.ts","webpack:///./src/store/modules/workouts/index.ts","webpack:///./src/store/modules/root/index.ts","webpack:///./src/store/index.ts","webpack:///./src/router/index.ts","webpack:///./src/components/Common/AlertMessage.vue","webpack:///./src/components/Common/AlertMessage.vue?7dca","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?933e","webpack:///./src/components/Common/Distance.vue","webpack:///./src/components/Common/Distance.vue?de84","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?56da","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?31ca","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?1dcc","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?667c","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?75de","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b14","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue?adb2","webpack:///./src/components/Common/Images/SportImage/Rowing.vue","webpack:///./src/components/Common/Images/SportImage/Rowing.vue?a825","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?275d","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue?8028","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue?a0cc","webpack:///./src/components/Common/Images/SportImage/Trail.vue","webpack:///./src/components/Common/Images/SportImage/Trail.vue?43e1","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?ecc5","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/index.vue?1dbe","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?bdb0","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1686","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/components/Common/ErrorMessage.vue?172e","webpack:///./src/utils/index.ts","webpack:///./src/store/modules/authUser/enums.ts","webpack:///./src/store/modules/root/enums.ts","webpack:///./src/store/modules/sports/enums.ts","webpack:///./src/store/modules/statistics/enums.ts","webpack:///./src/store/modules/users/enums.ts","webpack:///./src/store/constants.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?25ee","webpack:///./src/components/User/UserSportPreferences.vue?7f8c","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/Common/CustomTextArea.vue?7df9","webpack:///./src/components/User/ProfileDisplay/index.vue?594a","webpack:///./src/components/User/UserProfileTabs.vue?6883","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?cedb"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","props","icon","text","setup","__props","_ctx","_cache","__exports__","sportColors","Hiking","Rowing","Running","Trail","Walking","sportIdColors","sports","colors","map","sport","id","color","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","userSports","filter","is_active_for_user","includes","is_active","sort","getSportLabel","workout","sport_id","getSportColor","useStore","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","user","_component_Distance","UserPicture","username","nb_workouts","$t","distance","total_distance","unitFrom","digits","displayUnit","useImperialUnits","imperial_units","nb_sports","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","getStartDate","duration","day","weekStartingMonday","weekStartsOn","incrementDate","getDateWithTZ","dateInUTC","tz","Date","getCalendarStartAndEnd","date","monthStart","monthEnd","start","end","formatWorkoutDate","dateTime","dateFormat","timeFormat","workout_date","workout_time","units","ft","unit","system","multiplier","defaultTarget","mi","km","factors","metric","imperial","convertDistance","from","to","unitTo","convertedDistance","parseFloat","toFixed","convertStatsDistance","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","admin","api","buttons","common","dashboard","statistics","workouts","pagination","path","query","getQuery","page","cursor","newQuery","assign","_component_router_link","disabled","has_prev","default","_","pages","active","has_next","fromAdmin","store","authUser","getters","GETTERS","AUTH_USER_PROFILE","registrationDate","created_at","format","birthDate","birth_date","displayModal","updateDisplayModal","deleteUserAccount","dispatch","ACTIONS","DELETE_USER_ACCOUNT","_component_Modal","title","strongMessage","onConfirmAction","$event","onCancelAction","first_name","last_name","location","bio","onClick","$router","go","order_by","emits","emit","perPage","onSelectUpdate","onChange","order","toUpperCase","per_page","nb","sortList","defaultPage","defaultPerPage","getNumberQueryValue","queryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","orderByList","defaultOrderBy","options","queryOptions","defaultSort","workoutsPayloadKeys","getRange","stop","Array","rangePagination","currentPage","concat","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","authUserPictureUrl","picture","alt","ready","registered","cached","updatefound","updated","offline","version","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","availableLanguages","isAuthenticated","IS_AUTHENTICATED","language","LANGUAGE","isMenuOpen","openMenu","closeMenu","updateLanguage","option","toString","commit","MUTATIONS","UPDATE_LANG","logout","LOGOUT","_component_Dropdown","selected","onSelected","render","appConfig","APP_CONFIG","appLoading","APP_LOADING","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollToTop","scrollTo","behavior","GET_APPLICATION_CONFIG","_component_Loader","_component_router_view","NavBar","onMenuInteraction","NoConfig","Footer","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","edition","router","appData","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","ERROR_MESSAGES","updateForm","onCancel","EMPTY_ERROR_MESSAGES","onSubmit","formData","UPDATE_APPLICATION_CONFIG","_component_ErrorMessage","_component_Card","content","min","step","appStatistics","uploadDirSize","uploads_dir_size","StatCard","users","Card","AppStatsCards","is_registration_enabled","_hoisted_18","_hoisted_19","translatedSports","SPORTS","updateSportStatus","isActive","UPDATE_SPORTS","_component_SportImage","danger","has_workouts","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","updateUser","UPDATE_USER","reloadUsers","queryParam","EMPTY_USERS","FilterSelects","onUpdateSelect","email","timezone","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","onInput","UserHeader","UserProfileTabs","fistDayOfWeek","weekm","loading","USER_LOADING","_hoisted_20","_hoisted_21","_hoisted_22","userForm","password","password_conf","updateUserForm","updateBio","updateProfile","UPDATE_USER_PROFILE","deleteAccount","DELETE_ACCOUNT","_component_CustomTextArea","charLimit","input","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","DELETE_PICTURE","updatePictureFile","files","updateUserPicture","UPDATE_USER_PICTURE","accept","timeZones","isOpen","tzList","focusItemIndex","matchTimezone","onMouseOver","index","onUpdateTimezone","onEnter","preventDefault","firstElementChild","innerHTML","openDropdown","trim","required","onKeydown","ref","_value","_refs","focus","onMouseover","autofocus","weekStart","imperialUnits","UPDATE_USER_PREFERENCES","updateTZ","lang","TimezoneDropdown","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","isEdition","sports_list","sportPayload","stopped_speed_threshold","updateSportInEdition","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","UPDATE_USER_SPORT_PREFERENCES","newIsLoading","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","context","payload","delete","res","status","catch","actions","EMPTY_USER","UPDATE_USERS","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","finally","params","patch","UPDATE_USER_IN_USERS","localStorage","removeItem","EMPTY_USER_STATS","CLEAR_AUTH_USER_TOKEN","EMPTY_WORKOUTS","EMPTY_WORKOUT","CHECK_AUTH_USER","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","UPDATE_AUTH_USER_PROFILE","GET_SPORTS","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","redirectUrl","UPDATE_USER_LOADING","form","FormData","append","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","state","authUserProfile","IS_ADMIN","mutations","authUserState","UPDATE_APPLICATION_LOADING","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","application","APP_STATS","LOCALE","SET_ERROR_MESSAGES","root","SET_SPORTS","sportsState","GET_USER_STATS","filterType","UPDATE_USER_STATS","USER_STATS","statisticsState","USER","USERS_LOADING","updatedUser","usersState","SET_WORKOUTS_PAGINATION","GET_CALENDAR_WORKOUTS","EMPTY_CALENDAR_WORKOUTS","GET_USER_WORKOUTS","GET_TIMELINE_WORKOUTS","GET_MORE_TIMELINE_WORKOUTS","GET_WORKOUT_DATA","SET_WORKOUT_LOADING","segmentUrl","segmentId","workoutId","segments","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","notes","ADD_WORKOUT_WITHOUT_GPX","CALENDAR_WORKOUTS","calendar_workouts","TIMELINE_WORKOUTS","timeline_workouts","USER_WORKOUTS","user_workouts","WORKOUT_DATA","workoutData","WORKOUTS_PAGINATION","ADD_TIMELINE_WORKOUTS","SET_CALENDAR_WORKOUTS","SET_TIMELINE_WORKOUTS","SET_USER_WORKOUTS","chartData","workoutsState","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","getTabFromPath","regex","replace","routes","component","action","children","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","next","fullPath","updateText","maxLenght","speed","strong","dropdownOptions","toggleDropdown","updateSelected","$slots","isArray","subMessage","xmlns","xmlns:xlink","x","y","viewBox","style","xml:space","xmlns:svg","cx","cy","sportLabel","fill","CyclingSport","CyclingTransport","MountainBiking","MountainBikingElectric","SkiingAlpine","SkiingCrossCountry","_component_i18n_t","keypath","customComponents","AlertMessage","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","register","app","App","provide","i18n","directive","mount","getApiUrl","handleError","msg","response","split","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ROOT_STORE","SPORTS_STORE","STATS_STORE","AUTH_USER_STORE","USERS_STORE","WORKOUTS_STORE","webpackContext","req","webpackContextResolve"],"mappings":"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BAAwB,KAAO,6BAAiB,mBAAO+T,IAAiB,OAG5H,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,SAAU,CAC5Bxb,KAAM,SACNuM,UAAW,mBAAOkP,IACjB,6BAAiBhX,EAAKgD,GAAG,gCAAiC,EAAG,IAC/D,mBAAOL,GAAMmK,SACT,yBAAc,gCAAoB,SAAU,CAC3CrO,IAAK,EACLY,MAAO,SACP2K,QAASiN,GACR,6BAAiBjX,EAAKgD,GAAG,gCAAiC,IAC7D,gCAAoB,IAAI,GAC5B,gCAAoB,SAAU,CAC5B3D,MAAO,SACP2K,QAAS/J,EAAO,KAAOA,EAAO,GAAK,SAACyJ,GAAD,OAAkB1J,EAAKiK,QAAQlR,KAAK,eACtE,6BAAiBiH,EAAKgD,GAAG,iCAAkC,MAE/D,GAAI,Y,UC7Gb,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UCRFwU,I,oBAAY,CACvB,iBACA,eACA,iBACA,gBACA,eACA,oBACA,eACA,kBACA,sBACA,cACA,kBACA,eACA,gBACA,kBACA,iBACA,kBACA,kBACA,iBACA,eACA,kBACA,eACA,oBACA,oBACA,iCACA,8BACA,4BACA,0BACA,6BACA,4BACA,iCACA,0BACA,6BACA,6BACA,4BACA,4BACA,mBACA,mBACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,wBACA,uBACA,iBACA,kBACA,kBACA,kBACA,oBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,sBACA,oBACA,sBACA,oBACA,kBACA,oBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,iBACA,kBACA,kBACA,iBACA,8BACA,8BACA,iBACA,eACA,sBACA,iBACA,kBACA,iBACA,qBACA,oBACA,mBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,yBACA,wBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,mBACA,mBACA,wBACA,oBACA,uBACA,gBACA,mBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,oBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,oBACA,qBACA,mBACA,mBACA,oBACA,cACA,aACA,cACA,aACA,cACA,gBACA,cACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,aACA,kBACA,eACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,mBACA,iBACA,YACA,eACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,iBACA,gBACA,eACA,mBACA,oBACA,eACA,aACA,eACA,gBACA,cACA,eACA,oBACA,mBACA,YACA,YACA,iBACA,iBACA,aACA,gBACA,iBACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,eACA,aACA,aACA,mBACA,cACA,gBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,iBACA,mBACA,qBACA,yBACA,mBACA,qBACA,qBACA,wBACA,mBACA,mBACA,kBACA,mBACA,qBACA,sBACA,sBACA,kBACA,mBACA,mBACA,iBACA,mBACA,gBACA,kBACA,gBACA,kBACA,mBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,cACA,eACA,gBACA,gBACA,oBACA,gBACA,eACA,eACA,gBACA,gBACA,cACA,eACA,gBACA,cACA,cACA,gBACA,iBACA,oBACA,eACA,mBACA,iBACA,gBACA,mBACA,kBACA,gBACA,iBACA,mBACA,gBACA,oBACA,gBACA,gBACA,mBACA,eACA,mBACA,cACA,kBACA,mBACA,iBACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,q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","file":"static/js/app.43c2e954.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"2f1d393d\",\"main~workouts\":\"6afa0411\",\"main\":\"8ecc731b\",\"workouts\":\"ffc990d6\",\"profile\":\"62578012\",\"reset\":\"518e646f\",\"chunk-2d0c9189\":\"c81458cc\",\"chunk-2d0cf391\":\"020c75ea\",\"chunk-2d0da8f3\":\"c8c3e7e8\",\"chunk-2d2248b6\":\"d84473c1\",\"chunk-2d22523a\":\"4b710d99\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"admin\":1,\"main~workouts\":1,\"main\":1,\"workouts\":1,\"profile\":1,\"reset\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"babfd43e\",\"main~workouts\":\"0edb3403\",\"main\":\"4a1640fb\",\"workouts\":\"9ff3dd7d\",\"profile\":\"05400f70\",\"reset\":\"46776e72\",\"chunk-2d0c9189\":\"31d6cfe0\",\"chunk-2d0cf391\":\"31d6cfe0\",\"chunk-2d0da8f3\":\"31d6cfe0\",\"chunk-2d2248b6\":\"31d6cfe0\",\"chunk-2d22523a\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"","import { ISport, ITranslatedSport } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n onlyActive = false,\n userSports: number[] | null = null\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n onlyActive\n ? userSports === null\n ? sport.is_active_for_user\n : userSports.includes(sport.id) || sport.is_active\n : true\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4e6eb0d2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(user).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4e6eb0d2\"]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer le compte de \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les drois d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les drois d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : 8 caractères minimum.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, cet utilisateur existe déjà.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur : 3 à 12 caractères requis.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-de4b01da\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(page: number, cursor?: number): TWorkoutsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n event: _unref(pagination).has_prev ? 'click' : '',\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')), 1)\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n event: _unref(pagination).has_next ? 'click' : '',\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-de4b01da\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-deec58e4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"user-bio\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_4 = {\n key: 2,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, Ref, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { AUTH_USER_STORE, USERS_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n let displayModal: Ref = ref(false)\n\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \"admin.CONFIRM_USER_ACCOUNT_DELETION\",\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteUserAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_2, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-deec58e4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a5d764a4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a5d764a4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: 8 characters required.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that user already exists.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username: 3 to 12 characters required.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems encounter some issues.
Please try later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter an email address\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm the password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm Password\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password confirmation\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e60d9c5e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/_createStaticVNode(\"
•
•
\", 4)\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n }\n\n \n\n const { version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e60d9c5e\"]])\n\nexport default __exports__","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-53493688\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-53493688\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./NoConfig.vue?vue&type=template&id=c1193208&scoped=true\"\nconst script = {}\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c1193208\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6c3336ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1))\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : ''\n }, null, 8, [\"version\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6c3336ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-03002a18\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"max_users\" }\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = { class: \"user-limit-help\" }\nconst _hoisted_6 = { class: \"info-box\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = { for: \"max_single_file_size\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = { for: \"max_zip_file_size\" }\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = { for: \"gpx_limit_import\" }\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_16 = [\"onClick\"]\nconst _hoisted_17 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ;['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_4), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_13), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (__props.edition)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_16)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-03002a18\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=66f9fd1d\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7dad7915\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7dad7915\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7342d2cc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7342d2cc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d3ec733\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"left-text\" }\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"cell-heading\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"text-center\" }\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-center\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-center\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_17)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d3ec733\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: null,\n disabled: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-41d26a96\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-41d26a96\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_7 = [\"value\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"password\"\n}\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = {\n class: \"form-items\",\n for: \"passwordConfirmation\"\n}\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1)\nconst _hoisted_13 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_16 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_19 = [\"disabled\"]\nconst _hoisted_20 = { class: \"form-items\" }\nconst _hoisted_21 = { class: \"form-buttons\" }\nconst _hoisted_22 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const userForm: IUserPayload = reactive({\n password: '',\n password_conf: '',\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"email\",\n value: _unref(user).email,\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_7)\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).password) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(userForm).password]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_CONFIRMATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"passwordConfirmation\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).password_conf) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(userForm).password_conf]\n ])\n ]),\n _hoisted_12,\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_16, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_17), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_18, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_19), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_20, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"button\", _hoisted_22, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[8] || (_cache[8] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[9] || (_cache[9] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-239b9d46\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-239b9d46\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d1c5cf04\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref: (_value, _refs) => {\n _refs['tzList'] = _value\n tzList.value = _value\n }\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-d1c5cf04\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bd7a47b2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_26 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, true, user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_24)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bd7a47b2\"]])\n\nexport default __exports__","import axios from 'axios'\n\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`users/${payload.username}`, { admin: payload.admin })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n handleError(context, error)\n removeAuthUserData(context)\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n removeAuthUserData(context)\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserPasswordPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/Dashboard.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'register' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/NotFoundView.vue'),\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n]\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n } else if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1c7b89ce\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1c7b89ce\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-129e44c0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-129e44c0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5d562b40\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: null,\n digits: { default: 2 },\n displayUnit: { default: true },\n speed: { default: false },\n strong: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5d562b40\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4366d0e7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4366d0e7\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 10 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=436637e0&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-436637e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20a846ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20a846ac\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"","var map = {\n\t\"./en/en.ts\": \"c142\",\n\t\"./fr/fr.ts\": \"663e\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e7b6\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\""],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/workouts.ca9449b1.js b/fittrackee/dist/static/js/workouts.ca9449b1.js deleted file mode 100644 index bd55dbfe..00000000 --- a/fittrackee/dist/static/js/workouts.ca9449b1.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["workouts"],{"0385":function(e,t,n){"use strict";n.r(t);var o=n("7a23"),r=n("47e2"),c=(n("b0c0"),n("4de4"),n("d3b7"),n("caad"),n("2532"),n("6c02")),a=n("1119"),l=n("6284"),i=function(e){return Object(o["pushScopeId"])("data-v-06d30f25"),e=e(),Object(o["popScopeId"])(),e},u={class:"workouts-filters"},s={class:"box"},d={class:"form"},b={class:"form-items-group"},O={class:"form-item"},m=["value"],p={class:"form-item"},j=["value"],f={class:"form-items-group"},g={class:"form-item"},k=["value"],y=i((function(){return Object(o["createElementVNode"])("option",{value:""},null,-1)})),v=["value"],E={class:"form-items-group"},h={class:"form-item"},N={class:"form-inputs-group"},w=["value"],S=["value"],V={class:"form-items-group"},T={class:"form-item"},D={class:"form-inputs-group"},_=["value"],I=["value"],x={class:"form-items-group"},A={class:"form-item"},C={class:"form-inputs-group"},B=["value"],R=["value"],U={class:"form-items-group"},L={class:"form-item"},$={class:"form-inputs-group"},M=["value"],P=["value"],F={class:"form-button"},G=Object(o["defineComponent"])({props:{authUser:null,sports:null},emits:["filter"],setup:function(e,t){var n=t.emit,i=e,G=Object(r["b"])(),W=G.t,z=Object(c["c"])(),H=Object(c["d"])(),q=Object(o["toRefs"])(i),K=q.authUser,Z=K.value.imperial_units?l["c"]["km"].defaultTarget:"km",X=Object(o["computed"])((function(){return Object(a["e"])(i.sports,W)})),Y=Object.assign({},z.query);function J(e){""===e.target.value?delete Y[e.target.name]:Y[e.target.name]=e.target.value}function Q(){n("filter"),"page"in Y&&(Y["page"]="1"),H.push({path:"/workouts",query:Y})}function ee(){n("filter"),H.push({path:"/workouts",query:{}})}return Object(o["watch"])((function(){return z.query}),(function(e){Y=Object.assign({},e)})),function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",u,[Object(o["createElementVNode"])("div",s,[Object(o["createElementVNode"])("div",d,[Object(o["createElementVNode"])("div",b,[Object(o["createElementVNode"])("div",O,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.FROM"))+": ",1),Object(o["createElementVNode"])("input",{name:"from",type:"date",value:e.$route.query.from,onChange:J},null,40,m)]),Object(o["createElementVNode"])("div",p,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.TO"))+": ",1),Object(o["createElementVNode"])("input",{name:"to",type:"date",value:e.$route.query.to,onChange:J},null,40,j)])]),Object(o["createElementVNode"])("div",f,[Object(o["createElementVNode"])("div",g,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.SPORT",1))+":",1),Object(o["createElementVNode"])("select",{name:"sport_id",value:e.$route.query.sport_id,onChange:J},[y,(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(X).filter((function(e){return Object(o["unref"])(K).sports_list.includes(e.id)})),(function(e){return Object(o["openBlock"])(),Object(o["createElementBlock"])("option",{value:e.id,key:e.id},Object(o["toDisplayString"])(e.translatedLabel),9,v)})),128))],40,k)])]),Object(o["createElementVNode"])("div",E,[Object(o["createElementVNode"])("div",h,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.DISTANCE"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",N,[Object(o["createElementVNode"])("input",{name:"distance_from",type:"number",min:"0",step:"0.1",value:e.$route.query.distance_from,onChange:J},null,40,w),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{name:"distance_to",type:"number",min:"0",step:"0.1",value:e.$route.query.distance_to,onChange:J},null,40,S)])])]),Object(o["createElementVNode"])("div",V,[Object(o["createElementVNode"])("div",T,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.DURATION"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",D,[Object(o["createElementVNode"])("input",{name:"duration_from",value:e.$route.query.duration_from,onChange:J,pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,40,_),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{name:"duration_to",value:e.$route.query.duration_to,onChange:J,pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,40,I)])])]),Object(o["createElementVNode"])("div",x,[Object(o["createElementVNode"])("div",A,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.AVE_SPEED"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",C,[Object(o["createElementVNode"])("input",{min:"0",name:"ave_speed_from",value:e.$route.query.ave_speed_from,onChange:J,step:"0.1",type:"number"},null,40,B),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{min:"0",name:"ave_speed_to",value:e.$route.query.ave_speed_to,onChange:J,step:"0.1",type:"number"},null,40,R)])])]),Object(o["createElementVNode"])("div",U,[Object(o["createElementVNode"])("div",L,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.MAX_SPEED"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",$,[Object(o["createElementVNode"])("input",{min:"0",name:"max_speed_from",value:e.$route.query.max_speed_from,onChange:J,step:"0.1",type:"number"},null,40,M),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{min:"0",name:"max_speed_to",value:e.$route.query.max_speed_to,onChange:J,step:"0.1",type:"number"},null,40,P)])])])]),Object(o["createElementVNode"])("div",F,[Object(o["createElementVNode"])("button",{class:"confirm",onClick:Q},Object(o["toDisplayString"])(e.$t("buttons.FILTER")),1),Object(o["createElementVNode"])("button",{class:"confirm",onClick:ee},Object(o["toDisplayString"])(e.$t("buttons.CLEAR_FILTER")),1)])])])}}}),W=(n("95b0"),n("6b0d")),z=n.n(W);const H=z()(G,[["__scopeId","data-v-06d30f25"]]);var q=H,K=n("1da1"),Z=n("5530"),X=(n("96cf"),n("d81d"),n("b64b"),n("4fad"),n("ac1f"),n("466d"),n("7db0"),n("b166")),Y=n("9176"),J=n("6d7d"),Q=n("68c6"),ee=n("1724"),te=n("dad5"),ne=n("2906"),oe=n("97e5"),re=n("5e65"),ce=n("9230"),ae=function(e){return Object(o["pushScopeId"])("data-v-1ba1a972"),e=e(),Object(o["popScopeId"])(),e},le={class:"workouts-list"},ie={class:"total"},ue={class:"total-label"},se={key:0},de={key:0,class:"workouts-table responsive-table"},be=ae((function(){return Object(o["createElementVNode"])("th",{class:"sport-col"},null,-1)})),Oe={class:"sport-col"},me={class:"cell-heading"},pe=["onMouseover"],je={class:"cell-heading"},fe={key:0,class:"fa fa-map-o","aria-hidden":"true"},ge={class:"cell-heading"},ke={class:"text-right"},ye={class:"cell-heading"},ve={class:"text-right"},Ee={class:"cell-heading"},he={class:"text-right"},Ne={class:"cell-heading"},we={class:"text-right"},Se={class:"cell-heading"},Ve={class:"text-right"},Te={class:"cell-heading"},De={class:"text-right"},_e={class:"cell-heading"},Ie=ae((function(){return Object(o["createElementVNode"])("div",{id:"bottom"},null,-1)})),xe=Object(o["defineComponent"])({props:{user:null,sports:null},setup:function(e){var t=e,n=Object(ne["a"])(),r=Object(c["c"])(),i=Object(c["d"])(),u=Object(o["toRefs"])(t),s=u.user,d=u.sports,b=["ave_speed","distance","duration","workout_date"],O=Object(o["computed"])((function(){return n.getters[te["f"].GETTERS.USER_WORKOUTS]})),m=Object(o["computed"])((function(){return n.getters[te["f"].GETTERS.WORKOUTS_PAGINATION]})),p=k(r.query),j=Object(o["ref"])(null);function f(e){n.dispatch(te["f"].ACTIONS.GET_USER_WORKOUTS,s.value.imperial_units?y(e):e)}function g(e,t){var n=Object.assign({},r.query);n[e]=t,"per_page"===e&&(n["page"]="1"),p=k(n),i.push({path:"/workouts",query:p})}function k(e){return p=Object(oe["a"])(e,b,ce["a"].order_by,{defaultSort:ce["a"].order}),Object.keys(e).filter((function(e){return oe["d"].includes(e)})).map((function(t){"string"===typeof e[t]&&(p[t]=e[t])})),p}function y(e){var t=Object(Z["a"])({},e);return Object.entries(t).map((function(e){e[0].match("speed|distance")&&(t[e[0]]=Object(l["a"])(+e[1],"mi","km"))})),t}function v(e){j.value=e}return Object(o["onBeforeMount"])((function(){f(p)})),Object(o["watch"])((function(){return r.query}),function(){var e=Object(K["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:p=k(t),f(p);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("router-link"),c=Object(o["resolveComponent"])("Distance");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",le,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["box",{"empty-table":0===Object(o["unref"])(O).length}])},[Object(o["createElementVNode"])("div",ie,[Object(o["createElementVNode"])("span",ue,Object(o["toDisplayString"])(e.$t("common.TOTAL").toLowerCase())+": ",1),null!==Object(o["unref"])(m).total?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",se,Object(o["toDisplayString"])(Object(o["unref"])(m).total)+" "+Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",Object(o["unref"])(m).total)),1)):Object(o["createCommentVNode"])("",!0)]),Object(o["createVNode"])(Y["a"],{sort:Object(o["unref"])(oe["c"]),order_by:b,query:Object(o["unref"])(p),message:"workouts",onUpdateSelect:g},null,8,["sort","query"]),Object(o["unref"])(O).length>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",de,[Object(o["createVNode"])(J["a"],{class:"top-pagination",pagination:Object(o["unref"])(m),path:"/workouts",query:Object(o["unref"])(p)},null,8,["pagination","query"]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[be,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DATE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DISTANCE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DURATION"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.AVE_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.MAX_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.ASCENT"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DESCENT"))),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(l){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:l.id},[Object(o["createElementVNode"])("td",Oe,[Object(o["createElementVNode"])("span",me,Object(o["toDisplayString"])(e.$t("workouts.SPORT",1)),1),Object(o["unref"])(d).length>0?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:Object(o["unref"])(d).find((function(e){return e.id===l.sport_id})).translatedLabel,"sport-label":Object(o["unref"])(a["b"])(l,Object(o["unref"])(d)),color:Object(o["unref"])(a["a"])(l,Object(o["unref"])(d))},null,8,["title","sport-label","color"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",{class:"workout-title",onMouseover:function(e){return v(l.id)},onMouseleave:t[0]||(t[0]=function(e){return v(null)})},[Object(o["createElementVNode"])("span",je,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createVNode"])(r,{class:"nav-item",to:{name:"Workout",params:{workoutId:l.id}}},{default:Object(o["withCtx"])((function(){return[l.with_gpx?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",fe)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.title),1)]})),_:2},1032,["to"]),l.with_gpx&&j.value===l.id?(Object(o["openBlock"])(),Object(o["createBlock"])(Q["a"],{key:0,workout:l,"display-hover":!0},null,8,["workout"])):Object(o["createCommentVNode"])("",!0)],40,pe),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",ge,Object(o["toDisplayString"])(e.$t("workouts.DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(X["a"])(Object(o["unref"])(re["c"])(l.workout_date,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",ke,[Object(o["createElementVNode"])("span",ye,Object(o["toDisplayString"])(e.$t("workouts.DISTANCE")),1),Object(o["createVNode"])(c,{distance:l.distance,unitFrom:"km",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",ve,[Object(o["createElementVNode"])("span",Ee,Object(o["toDisplayString"])(e.$t("workouts.DURATION")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.moving),1)]),Object(o["createElementVNode"])("td",he,[Object(o["createElementVNode"])("span",Ne,Object(o["toDisplayString"])(e.$t("workouts.AVE_SPEED")),1),Object(o["createVNode"])(c,{distance:l.ave_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",we,[Object(o["createElementVNode"])("span",Se,Object(o["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),Object(o["createVNode"])(c,{distance:l.max_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",Ve,[Object(o["createElementVNode"])("span",Te,Object(o["toDisplayString"])(e.$t("workouts.ASCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.ascent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",De,[Object(o["createElementVNode"])("span",_e,Object(o["toDisplayString"])(e.$t("workouts.DESCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.descent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)])])})),128))])]),Object(o["createVNode"])(J["a"],{pagination:Object(o["unref"])(m),path:"/workouts",query:Object(o["unref"])(p)},null,8,["pagination","query"])])):Object(o["createCommentVNode"])("",!0)],2),0===Object(o["unref"])(O).length?(Object(o["openBlock"])(),Object(o["createBlock"])(ee["a"],{key:0})):Object(o["createCommentVNode"])("",!0),Ie])}}});n("e358");const Ae=z()(xe,[["__scopeId","data-v-1ba1a972"]]);var Ce=Ae,Be={key:0,id:"workouts",class:"view"},Re={class:"container workouts-container"},Ue={class:"display-filters"},Le={class:"list-container"},$e=Object(o["defineComponent"])({setup:function(e){var t=Object(r["b"])(),n=t.t,c=Object(ne["a"])(),l=Object(o["computed"])((function(){return c.getters[te["a"].GETTERS.AUTH_USER_PROFILE]})),i=Object(o["computed"])((function(){return c.getters[te["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return Object(a["e"])(i.value,n)})),s=Object(o["ref"])(!0);function d(){s.value=!s.value}return function(e,t){return Object(o["unref"])(l).username?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Be,[Object(o["createElementVNode"])("div",Re,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["filters-container",{hidden:s.value}])},[Object(o["createVNode"])(q,{sports:Object(o["unref"])(u),authUser:Object(o["unref"])(l),onFilter:d},null,8,["sports","authUser"])],2),Object(o["createElementVNode"])("div",Ue,[Object(o["createElementVNode"])("div",{onClick:d},[Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa-caret-".concat(s.value?"down":"up")),"aria-hidden":"true"},null,2),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.".concat(s.value?"DISPLAY":"HIDE","_FILTERS"))),1)])]),Object(o["createElementVNode"])("div",Le,[Object(o["createVNode"])(Ce,{user:Object(o["unref"])(l),sports:Object(o["unref"])(u)},null,8,["user","sports"])])])])):Object(o["createCommentVNode"])("",!0)}}});n("0d8e");const Me=z()($e,[["__scopeId","data-v-ed6df5ba"]]);t["default"]=Me},"07ae":function(e,t,n){},"0d8e":function(e,t,n){"use strict";n("8f45")},1998:function(e,t,n){},"1f58":function(e,t,n){},"304a":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("f7f9"),l=n("ade3"),i=(n("e9c4"),n("b680"),n("a9e3"),n("99af"),n("ac1f"),n("5319"),n("b48c")),u=n("47e2"),s=n("6284"),d=n("9230"),b={id:"workout-chart"},O={class:"chart-radio"},m=["checked"],p=["checked"],j={class:"chart-info"},f={class:"no-data-cleaning"},g={class:"elevation-start"},k=["checked"],y=Object(r["defineComponent"])({props:{authUser:null,workoutData:null},emits:["getCoordinates"],setup:function(e,t){var n=t.emit,o=e,c=Object(u["b"])(),a=c.t,y=Object(r["ref"])(!0),v=Object(r["ref"])(!0),E=Object(r["computed"])((function(){return Object(d["b"])(o.workoutData.chartData,a,o.authUser.imperial_units)})),h=C("km"),N=C("m"),w=Object(r["computed"])((function(){return{labels:y.value?E.value.distance_labels:E.value.duration_labels,datasets:JSON.parse(JSON.stringify([E.value.datasets.speed,E.value.datasets.elevation]))}})),S=Object(r["computed"])((function(){return E.value.coordinates})),V=Object(r["computed"])((function(){var e;return{responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:22}},scales:(e={},Object(l["a"])(e,y.value?"xDistance":"xDuration",{grid:{drawOnChartArea:!1},ticks:{count:10,callback:function(e){return y.value?Number(e).toFixed(2):I(e)}},type:"linear",bounds:"data",title:{display:!0,text:y.value?a("workouts.DISTANCE")+" (".concat(h,")"):a("workouts.DURATION")}}),Object(l["a"])(e,"ySpeed",{grid:{drawOnChartArea:!1},position:"left",title:{display:!0,text:a("workouts.SPEED")+" (".concat(h,"/h)")}}),Object(l["a"])(e,"yElevation",{beginAtZero:v.value,grid:{drawOnChartArea:!1},position:"right",title:{display:!0,text:a("workouts.ELEVATION")+" (".concat(N,")")}}),e),elements:{point:{pointStyle:"circle",pointRadius:0}},plugins:{datalabels:{display:!1},tooltip:{interaction:{intersect:!1,mode:"index"},callbacks:{label:function(e){var t=" ".concat(e.dataset.label,": ").concat(e.formattedValue);return"yElevation"===e.dataset.yAxisID?t+" ".concat(N):t+" ".concat(h,"/h")},title:function(e){return e.length>0&&x(S.value[e[0].dataIndex]),0===e.length?"":y.value?"".concat(a("workouts.DISTANCE"),": ").concat(e[0].label," ").concat(h):"".concat(a("workouts.DURATION"),": ").concat(I(e[0].label.replace(",","")))}}}}}})),T=Object(i["useLineChart"])({chartData:w,options:V}),D=T.lineChartProps;function _(){y.value=!y.value}function I(e){return new Date(1e3*+e).toISOString().substr(11,8)}function x(e){n("getCoordinates",e)}function A(){x({latitude:null,longitude:null})}function C(e){return o.authUser.imperial_units?s["c"][e].defaultTarget:e}return function(e,t){var n=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",b,[Object(r["createVNode"])(n,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.ANALYSIS")),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",O,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"distance",checked:Object(r["unref"])(y),onClick:_},null,8,m),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1)]),Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"duration",checked:!Object(r["unref"])(y),onClick:_},null,8,p),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1)])]),Object(r["createVNode"])(Object(r["unref"])(i["LineChart"]),Object(r["mergeProps"])(Object(r["unref"])(D),{class:"line-chart",onMouseleave:A}),null,16),Object(r["createElementVNode"])("div",j,[Object(r["createElementVNode"])("div",f,Object(r["toDisplayString"])(e.$t("workouts.NO_DATA_CLEANING")),1),Object(r["createElementVNode"])("div",g,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"checkbox",checked:Object(r["unref"])(v),onClick:t[0]||(t[0]=function(e){return Object(r["isRef"])(v)?v.value=!Object(r["unref"])(v):v=!Object(r["unref"])(v)})},null,8,k),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.START_ELEVATION_AT_ZERO")),1)])])])]})),_:1})])}}}),v=(n("c6be"),n("6b0d")),E=n.n(v);const h=E()(y,[["__scopeId","data-v-4819bfdb"]]);var N=h,w=(n("7db0"),n("d3b7"),function(e){return Object(r["pushScopeId"])("data-v-21fe0e9a"),e=e(),Object(r["popScopeId"])(),e}),S={id:"workout-card-title"},V=["title"],T=w((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),D=[T],_={class:"workout-card-title"},I={class:"workout-title-date"},x={key:0,class:"workout-title"},A={key:1,class:"workout-title"},C={class:"workout-segment"},B=Object(r["createTextVNode"])(" — "),R=w((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-map-marker","aria-hidden":"true"},null,-1)})),U={class:"workout-date"},L={class:"workout-link"},$=["title"],M=w((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),P=[M],F=Object(r["defineComponent"])({props:{sport:null,workoutObject:null},emits:["displayModal"],setup:function(e,t){var n=t.emit,o=e,c=Object(r["toRefs"])(o),a=c.sport,l=c.workoutObject;return function(e,t){var o=Object(r["resolveComponent"])("SportImage"),c=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",S,[Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-previous workout-arrow",{inactive:!Object(r["unref"])(l).previousUrl}]),title:Object(r["unref"])(l).previousUrl?e.$t("workouts.PREVIOUS_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_PREVIOUS_".concat(Object(r["unref"])(l).type)),onClick:t[0]||(t[0]=function(t){return Object(r["unref"])(l).previousUrl?e.$router.push(Object(r["unref"])(l).previousUrl):null})},D,10,V),Object(r["createElementVNode"])("div",_,[Object(r["createVNode"])(o,{"sport-label":Object(r["unref"])(a).label,color:Object(r["unref"])(a).color},null,8,["sport-label","color"]),Object(r["createElementVNode"])("div",I,["WORKOUT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",x,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("i",{class:"fa fa-edit","aria-hidden":"true",onClick:t[1]||(t[1]=function(t){return e.$router.push({name:"EditWorkout",params:{workoutId:Object(r["unref"])(l).workoutId}})})}),Object(r["createElementVNode"])("i",{class:"fa fa-trash","aria-hidden":"true",onClick:t[2]||(t[2]=function(e){return n("displayModal",!0)})})])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",A,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("span",C,[B,R,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.SEGMENT"))+" "+Object(r["toDisplayString"])(Object(r["unref"])(l).segmentId+1),1)])])),Object(r["createElementVNode"])("div",U,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).workoutDate)+" - "+Object(r["toDisplayString"])(Object(r["unref"])(l).workoutTime)+" ",1),Object(r["createElementVNode"])("span",L,["SEGMENT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createBlock"])(c,{key:0,to:{name:"Workout",params:{workoutId:Object(r["unref"])(l).workoutId}}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(" > "+Object(r["toDisplayString"])(e.$t("workouts.BACK_TO_WORKOUT")),1)]})),_:1},8,["to"])):Object(r["createCommentVNode"])("",!0)])])])]),Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-next workout-arrow",{inactive:!Object(r["unref"])(l).nextUrl}]),title:Object(r["unref"])(l).nextUrl?e.$t("workouts.NEXT_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_NEXT_".concat(Object(r["unref"])(l).type)),onClick:t[3]||(t[3]=function(t){return Object(r["unref"])(l).nextUrl?e.$router.push(Object(r["unref"])(l).nextUrl):null})},P,10,$)])}}});n("cdd7");const G=E()(F,[["__scopeId","data-v-21fe0e9a"]]);var W=G,z=function(e){return Object(r["pushScopeId"])("data-v-2e8c6844"),e=e(),Object(r["popScopeId"])(),e},H={key:0,class:"workout-record"},q=z((function(){return Object(r["createElementVNode"])("sup",null,[Object(r["createElementVNode"])("i",{class:"fa fa-trophy","aria-hidden":"true"})],-1)})),K=[q],Z=Object(r["defineComponent"])({props:{recordType:null,workoutObject:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.recordType,c=n.workoutObject;return function(e,t){return Object(r["unref"])(c).records&&Object(r["unref"])(c).records.find((function(e){return e.record_type===Object(r["unref"])(o)}))?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",H,K)):Object(r["createCommentVNode"])("",!0)}}});n("4168");const X=E()(Z,[["__scopeId","data-v-2e8c6844"]]);var Y=X,J=function(e){return Object(r["pushScopeId"])("data-v-07781815"),e=e(),Object(r["popScopeId"])(),e},Q={key:0,id:"workout-weather"},ee={class:"weather-table"},te=J((function(){return Object(r["createElementVNode"])("th",null,null,-1)})),ne={class:"weather-th"},oe=["src","alt","title"],re={class:"weather-th"},ce=["src","alt","title"],ae=["alt","title"],le=["alt","title"],ie=["alt","title"],ue=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.useImperialUnits,c=n.workoutObject;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["unref"])(c).weatherStart&&Object(r["unref"])(c).weatherEnd?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Q,[Object(r["createElementVNode"])("table",ee,[Object(r["createElementVNode"])("thead",null,[Object(r["createElementVNode"])("tr",null,[te,Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",ne,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.START"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherStart.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon))},null,8,oe)])]),Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",re,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.END"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherEnd.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon))},null,8,ce)])])])]),Object(r["createElementVNode"])("tbody",null,[Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/temperature.svg",alt:e.$t("workouts.WEATHER.TEMPERATURE"),title:e.$t("workouts.WEATHER.TEMPERATURE")},null,8,ae)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherStart.temperature).toFixed(1))+"°C ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherEnd.temperature).toFixed(1))+"°C ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/pour-rain.svg",alt:e.$t("workouts.WEATHER.HUMIDITY"),title:e.$t("workouts.WEATHER.HUMIDITY")},null,8,le)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherStart.humidity).toFixed(1))+"% ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherEnd.humidity).toFixed(1))+"% ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/breeze.svg",alt:e.$t("workouts.WEATHER.WIND"),title:e.$t("workouts.WEATHER.WIND")},null,8,ie)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherStart.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherEnd.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)])])])])])):Object(r["createCommentVNode"])("",!0)}}});n("f54d");const se=E()(ue,[["__scopeId","data-v-07781815"]]);var de=se,be=function(e){return Object(r["pushScopeId"])("data-v-a7c2d728"),e=e(),Object(r["popScopeId"])(),e},Oe={id:"workout-info"},me={class:"workout-data"},pe=be((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1)})),je={class:"label"},fe=Object(r["createTextVNode"])(": "),ge={class:"value"},ke={key:0},ye={class:"value"},ve={class:"value"},Ee={class:"workout-data"},he=be((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-road","aria-hidden":"true"},null,-1)})),Ne={class:"label"},we=Object(r["createTextVNode"])(": "),Se={class:"workout-data"},Ve=be((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-tachometer","aria-hidden":"true"},null,-1)})),Te={class:"label"},De=Object(r["createTextVNode"])(": "),_e=be((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),Ie={class:"label"},xe=Object(r["createTextVNode"])(": "),Ae={key:0,class:"workout-data"},Ce=["alt"],Be={class:"label"},Re=Object(r["createTextVNode"])(": "),Ue=be((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),Le={class:"label"},$e=Object(r["createTextVNode"])(": "),Me={key:1,class:"workout-data"},Pe=be((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1)})),Fe={class:"label"},Ge=Object(r["createTextVNode"])(": "),We=be((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),ze={class:"label"},He=Object(r["createTextVNode"])(": "),qe=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.workoutObject,c=n.useImperialUnits,a=Object(r["computed"])((function(){return"0:00:00"!==t.workoutObject.pauses&&null!==t.workoutObject.pauses}));return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Oe,[Object(r["createElementVNode"])("div",me,[pe,Object(r["createElementVNode"])("span",je,Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1),fe,Object(r["createElementVNode"])("span",ge,Object(r["toDisplayString"])(Object(r["unref"])(o).moving),1),Object(r["createVNode"])(Y,{workoutObject:Object(r["unref"])(o),recordType:"LD"},null,8,["workoutObject"]),Object(r["unref"])(a)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",ke,[Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.PAUSES"))+": ",1),Object(r["createElementVNode"])("span",ye,Object(r["toDisplayString"])(Object(r["unref"])(o).pauses),1),Object(r["createTextVNode"])(" - "+Object(r["toDisplayString"])(e.$t("workouts.TOTAL_DURATION"))+": ",1),Object(r["createElementVNode"])("span",ve,Object(r["toDisplayString"])(Object(r["unref"])(o).duration)+")",1)])):Object(r["createCommentVNode"])("",!0)]),Object(r["createElementVNode"])("div",Ee,[he,Object(r["createElementVNode"])("span",Ne,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1),we,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).distance,digits:3,unitFrom:"km",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(Y,{workoutObject:Object(r["unref"])(o),recordType:"FD"},null,8,["workoutObject"])]),Object(r["createElementVNode"])("div",Se,[Ve,Object(r["createElementVNode"])("span",Te,Object(r["toDisplayString"])(e.$t("workouts.AVERAGE_SPEED")),1),De,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).aveSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(Y,{workoutObject:Object(r["unref"])(o),recordType:"AS"},null,8,["workoutObject"]),_e,Object(r["createElementVNode"])("span",Ie,Object(r["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),xe,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(Y,{workoutObject:Object(r["unref"])(o),recordType:"MS"},null,8,["workoutObject"])]),null!==Object(r["unref"])(o).maxAlt&&null!==Object(r["unref"])(o).minAlt?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Ae,[Object(r["createElementVNode"])("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Ce),Object(r["createElementVNode"])("span",Be,Object(r["toDisplayString"])(e.$t("workouts.MIN_ALTITUDE")),1),Re,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).minAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Ue,Object(r["createElementVNode"])("span",Le,Object(r["toDisplayString"])(e.$t("workouts.MAX_ALTITUDE")),1),$e,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),null!==Object(r["unref"])(o).ascent&&null!==Object(r["unref"])(o).descent?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Me,[Pe,Object(r["createElementVNode"])("span",Fe,Object(r["toDisplayString"])(e.$t("workouts.ASCENT")),1),Ge,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).ascent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),We,Object(r["createElementVNode"])("span",ze,Object(r["toDisplayString"])(e.$t("workouts.DESCENT")),1),He,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).descent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])(de,{workoutObject:Object(r["unref"])(o),useImperialUnits:Object(r["unref"])(c)},null,8,["workoutObject","useImperialUnits"])])}}});n("54c5");const Ke=E()(qe,[["__scopeId","data-v-a7c2d728"]]);var Ze=Ke,Xe=n("e94f"),Ye=n("5afd"),Je=n("dad5"),Qe=n("2906"),et=n("d257"),tt={id:"workout-map"},nt={key:0,class:"leaflet-container"},ot={key:1},rt={key:0,class:"leaflet-container"},ct={key:1,class:"no-map"},at=Object(r["defineComponent"])({props:{workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(Qe["a"])(),o=Object(r["toRefs"])(t),c=o.workoutData,a=o.markerCoordinates,l=Object(r["ref"])(null),i=Object(r["computed"])((function(){return t.workoutData?[[t.workoutData.workout.bounds[0],t.workoutData.workout.bounds[1]],[t.workoutData.workout.bounds[2],t.workoutData.workout.bounds[3]]]:[]})),u=Object(r["computed"])((function(){return n.getters[Je["b"].GETTERS.APP_CONFIG]})),s=Object(r["computed"])((function(){return O(i)})),d=Object(r["computed"])((function(){return t.workoutData&&t.workoutData.gpx?b(t.workoutData.gpx):{}}));function b(e){if(!e||""!==e)try{var t=Object(Xe["gpx"])((new DOMParser).parseFromString(e,"text/xml"));return{jsonData:t}}catch(n){return console.error("Invalid gpx content"),{}}return{}}function O(e){return[(e.value[0][0]+e.value[1][0])/2,(e.value[0][1]+e.value[1][1])/2]}function m(e){var t,n;null!==(t=l.value)&&void 0!==t&&t.leafletObject&&(null===(n=l.value)||void 0===n||n.leafletObject.fitBounds(e))}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",tt,[Object(r["unref"])(c).loading?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",nt)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",ot,[Object(r["unref"])(c).workout.with_gpx?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",rt,[Object(r["unref"])(d).jsonData&&Object(r["unref"])(s)&&2===Object(r["unref"])(i).length?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Ye["b"]),{key:0,zoom:13,center:Object(r["unref"])(s),bounds:Object(r["unref"])(i),ref:function(e,t){t["workoutMap"]=e,l.value=e},onReady:t[0]||(t[0]=function(e){return m(Object(r["unref"])(i))})},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(Object(r["unref"])(Ye["d"]),{url:"".concat(Object(r["unref"])(et["a"])(),"workouts/map_tile/{s}/{z}/{x}/{y}.png"),attribution:Object(r["unref"])(u).map_attribution,bounds:Object(r["unref"])(i)},null,8,["url","attribution","bounds"]),Object(r["createVNode"])(Object(r["unref"])(Ye["a"]),{geojson:Object(r["unref"])(d).jsonData},null,8,["geojson"]),Object(r["unref"])(a).latitude?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Ye["c"]),{key:0,"lat-lng":[Object(r["unref"])(a).latitude,Object(r["unref"])(a).longitude]},null,8,["lat-lng"])):Object(r["createCommentVNode"])("",!0)]})),_:1},8,["center","bounds"])):Object(r["createCommentVNode"])("",!0)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",ct,Object(r["toDisplayString"])(e.$t("workouts.NO_MAP")),1))]))])}}});n("ac79");const lt=E()(at,[["__scopeId","data-v-b4b3006a"]]);var it=lt,ut=n("5e65"),st={class:"workout-detail"},dt=Object(r["defineComponent"])({props:{authUser:null,displaySegment:null,sports:null,workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["c"])(),a=Object(Qe["a"])(),l=Object(r["toRefs"])(t),i=l.authUser,u=l.markerCoordinates,s=l.workoutData,d=Object(r["computed"])((function(){return t.workoutData.workout})),b=Object(r["ref"])(n.params.workoutId?+n.params.segmentId:null),O=Object(r["computed"])((function(){return d.value.segments.length>0&&b.value?d.value.segments[+b.value-1]:null})),m=Object(r["ref"])(!1),p=Object(r["computed"])((function(){return t.sports?t.sports.find((function(e){return e.id===t.workoutData.workout.sport_id})):{}})),j=Object(r["computed"])((function(){return g(d.value,O.value)}));function f(e,t,n){var o=t&&n&&1!==n?"/workouts/".concat(e.id,"/segment/").concat(n-1):!t&&e.previous_workout?"/workouts/".concat(e.previous_workout):null,r=t&&n&&n0?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",wt,[Object(r["unref"])(s).workout.id?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",St,[Object(r["createVNode"])(Ot,{workoutData:Object(r["unref"])(s),sports:Object(r["unref"])(b),authUser:Object(r["unref"])(d),markerCoordinates:Object(r["unref"])(O),displaySegment:Object(r["unref"])(u)},null,8,["workoutData","sports","authUser","markerCoordinates","displaySegment"]),Object(r["unref"])(s).workout.with_gpx&&Object(r["unref"])(s).chartData.length>0?(Object(r["openBlock"])(),Object(r["createBlock"])(N,{key:0,workoutData:Object(r["unref"])(s),authUser:Object(r["unref"])(d),displaySegment:Object(r["unref"])(u),onGetCoordinates:m},null,8,["workoutData","authUser","displaySegment"])):Object(r["createCommentVNode"])("",!0),!Object(r["unref"])(u)&&Object(r["unref"])(s).workout.segments.length>1?(Object(r["openBlock"])(),Object(r["createBlock"])(vt,{key:1,segments:Object(r["unref"])(s).workout.segments,useImperialUnits:Object(r["unref"])(d).imperial_units},null,8,["segments","useImperialUnits"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(u)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(ft,{key:2,notes:Object(r["unref"])(s).workout.notes},null,8,["notes"])),Vt])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Tt,[Object(r["unref"])(s).loading?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(a["a"],{key:0,target:"WORKOUT"}))]))])):Object(r["createCommentVNode"])("",!0)])])}}});n("e679");const _t=E()(Dt,[["__scopeId","data-v-05ad7fd0"]]);t["default"]=_t},4168:function(e,t,n){"use strict";n("696e")},"423d":function(e,t,n){},"4b65":function(e,t,n){"use strict";n("a74c")},"54c5":function(e,t,n){"use strict";n("1f58")},"5afd":function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return T})),n.d(t,"b",(function(){return x})),n.d(t,"c",(function(){return B})),n.d(t,"d",(function(){return P}));var o=n("7a23");const r=(e,t)=>{let n;return function(...o){const r=this;n&&clearTimeout(n),n=setTimeout(()=>{e.apply(r,o),n=null},t)}},c=e=>e&&"function"===typeof e.charAt?e.charAt(0).toUpperCase()+e.slice(1):e,a=(e,t,n)=>{for(const r in n){const a="set"+c(r);e[a]?Object(o["watch"])(()=>n[r],(t,n)=>{e[a](t,n)}):t[a]&&Object(o["watch"])(()=>n[r],e=>{t[a](e)})}},l=e=>{const t={};for(const n in e)if(n.startsWith("on")&&!n.startsWith("onUpdate")&&"onReady"!==n){const o=n.slice(2).toLocaleLowerCase();t[o]=e[n]}return t},i=async e=>{const t=await Promise.all([n.e("chunk-2d0c9189").then(n.t.bind(null,"584d",7)),n.e("chunk-2d0cf391").then(n.t.bind(null,"6397",7)),n.e("chunk-2d22523a").then(n.t.bind(null,"e2b9",7))]);delete e.Default.prototype._getIconUrl,e.Default.mergeOptions({iconRetinaUrl:t[0].default,iconUrl:t[1].default,shadowUrl:t[2].default})},u=e=>{const t=Object(o["ref"])(()=>console.warn(`Method ${e} has been invoked without being replaced`)),n=(...e)=>t.value(...e);return n.wrapped=t,Object(o["provide"])(e,n),n},s=(e,t)=>e.wrapped.value=t,d="object"===typeof self&&self.self===self&&self||"object"===typeof e&&e.global===e&&e||void 0,b="useGlobalLeaflet",O={options:{type:Object,default:()=>({})}},m=e=>({options:e.options,methods:{}}),p={...O,pane:{type:String,default:"overlayPane"},attribution:{type:String,default:null},name:{type:String,custom:!0,default:void 0},layerType:{type:String,custom:!0,default:void 0},visible:{type:Boolean,custom:!0,default:!0}},j=(e,t,n)=>{const r=Object(o["inject"])("addLayer"),c=Object(o["inject"])("removeLayer"),{options:a,methods:l}=m(e),i={...a,attribution:e.attribution,pane:e.pane},u=()=>r({leafletObject:t.value}),s=()=>c({leafletObject:t.value}),d={...l,setAttribution(e,t){const n=this.$parent.leafletObject.attributionControl;n.removeAttribution(t).addAttribution(e)},setName(){s(),e.visible&&u()},setLayerType(){s(),e.visible&&u()},setVisible(e){t.value&&(e?u():s())},bindPopup({leafletObject:e}){t.value.bindPopup(e)},bindTooltip({leafletObject:e}){t.value.bindTooltip(e)},unbindTooltip(){const e=t.value?t.value.getTooltip():null;e&&e.unbindTooltip()},unbindPopup(){const e=t.value?t.value.getPopup():null;e&&e.unbindPopup()},updateVisibleProp(e){n.emit("update:visible",e)}};return Object(o["provide"])("bindPopup",d.bindPopup),Object(o["provide"])("bindTooltip",d.bindTooltip),Object(o["provide"])("unbindTooltip",d.unbindTooltip),Object(o["provide"])("unbindPopup",d.unbindPopup),Object(o["onUnmounted"])(()=>{d.unbindPopup(),d.unbindTooltip(),s()}),{options:i,methods:d}},f=(e,t)=>{if(e&&t.default)return Object(o["h"])("div",{style:{display:"none"}},t.default())},g={...O,interactive:{type:Boolean,default:!0},bubblingMouseEvents:{type:Boolean,default:!0}},k={...p,...g,stroke:{type:Boolean,custom:!0,default:!0},color:{type:String,custom:!0,default:"#3388ff"},weight:{type:Number,custom:!0,default:3},opacity:{type:Number,custom:!0,default:1},lineCap:{type:String,custom:!0,default:"round"},lineJoin:{type:String,custom:!0,default:"round"},dashArray:{type:String,custom:!0,default:null},dashOffset:{type:String,custom:!0,default:null},fill:{type:Boolean,custom:!0,default:!1},fillColor:{type:String,custom:!0,default:"#3388ff"},fillOpacity:{type:Number,custom:!0,default:.2},fillRule:{type:String,custom:!0,default:"evenodd"},className:{type:String,custom:!0,default:null}},y={...k,latLng:{type:[Object,Array],custom:!0,default:null},radius:{type:Number,default:null}};const v={...O,position:{type:String,default:"topright"}},E=(e,t)=>{const{options:n,methods:r}=m(e),c={...n,position:e.position},a={...r,setPosition(e){t.value&&t.value.setPosition(e)}};return Object(o["onUnmounted"])(()=>{t.value&&t.value.remove()}),{options:c,methods:a}},h=e=>e.default?Object(o["h"])("div",{ref:"root"},e.default()):null;Boolean,Boolean;Boolean,Boolean,Boolean,Boolean;Boolean,Boolean,Boolean;const N={...p},w=(e,t,n)=>{const{options:r,methods:c}=j(e,t,n),a={...r},l={...c,addLayer(e){t.value.addLayer(e.leafletObject)},removeLayer(e){t.value.removeLayer(e.leafletObject)}};return Object(o["provide"])("addLayer",l.addLayer),Object(o["provide"])("removeLayer",l.removeLayer),{options:a,methods:l}};const S={...N,geojson:{type:[Object,Array],default:()=>({})}},V=(e,t)=>{const{options:n,methods:o}=w(e,t),r={...n,...e},c={...o,setGeojson(e){t.value.clearLayers(),t.value.addData(e)},getGeoJSONData(){return t.value.toGeoJSON()},getBounds(){return t.value.getBounds()}};return{options:r,methods:c}};var T={props:S,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["ref"])(!1),i=Object(o["inject"])(b),u=Object(o["inject"])("addLayer"),{methods:s,options:O}=V(e,r);return Object(o["onMounted"])(async()=>{const{geoJSON:b,DomEvent:m}=i?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.geojson,O);const p=l(t.attrs);m.on(r.value,p),a(s,r.value,e),u({...e,...s,leafletObject:r.value}),c.value=!0,Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{ready:c,leafletObject:r}},render(){return f(this.ready,this.$slots)},__file:"src/components/LGeoJson.vue"};const D={...p,pane:{type:String,default:"tilePane"},opacity:{type:Number,custom:!1,default:1},zIndex:{type:Number,default:1},tileSize:{type:Number,default:256},noWrap:{type:Boolean,default:!1},minZoom:{type:Number,default:0},maxZoom:{type:Number,default:void 0}},_=(e,t,n)=>{const{options:o,methods:r}=j(e,t,n),c={...o,pane:e.pane,opacity:e.opacity,zIndex:e.zIndex,tileSize:e.tileSize,noWrap:e.noWrap,minZoom:e.minZoom,maxZoom:e.maxZoom};return{options:c,methods:{...r}}};const I={iconUrl:{type:String,custom:!0,default:null},iconRetinaUrl:{type:String,custom:!0,default:null},iconSize:{type:[Object,Array],custom:!0,default:null},iconAnchor:{type:[Object,Array],custom:!0,default:null},popupAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},tooltipAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},shadowUrl:{type:String,custom:!0,default:null},shadowRetinaUrl:{type:String,custom:!0,default:null},shadowSize:{type:[Object,Array],custom:!0,default:null},shadowAnchor:{type:[Object,Array],custom:!0,default:null},bgPos:{type:[Object,Array],custom:!0,default:()=>[0,0]},className:{type:String,custom:!0,default:""},options:{type:Object,custom:!0,default:()=>({})}};Boolean,Boolean;var x={emits:["ready","update:zoom","update:center","update:bounds"],props:{...O,center:{type:[Object,Array],default:()=>[0,0]},bounds:{type:[Array,Object],default:void 0},maxBounds:{type:[Array,Object],default:void 0},zoom:{type:Number,default:0},minZoom:{type:Number,default:void 0},maxZoom:{type:Number,default:void 0},paddingBottomRight:{type:Array,default:void 0},paddingTopLeft:{type:Array,default:void 0},padding:{type:Array,default:void 0},worldCopyJump:{type:Boolean,default:!1},crs:{type:[String,Object],default:"EPSG3857"},maxBoundsViscosity:{type:Number,default:void 0},inertia:{type:Boolean,default:void 0},inertiaDeceleration:{type:Number,default:void 0},inertiaMaxSpeed:{type:Number,default:void 0},easeLinearity:{type:Number,default:void 0},zoomAnimation:{type:Boolean,default:void 0},zoomAnimationThreshold:{type:Number,default:void 0},fadeAnimation:{type:Boolean,default:void 0},markerZoomAnimation:{type:Boolean,default:void 0},noBlockingAnimations:{type:Boolean,default:!1},useGlobalLeaflet:{type:Boolean,default:!1}},setup(e,t){const c=Object(o["ref"])(null),O=Object(o["reactive"])({ready:!1,leafletRef:{},layersToAdd:[],layersInControl:[]}),{options:p}=m(e),j={...p,minZoom:e.minZoom,maxZoom:e.maxZoom,maxBounds:e.maxBounds,maxBoundsViscosity:e.maxBoundsViscosity,worldCopyJump:e.worldCopyJump,crs:e.crs,center:e.center,zoom:e.zoom,inertia:e.inertia,inertiaDeceleration:e.inertiaDeceleration,inertiaMaxSpeed:e.inertiaMaxSpeed,easeLinearity:e.easeLinearity,zoomAnimation:e.zoomAnimation,zoomAnimationThreshold:e.zoomAnimationThreshold,fadeAnimation:e.fadeAnimation,markerZoomAnimation:e.markerZoomAnimation},f=u("addLayer"),g=u("removeLayer"),k=u("registerControl"),y=u("registerLayerControl");Object(o["provide"])(b,e.useGlobalLeaflet);const v={moveEndHandler(){t.emit("update:zoom",O.leafletRef.getZoom()),t.emit("update:center",O.leafletRef.getCenter()),t.emit("update:bounds",O.leafletRef.getBounds())},overlayAddHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!0)},overlayRemoveHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!1)}};Object(o["onMounted"])(async()=>{e.useGlobalLeaflet&&(d.L=d.L||await n.e("chunk-2d2248b6").then(n.t.bind(null,"e11e",7)));const{map:u,CRS:b,Icon:m,latLngBounds:p,latLng:E,DomEvent:h}=e.useGlobalLeaflet?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));try{j.beforeMapMount&&await j.beforeMapMount()}catch(V){console.error("The following error occurred running the provided beforeMapMount hook "+V.message)}await i(m);const N="string"==typeof j.crs?b[j.crs]:j.crs;j.crs=N||b.EPSG3857;const w={addLayer(e){if(void 0!==e.layerType)if(void 0===O.layerControl)O.layersToAdd.push(e);else{const t=O.layersInControl.find(t=>t.leafletObject._leaflet_id===e.leafletObject._leaflet_id);t||(O.layerControl.addLayer(e),O.layersInControl.push(e))}!1!==e.visible&&O.leafletRef.addLayer(e.leafletObject)},removeLayer(e){void 0!==e.layerType&&(void 0===O.layerControl?O.layersToAdd=O.layersToAdd.filter(t=>t.name!==e.name):(O.layerControl.removeLayer(e.leafletObject),O.layersInControl=O.layersInControl.filter(t=>t.leafletObject._leaflet_id!==e.leafletObject._leaflet_id))),O.leafletRef.removeLayer(e.leafletObject)},registerLayerControl(e){O.layerControl=e,O.layersToAdd.forEach(e=>{O.layerControl.addLayer(e)}),O.layersToAdd=[],k(e)},registerControl(e){O.leafletRef.addControl(e.leafletObject)},setZoom(t){const n=O.leafletRef.getZoom();t!==n&&O.leafletRef.setZoom(t,{animate:!e.noBlockingAnimations&&null})},setPaddingBottomRight(e){O.paddingBottomRight=e},setPaddingTopLeft(e){O.paddingTopLeft=e},setPadding(e){O.padding=e},setCrs(e){const t=O.leafletRef.getBounds();O.leafletRef.options.crs=e,O.leafletRef.fitBounds(t,{animate:!1,padding:[0,0]})},fitBounds(e){O.leafletRef.fitBounds(e,{animate:!this.noBlockingAnimations&&null})},setBounds(e){if(!e)return;const t=p(e);if(!t.isValid())return;const n=O.lastSetBounds||O.leafletRef.getBounds(),o=!n.equals(t,0);o&&(O.lastSetBounds=t,O.leafletRef.fitBounds(t,this.fitBoundsOptions))},setCenter(e){if(null==e)return;const t=E(e),n=O.lastSetCenter||O.leafletRef.getCenter();n.lat===t.lat&&n.lng===t.lng||(O.lastSetCenter=t,O.leafletRef.panTo(t,{animate:!this.noBlockingAnimations&&null}))}};s(f,w.addLayer),s(g,w.removeLayer),s(k,w.registerControl),s(y,w.registerLayerControl),O.leafletRef=u(c.value,j),a(w,O.leafletRef,e);const S=l(t.attrs);O.leafletRef.on("moveend",r(v.moveEndHandler,100)),O.leafletRef.on("overlayadd",v.overlayAddHandler),O.leafletRef.on("overlayremove",v.overlayRemoveHandler),h.on(O.leafletRef,S),O.ready=!0,Object(o["nextTick"])(()=>t.emit("ready",O.leafletRef))}),Object(o["onBeforeUnmount"])(()=>{O.leafletRef&&O.leafletRef.remove()});const E=Object(o["computed"])(()=>O.leafletRef),h=Object(o["computed"])(()=>O.ready);return{root:c,ready:h,leafletObject:E}},render(){return Object(o["h"])("div",{style:{width:"100%",height:"100%"},ref:"root"},this.ready?this.$slots.default():{})},__file:"src/components/LMap.vue"};const A={...p,pane:{type:String,default:"markerPane"},draggable:{type:Boolean,custom:!0,default:!1},latLng:{type:[Object,Array],custom:!0,default:null},icon:{type:[Object],default:()=>{},custom:!1},zIndexOffset:{type:Number,custom:!1,default:null}},C=(e,t,n)=>{const{options:o,methods:r}=j(e,t,n),c={...o,...e},a={...r,setDraggable(e){t.value.dragging&&(e?t.value.dragging.enable():t.value.dragging.disable())},latLngSync(e){n.emit("update:latLng",e.latlng),n.emit("update:lat-lng",e.latlng)},setLatLng(e){if(null!=e&&t.value){const n=t.value.getLatLng();n&&n.equals(e)||t.value.setLatLng(e)}}};return{options:c,methods:a}};var B={name:"LMarker",props:A,setup(e,t){const c=Object(o["ref"])({}),i=Object(o["ref"])(!1),u=Object(o["inject"])(b),s=Object(o["inject"])("addLayer");Object(o["provide"])("canSetParentHtml",()=>!!c.value.getElement()),Object(o["provide"])("setParentHtml",e=>c.value.getElement().innerHTML=e),Object(o["provide"])("setIcon",e=>c.value.setIcon&&c.value.setIcon(e));const{options:O,methods:m}=C(e,c,t);return void 0===O.icon&&delete O.icon,Object(o["onMounted"])(async()=>{const{marker:b,DomEvent:p}=u?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));c.value=b(e.latLng,O);const j=l(t.attrs);p.on(c.value,j),c.value.on("move",r(m.latLngSync,100)),a(m,c.value,e),s({...e,...m,leafletObject:c.value}),i.value=!0,Object(o["nextTick"])(()=>t.emit("ready",c.value))}),{ready:i,leafletObject:c}},render(){return f(this.ready,this.$slots)},__file:"src/components/LMarker.vue"};const R={...k,latLngs:{type:Array,default:()=>[]},smoothFactor:{type:Number,custom:!0,default:1},noClip:{type:Boolean,custom:!0,default:!1}},U={...R};const L={...O,content:{type:String,default:null}};const $={...D,tms:{type:Boolean,default:!1},subdomains:{type:String,default:"abc"},detectRetina:{type:Boolean,default:!1},url:{type:String,default:null}},M=(e,t)=>{const{options:n,methods:o}=_(e,t),r={...n,tms:e.tms,subdomains:e.subdomains,detectRetina:e.detectRetina};return{options:r,methods:{...o}}};var P={props:$,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["inject"])(b),i=Object(o["inject"])("addLayer"),{options:u,methods:s}=M(e,r);return Object(o["onMounted"])(async()=>{const{tileLayer:b,DomEvent:O}=c?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.url,u);const m=l(t.attrs);O.on(r.value,m),a(s,r.value,e),i({...e,...s,leafletObject:r.value}),Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{leafletObject:r}},render(){return null},__file:"src/components/LTileLayer.vue"};Boolean,Boolean}).call(this,n("c8ba"))},"5c76":function(e,t,n){"use strict";var o=n("1da1"),r=(n("96cf"),n("ac1f"),n("1276"),n("b680"),n("99af"),n("7a23")),c=n("47e2"),a=n("6c02"),l=n("dad5"),i=n("2906"),u=n("5e65"),s=n("c364"),d=n("1119"),b=n("6284"),O={id:"workout-form"},m=["onSubmit"],p={class:"form-items"},j={key:0,class:"form-item-radio"},f=["checked","disabled"],g={for:"withGpx"},k=["checked","disabled"],y={for:"withoutGpx"},v={class:"form-item"},E=["disabled"],h=["value"],N={key:1,class:"form-item"},w={for:"gpxFile"},S=["disabled"],V={class:"files-help info-box"},T={key:2,class:"form-item"},D={for:"title"},_=["required","disabled"],I={key:3},x={class:"workout-date-duration"},A={class:"form-item"},C={class:"workout-date-time"},B=["disabled"],R=["disabled"],U={class:"form-item"},L=["disabled"],$=Object(r["createTextVNode"])(" : "),M=["disabled"],P=Object(r["createTextVNode"])(" : "),F=["disabled"],G={class:"form-item"},W=["disabled"],z={class:"form-item"},H={key:1},q={key:2,class:"form-buttons"},K=["disabled"],Z=["onClick"],X=Object(r["defineComponent"])({props:{authUser:null,sports:null,isCreation:{default:!1},loading:{default:!1},workout:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["b"])(),X=n.t,Y=Object(i["a"])(),J=Object(a["d"])(),Q=Object(r["toRefs"])(t),ee=Q.authUser,te=Q.workout,ne=Q.isCreation,oe=Q.loading,re=Object(r["computed"])((function(){return Object(d["e"])(t.sports,X,!0,te.value.id?[te.value.sport_id]:null)})),ce=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.APP_CONFIG]})),ae=ce.value.max_single_file_size?Object(s["b"])(ce.value.max_single_file_size):"",le=ce.value.gpx_limit_import,ie=ce.value.max_zip_file_size?Object(s["b"])(ce.value.max_zip_file_size):"",ue=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.ERROR_MESSAGES]})),se=Object(r["reactive"])({sport_id:"",title:"",notes:"",workoutDate:"",workoutTime:"",workoutDurationHour:"",workoutDurationMinutes:"",workoutDurationSeconds:"",workoutDistance:""}),de=Object(r["ref"])(t.workout.id?t.workout.with_gpx:t.isCreation),be=null,Oe=Object(r["ref"])(!1);function me(e){se.notes=e}function pe(){de.value=!de.value,Oe.value=!1}function je(e){e.target.files&&(be=e.target.files[0])}function fe(e){if(se.sport_id="".concat(e.sport_id),se.title=e.title,se.notes=e.notes,!e.with_gpx){var n=Object(u["a"])(Object(u["c"])(e.workout_date,t.authUser.timezone),"yyyy-MM-dd"),o=e.duration.split(":");se.workoutDistance="".concat(ee.value.imperial_units?Object(b["a"])(e.distance,"km","mi",2):parseFloat(e.distance.toFixed(2))),se.workoutDate=n.workout_date,se.workoutTime=n.workout_time,se.workoutDurationHour=o[0],se.workoutDurationMinutes=o[1],se.workoutDurationSeconds=o[2]}}function ge(e){e.title=se.title,e.distance=ee.value.imperial_units?Object(b["a"])(+se.workoutDistance,"mi","km",3):+se.workoutDistance,e.duration=3600*+se.workoutDurationHour+60*+se.workoutDurationMinutes+ +se.workoutDurationSeconds,e.workout_date="".concat(se.workoutDate," ").concat(se.workoutTime)}function ke(){var e={sport_id:+se.sport_id,notes:se.notes};if(t.workout.id)t.workout.with_gpx?e.title=se.title:ge(e),Y.dispatch(l["f"].ACTIONS.EDIT_WORKOUT,{workoutId:t.workout.id,data:e});else if(de.value){if(!be){var n="workouts.NO_FILE_PROVIDED";return void Y.commit(l["b"].MUTATIONS.SET_ERROR_MESSAGES,n)}e.file=be,Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT,e)}else ge(e),Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,e)}function ye(){t.workout.id?J.push({name:"Workout",params:{workoutId:t.workout.id}}):J.go(-1)}function ve(){Oe.value=!0}return Object(r["onMounted"])((function(){t.workout.id&&fe(t.workout)})),Object(r["onUnmounted"])((function(){return Y.commit(l["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),Object(r["watch"])((function(){return t.workout}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t!==n&&t&&t.id&&fe(t);case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),function(e,t){var n=Object(r["resolveComponent"])("CustomTextArea"),o=Object(r["resolveComponent"])("ErrorMessage"),c=Object(r["resolveComponent"])("Loader"),a=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",{id:"workout-edition",class:Object(r["normalizeClass"])(["center-card center-card with-margin",{"center-form":Object(r["unref"])(te)&&Object(r["unref"])(te).with_gpx}])},[Object(r["createVNode"])(a,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.".concat(Object(r["unref"])(ne)?"ADD":"EDIT","_WORKOUT"))),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",O,[Object(r["createElementVNode"])("form",{class:Object(r["normalizeClass"])({errors:Oe.value}),onSubmit:Object(r["withModifiers"])(ke,["prevent"])},[Object(r["createElementVNode"])("div",p,[Object(r["unref"])(ne)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",j,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withGpx",type:"radio",checked:Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:pe},null,8,f),Object(r["createElementVNode"])("label",g,Object(r["toDisplayString"])(e.$t("workouts.WITH_GPX")),1)]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withoutGpx",type:"radio",checked:!Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:pe},null,8,k),Object(r["createElementVNode"])("label",y,Object(r["toDisplayString"])(e.$t("workouts.WITHOUT_GPX")),1)])])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("div",v,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.SPORT",1))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("select",{id:"sport",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(r["unref"])(se).sport_id=e})},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(re),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:e.id,key:e.id},Object(r["toDisplayString"])(e.translatedLabel),9,h)})),128))],40,E),[[r["vModelSelect"],Object(r["unref"])(se).sport_id]])]),Object(r["unref"])(ne)&&Object(r["unref"])(de)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",N,[Object(r["createElementVNode"])("label",w,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+" "+Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE_DESCRIPTION"))+": ",1),Object(r["createElementVNode"])("input",{id:"gpxFile",name:"gpxFile",type:"file",accept:".gpx, .zip",disabled:Object(r["unref"])(oe),required:"",onInvalid:ve,onInput:je},null,40,S),Object(r["createElementVNode"])("div",V,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ae)),1)])]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.NO_FOLDER")),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_FILES"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(le)),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ie)),1)])])])])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",T,[Object(r["createElementVNode"])("label",D,Object(r["toDisplayString"])(e.$t("workouts.TITLE"))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"title",name:"title",type:"text",required:!Object(r["unref"])(ne),onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(r["unref"])(se).title=e})},null,40,_),[[r["vModelText"],Object(r["unref"])(se).title]])])),Object(r["unref"])(de)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",I,[Object(r["createElementVNode"])("div",x,[Object(r["createElementVNode"])("div",A,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT_DATE"))+":",1),Object(r["createElementVNode"])("div",C,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-date",name:"workout-date",type:"date",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(r["unref"])(se).workoutDate=e})},null,40,B),[[r["vModelText"],Object(r["unref"])(se).workoutDate]]),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-time",name:"workout-time",class:"workout-time",type:"time",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(r["unref"])(se).workoutTime=e})},null,40,R),[[r["vModelText"],Object(r["unref"])(se).workoutTime]])])]),Object(r["createElementVNode"])("div",U,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+":",1),Object(r["createElementVNode"])("div",null,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-hour",name:"workout-duration-hour",class:"workout-duration",type:"text",placeholder:"HH",pattern:"^([0-1]?[0-9]|2[0-3])$",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(r["unref"])(se).workoutDurationHour=e})},null,40,L),[[r["vModelText"],Object(r["unref"])(se).workoutDurationHour]]),$,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-minutes",name:"workout-duration-minutes",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"MM",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(r["unref"])(se).workoutDurationMinutes=e})},null,40,M),[[r["vModelText"],Object(r["unref"])(se).workoutDurationMinutes]]),P,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-seconds",name:"workout-duration-seconds",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"SS",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(r["unref"])(se).workoutDurationSeconds=e})},null,40,F),[[r["vModelText"],Object(r["unref"])(se).workoutDurationSeconds]])])])]),Object(r["createElementVNode"])("div",G,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+" ("+Object(r["toDisplayString"])(Object(r["unref"])(ee).imperial_units?"mi":"km")+"): ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{name:"workout-distance",type:"number",min:"0",step:"0.001",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(r["unref"])(se).workoutDistance=e})},null,40,W),[[r["vModelText"],Object(r["unref"])(se).workoutDistance]])])])),Object(r["createElementVNode"])("div",z,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.NOTES"))+": ",1),Object(r["createVNode"])(n,{name:"notes",input:Object(r["unref"])(se).notes,disabled:Object(r["unref"])(oe),onUpdateValue:me},null,8,["input","disabled"])])]),Object(r["unref"])(ue)?(Object(r["openBlock"])(),Object(r["createBlock"])(o,{key:0,message:Object(r["unref"])(ue)},null,8,["message"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(oe)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",H,[Object(r["createVNode"])(c)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",q,[Object(r["createElementVNode"])("button",{class:"confirm",type:"submit",disabled:Object(r["unref"])(oe)},Object(r["toDisplayString"])(e.$t("buttons.SUBMIT")),9,K),Object(r["createElementVNode"])("button",{class:"cancel",onClick:Object(r["withModifiers"])(ye,["prevent"])},Object(r["toDisplayString"])(e.$t("buttons.CANCEL")),9,Z)]))],42,m)])]})),_:1})],2)}}}),Y=(n("fadc"),n("6b0d")),J=n.n(Y);const Q=J()(X,[["__scopeId","data-v-225fffcc"]]);t["a"]=Q},"692d":function(e,t,n){"use strict";n.r(t);var o=n("7a23"),r=n("5c76"),c=n("dad5"),a=n("2906"),l={id:"add-workout",class:"view"},i={class:"container"},u=Object(o["defineComponent"])({setup:function(e){var t=Object(a["a"])(),n=Object(o["computed"])((function(){return t.getters[c["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return t.getters[c["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return t.getters[c["f"].GETTERS.WORKOUT_DATA]}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",l,[Object(o["createElementVNode"])("div",i,[Object(o["createVNode"])(r["a"],{authUser:Object(o["unref"])(u),sports:Object(o["unref"])(n),isCreation:!0,loading:Object(o["unref"])(s).loading},null,8,["authUser","sports","loading"])])])}}});const s=u;t["default"]=s},"696e":function(e,t,n){},7156:function(e,t,n){var o=n("1626"),r=n("861d"),c=n("d2bb");e.exports=function(e,t,n){var a,l;return c&&o(a=t.constructor)&&a!==n&&r(l=a.prototype)&&l!==n.prototype&&c(e,l),e}},7253:function(e,t,n){},"8ce4":function(e,t,n){},"8dbb":function(e,t,n){},"8ee9":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("5c76"),l=n("dad5"),i=n("2906"),u={id:"edit-workout",class:"view"},s={class:"container"},d=Object(r["defineComponent"])({setup:function(e){var t=Object(c["c"])(),n=Object(i["a"])(),d=Object(r["computed"])((function(){return n.getters[l["a"].GETTERS.AUTH_USER_PROFILE]})),b=Object(r["computed"])((function(){return n.getters[l["c"].GETTERS.SPORTS]})),O=Object(r["computed"])((function(){return n.getters[l["f"].GETTERS.WORKOUT_DATA]}));return Object(r["onBeforeMount"])((function(){n.dispatch(l["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.params.workoutId})})),Object(r["watch"])((function(){return t.params.workoutId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t||n.commit(l["f"].MUTATIONS.EMPTY_WORKOUT);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("div",s,[Object(r["createVNode"])(a["a"],{authUser:Object(r["unref"])(d),sports:Object(r["unref"])(b),workout:Object(r["unref"])(O).workout,loading:Object(r["unref"])(O).loading},null,8,["authUser","sports","workout","loading"])])])}}});const b=d;t["default"]=b},"8f45":function(e,t,n){},"94ed":function(e,t,n){},"95b0":function(e,t,n){"use strict";n("1998")},"97f1":function(e,t,n){},a74c:function(e,t,n){},a9e3:function(e,t,n){"use strict";var o=n("83ab"),r=n("da84"),c=n("e330"),a=n("94ca"),l=n("6eeb"),i=n("1a2d"),u=n("7156"),s=n("3a9b"),d=n("d9b5"),b=n("c04e"),O=n("d039"),m=n("241c").f,p=n("06cf").f,j=n("9bf2").f,f=n("408a"),g=n("58a8").trim,k="Number",y=r[k],v=y.prototype,E=r.TypeError,h=c("".slice),N=c("".charCodeAt),w=function(e){var t=b(e,"number");return"bigint"==typeof t?t:S(t)},S=function(e){var t,n,o,r,c,a,l,i,u=b(e,"number");if(d(u))throw E("Cannot convert a Symbol value to a number");if("string"==typeof u&&u.length>2)if(u=g(u),t=N(u,0),43===t||45===t){if(n=N(u,2),88===n||120===n)return NaN}else if(48===t){switch(N(u,1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(c=h(u,2),a=c.length,l=0;lr)return NaN;return parseInt(c,o)}return+u};if(a(k,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var V,T=function(e){var t=arguments.length<1?0:y(w(e)),n=this;return s(v,n)&&O((function(){f(n)}))?u(Object(t),n,T):t},D=o?m(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),_=0;D.length>_;_++)i(y,V=D[_])&&!i(T,V)&&j(T,V,p(y,V));T.prototype=v,v.constructor=T,l(r,k,T)}},ac79:function(e,t,n){"use strict";n("8ce4")},c23a:function(e,t,n){},c66b:function(e,t,n){"use strict";n("7253")},c6be:function(e,t,n){"use strict";n("07ae")},cdd7:function(e,t,n){"use strict";n("423d")},d636:function(e,t,n){},d917:function(e,t,n){"use strict";n("c23a")},e358:function(e,t,n){"use strict";n("97f1")},e679:function(e,t,n){"use strict";n("8dbb")},e94f:function(e,t,n){!function(e,n){n(t)}(0,(function(e){"use strict";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||""}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const r=n(e,"line");if(r){const e=t(n(r,"color")),c=parseFloat(t(n(r,"opacity"))),a=parseFloat(t(n(r,"width")));e&&(o.stroke=e),isNaN(c)||(o["stroke-opacity"]=c),isNaN(a)||(o["stroke-width"]=96*a/25.4)}}return o}function r(e,o){const r={};let c,a;for(a=0;a1,s=Object.assign(c(e),o(n(e,"extensions")),{_gpxType:"trk"},a.length?{coordinateProperties:{times:u?a:a[0]}}:{});for(let n=0;nnew Array(e.line.length).fill(null))),e[t][n]=o):e[t]=o}}return{type:"Feature",properties:s,geometry:u?{type:"MultiLineString",coordinates:r}:{type:"LineString",coordinates:r[0]}}}function*s(e){const t=e.getElementsByTagName("trk"),n=e.getElementsByTagName("rte"),o=e.getElementsByTagName("wpt");for(let r=0;rArray(e.length).fill(null))),u[n][t]=e[n])}if(0!==r.length)return(c.length||a.length)&&(u.coordinateProperties=Object.assign(c.length?{times:1===r.length?c[0]:c}:{},a.length?{heart:1===r.length?a[0]:a}:{})),{type:"Feature",properties:u,geometry:{type:1===r.length?"LineString":"MultiLineString",coordinates:1===r.length?r[0]:r}}}function*f(e){const t=e.getElementsByTagName("Lap");for(let o=0;o (_pushScopeId(\"data-v-06d30f25\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-filters\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"form\" }\nconst _hoisted_4 = { class: \"form-items-group\" }\nconst _hoisted_5 = { class: \"form-item\" }\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-item\" }\nconst _hoisted_8 = [\"value\"]\nconst _hoisted_9 = { class: \"form-items-group\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"\" }, null, -1))\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-items-group\" }\nconst _hoisted_15 = { class: \"form-item\" }\nconst _hoisted_16 = { class: \"form-inputs-group\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = [\"value\"]\nconst _hoisted_19 = { class: \"form-items-group\" }\nconst _hoisted_20 = { class: \"form-item\" }\nconst _hoisted_21 = { class: \"form-inputs-group\" }\nconst _hoisted_22 = [\"value\"]\nconst _hoisted_23 = [\"value\"]\nconst _hoisted_24 = { class: \"form-items-group\" }\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = { class: \"form-inputs-group\" }\nconst _hoisted_27 = [\"value\"]\nconst _hoisted_28 = [\"value\"]\nconst _hoisted_29 = { class: \"form-items-group\" }\nconst _hoisted_30 = { class: \"form-item\" }\nconst _hoisted_31 = { class: \"form-inputs-group\" }\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = [\"value\"]\nconst _hoisted_34 = { class: \"form-button\" }\n\nimport { ComputedRef, computed, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n import { units } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null\n },\n emits: ['filter'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n sports: ISport[]\n }\n\n \n\n \n\n const { t } = useI18n()\n const route = useRoute()\n const router = useRouter()\n\n const { authUser } = toRefs(props)\n\n const toUnit = authUser.value.imperial_units\n ? units['km'].defaultTarget\n : 'km'\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n let params: LocationQuery = Object.assign({}, route.query)\n\n function handleFilterChange(event: Event & { target: HTMLInputElement }) {\n if (event.target.value === '') {\n delete params[event.target.name]\n } else {\n params[event.target.name] = event.target.value\n }\n }\n function onFilter() {\n emit('filter')\n if ('page' in params) {\n params['page'] = '1'\n }\n router.push({ path: '/workouts', query: params })\n }\n function onClearFilter() {\n emit('filter')\n router.push({ path: '/workouts', query: {} })\n }\n\n watch(\n () => route.query,\n (newQuery) => {\n params = Object.assign({}, newQuery)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.FROM')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"from\",\n type: \"date\",\n value: _ctx.$route.query.from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_6)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.TO')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"to\",\n type: \"date\",\n value: _ctx.$route.query.to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_8)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \":\", 1),\n _createElementVNode(\"select\", {\n name: \"sport_id\",\n value: _ctx.$route.query.sport_id,\n onChange: handleFilterChange\n }, [\n _hoisted_12,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports).filter((s) =>\n _unref(authUser).sports_list.includes(s.id)\n ), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_13))\n }), 128))\n ], 40, _hoisted_11)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"input\", {\n name: \"distance_from\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_17),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"distance_to\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_18)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"input\", {\n name: \"duration_from\",\n value: _ctx.$route.query.duration_from,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_22),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"duration_to\",\n value: _ctx.$route.query.duration_to,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_23)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_from\",\n value: _ctx.$route.query.ave_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_27),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_to\",\n value: _ctx.$route.query.ave_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_28)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_from\",\n value: _ctx.$route.query.max_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_32),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_to\",\n value: _ctx.$route.query.max_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_33)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onFilter\n }, _toDisplayString(_ctx.$t('buttons.FILTER')), 1),\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onClearFilter\n }, _toDisplayString(_ctx.$t('buttons.CLEAR_FILTER')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-06d30f25\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1ba1a972\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-list\" }\nconst _hoisted_2 = { class: \"total\" }\nconst _hoisted_3 = { class: \"total-label\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 0,\n class: \"workouts-table responsive-table\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", { class: \"sport-col\" }, null, -1))\nconst _hoisted_7 = { class: \"sport-col\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"onMouseover\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-right\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-right\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = { class: \"text-right\" }\nconst _hoisted_18 = { class: \"cell-heading\" }\nconst _hoisted_19 = { class: \"text-right\" }\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = { class: \"text-right\" }\nconst _hoisted_22 = { class: \"cell-heading\" }\nconst _hoisted_23 = { class: \"text-right\" }\nconst _hoisted_24 = { class: \"cell-heading\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n capitalize,\n onBeforeMount,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import StaticMap from '@/components/Common/StaticMap.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList, workoutsPayloadKeys } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n\n \n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const { user, sports } = toRefs(props)\n const orderByList: string[] = [\n 'ave_speed',\n 'distance',\n 'duration',\n 'workout_date',\n ]\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.USER_WORKOUTS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]\n )\n let query: TWorkoutsPayload = getWorkoutsQuery(route.query)\n const hoverWorkoutId: Ref = ref(null)\n\n onBeforeMount(() => {\n loadWorkouts(query)\n })\n\n function loadWorkouts(payload: TWorkoutsPayload) {\n store.dispatch(\n WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS,\n user.value.imperial_units ? getConvertedPayload(payload) : payload\n )\n }\n function reloadWorkouts(queryParam: string, queryValue: string) {\n const newQuery: LocationQuery = Object.assign({}, route.query)\n newQuery[queryParam] = queryValue\n if (queryParam === 'per_page') {\n newQuery['page'] = '1'\n }\n query = getWorkoutsQuery(newQuery)\n router.push({ path: '/workouts', query })\n }\n\n function getWorkoutsQuery(newQuery: LocationQuery): TWorkoutsPayload {\n query = getQuery(newQuery, orderByList, defaultOrder.order_by, {\n defaultSort: defaultOrder.order,\n })\n Object.keys(newQuery)\n .filter((k) => workoutsPayloadKeys.includes(k))\n .map((k) => {\n if (typeof newQuery[k] === 'string') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n query[k] = newQuery[k]\n }\n })\n return query\n }\n\n function getConvertedPayload(payload: TWorkoutsPayload): TWorkoutsPayload {\n const convertedPayload: TWorkoutsPayload = {\n ...payload,\n }\n Object.entries(convertedPayload).map((entry) => {\n if (entry[0].match('speed|distance')) {\n convertedPayload[entry[0]] = convertDistance(+entry[1], 'mi', 'km')\n }\n })\n return convertedPayload\n }\n\n function onHover(workoutId: string | null) {\n hoverWorkoutId.value = workoutId\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getWorkoutsQuery(newQuery)\n loadWorkouts(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"box\", { 'empty-table': _unref(workouts).length === 0 }])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t('common.TOTAL').toLowerCase()) + \": \", 1),\n (_unref(pagination).total !== null)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_unref(pagination).total) + \" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(pagination).total)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"workouts\",\n onUpdateSelect: reloadWorkouts\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(Pagination, {\n class: \"top-pagination\",\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_6,\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DATE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DISTANCE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DURATION'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.AVE_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.MAX_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.ASCENT'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DESCENT'))), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: workout.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.SPORT', 1)), 1),\n (_unref(sports).length > 0)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n title: \n _unref(sports).find((s) => s.id === workout.sport_id)\n .translatedLabel\n ,\n \"sport-label\": _unref(getSportLabel)(workout, _unref(sports)),\n color: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", {\n class: \"workout-title\",\n onMouseover: ($event: any) => (onHover(workout.id)),\n onMouseleave: _cache[0] || (_cache[0] = ($event: any) => (onHover(null)))\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: { name: 'Workout', params: { workoutId: workout.id } }\n }, {\n default: _withCtx(() => [\n (workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(workout.title), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n (workout.with_gpx && hoverWorkoutId.value === workout.id)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: workout,\n \"display-hover\": true\n }, null, 8, [\"workout\"]))\n : _createCommentVNode(\"\", true)\n ], 40, _hoisted_9),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(workout.workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _createVNode(_component_Distance, {\n distance: workout.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _createTextVNode(\" \" + _toDisplayString(workout.moving), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_17, [\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.ave_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.max_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.ascent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_23, [\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n }), 128))\n ])\n ]),\n _createVNode(Pagination, {\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _hoisted_25\n ]))\n}\n}\n\n})","import script from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1ba1a972\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ed6df5ba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workouts\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container workouts-container\" }\nconst _hoisted_3 = { class: \"display-filters\" }\nconst _hoisted_4 = { class: \"list-container\" }\n\nimport { ComputedRef, computed, ref } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import WorkoutsFilters from '@/components/Workouts/WorkoutsFilters.vue'\n import WorkoutsList from '@/components/Workouts/WorkoutsList.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t)\n )\n const hiddenFilters = ref(true)\n\n function toggleFilters() {\n hiddenFilters.value = !hiddenFilters.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_unref(authUser).username)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"filters-container\", { hidden: hiddenFilters.value }])\n }, [\n _createVNode(WorkoutsFilters, {\n sports: _unref(translatedSports),\n authUser: _unref(authUser),\n onFilter: toggleFilters\n }, null, 8, [\"sports\", \"authUser\"])\n ], 2),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", { onClick: toggleFilters }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa-caret-${hiddenFilters.value ? 'down' : 'up'}`),\n \"aria-hidden\": \"true\"\n }, null, 2),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`workouts.${hiddenFilters.value ? 'DISPLAY' : 'HIDE'}_FILTERS`)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(WorkoutsList, {\n user: _unref(authUser),\n sports: _unref(translatedSports)\n }, null, 8, [\"user\", \"sports\"])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ed6df5ba\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createElementVNode as _createElementVNode, mergeProps as _mergeProps, createVNode as _createVNode, isRef as _isRef, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4819bfdb\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-chart\" }\nconst _hoisted_2 = { class: \"chart-radio\" }\nconst _hoisted_3 = [\"checked\"]\nconst _hoisted_4 = [\"checked\"]\nconst _hoisted_5 = { class: \"chart-info\" }\nconst _hoisted_6 = { class: \"no-data-cleaning\" }\nconst _hoisted_7 = { class: \"elevation-start\" }\nconst _hoisted_8 = [\"checked\"]\n\nimport { ChartData, ChartOptions } from 'chart.js'\n import { ComputedRef, computed, ref } from 'vue'\n import { LineChart, useLineChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { TUnit } from '@/types/units'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkoutChartData,\n IWorkoutData,\n TCoordinates,\n } from '@/types/workouts'\n import { units } from '@/utils/units'\n import { getDatasets } from '@/utils/workouts'\n\n interface Props {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n workoutData: null\n },\n emits: ['getCoordinates'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n\n \n\n \n\n const { t } = useI18n()\n\n let displayDistance = ref(true)\n let beginElevationAtZero = ref(true)\n const datasets: ComputedRef = computed(() =>\n getDatasets(props.workoutData.chartData, t, props.authUser.imperial_units)\n )\n const fromKmUnit = getUnitTo('km')\n const fromMUnit = getUnitTo('m')\n let chartData: ComputedRef> = computed(() => ({\n labels: displayDistance.value\n ? datasets.value.distance_labels\n : datasets.value.duration_labels,\n datasets: JSON.parse(\n JSON.stringify([\n datasets.value.datasets.speed,\n datasets.value.datasets.elevation,\n ])\n ),\n }))\n const coordinates: ComputedRef = computed(\n () => datasets.value.coordinates\n )\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: 22,\n },\n },\n scales: {\n [displayDistance.value ? 'xDistance' : 'xDuration']: {\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n count: 10,\n callback: function (value) {\n return displayDistance.value\n ? Number(value).toFixed(2)\n : formatDuration(value)\n },\n },\n type: 'linear',\n bounds: 'data',\n title: {\n display: true,\n text: displayDistance.value\n ? t('workouts.DISTANCE') + ` (${fromKmUnit})`\n : t('workouts.DURATION'),\n },\n },\n ySpeed: {\n grid: {\n drawOnChartArea: false,\n },\n position: 'left',\n title: {\n display: true,\n text: t('workouts.SPEED') + ` (${fromKmUnit}/h)`,\n },\n },\n yElevation: {\n beginAtZero: beginElevationAtZero.value,\n grid: {\n drawOnChartArea: false,\n },\n position: 'right',\n title: {\n display: true,\n text: t('workouts.ELEVATION') + ` (${fromMUnit})`,\n },\n },\n },\n elements: {\n point: {\n pointStyle: 'circle',\n pointRadius: 0,\n },\n },\n plugins: {\n datalabels: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n callbacks: {\n label: function (context) {\n const label = ` ${context.dataset.label}: ${context.formattedValue}`\n return context.dataset.yAxisID === 'yElevation'\n ? label + ` ${fromMUnit}`\n : label + ` ${fromKmUnit}/h`\n },\n title: function (tooltipItems) {\n if (tooltipItems.length > 0) {\n emitCoordinates(coordinates.value[tooltipItems[0].dataIndex])\n }\n return tooltipItems.length === 0\n ? ''\n : displayDistance.value\n ? `${t('workouts.DISTANCE')}: ${\n tooltipItems[0].label\n } ${fromKmUnit}`\n : `${t('workouts.DURATION')}: ${formatDuration(\n tooltipItems[0].label.replace(',', '')\n )}`\n },\n },\n },\n },\n }))\n const { lineChartProps } = useLineChart({\n chartData,\n options,\n })\n\n function updateDisplayDistance() {\n displayDistance.value = !displayDistance.value\n }\n function formatDuration(duration: string | number): string {\n return new Date(+duration * 1000).toISOString().substr(11, 8)\n }\n function emitCoordinates(coordinates: TCoordinates) {\n emit('getCoordinates', coordinates)\n }\n function emitEmptyCoordinates() {\n emitCoordinates({ latitude: null, longitude: null })\n }\n function getUnitTo(unitFrom: TUnit): TUnit {\n return props.authUser.imperial_units\n ? units[unitFrom].defaultTarget\n : unitFrom\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ANALYSIS')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"distance\",\n checked: _unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_3),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"duration\",\n checked: !_unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_4),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ])\n ]),\n _createVNode(_unref(LineChart), _mergeProps(_unref(lineChartProps), {\n class: \"line-chart\",\n onMouseleave: emitEmptyCoordinates\n }), null, 16),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.NO_DATA_CLEANING')), 1),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n checked: _unref(beginElevationAtZero),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_isRef(beginElevationAtZero) //@ts-ignore\n ? beginElevationAtZero.value = !_unref(beginElevationAtZero) : beginElevationAtZero = !_unref(beginElevationAtZero)))\n }, null, 8, _hoisted_8),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.START_ELEVATION_AT_ZERO')), 1)\n ])\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutChart.vue?vue&type=style&index=0&id=4819bfdb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4819bfdb\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21fe0e9a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-card-title\" }\nconst _hoisted_2 = [\"title\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = [\n _hoisted_3\n]\nconst _hoisted_5 = { class: \"workout-card-title\" }\nconst _hoisted_6 = { class: \"workout-title-date\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"workout-title\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"workout-title\"\n}\nconst _hoisted_9 = { class: \"workout-segment\" }\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\" — \")\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-marker\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"workout-date\" }\nconst _hoisted_13 = { class: \"workout-link\" }\nconst _hoisted_14 = [\"title\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\n\nimport { toRefs } from 'vue'\n\n import { ISport } from '@/types/sports'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sport: null,\n workoutObject: null\n },\n emits: ['displayModal'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n\n \n\n \n\n const { sport, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-previous workout-arrow\", { inactive: !_unref(workoutObject).previousUrl }]),\n title: \n _unref(workoutObject).previousUrl\n ? _ctx.$t(`workouts.PREVIOUS_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_PREVIOUS_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workoutObject).previousUrl\n ? _ctx.$router.push(_unref(workoutObject).previousUrl)\n : null\n ))\n }, _hoisted_4, 10, _hoisted_2),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createElementVNode(\"div\", _hoisted_6, [\n (_unref(workoutObject).type === 'WORKOUT')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"i\", {\n class: \"fa fa-edit\",\n \"aria-hidden\": \"true\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _ctx.$router.push({\n name: 'EditWorkout',\n params: { workoutId: _unref(workoutObject).workoutId },\n })\n ))\n }),\n _createElementVNode(\"i\", {\n class: \"fa fa-trash\",\n \"aria-hidden\": \"true\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (emit('displayModal', true)))\n })\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _hoisted_11,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.SEGMENT')) + \" \" + _toDisplayString(_unref(workoutObject).segmentId + 1), 1)\n ])\n ])),\n _createElementVNode(\"div\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).workoutDate) + \" - \" + _toDisplayString(_unref(workoutObject).workoutTime) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_13, [\n (_unref(workoutObject).type === 'SEGMENT')\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workoutObject).workoutId },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" > \" + _toDisplayString(_ctx.$t('workouts.BACK_TO_WORKOUT')), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-next workout-arrow\", { inactive: !_unref(workoutObject).nextUrl }]),\n title: \n _unref(workoutObject).nextUrl\n ? _ctx.$t(`workouts.NEXT_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_NEXT_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[3] || (_cache[3] = ($event: any) => (\n _unref(workoutObject).nextUrl ? _ctx.$router.push(_unref(workoutObject).nextUrl) : null\n ))\n }, _hoisted_16, 10, _hoisted_14)\n ]))\n}\n}\n\n})","import script from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21fe0e9a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2e8c6844\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"workout-record\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"sup\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n })\n], -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n recordType: string\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n recordType: null,\n workoutObject: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n recordType: string\n workoutObject: IWorkoutObject\n }\n\n \n\n const { recordType, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (\n _unref(workoutObject).records &&\n _unref(workoutObject).records.find((record) => record.record_type === _unref(recordType))\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _hoisted_3))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2e8c6844\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-07781815\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workout-weather\"\n}\nconst _hoisted_2 = { class: \"weather-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_4 = { class: \"weather-th\" }\nconst _hoisted_5 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_6 = { class: \"weather-th\" }\nconst _hoisted_7 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_8 = [\"alt\", \"title\"]\nconst _hoisted_9 = [\"alt\", \"title\"]\nconst _hoisted_10 = [\"alt\", \"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { useImperialUnits, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_unref(workoutObject).weatherStart && _unref(workoutObject).weatherEnd)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", _hoisted_2, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.START')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherStart.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n \n }, null, 8, _hoisted_5)\n ])\n ]),\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.END')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherEnd.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n \n }, null, 8, _hoisted_7)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/temperature.svg\",\n alt: _ctx.$t(`workouts.WEATHER.TEMPERATURE`),\n title: _ctx.$t(`workouts.WEATHER.TEMPERATURE`)\n }, null, 8, _hoisted_8)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.temperature).toFixed(1)) + \"°C \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.temperature).toFixed(1)) + \"°C \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/pour-rain.svg\",\n alt: _ctx.$t(`workouts.WEATHER.HUMIDITY`),\n title: _ctx.$t(`workouts.WEATHER.HUMIDITY`)\n }, null, 8, _hoisted_9)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.humidity * 100).toFixed(1)) + \"% \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.humidity * 100).toFixed(1)) + \"% \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/breeze.svg\",\n alt: _ctx.$t(`workouts.WEATHER.WIND`),\n title: _ctx.$t(`workouts.WEATHER.WIND`)\n }, null, 8, _hoisted_10)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherStart.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherEnd.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=07781815&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-07781815\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a7c2d728\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-info\" }\nconst _hoisted_2 = { class: \"workout-data\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"label\" }\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_6 = { class: \"value\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"value\" }\nconst _hoisted_9 = { class: \"value\" }\nconst _hoisted_10 = { class: \"workout-data\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"label\" }\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_14 = { class: \"workout-data\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-tachometer\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = { class: \"label\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_19 = { class: \"label\" }\nconst _hoisted_20 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_21 = {\n key: 0,\n class: \"workout-data\"\n}\nconst _hoisted_22 = [\"alt\"]\nconst _hoisted_23 = { class: \"label\" }\nconst _hoisted_24 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_26 = { class: \"label\" }\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_28 = {\n key: 1,\n class: \"workout-data\"\n}\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_30 = { class: \"label\" }\nconst _hoisted_31 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_33 = { class: \"label\" }\nconst _hoisted_34 = /*#__PURE__*/_createTextVNode(\": \")\n\nimport { computed, toRefs } from 'vue'\n\n import WorkoutRecord from '@/components/Workout/WorkoutDetail/WorkoutRecord.vue'\n import WorkoutWeather from '@/components/Workout/WorkoutDetail/WorkoutWeather.vue'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { workoutObject, useImperialUnits } = toRefs(props)\n const withPause = computed(\n () =>\n props.workoutObject.pauses !== '0:00:00' &&\n props.workoutObject.pauses !== null\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(workoutObject).moving), 1),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"LD\"\n }, null, 8, [\"workoutObject\"]),\n (_unref(withPause))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.PAUSES')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_unref(workoutObject).pauses), 1),\n _createTextVNode(\" - \" + _toDisplayString(_ctx.$t('workouts.TOTAL_DURATION')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(workoutObject).duration) + \")\", 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _hoisted_13,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).distance,\n digits: 3,\n unitFrom: \"km\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"FD\"\n }, null, 8, [\"workoutObject\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1),\n _hoisted_17,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).aveSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"AS\"\n }, null, 8, [\"workoutObject\"]),\n _hoisted_18,\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _hoisted_20,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"MS\"\n }, null, 8, [\"workoutObject\"])\n ]),\n (_unref(workoutObject).maxAlt !== null && _unref(workoutObject).minAlt !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_22),\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(_ctx.$t('workouts.MIN_ALTITUDE')), 1),\n _hoisted_24,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).minAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_25,\n _createElementVNode(\"span\", _hoisted_26, _toDisplayString(_ctx.$t('workouts.MAX_ALTITUDE')), 1),\n _hoisted_27,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workoutObject).ascent !== null && _unref(workoutObject).descent !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"span\", _hoisted_30, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n _hoisted_31,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).ascent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_32,\n _createElementVNode(\"span\", _hoisted_33, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n _hoisted_34,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).descent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(WorkoutWeather, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]))\n}\n}\n\n})","import script from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a7c2d728\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createBlock as _createBlock, withCtx as _withCtx, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b4b3006a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-map\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"no-map\"\n}\n\nimport { gpx } from '@tmcw/togeojson'\n import { LGeoJson, LMap, LMarker, LTileLayer } from '@vue-leaflet/vue-leaflet'\n import { ComputedRef, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { GeoJSONData } from '@/types/geojson'\n import { IWorkoutData, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const store = useStore()\n\n const { workoutData, markerCoordinates } = toRefs(props)\n const workoutMap = ref null }\n }>(null)\n const bounds = computed(() =>\n props.workoutData\n ? [\n [\n props.workoutData.workout.bounds[0],\n props.workoutData.workout.bounds[1],\n ],\n [\n props.workoutData.workout.bounds[2],\n props.workoutData.workout.bounds[3],\n ],\n ]\n : []\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const center = computed(() => getCenter(bounds))\n const geoJson = computed(() =>\n props.workoutData && props.workoutData.gpx\n ? getGeoJson(props.workoutData.gpx)\n : {}\n )\n\n function getGeoJson(gpxContent: string): GeoJSONData {\n if (!gpxContent || gpxContent !== '') {\n try {\n const jsonData = gpx(\n new DOMParser().parseFromString(gpxContent, 'text/xml')\n )\n return { jsonData }\n } catch (e) {\n console.error('Invalid gpx content')\n return {}\n }\n }\n return {}\n }\n function getCenter(bounds: ComputedRef): number[] {\n return [\n (bounds.value[0][0] + bounds.value[1][0]) / 2,\n (bounds.value[0][1] + bounds.value[1][1]) / 2,\n ]\n }\n function fitBounds(bounds: number[][]) {\n if (workoutMap.value?.leafletObject) {\n workoutMap.value?.leafletObject.fitBounds(bounds)\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(workoutData).loading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_unref(geoJson).jsonData && _unref(center) && _unref(bounds).length === 2)\n ? (_openBlock(), _createBlock(_unref(LMap), {\n key: 0,\n zoom: 13,\n center: _unref(center),\n bounds: _unref(bounds),\n ref: (_value, _refs) => {\n _refs['workoutMap'] = _value\n workoutMap.value = _value\n },\n onReady: _cache[0] || (_cache[0] = ($event: any) => (fitBounds(_unref(bounds))))\n }, {\n default: _withCtx(() => [\n _createVNode(_unref(LTileLayer), {\n url: `${_unref(getApiUrl)()}workouts/map_tile/{s}/{z}/{x}/{y}.png`,\n attribution: _unref(appConfig).map_attribution,\n bounds: _unref(bounds)\n }, null, 8, [\"url\", \"attribution\", \"bounds\"]),\n _createVNode(_unref(LGeoJson), {\n geojson: _unref(geoJson).jsonData\n }, null, 8, [\"geojson\"]),\n (_unref(markerCoordinates).latitude)\n ? (_openBlock(), _createBlock(_unref(LMarker), {\n key: 0,\n \"lat-lng\": [_unref(markerCoordinates).latitude, _unref(markerCoordinates).longitude]\n }, null, 8, [\"lat-lng\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"center\", \"bounds\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n ]))\n}\n}\n\n})","import script from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b4b3006a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withCtx as _withCtx, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2655acaa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workout-detail\" }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutCardTitle from '@/components/Workout/WorkoutDetail/WorkoutCardTitle.vue'\n import WorkoutData from '@/components/Workout/WorkoutDetail/WorkoutData.vue'\n import WorkoutMap from '@/components/Workout/WorkoutDetail/WorkoutMap.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkout,\n IWorkoutData,\n IWorkoutObject,\n IWorkoutSegment,\n TCoordinates,\n } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IUserProfile\n displaySegment: boolean\n sports: ISport[]\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n displaySegment: null,\n sports: null,\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, displaySegment: boolean, sports: ISport[], workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { authUser, markerCoordinates, workoutData } = toRefs(props)\n const workout: ComputedRef = computed(\n () => props.workoutData.workout\n )\n let segmentId: Ref = ref(\n route.params.workoutId ? +route.params.segmentId : null\n )\n const segment: ComputedRef = computed(() =>\n workout.value.segments.length > 0 && segmentId.value\n ? workout.value.segments[+segmentId.value - 1]\n : null\n )\n let displayModal: Ref = ref(false)\n const sport = computed(() =>\n props.sports\n ? props.sports.find(\n (sport) => sport.id === props.workoutData.workout.sport_id\n )\n : {}\n )\n const workoutObject = computed(() =>\n getWorkoutObject(workout.value, segment.value)\n )\n\n function getWorkoutObjectUrl(\n workout: IWorkout,\n displaySegment: boolean,\n segmentId: number | null\n ): Record {\n const previousUrl =\n displaySegment && segmentId && segmentId !== 1\n ? `/workouts/${workout.id}/segment/${segmentId - 1}`\n : !displaySegment && workout.previous_workout\n ? `/workouts/${workout.previous_workout}`\n : null\n const nextUrl =\n displaySegment && segmentId && segmentId < workout.segments.length\n ? `/workouts/${workout.id}/segment/${segmentId + 1}`\n : !displaySegment && workout.next_workout\n ? `/workouts/${workout.next_workout}`\n : null\n return {\n previousUrl,\n nextUrl,\n }\n }\n function getWorkoutObject(\n workout: IWorkout,\n segment: IWorkoutSegment | null\n ): IWorkoutObject {\n const urls = getWorkoutObjectUrl(\n workout,\n props.displaySegment,\n segmentId.value ? +segmentId.value : null\n )\n const workoutDate = formatWorkoutDate(\n getDateWithTZ(\n props.workoutData.workout.workout_date,\n props.authUser.timezone\n )\n )\n return {\n ascent: segment ? segment.ascent : workout.ascent,\n aveSpeed: segment ? segment.ave_speed : workout.ave_speed,\n distance: segment ? segment.distance : workout.distance,\n descent: segment ? segment.descent : workout.descent,\n duration: segment ? segment.duration : workout.duration,\n maxAlt: segment ? segment.max_alt : workout.max_alt,\n maxSpeed: segment ? segment.max_speed : workout.max_speed,\n minAlt: segment ? segment.min_alt : workout.min_alt,\n moving: segment ? segment.moving : workout.moving,\n nextUrl: urls.nextUrl,\n pauses: segment ? segment.pauses : workout.pauses,\n previousUrl: urls.previousUrl,\n records: segment ? [] : workout.records,\n segmentId: segment ? segment.segment_id : null,\n title: workout.title,\n type: props.displaySegment ? 'SEGMENT' : 'WORKOUT',\n workoutDate: workoutDate.workout_date,\n weatherEnd: segment ? null : workout.weather_end,\n workoutId: workout.id,\n weatherStart: segment ? null : workout.weather_start,\n workoutTime: workoutDate.workout_time,\n }\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteWorkout(workoutId: string) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT, {\n workoutId: workoutId,\n })\n }\n\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (newSegmentId) {\n segmentId.value = +newSegmentId\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('workouts.WORKOUT_DELETION_CONFIRMATION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteWorkout(_unref(workoutObject).workoutId))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(WorkoutCardTitle, {\n sport: _unref(sport),\n workoutObject: _unref(workoutObject),\n onDisplayModal: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayModal(true)))\n }, null, 8, [\"sport\", \"workoutObject\"])\n ]),\n content: _withCtx(() => [\n _createVNode(WorkoutMap, {\n workoutData: _unref(workoutData),\n markerCoordinates: _unref(markerCoordinates)\n }, null, 8, [\"workoutData\", \"markerCoordinates\"]),\n _createVNode(WorkoutData, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2655acaa\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64197f7a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-note\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n notes?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n notes: { default: () => null }\n },\n setup(__props: any) {\n\nconst props = __props as { notes: string | null }\n\n \n\n const { notes } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.NOTES')), 1)\n ]),\n content: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(notes) && _unref(notes) !== '' ? _unref(notes) : _ctx.$t('workouts.NO_NOTES')), 1)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutNotes.vue?vue&type=style&index=0&id=64197f7a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64197f7a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-01f43375\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-segments\" }\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutSegment } from '@/types/workouts'\n\n interface Props {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n segments: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n\n \n\n const { segments, useImperialUnits } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 2)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(segments), (segment, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: segment.segment_id\n }, [\n _createVNode(_component_router_link, {\n to: {\n name: 'WorkoutSegment',\n params: {\n workoutId: segment.workout_id,\n segmentId: index + 1,\n },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 1)) + \" \" + _toDisplayString(index + 1), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \": \", 1),\n _createVNode(_component_Distance, {\n distance: segment.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\", \" + _toDisplayString(_ctx.$t('workouts.DURATION')) + \": \" + _toDisplayString(segment.duration) + \") \", 1)\n ]))\n }), 128))\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutSegments.vue?vue&type=style&index=0&id=01f43375&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-01f43375\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-05ad7fd0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workout-container\"\n}\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_6 = { key: 1 }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import WorkoutChart from '@/components/Workout/WorkoutChart.vue'\n import WorkoutDetail from '@/components/Workout/WorkoutDetail/index.vue'\n import WorkoutNotes from '@/components/Workout/WorkoutNotes.vue'\n import WorkoutSegments from '@/components/Workout/WorkoutSegments.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData, IWorkoutPayload, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n displaySegment: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n displaySegment: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displaySegment: boolean\n }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { displaySegment } = toRefs(props)\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n let markerCoordinates: Ref = ref({\n latitude: null,\n longitude: null,\n })\n\n onBeforeMount(() => {\n const payload: IWorkoutPayload = { workoutId: route.params.workoutId }\n if (props.displaySegment) {\n payload.segmentId = route.params.segmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n })\n\n onUnmounted(() => {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n })\n\n function updateCoordinates(coordinates: TCoordinates) {\n markerCoordinates.value = {\n latitude: coordinates.latitude,\n longitude: coordinates.longitude,\n }\n }\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (newWorkoutId) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: newWorkoutId,\n })\n }\n }\n )\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (route.params.workoutId) {\n const payload: IWorkoutPayload = {\n workoutId: route.params.workoutId,\n }\n if (newSegmentId) {\n payload.segmentId = newSegmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(WorkoutDetail, {\n workoutData: _unref(workoutData),\n sports: _unref(sports),\n authUser: _unref(authUser),\n markerCoordinates: _unref(markerCoordinates),\n displaySegment: _unref(displaySegment)\n }, null, 8, [\"workoutData\", \"sports\", \"authUser\", \"markerCoordinates\", \"displaySegment\"]),\n (\n _unref(workoutData).workout.with_gpx && _unref(workoutData).chartData.length > 0\n )\n ? (_openBlock(), _createBlock(WorkoutChart, {\n key: 0,\n workoutData: _unref(workoutData),\n authUser: _unref(authUser),\n displaySegment: _unref(displaySegment),\n onGetCoordinates: updateCoordinates\n }, null, 8, [\"workoutData\", \"authUser\", \"displaySegment\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment) && _unref(workoutData).workout.segments.length > 1)\n ? (_openBlock(), _createBlock(WorkoutSegments, {\n key: 1,\n segments: _unref(workoutData).workout.segments,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"segments\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment))\n ? (_openBlock(), _createBlock(WorkoutNotes, {\n key: 2,\n notes: _unref(workoutData).workout.notes\n }, null, 8, [\"notes\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_5\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (!_unref(workoutData).loading)\n ? (_openBlock(), _createBlock(NotFound, {\n key: 0,\n target: \"WORKOUT\"\n }))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Workout.vue?vue&type=style&index=0&id=05ad7fd0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-05ad7fd0\"]])\n\nexport default __exports__","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutSegments.vue?vue&type=style&index=0&id=01f43375&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"","import { watch, ref, provide, h, inject, onUnmounted, onBeforeUnmount, onMounted, nextTick, render as render$3, reactive, computed } from 'vue';\n\nconst debounce = (fn, time) => {\n let timeout;\n\n return function (...args) {\n const context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nconst capitalizeFirstLetter = (string) => {\n if (!string || typeof string.charAt !== \"function\") {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nconst propsBinder = (methods, leafletElement, props) => {\n for (const key in props) {\n const setMethodName = \"set\" + capitalizeFirstLetter(key);\n if (methods[setMethodName]) {\n watch(\n () => props[key],\n (newVal, oldVal) => {\n methods[setMethodName](newVal, oldVal);\n }\n );\n } else if (leafletElement[setMethodName]) {\n watch(\n () => props[key],\n (newVal) => {\n leafletElement[setMethodName](newVal);\n }\n );\n }\n }\n};\n\nconst remapEvents = (contextAttrs) => {\n const result = {};\n for (const attrName in contextAttrs) {\n if (\n attrName.startsWith(\"on\") &&\n !attrName.startsWith(\"onUpdate\") &&\n attrName !== \"onReady\"\n ) {\n const eventName = attrName.slice(2).toLocaleLowerCase();\n result[eventName] = contextAttrs[attrName];\n }\n }\n return result;\n};\n\nconst resetWebpackIcon = async (Icon) => {\n const modules = await Promise.all([\n import('leaflet/dist/images/marker-icon-2x.png'),\n import('leaflet/dist/images/marker-icon.png'),\n import('leaflet/dist/images/marker-shadow.png'),\n ]);\n\n delete Icon.Default.prototype._getIconUrl;\n\n Icon.Default.mergeOptions({\n iconRetinaUrl: modules[0].default,\n iconUrl: modules[1].default,\n shadowUrl: modules[2].default,\n });\n};\n\n/**\n * Wraps a placeholder function and provides it with the given name.\n * The wrapper can later be updated with {@link updateLeafletWrapper}\n * to provide a different function.\n *\n * @param {String} methodName Key used to provide the wrapper function\n */\nconst provideLeafletWrapper = (methodName) => {\n const wrapped = ref(() =>\n console.warn(`Method ${methodName} has been invoked without being replaced`)\n );\n const wrapper = (...args) => wrapped.value(...args);\n // eslint-disable-next-line vue/no-ref-as-operand\n wrapper.wrapped = wrapped;\n provide(methodName, wrapper);\n\n return wrapper;\n};\n\n/**\n * Change the function that will be executed when an injected Leaflet wrapper\n * is invoked.\n *\n * @param {*} wrapper Provided wrapper whose wrapped function is to be updated\n * @param {function} leafletMethod New method to be wrapped by the wrapper\n */\nconst updateLeafletWrapper = (wrapper, leafletMethod) =>\n (wrapper.wrapped.value = leafletMethod);\n\nconst WINDOW_OR_GLOBAL =\n (typeof self === \"object\" && self.self === self && self) ||\n (typeof global === \"object\" && global.global === global && global) ||\n undefined;\n\nconst GLOBAL_LEAFLET_OPT = \"useGlobalLeaflet\";\n\nconst props = {\n options: {\n type: Object,\n default: () => ({}),\n },\n};\n\nconst setup = (props) => {\n return { options: props.options, methods: {} };\n};\n\nconst props$1 = {\n ...props,\n pane: {\n type: String,\n default: \"overlayPane\",\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n};\n\nconst setup$1 = (props, leafletRef, context) => {\n const addLayer = inject(\"addLayer\");\n const removeLayer = inject(\"removeLayer\");\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n\n const options = {\n ...componentOptions,\n attribution: props.attribution,\n pane: props.pane,\n };\n\n const addThisLayer = () => addLayer({ leafletObject: leafletRef.value });\n const removeThisLayer = () =>\n removeLayer({ leafletObject: leafletRef.value });\n\n const methods = {\n ...componentMethods,\n setAttribution(val, old) {\n const attributionControl = this.$parent.leafletObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setLayerType() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setVisible(isVisible) {\n if (leafletRef.value) {\n if (isVisible) {\n addThisLayer();\n } else {\n removeThisLayer();\n }\n }\n },\n bindPopup({ leafletObject }) {\n leafletRef.value.bindPopup(leafletObject);\n },\n bindTooltip({ leafletObject }) {\n leafletRef.value.bindTooltip(leafletObject);\n },\n unbindTooltip() {\n const tooltip = leafletRef.value ? leafletRef.value.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup() {\n const popup = leafletRef.value ? leafletRef.value.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n context.emit(\"update:visible\", value);\n },\n };\n\n provide(\"bindPopup\", methods.bindPopup);\n provide(\"bindTooltip\", methods.bindTooltip);\n provide(\"unbindTooltip\", methods.unbindTooltip);\n provide(\"unbindPopup\", methods.unbindPopup);\n\n onUnmounted(() => {\n methods.unbindPopup();\n methods.unbindTooltip();\n removeThisLayer();\n });\n\n return { options, methods };\n};\n\nconst render = (ready, slots) => {\n if (ready && slots.default) {\n return h(\"div\", { style: { display: \"none\" } }, slots.default());\n }\n};\n\nconst props$2 = {\n ...props,\n interactive: {\n type: Boolean,\n default: true,\n },\n bubblingMouseEvents: {\n type: Boolean,\n default: true,\n },\n};\n\nconst setup$2 = (props) => {\n const { options: componentOptions, methods } = setup(props);\n const options = {\n ...componentOptions,\n interactive: props.interactive,\n bubblingMouseEvents: props.bubblingMouseEvents,\n };\n\n return { options, methods };\n};\n\nconst props$3 = {\n ...props$1,\n ...props$2,\n stroke: {\n type: Boolean,\n custom: true,\n default: true,\n },\n color: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n weight: {\n type: Number,\n custom: true,\n default: 3,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n lineCap: {\n type: String,\n custom: true,\n default: \"round\",\n },\n lineJoin: {\n type: String,\n custom: true,\n default: \"round\",\n },\n dashArray: {\n type: String,\n custom: true,\n default: null,\n },\n dashOffset: {\n type: String,\n custom: true,\n default: null,\n },\n fill: {\n type: Boolean,\n custom: true,\n default: false,\n },\n fillColor: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n fillOpacity: {\n type: Number,\n custom: true,\n default: 0.2,\n },\n fillRule: {\n type: String,\n custom: true,\n default: \"evenodd\",\n },\n className: {\n type: String,\n custom: true,\n default: null,\n },\n};\n\nconst setup$3 = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const {\n options: interactiveLayerOptions,\n methods: interactiveLayerMethods,\n } = setup$2(props);\n\n const removeLayer = inject(\"removeLayer\");\n\n const options = {\n ...layerOptions,\n ...interactiveLayerOptions,\n stroke: props.stroke,\n color: props.color,\n weight: props.weight,\n opacity: props.opacity,\n lineCap: props.lineCap,\n lineJoin: props.lineJoin,\n dashArray: props.dashArray,\n dashOffset: props.dashOffset,\n fill: props.fill,\n fillColor: props.fillColor,\n fillOpacity: props.fillOpacity,\n fillRule: props.fillRule,\n className: props.className,\n };\n const methods = {\n ...layerMethods,\n ...interactiveLayerMethods,\n setStroke(stroke) {\n leafletRef.value.setStyle({ stroke });\n },\n setColor(color) {\n leafletRef.value.setStyle({ color });\n },\n setWeight(weight) {\n leafletRef.value.setStyle({ weight });\n },\n setOpacity(opacity) {\n leafletRef.value.setStyle({ opacity });\n },\n setLineCap(lineCap) {\n leafletRef.value.setStyle({ lineCap });\n },\n setLineJoin(lineJoin) {\n leafletRef.value.setStyle({ lineJoin });\n },\n setDashArray(dashArray) {\n leafletRef.value.setStyle({ dashArray });\n },\n setDashOffset(dashOffset) {\n leafletRef.value.setStyle({ dashOffset });\n },\n setFill(fill) {\n leafletRef.value.setStyle({ fill });\n },\n setFillColor(fillColor) {\n leafletRef.value.setStyle({ fillColor });\n },\n setFillOpacity(fillOpacity) {\n leafletRef.value.setStyle({ fillOpacity });\n },\n setFillRule(fillRule) {\n leafletRef.value.setStyle({ fillRule });\n },\n setClassName(className) {\n leafletRef.value.setStyle({ className });\n },\n };\n\n onBeforeUnmount(() => {\n removeLayer({ leafletObject: leafletRef.value });\n });\n\n return { options, methods };\n};\n\nconst props$4 = {\n ...props$3,\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n /**\n * Radius of the marker in pixels.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$4 = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n const methods = {\n ...pathMethods,\n setRadius(radius) {\n leafletRef.value.setRadius(radius);\n },\n setLatLng(latLng) {\n leafletRef.value.setLatLng(latLng);\n },\n };\n\n return { options, methods };\n};\n\nconst props$5 = {\n ...props$4,\n /**\n * Radius of the circle in meters.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$5 = (props, leafletRef, context) => {\n const {\n options: circleMarkerOptions,\n methods: circleMarkerMethods,\n } = setup$4(props, leafletRef, context);\n\n const options = {\n ...circleMarkerOptions,\n ...props,\n };\n\n const methods = {\n ...circleMarkerMethods,\n };\n\n return { options, methods };\n};\n\n/**\n * Circle component, lets you add and personalize circles on the map\n */\nvar script = {\n name: \"LCircle\",\n props: props$5,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$5(props, leafletRef, context);\n\n onMounted(async () => {\n const { circle, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circle(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript.__file = \"src/components/LCircle.vue\";\n\n/**\n * Circle Marker component, lets you add and personalize circle markers on the map\n */\nvar script$1 = {\n name: \"LCircleMarker\",\n props: props$4,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$4(props, leafletRef, context);\n\n onMounted(async () => {\n const { circleMarker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circleMarker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$1.__file = \"src/components/LCircleMarker.vue\";\n\nconst props$6 = {\n ...props,\n position: {\n type: String,\n default: \"topright\",\n },\n};\n\nconst setup$6 = (props, leafletRef) => {\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n const options = {\n ...componentOptions,\n position: props.position,\n };\n\n const methods = {\n ...componentMethods,\n setPosition(position) {\n if (leafletRef.value) {\n leafletRef.value.setPosition(position);\n }\n },\n };\n\n onUnmounted(() => {\n if (leafletRef.value) {\n leafletRef.value.remove();\n }\n });\n\n return { options, methods };\n};\n\nconst render$1 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nvar script$2 = {\n name: \"LControl\",\n props: {\n ...props$6,\n disableClickPropagation: {\n type: Boolean,\n custom: true,\n default: true,\n },\n disableScrollPropagation: {\n type: Boolean,\n custom: true,\n default: false,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$6(props, leafletRef);\n\n onMounted(async () => {\n const { Control, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const LControl = Control.extend({\n onAdd() {\n return root.value;\n },\n });\n\n leafletRef.value = new LControl(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n\n if (props.disableClickPropagation) {\n DomEvent.disableClickPropagation(root.value);\n }\n if (props.disableScrollPropagation) {\n DomEvent.disableScrollPropagation(root.value);\n }\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$1(this.$slots);\n },\n};\n\nscript$2.__file = \"src/components/LControl.vue\";\n\nconst props$7 = {\n ...props$6,\n prefix: {\n type: String,\n default: \"Vue-Leaflet\",\n custom: true,\n },\n};\n\nconst setup$7 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n prefix: props.prefix,\n };\n\n const methods = {\n ...controlMethods,\n setPrefix(prefix) {\n leafletRef.value.setPrefix(prefix);\n },\n };\n\n return { options, methods };\n};\n\nvar script$3 = {\n name: \"LControlAttribution\",\n props: props$7,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$7(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.attribution(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$3.__file = \"src/components/LControlAttribution.vue\";\n\nconst props$8 = {\n ...props$6,\n collapsed: {\n type: Boolean,\n default: true,\n },\n autoZIndex: {\n type: Boolean,\n default: true,\n },\n hideSingleBase: {\n type: Boolean,\n default: false,\n },\n sortLayers: {\n type: Boolean,\n default: false,\n },\n sortFunction: {\n type: Function,\n default: undefined,\n },\n};\n\nconst setup$8 = (props, leafletRef) => {\n const { options: controlOptions } = setup$6(props, leafletRef);\n const options = {\n ...controlOptions,\n collapsed: props.collapsed,\n autoZIndex: props.autoZIndex,\n hideSingleBase: props.hideSingleBase,\n sortLayers: props.sortLayers,\n sortFunction: props.sortFunction,\n };\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType === \"base\") {\n leafletRef.value.addBaseLayer(layer.leafletObject, layer.name);\n } else if (layer.layerType === \"overlay\") {\n leafletRef.value.addOverlay(layer.leafletObject, layer.name);\n }\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n return { options, methods };\n};\n\nvar script$4 = {\n name: \"LControlLayers\",\n props: props$8,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerLayerControl = inject(\"registerLayerControl\");\n\n const { options, methods } = setup$8(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.layers(null, null, options);\n\n propsBinder(methods, leafletRef.value, props);\n\n registerLayerControl({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$4.__file = \"src/components/LControlLayers.vue\";\n\nconst props$9 = {\n ...props$6,\n maxWidth: {\n type: Number,\n default: 100,\n },\n metric: {\n type: Boolean,\n default: true,\n },\n imperial: {\n type: Boolean,\n default: true,\n },\n updateWhenIdle: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$9 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n maxWidth: props.maxWidth,\n metric: props.metric,\n imperial: props.imperial,\n updateWhenIdle: props.updateWhenIdle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$5 = {\n name: \"LControlScale\",\n props: props$9,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$9(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.scale(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$5.__file = \"src/components/LControlScale.vue\";\n\nconst props$a = {\n ...props$6,\n zoomInText: {\n type: String,\n default: \"+\",\n },\n zoomInTitle: {\n type: String,\n default: \"Zoom in\",\n },\n zoomOutText: {\n type: String,\n default: \"-\",\n },\n zoomOutTitle: {\n type: String,\n default: \"Zoom out\",\n },\n};\n\nconst setup$a = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n zoomInText: props.zoomInText,\n zoomInTitle: props.zoomInTitle,\n zoomOutText: props.zoomOutText,\n zoomOutTitle: props.zoomOutTitle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$6 = {\n name: \"LControlZoom\",\n props: props$a,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$a(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.zoom(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$6.__file = \"src/components/LControlZoom.vue\";\n\nconst props$b = {\n ...props$1,\n};\n\nconst setup$b = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n\n const options = {\n ...layerOptions,\n };\n\n const methods = {\n ...layerMethods,\n addLayer(layer) {\n leafletRef.value.addLayer(layer.leafletObject);\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n\n provide(\"addLayer\", methods.addLayer);\n provide(\"removeLayer\", methods.removeLayer);\n\n return { options, methods };\n};\n\nconst props$c = {\n ...props$b,\n};\n\nconst setup$c = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n };\n\n return { options, methods };\n};\n\nvar script$7 = {\n props: props$c,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$c(props, leafletRef);\n\n onMounted(async () => {\n const { featureGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = featureGroup(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$7.__file = \"src/components/LFeatureGroup.vue\";\n\nconst props$d = {\n ...props$b,\n geojson: {\n type: [Object, Array],\n default: () => ({}),\n },\n};\n\nconst setup$d = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n setGeojson(newVal) {\n leafletRef.value.clearLayers();\n leafletRef.value.addData(newVal);\n },\n getGeoJSONData() {\n return leafletRef.value.toGeoJSON();\n },\n getBounds() {\n return leafletRef.value.getBounds();\n },\n };\n\n return { options, methods };\n};\n\nvar script$8 = {\n props: props$d,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$d(props, leafletRef);\n\n onMounted(async () => {\n const { geoJSON, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = geoJSON(props.geojson, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$8.__file = \"src/components/LGeoJson.vue\";\n\nconst props$e = {\n ...props$1,\n pane: {\n type: String,\n default: \"tilePane\",\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0,\n },\n zIndex: {\n type: Number,\n default: 1,\n },\n tileSize: {\n type: Number,\n default: 256,\n },\n noWrap: {\n type: Boolean,\n default: false,\n },\n minZoom: {\n type: Number,\n default: 0,\n },\n maxZoom: {\n type: Number,\n default: undefined,\n },\n};\n\nconst setup$e = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n pane: props.pane,\n opacity: props.opacity,\n zIndex: props.zIndex,\n tileSize: props.tileSize,\n noWrap: props.noWrap,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n };\n return { options, methods: { ...layerMethods } };\n};\n\nvar script$9 = {\n props: {\n ...props$e,\n childRender: {\n type: Function,\n required: true,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const tileComponents = ref({});\n const root = ref(null);\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$e(props, leafletRef, context);\n\n onMounted(async () => {\n const { GridLayer, DomEvent, DomUtil } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n methods.onUnload = (e) => {\n const key = leafletRef.value._tileCoordsToKey(e.coords);\n if (tileComponents[key]) {\n tileComponents[key].innerHTML = \"\";\n tileComponents[key] = undefined;\n }\n };\n\n methods.setTileComponent = () => {\n leafletRef.value.redraw();\n };\n\n const GLayer = GridLayer.extend({\n createTile(coords) {\n const key = leafletRef.value._tileCoordsToKey(coords);\n tileComponents[key] = DomUtil.create(\"div\");\n\n let vNode = h(\n { setup: props.childRender, props: [\"coords\"] },\n { coords }\n );\n render$3(vNode, tileComponents[key]);\n\n return tileComponents[key];\n },\n });\n\n leafletRef.value = new GLayer(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"tileunload\", methods.onUnload);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n onUnmounted(() => {\n leafletRef.value.off(\"tileunload\", methods.unLoad);\n });\n\n return { root, ready, leafletObject: leafletRef };\n },\n render() {\n if (this.ready) {\n return h(\"div\", { style: { display: \"none\" }, ref: \"root\" });\n }\n return null;\n },\n};\n\nscript$9.__file = \"src/components/LGridLayer.vue\";\n\nconst props$f = {\n iconUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n iconAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n popupAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n tooltipAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n shadowUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n shadowAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n bgPos: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n className: {\n type: String,\n custom: true,\n default: \"\",\n },\n options: {\n type: Object,\n custom: true,\n default: () => ({}),\n },\n};\n\n/**\n * Icon component, lets you add and custom icons to the map\n */\nvar script$a = {\n name: \"LIcon\",\n props: {\n ...props$f,\n ...props,\n },\n setup(props, context) {\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const canSetParentHtml = inject(\"canSetParentHtml\");\n const setParentHtml = inject(\"setParentHtml\");\n const setIcon = inject(\"setIcon\");\n\n let onDomEvent;\n let offDomEvent;\n let divIcon;\n let icon;\n let iconObject = undefined;\n\n const createIcon = (el, recreationNeeded, htmlSwapNeeded) => {\n const elHtml = el && el.innerHTML;\n if (!recreationNeeded) {\n if (htmlSwapNeeded && iconObject && canSetParentHtml()) {\n setParentHtml(elHtml);\n }\n return;\n }\n\n const listeners = remapEvents(context.attrs);\n if (iconObject) {\n offDomEvent(iconObject, listeners);\n }\n\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n iconUrl: props.iconUrl,\n iconRetinaUrl: props.iconRetinaUrl,\n iconSize: props.iconSize,\n iconAnchor: props.iconAnchor,\n popupAnchor: props.popupAnchor,\n tooltipAnchor: props.tooltipAnchor,\n shadowUrl: props.shadowUrl,\n shadowRetinaUrl: props.shadowRetinaUrl,\n shadowSize: props.shadowSize,\n shadowAnchor: props.shadowAnchor,\n bgPos: props.bgPos,\n className: props.className,\n html: elHtml || props.html,\n };\n\n iconObject = options.html ? divIcon(options) : icon(options);\n onDomEvent(iconObject, listeners);\n setIcon(iconObject);\n };\n\n const scheduleCreateIcon = () => {\n nextTick(() => createIcon(root.value, true, false));\n };\n\n const scheduleHtmlSwap = () => {\n nextTick(() => createIcon(root.value, false, true));\n };\n\n const methods = {\n setIconUrl: scheduleCreateIcon,\n setIconRetinaUrl: scheduleCreateIcon,\n setIconSize: scheduleCreateIcon,\n setIconAnchor: scheduleCreateIcon,\n setPopupAnchor: scheduleCreateIcon,\n setTooltipAnchor: scheduleCreateIcon,\n setShadowUrl: scheduleCreateIcon,\n setShadowRetinaUrl: scheduleCreateIcon,\n setShadowAnchor: scheduleCreateIcon,\n setBgPos: scheduleCreateIcon,\n setClassName: scheduleCreateIcon,\n setHtml: scheduleCreateIcon,\n };\n\n onMounted(async () => {\n const { DomEvent, divIcon: lDivIcon, icon: lIcon } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n onDomEvent = DomEvent.on;\n offDomEvent = DomEvent.off;\n divIcon = lDivIcon;\n icon = lIcon;\n\n propsBinder(methods, {}, props);\n\n const observer = new MutationObserver(scheduleHtmlSwap);\n observer.observe(root.value, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n scheduleCreateIcon();\n });\n\n return { root };\n },\n render() {\n const content = this.$slots.default ? this.$slots.default() : undefined;\n return h(\"div\", { ref: \"root\" }, content);\n },\n};\n\nscript$a.__file = \"src/components/LIcon.vue\";\n\n/**\n * @typedef {import('leaflet/dist/leaflet-src.esm.js').LatLngBounds} LatLngBounds\n */\n\nconst props$g = {\n ...props$1,\n url: {\n type: String,\n required: true,\n },\n bounds: {\n type: [Array, Object],\n required: true,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n alt: {\n type: String,\n default: \"\",\n },\n interactive: {\n type: Boolean,\n default: false,\n },\n crossOrigin: {\n type: Boolean,\n default: false,\n },\n errorOverlayUrl: {\n type: String,\n custom: true,\n default: \"\",\n },\n zIndex: {\n type: Number,\n custom: true,\n default: 1,\n },\n className: {\n type: String,\n default: \"\",\n },\n};\n\nconst setup$f = (setupProps, LeafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n setupProps,\n LeafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...setupProps,\n };\n\n const methods = {\n ...layerMethods,\n /**\n * Sets the opacity of the overlay.\n * @param {number} opacity\n */\n setOpacity(opacity) {\n return LeafletRef.value.setOpacity(opacity);\n },\n /**\n * Changes the URL of the image.\n * @param {string} url\n */\n setUrl(url) {\n return LeafletRef.value.setUrl(url);\n },\n /**\n * Update the bounds that this ImageOverlay covers\n * @param {LatLngBounds | Array>} bounds\n */\n setBounds(bounds) {\n return LeafletRef.value.setBounds(bounds);\n },\n /**\n * Get the bounds that this ImageOverlay covers\n * @returns {LatLngBounds}\n */\n getBounds() {\n return LeafletRef.value.getBounds();\n },\n /**\n * Returns the instance of HTMLImageElement used by this overlay.\n * @returns {HTMLElement}\n */\n getElement() {\n return LeafletRef.value.getElement();\n },\n /**\n * Brings the layer to the top of all overlays.\n */\n bringToFront() {\n return LeafletRef.value.bringToFront();\n },\n /**\n * Brings the layer to the bottom of all overlays.\n */\n bringToBack() {\n return LeafletRef.value.bringToBack();\n },\n /**\n * Changes the zIndex of the image overlay.\n * @param {number} zIndex\n */\n setZIndex(zIndex) {\n return LeafletRef.value.setZIndex(zIndex);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * ImageOverlay component, render a plain image instead of a geospatial map.\n */\nvar script$b = {\n name: \"LImageOverlay\",\n props: props$g,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$f(props, leafletRef, context);\n\n onMounted(async () => {\n const { imageOverlay, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = imageOverlay(props.url, props.bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$b.__file = \"src/components/LImageOverlay.vue\";\n\nvar script$c = {\n props: props$b,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods } = setup$b(props, leafletRef, context);\n\n onMounted(async () => {\n const { layerGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = layerGroup(props.options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$c.__file = \"src/components/LLayerGroup.vue\";\n\nvar script$d = {\n emits: [\"ready\", \"update:zoom\", \"update:center\", \"update:bounds\"],\n props: {\n ...props,\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n default: () => [0, 0],\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n default: undefined,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n default: undefined,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n default: undefined,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The CRS to use for the map. Can be an object that defines a coordinate reference\n * system for projecting geographical points into screen coordinates and back\n * (see https://leafletjs.com/reference-1.7.1.html#crs-l-crs-base), or a string\n * name identifying one of Leaflet's defined CRSs, such as \"EPSG4326\".\n */\n crs: {\n type: [String, Object],\n default: \"EPSG3857\",\n },\n maxBoundsViscosity: {\n type: Number,\n default: undefined,\n },\n inertia: {\n type: Boolean,\n default: undefined,\n },\n inertiaDeceleration: {\n type: Number,\n default: undefined,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: undefined,\n },\n easeLinearity: {\n type: Number,\n default: undefined,\n },\n zoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: undefined,\n },\n fadeAnimation: {\n type: Boolean,\n default: undefined,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n useGlobalLeaflet: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, context) {\n const root = ref(null);\n const blueprint = reactive({\n ready: false,\n leafletRef: {},\n layersToAdd: [],\n layersInControl: [],\n });\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n maxBounds: props.maxBounds,\n maxBoundsViscosity: props.maxBoundsViscosity,\n worldCopyJump: props.worldCopyJump,\n crs: props.crs,\n center: props.center,\n zoom: props.zoom,\n inertia: props.inertia,\n inertiaDeceleration: props.inertiaDeceleration,\n inertiaMaxSpeed: props.inertiaMaxSpeed,\n easeLinearity: props.easeLinearity,\n zoomAnimation: props.zoomAnimation,\n zoomAnimationThreshold: props.zoomAnimationThreshold,\n fadeAnimation: props.fadeAnimation,\n markerZoomAnimation: props.markerZoomAnimation,\n };\n\n const addLayer = provideLeafletWrapper(\"addLayer\");\n const removeLayer = provideLeafletWrapper(\"removeLayer\");\n const registerControl = provideLeafletWrapper(\"registerControl\");\n const registerLayerControl = provideLeafletWrapper(\"registerLayerControl\");\n provide(GLOBAL_LEAFLET_OPT, props.useGlobalLeaflet);\n\n const eventHandlers = {\n moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n context.emit(\"update:zoom\", blueprint.leafletRef.getZoom());\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n context.emit(\"update:center\", blueprint.leafletRef.getCenter());\n\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n context.emit(\"update:bounds\", blueprint.leafletRef.getBounds());\n },\n overlayAddHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n };\n\n onMounted(async () => {\n if (props.useGlobalLeaflet) {\n WINDOW_OR_GLOBAL.L = WINDOW_OR_GLOBAL.L || (await import('leaflet'));\n }\n const {\n map,\n CRS,\n Icon,\n latLngBounds,\n latLng,\n DomEvent,\n } = props.useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n try {\n options.beforeMapMount && (await options.beforeMapMount());\n } catch (error) {\n console.error(\n `The following error occurred running the provided beforeMapMount hook ${error.message}`\n );\n }\n\n await resetWebpackIcon(Icon);\n\n const optionsCrs =\n typeof options.crs == \"string\" ? CRS[options.crs] : options.crs;\n options.crs = optionsCrs || CRS.EPSG3857;\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd.push(layer);\n } else {\n const exist = blueprint.layersInControl.find(\n (l) =>\n l.leafletObject._leaflet_id ===\n layer.leafletObject._leaflet_id\n );\n if (!exist) {\n blueprint.layerControl.addLayer(layer);\n blueprint.layersInControl.push(layer);\n }\n }\n }\n if (layer.visible !== false) {\n blueprint.leafletRef.addLayer(layer.leafletObject);\n }\n },\n removeLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd = blueprint.layersToAdd.filter(\n (l) => l.name !== layer.name\n );\n } else {\n blueprint.layerControl.removeLayer(layer.leafletObject);\n blueprint.layersInControl = blueprint.layersInControl.filter(\n (l) =>\n l.leafletObject._leaflet_id !==\n layer.leafletObject._leaflet_id\n );\n }\n }\n blueprint.leafletRef.removeLayer(layer.leafletObject);\n },\n\n registerLayerControl(lControlLayer) {\n blueprint.layerControl = lControlLayer;\n blueprint.layersToAdd.forEach((layer) => {\n blueprint.layerControl.addLayer(layer);\n });\n blueprint.layersToAdd = [];\n\n registerControl(lControlLayer);\n },\n\n registerControl(lControl) {\n blueprint.leafletRef.addControl(lControl.leafletObject);\n },\n\n setZoom(newVal) {\n const zoom = blueprint.leafletRef.getZoom();\n if (newVal !== zoom) {\n blueprint.leafletRef.setZoom(newVal, {\n animate: props.noBlockingAnimations ? false : null,\n });\n }\n },\n\n setPaddingBottomRight(newVal) {\n blueprint.paddingBottomRight = newVal;\n },\n setPaddingTopLeft(newVal) {\n blueprint.paddingTopLeft = newVal;\n },\n setPadding(newVal) {\n blueprint.padding = newVal;\n },\n setCrs(newVal) {\n const prevBounds = blueprint.leafletRef.getBounds();\n blueprint.leafletRef.options.crs = newVal;\n blueprint.leafletRef.fitBounds(prevBounds, {\n animate: false,\n padding: [0, 0],\n });\n },\n fitBounds(bounds) {\n blueprint.leafletRef.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setBounds(newVal) {\n if (!newVal) {\n return;\n }\n const newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n const oldBounds =\n blueprint.lastSetBounds || blueprint.leafletRef.getBounds();\n const boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n blueprint.lastSetBounds = newBounds;\n blueprint.leafletRef.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n\n setCenter(newVal) {\n if (newVal == null) {\n return;\n }\n const newCenter = latLng(newVal);\n const oldCenter =\n blueprint.lastSetCenter || blueprint.leafletRef.getCenter();\n if (\n oldCenter.lat !== newCenter.lat ||\n oldCenter.lng !== newCenter.lng\n ) {\n blueprint.lastSetCenter = newCenter;\n blueprint.leafletRef.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n };\n\n updateLeafletWrapper(addLayer, methods.addLayer);\n updateLeafletWrapper(removeLayer, methods.removeLayer);\n updateLeafletWrapper(registerControl, methods.registerControl);\n updateLeafletWrapper(registerLayerControl, methods.registerLayerControl);\n\n blueprint.leafletRef = map(root.value, options);\n\n propsBinder(methods, blueprint.leafletRef, props);\n const listeners = remapEvents(context.attrs);\n\n blueprint.leafletRef.on(\n \"moveend\",\n debounce(eventHandlers.moveEndHandler, 100)\n );\n blueprint.leafletRef.on(\"overlayadd\", eventHandlers.overlayAddHandler);\n blueprint.leafletRef.on(\n \"overlayremove\",\n eventHandlers.overlayRemoveHandler\n );\n DomEvent.on(blueprint.leafletRef, listeners);\n blueprint.ready = true;\n nextTick(() => context.emit(\"ready\", blueprint.leafletRef));\n });\n\n onBeforeUnmount(() => {\n if (blueprint.leafletRef) {\n blueprint.leafletRef.remove();\n }\n });\n\n const leafletObject = computed(() => blueprint.leafletRef);\n const ready = computed(() => blueprint.ready);\n return { root, ready, leafletObject };\n },\n render() {\n return h(\n \"div\",\n { style: { width: \"100%\", height: \"100%\" }, ref: \"root\" },\n this.ready ? this.$slots.default() : {}\n );\n },\n};\n\nscript$d.__file = \"src/components/LMap.vue\";\n\nconst props$h = {\n ...props$1,\n pane: {\n type: String,\n default: \"markerPane\",\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n default: () => undefined,\n custom: false,\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n};\n\nconst setup$g = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerMethods,\n setDraggable(value) {\n if (leafletRef.value.dragging) {\n value\n ? leafletRef.value.dragging.enable()\n : leafletRef.value.dragging.disable();\n }\n },\n latLngSync(event) {\n context.emit(\"update:latLng\", event.latlng);\n context.emit(\"update:lat-lng\", event.latlng);\n },\n setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (leafletRef.value) {\n const oldLatLng = leafletRef.value.getLatLng();\n if (!oldLatLng || !oldLatLng.equals(newVal)) {\n leafletRef.value.setLatLng(newVal);\n }\n }\n },\n };\n return { options, methods };\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script$e = {\n name: \"LMarker\",\n props: props$h,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n provide(\"canSetParentHtml\", () => !!leafletRef.value.getElement());\n provide(\n \"setParentHtml\",\n (html) => (leafletRef.value.getElement().innerHTML = html)\n );\n provide(\n \"setIcon\",\n (newIcon) => leafletRef.value.setIcon && leafletRef.value.setIcon(newIcon)\n );\n const { options, methods } = setup$g(props, leafletRef, context);\n if (options.icon === undefined) {\n // If the options objection has a property named 'icon', then Leaflet will overwrite\n // the default icon with it for the marker, _even if it is undefined_.\n // This leads to the issue discussed in https://github.com/vue-leaflet/vue-leaflet/issues/130\n delete options.icon;\n }\n\n onMounted(async () => {\n const { marker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = marker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"move\", debounce(methods.latLngSync, 100));\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$e.__file = \"src/components/LMarker.vue\";\n\nconst props$i = {\n ...props$3,\n latLngs: {\n type: Array,\n default: () => [],\n },\n smoothFactor: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n noClip: {\n type: Boolean,\n custom: true,\n default: false,\n },\n};\n\nconst setup$h = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n\n const methods = {\n ...pathMethods,\n setSmoothFactor(smoothFactor) {\n leafletRef.value.setStyle({ smoothFactor });\n },\n setNoClip(noClip) {\n leafletRef.value.setStyle({ noClip });\n },\n addLatLng(latLng) {\n leafletRef.value.addLatLng(latLng);\n },\n };\n return { options, methods };\n};\n\nconst props$j = {\n ...props$i,\n};\n\nconst setup$i = (props, leafletRef, context) => {\n const { options: polylineOptions, methods: polylineMethods } = setup$h(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polylineOptions,\n ...props,\n };\n\n const methods = {\n ...polylineMethods,\n toGeoJSON(precision) {\n return leafletRef.value.toGeoJSON(precision);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Polygon component, lets you add and customize polygon regions on the map\n */\nvar script$f = {\n name: \"LPolygon\",\n props: props$j,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$i(props, leafletRef, context);\n\n onMounted(async () => {\n const { polygon, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polygon(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$f.__file = \"src/components/LPolygon.vue\";\n\n/**\n * Polyline component, lets you add and personalize polylines on the map\n */\nvar script$g = {\n name: \"LPolyline\",\n props: props$i,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$h(props, leafletRef, context);\n\n onMounted(async () => {\n const { polyline, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polyline(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$g.__file = \"src/components/LPolyline.vue\";\n\nconst props$k = {\n ...props,\n content: {\n type: String,\n default: null,\n },\n};\n\nconst setup$j = (props, leafletRef) => {\n const { options, methods: componentMethods } = setup(props);\n const methods = {\n ...componentMethods,\n setContent(newVal) {\n if (leafletRef.value && newVal !== null && newVal !== undefined) {\n leafletRef.value.setContent(newVal);\n }\n },\n };\n return { options, methods };\n};\n\nconst render$2 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nconst props$l = {\n ...props$k,\n latLng: {\n type: [Object, Array],\n default: () => [],\n },\n};\n\nconst setup$k = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindPopup = inject(\"unbindPopup\");\n\n onBeforeUnmount(() => {\n unbindPopup();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a popup on the map\n */\nvar script$h = {\n name: \"LPopup\",\n props: props$l,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindPopup = inject(\"bindPopup\");\n\n const { options, methods } = setup$k(props, leafletRef);\n\n onMounted(async () => {\n const { popup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = popup(options);\n\n if (props.latLng !== undefined) {\n leafletRef.value.setLatLng(props.latLng);\n }\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindPopup({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$h.__file = \"src/components/LPopup.vue\";\n\nconst props$m = {\n ...props$j,\n bounds: {\n type: Array,\n default: undefined,\n },\n};\n\nconst setup$l = (props, leafletRef, context) => {\n const { options: polygonOptions, methods: polygonMethods } = setup$i(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polygonOptions,\n ...props,\n };\n\n const methods = {\n ...polygonMethods,\n setBounds(latLngBounds) {\n leafletRef.value.setBounds(latLngBounds);\n },\n setLatLngs(latLngs) {\n // Calling setLatLngs on a Leaflet rectangle will convert it\n // to a polygon. So instead, we call setBounds here to ensure\n // that the rectangle remains a rectangle, defined by the\n // bounds of the points in the latLngs array.\n leafletRef.value.setBounds(latLngs);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Rectangle component, lets you add and customize rectangular regions on the map\n */\nvar script$i = {\n name: \"LRectangle\",\n props: props$m,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$l(props, leafletRef, context);\n\n onMounted(async () => {\n const { rectangle, latLngBounds, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const bounds =\n props.bounds && props.bounds.length\n ? latLngBounds(props.bounds)\n : latLngBounds(props.latLngs);\n leafletRef.value = rectangle(bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$i.__file = \"src/components/LRectangle.vue\";\n\nconst props$n = {\n ...props$e,\n tms: {\n type: Boolean,\n default: false,\n },\n subdomains: {\n type: String,\n default: \"abc\",\n },\n detectRetina: {\n type: Boolean,\n default: false,\n },\n url: {\n type: String,\n default: null,\n },\n};\n\nconst setup$m = (props, leafletRef) => {\n const {\n options: gridLayerOptions,\n methods: gridLayerMethods,\n } = setup$e(props, leafletRef);\n const options = {\n ...gridLayerOptions,\n tms: props.tms,\n subdomains: props.subdomains,\n detectRetina: props.detectRetina,\n };\n return {\n options,\n methods: {\n ...gridLayerMethods,\n },\n };\n};\n\nvar script$j = {\n props: props$n,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$m(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = tileLayer(props.url, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { leafletObject: leafletRef };\n },\n render() {\n return null;\n },\n};\n\nscript$j.__file = \"src/components/LTileLayer.vue\";\n\nconst props$o = {\n ...props$k,\n};\n\nconst setup$n = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindTooltip = inject(\"unbindTooltip\");\n\n onBeforeUnmount(() => {\n unbindTooltip();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a tooltip on the map\n */\nvar script$k = {\n name: \"LTooltip\",\n props: props$o,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindTooltip = inject(\"bindTooltip\");\n\n const { options, methods } = setup$n(props, leafletRef);\n\n onMounted(async () => {\n const { tooltip, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tooltip(options);\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindTooltip({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$k.__file = \"src/components/LTooltip.vue\";\n\nconst props$p = {\n ...props$n,\n baseUrl: {\n type: String,\n default: null,\n required: true,\n },\n layers: {\n type: String,\n default: \"\",\n },\n styles: {\n type: String,\n default: \"\",\n },\n format: {\n type: String,\n default: \"image/jpeg\",\n },\n transparent: {\n type: Boolean,\n custom: false,\n },\n version: {\n type: String,\n default: \"1.1.1\",\n },\n crs: {\n default: null,\n },\n upperCase: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$o = (props, leafletRef) => {\n const {\n options: tileLayerOptions,\n methods: tileLayerMethods,\n } = setup$m(props, leafletRef);\n const options = {\n ...tileLayerOptions,\n layers: props.layers,\n styles: props.styles,\n format: props.format,\n transparent: props.transparent,\n version: props.version,\n crs: props.crs,\n upperCase: props.upperCase,\n };\n return {\n options,\n methods: {\n ...tileLayerMethods,\n },\n };\n};\n\nvar script$l = {\n props: props$p,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$o(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tileLayer.wms(props.baseUrl, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$l.__file = \"src/components/LWmsTileLayer.vue\";\n\nexport { script as LCircle, script$1 as LCircleMarker, script$2 as LControl, script$3 as LControlAttribution, script$4 as LControlLayers, script$5 as LControlScale, script$6 as LControlZoom, script$7 as LFeatureGroup, script$8 as LGeoJson, script$9 as LGridLayer, script$a as LIcon, script$b as LImageOverlay, script$c as LLayerGroup, script$d as LMap, script$e as LMarker, script$f as LPolygon, script$g as LPolyline, script$h as LPopup, script$i as LRectangle, script$j as LTileLayer, script$k as LTooltip, script$l as LWmsTileLayer };\n//# sourceMappingURL=vue-leaflet.esm.js.map\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-225fffcc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-form\" }\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"form-item-radio\"\n}\nconst _hoisted_5 = [\"checked\", \"disabled\"]\nconst _hoisted_6 = { for: \"withGpx\" }\nconst _hoisted_7 = [\"checked\", \"disabled\"]\nconst _hoisted_8 = { for: \"withoutGpx\" }\nconst _hoisted_9 = { class: \"form-item\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = {\n key: 1,\n class: \"form-item\"\n}\nconst _hoisted_13 = { for: \"gpxFile\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { class: \"files-help info-box\" }\nconst _hoisted_16 = {\n key: 2,\n class: \"form-item\"\n}\nconst _hoisted_17 = { for: \"title\" }\nconst _hoisted_18 = [\"required\", \"disabled\"]\nconst _hoisted_19 = { key: 3 }\nconst _hoisted_20 = { class: \"workout-date-duration\" }\nconst _hoisted_21 = { class: \"form-item\" }\nconst _hoisted_22 = { class: \"workout-date-time\" }\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = [\"disabled\"]\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = { class: \"form-item\" }\nconst _hoisted_32 = [\"disabled\"]\nconst _hoisted_33 = { class: \"form-item\" }\nconst _hoisted_34 = { key: 1 }\nconst _hoisted_35 = {\n key: 2,\n class: \"form-buttons\"\n}\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = [\"onClick\"]\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n withDefaults,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, IWorkoutForm } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n import { getReadableFileSize } from '@/utils/files'\n import { translateSports } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n isCreation?: boolean\n loading?: boolean\n workout?: IWorkout\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null,\n isCreation: { default: false },\n loading: { default: false },\n workout: { default: () => ({} as IWorkout) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, sports: ISport[], isCreation: boolean, loading: boolean, workout: IWorkout }\n\n \n\n const { t } = useI18n()\n const store = useStore()\n const router = useRouter()\n\n const { authUser, workout, isCreation, loading } = toRefs(props)\n const translatedSports: ComputedRef = computed(() =>\n translateSports(\n props.sports,\n t,\n true,\n workout.value.id ? [workout.value.sport_id] : null\n )\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n const gpx_limit_import = appConfig.value.gpx_limit_import\n const zipSizeLimit = appConfig.value.max_zip_file_size\n ? getReadableFileSize(appConfig.value.max_zip_file_size)\n : ''\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const workoutForm = reactive({\n sport_id: '',\n title: '',\n notes: '',\n workoutDate: '',\n workoutTime: '',\n workoutDurationHour: '',\n workoutDurationMinutes: '',\n workoutDurationSeconds: '',\n workoutDistance: '',\n })\n let withGpx = ref(\n props.workout.id ? props.workout.with_gpx : props.isCreation\n )\n let gpxFile: File | null = null\n const formErrors = ref(false)\n\n onMounted(() => {\n if (props.workout.id) {\n formatWorkoutForm(props.workout)\n }\n })\n\n function updateNotes(value: string) {\n workoutForm.notes = value\n }\n function updateWithGpx() {\n withGpx.value = !withGpx.value\n formErrors.value = false\n }\n function updateFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n gpxFile = event.target.files[0]\n }\n }\n function formatWorkoutForm(workout: IWorkout) {\n workoutForm.sport_id = `${workout.sport_id}`\n workoutForm.title = workout.title\n workoutForm.notes = workout.notes\n if (!workout.with_gpx) {\n const workoutDateTime = formatWorkoutDate(\n getDateWithTZ(workout.workout_date, props.authUser.timezone),\n 'yyyy-MM-dd'\n )\n const duration = workout.duration.split(':')\n workoutForm.workoutDistance = `${\n authUser.value.imperial_units\n ? convertDistance(workout.distance, 'km', 'mi', 2)\n : parseFloat(workout.distance.toFixed(2))\n }`\n workoutForm.workoutDate = workoutDateTime.workout_date\n workoutForm.workoutTime = workoutDateTime.workout_time\n workoutForm.workoutDurationHour = duration[0]\n workoutForm.workoutDurationMinutes = duration[1]\n workoutForm.workoutDurationSeconds = duration[2]\n }\n }\n function formatPayload(payload: IWorkoutForm) {\n payload.title = workoutForm.title\n payload.distance = authUser.value.imperial_units\n ? convertDistance(+workoutForm.workoutDistance, 'mi', 'km', 3)\n : +workoutForm.workoutDistance\n payload.duration =\n +workoutForm.workoutDurationHour * 3600 +\n +workoutForm.workoutDurationMinutes * 60 +\n +workoutForm.workoutDurationSeconds\n payload.workout_date = `${workoutForm.workoutDate} ${workoutForm.workoutTime}`\n }\n function updateWorkout() {\n const payload: IWorkoutForm = {\n sport_id: +workoutForm.sport_id,\n notes: workoutForm.notes,\n }\n if (props.workout.id) {\n if (props.workout.with_gpx) {\n payload.title = workoutForm.title\n } else {\n formatPayload(payload)\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT, {\n workoutId: props.workout.id,\n data: payload,\n })\n } else {\n if (withGpx.value) {\n if (!gpxFile) {\n const errorMessage = 'workouts.NO_FILE_PROVIDED'\n store.commit(ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES, errorMessage)\n return\n }\n payload.file = gpxFile\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT, payload)\n } else {\n formatPayload(payload)\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX, payload)\n }\n }\n }\n function onCancel() {\n if (props.workout.id) {\n router.push({\n name: 'Workout',\n params: { workoutId: props.workout.id },\n })\n } else {\n router.go(-1)\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => props.workout,\n async (\n newWorkout: IWorkout | undefined,\n previousWorkout: IWorkout | undefined\n ) => {\n if (newWorkout !== previousWorkout && newWorkout && newWorkout.id) {\n formatWorkoutForm(newWorkout)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"workout-edition\",\n class: _normalizeClass([\"center-card center-card with-margin\", { 'center-form': _unref(workout) && _unref(workout).with_gpx }])\n }, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`workouts.${_unref(isCreation) ? 'ADD' : 'EDIT'}_WORKOUT`)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateWorkout, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isCreation))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withGpx\",\n type: \"radio\",\n checked: _unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_5),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.WITH_GPX')), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withoutGpx\",\n type: \"radio\",\n checked: !_unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_7),\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.WITHOUT_GPX')), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \": \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"sport\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(workoutForm).sport_id) = $event))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_11))\n }), 128))\n ], 40, _hoisted_10), [\n [_vModelSelect, _unref(workoutForm).sport_id]\n ])\n ]),\n (_unref(isCreation) && _unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \" \" + _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE_DESCRIPTION')) + \": \", 1),\n _createElementVNode(\"input\", {\n id: \"gpxFile\",\n name: \"gpxFile\",\n type: \"file\",\n accept: \".gpx, .zip\",\n disabled: _unref(loading),\n required: \"\",\n onInvalid: invalidateForm,\n onInput: updateFile\n }, null, 40, _hoisted_14),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.NO_FOLDER')), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_FILES')) + \": \" + _toDisplayString(_unref(gpx_limit_import)), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(zipSizeLimit)), 1)\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString(_ctx.$t('workouts.TITLE')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"title\",\n name: \"title\",\n type: \"text\",\n required: !_unref(isCreation),\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(workoutForm).title) = $event))\n }, null, 40, _hoisted_18), [\n [_vModelText, _unref(workoutForm).title]\n ])\n ])),\n (!_unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT_DATE')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_22, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-date\",\n name: \"workout-date\",\n type: \"date\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(workoutForm).workoutDate) = $event))\n }, null, 40, _hoisted_23), [\n [_vModelText, _unref(workoutForm).workoutDate]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-time\",\n name: \"workout-time\",\n class: \"workout-time\",\n type: \"time\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(workoutForm).workoutTime) = $event))\n }, null, 40, _hoisted_24), [\n [_vModelText, _unref(workoutForm).workoutTime]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \":\", 1),\n _createElementVNode(\"div\", null, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-hour\",\n name: \"workout-duration-hour\",\n class: \"workout-duration\",\n type: \"text\",\n placeholder: \"HH\",\n pattern: \"^([0-1]?[0-9]|2[0-3])$\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(workoutForm).workoutDurationHour) = $event))\n }, null, 40, _hoisted_26), [\n [_vModelText, _unref(workoutForm).workoutDurationHour]\n ]),\n _hoisted_27,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-minutes\",\n name: \"workout-duration-minutes\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"MM\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(workoutForm).workoutDurationMinutes) = $event))\n }, null, 40, _hoisted_28), [\n [_vModelText, _unref(workoutForm).workoutDurationMinutes]\n ]),\n _hoisted_29,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-seconds\",\n name: \"workout-duration-seconds\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"SS\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(workoutForm).workoutDurationSeconds) = $event))\n }, null, 40, _hoisted_30), [\n [_vModelText, _unref(workoutForm).workoutDurationSeconds]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(authUser).imperial_units ? 'mi' : 'km') + \"): \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n name: \"workout-distance\",\n type: \"number\",\n min: \"0\",\n step: \"0.001\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(workoutForm).workoutDistance) = $event))\n }, null, 40, _hoisted_32), [\n [_vModelText, _unref(workoutForm).workoutDistance]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.NOTES')) + \": \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"notes\",\n input: _unref(workoutForm).notes,\n disabled: _unref(loading),\n onUpdateValue: updateNotes\n }, null, 8, [\"input\", \"disabled\"])\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(loading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_Loader)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: _unref(loading)\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_36),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_37)\n ]))\n ], 42, _hoisted_2)\n ])\n ]),\n _: 1\n })\n ], 2))\n}\n}\n\n})","import script from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutEdition.vue?vue&type=style&index=0&id=225fffcc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-225fffcc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"add-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { ComputedRef, computed } from 'vue'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n isCreation: true,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"edit-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { computed, watch, onBeforeMount, ComputedRef } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\n onBeforeMount(() => {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: route.params.workoutId,\n })\n })\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (!newWorkoutId) {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n workout: _unref(workoutData).workout,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"workout\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = arraySlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n var dummy = this;\n // check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutNotes.vue?vue&type=style&index=0&id=64197f7a&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutChart.vue?vue&type=style&index=0&id=4819bfdb&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Workout.vue?vue&type=style&index=0&id=05ad7fd0&lang=scss&scoped=true\"","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).toGeoJSON={})}(this,(function(e){\"use strict\";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||\"\"}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const s=n(e,\"line\");if(s){const e=t(n(s,\"color\")),r=parseFloat(t(n(s,\"opacity\"))),i=parseFloat(t(n(s,\"width\")));e&&(o.stroke=e),isNaN(r)||(o[\"stroke-opacity\"]=r),isNaN(i)||(o[\"stroke-width\"]=96*i/25.4)}}return o}function s(e,o){const s={};let r,i;for(i=0;i1,g=Object.assign(r(e),o(n(e,\"extensions\")),{_gpxType:\"trk\"},i.length?{coordinateProperties:{times:c?i:i[0]}}:{});for(let e=0;enew Array(e.line.length).fill(null)))),t[n][e]=o):t[n]=o}}return{type:\"Feature\",properties:g,geometry:c?{type:\"MultiLineString\",coordinates:s}:{type:\"LineString\",coordinates:s[0]}}}function*g(e){const t=e.getElementsByTagName(\"trk\"),n=e.getElementsByTagName(\"rte\"),o=e.getElementsByTagName(\"wpt\");for(let e=0;eArray(e.length).fill(null)))),c[n][e]=t[n])}if(0!==s.length)return(r.length||i.length)&&(c.coordinateProperties=Object.assign(r.length?{times:1===s.length?r[0]:r}:{},i.length?{heart:1===s.length?i[0]:i}:{})),{type:\"Feature\",properties:c,geometry:{type:1===s.length?\"LineString\":\"MultiLineString\",coordinates:1===s.length?s[0]:s}}}function*y(e){const t=e.getElementsByTagName(\"Lap\");for(let e=0;e0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",de,[Object(o["createVNode"])(J["a"],{class:"top-pagination",pagination:Object(o["unref"])(p),path:"/workouts",query:Object(o["unref"])(m)},null,8,["pagination","query"]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[be,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DATE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DISTANCE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DURATION"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.AVE_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.MAX_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.ASCENT"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DESCENT"))),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(l){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:l.id},[Object(o["createElementVNode"])("td",Oe,[Object(o["createElementVNode"])("span",pe,Object(o["toDisplayString"])(e.$t("workouts.SPORT",1)),1),Object(o["unref"])(d).length>0?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:Object(o["unref"])(d).find((function(e){return e.id===l.sport_id})).translatedLabel,"sport-label":Object(o["unref"])(a["b"])(l,Object(o["unref"])(d)),color:Object(o["unref"])(a["a"])(l,Object(o["unref"])(d))},null,8,["title","sport-label","color"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",{class:"workout-title",onMouseover:function(e){return v(l.id)},onMouseleave:t[0]||(t[0]=function(e){return v(null)})},[Object(o["createElementVNode"])("span",je,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createVNode"])(r,{class:"nav-item",to:{name:"Workout",params:{workoutId:l.id}}},{default:Object(o["withCtx"])((function(){return[l.with_gpx?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",fe)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.title),1)]})),_:2},1032,["to"]),l.with_gpx&&j.value===l.id?(Object(o["openBlock"])(),Object(o["createBlock"])(Q["a"],{key:0,workout:l,"display-hover":!0},null,8,["workout"])):Object(o["createCommentVNode"])("",!0)],40,me),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",ge,Object(o["toDisplayString"])(e.$t("workouts.DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(X["a"])(Object(o["unref"])(re["c"])(l.workout_date,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",ke,[Object(o["createElementVNode"])("span",ye,Object(o["toDisplayString"])(e.$t("workouts.DISTANCE")),1),Object(o["createVNode"])(c,{distance:l.distance,unitFrom:"km",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",ve,[Object(o["createElementVNode"])("span",he,Object(o["toDisplayString"])(e.$t("workouts.DURATION")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.moving),1)]),Object(o["createElementVNode"])("td",Ee,[Object(o["createElementVNode"])("span",Ne,Object(o["toDisplayString"])(e.$t("workouts.AVE_SPEED")),1),Object(o["createVNode"])(c,{distance:l.ave_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",we,[Object(o["createElementVNode"])("span",Se,Object(o["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),Object(o["createVNode"])(c,{distance:l.max_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",Ve,[Object(o["createElementVNode"])("span",Te,Object(o["toDisplayString"])(e.$t("workouts.ASCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.ascent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",De,[Object(o["createElementVNode"])("span",_e,Object(o["toDisplayString"])(e.$t("workouts.DESCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.descent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)])])})),128))])]),Object(o["createVNode"])(J["a"],{pagination:Object(o["unref"])(p),path:"/workouts",query:Object(o["unref"])(m)},null,8,["pagination","query"])])):Object(o["createCommentVNode"])("",!0)],2),0===Object(o["unref"])(O).length?(Object(o["openBlock"])(),Object(o["createBlock"])(ee["a"],{key:0})):Object(o["createCommentVNode"])("",!0),Ie])}}});n("e358");const Ce=z()(xe,[["__scopeId","data-v-1ba1a972"]]);var Ae=Ce,Be={key:0,id:"workouts",class:"view"},Re={class:"container workouts-container"},Ue={class:"display-filters"},Le={class:"list-container"},$e=Object(o["defineComponent"])({setup:function(e){var t=Object(r["b"])(),n=t.t,c=Object(ne["a"])(),l=Object(o["computed"])((function(){return c.getters[te["a"].GETTERS.AUTH_USER_PROFILE]})),i=Object(o["computed"])((function(){return c.getters[te["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return Object(a["e"])(i.value,n)})),s=Object(o["ref"])(!0);function d(){s.value=!s.value}return function(e,t){return Object(o["unref"])(l).username?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Be,[Object(o["createElementVNode"])("div",Re,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["filters-container",{hidden:s.value}])},[Object(o["createVNode"])(q,{sports:Object(o["unref"])(u),authUser:Object(o["unref"])(l),onFilter:d},null,8,["sports","authUser"])],2),Object(o["createElementVNode"])("div",Ue,[Object(o["createElementVNode"])("div",{onClick:d},[Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa-caret-".concat(s.value?"down":"up")),"aria-hidden":"true"},null,2),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.".concat(s.value?"DISPLAY":"HIDE","_FILTERS"))),1)])]),Object(o["createElementVNode"])("div",Le,[Object(o["createVNode"])(Ae,{user:Object(o["unref"])(l),sports:Object(o["unref"])(u)},null,8,["user","sports"])])])])):Object(o["createCommentVNode"])("",!0)}}});n("0d8e");const Me=z()($e,[["__scopeId","data-v-ed6df5ba"]]);t["default"]=Me},"0d8e":function(e,t,n){"use strict";n("8f45")},1998:function(e,t,n){},"1bf3":function(e,t,n){},"1f58":function(e,t,n){},"304a":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("f7f9"),l=(n("7db0"),n("d3b7"),n("99af"),function(e){return Object(r["pushScopeId"])("data-v-21fe0e9a"),e=e(),Object(r["popScopeId"])(),e}),i={id:"workout-card-title"},u=["title"],s=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),d=[s],b={class:"workout-card-title"},O={class:"workout-title-date"},p={key:0,class:"workout-title"},m={key:1,class:"workout-title"},j={class:"workout-segment"},f=Object(r["createTextVNode"])(" — "),g=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-map-marker","aria-hidden":"true"},null,-1)})),k={class:"workout-date"},y={class:"workout-link"},v=["title"],h=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),E=[h],N=Object(r["defineComponent"])({props:{sport:null,workoutObject:null},emits:["displayModal"],setup:function(e,t){var n=t.emit,o=e,c=Object(r["toRefs"])(o),a=c.sport,l=c.workoutObject;return function(e,t){var o=Object(r["resolveComponent"])("SportImage"),c=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-previous workout-arrow",{inactive:!Object(r["unref"])(l).previousUrl}]),title:Object(r["unref"])(l).previousUrl?e.$t("workouts.PREVIOUS_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_PREVIOUS_".concat(Object(r["unref"])(l).type)),onClick:t[0]||(t[0]=function(t){return Object(r["unref"])(l).previousUrl?e.$router.push(Object(r["unref"])(l).previousUrl):null})},d,10,u),Object(r["createElementVNode"])("div",b,[Object(r["createVNode"])(o,{"sport-label":Object(r["unref"])(a).label,color:Object(r["unref"])(a).color},null,8,["sport-label","color"]),Object(r["createElementVNode"])("div",O,["WORKOUT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",p,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("i",{class:"fa fa-edit","aria-hidden":"true",onClick:t[1]||(t[1]=function(t){return e.$router.push({name:"EditWorkout",params:{workoutId:Object(r["unref"])(l).workoutId}})})}),Object(r["createElementVNode"])("i",{class:"fa fa-trash","aria-hidden":"true",onClick:t[2]||(t[2]=function(e){return n("displayModal",!0)})})])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",m,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("span",j,[f,g,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.SEGMENT"))+" "+Object(r["toDisplayString"])(Object(r["unref"])(l).segmentId+1),1)])])),Object(r["createElementVNode"])("div",k,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).workoutDate)+" - "+Object(r["toDisplayString"])(Object(r["unref"])(l).workoutTime)+" ",1),Object(r["createElementVNode"])("span",y,["SEGMENT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createBlock"])(c,{key:0,to:{name:"Workout",params:{workoutId:Object(r["unref"])(l).workoutId}}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(" > "+Object(r["toDisplayString"])(e.$t("workouts.BACK_TO_WORKOUT")),1)]})),_:1},8,["to"])):Object(r["createCommentVNode"])("",!0)])])])]),Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-next workout-arrow",{inactive:!Object(r["unref"])(l).nextUrl}]),title:Object(r["unref"])(l).nextUrl?e.$t("workouts.NEXT_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_NEXT_".concat(Object(r["unref"])(l).type)),onClick:t[3]||(t[3]=function(t){return Object(r["unref"])(l).nextUrl?e.$router.push(Object(r["unref"])(l).nextUrl):null})},E,10,v)])}}}),w=(n("cdd7"),n("6b0d")),S=n.n(w);const V=S()(N,[["__scopeId","data-v-21fe0e9a"]]);var T=V,D=function(e){return Object(r["pushScopeId"])("data-v-2e8c6844"),e=e(),Object(r["popScopeId"])(),e},_={key:0,class:"workout-record"},I=D((function(){return Object(r["createElementVNode"])("sup",null,[Object(r["createElementVNode"])("i",{class:"fa fa-trophy","aria-hidden":"true"})],-1)})),x=[I],C=Object(r["defineComponent"])({props:{recordType:null,workoutObject:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.recordType,c=n.workoutObject;return function(e,t){return Object(r["unref"])(c).records&&Object(r["unref"])(c).records.find((function(e){return e.record_type===Object(r["unref"])(o)}))?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",_,x)):Object(r["createCommentVNode"])("",!0)}}});n("4168");const A=S()(C,[["__scopeId","data-v-2e8c6844"]]);var B=A,R=(n("b680"),n("a9e3"),function(e){return Object(r["pushScopeId"])("data-v-07781815"),e=e(),Object(r["popScopeId"])(),e}),U={key:0,id:"workout-weather"},L={class:"weather-table"},$=R((function(){return Object(r["createElementVNode"])("th",null,null,-1)})),M={class:"weather-th"},P=["src","alt","title"],F={class:"weather-th"},G=["src","alt","title"],W=["alt","title"],z=["alt","title"],H=["alt","title"],q=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.useImperialUnits,c=n.workoutObject;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["unref"])(c).weatherStart&&Object(r["unref"])(c).weatherEnd?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",U,[Object(r["createElementVNode"])("table",L,[Object(r["createElementVNode"])("thead",null,[Object(r["createElementVNode"])("tr",null,[$,Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",M,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.START"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherStart.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon))},null,8,P)])]),Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",F,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.END"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherEnd.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon))},null,8,G)])])])]),Object(r["createElementVNode"])("tbody",null,[Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/temperature.svg",alt:e.$t("workouts.WEATHER.TEMPERATURE"),title:e.$t("workouts.WEATHER.TEMPERATURE")},null,8,W)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherStart.temperature).toFixed(1))+"°C ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherEnd.temperature).toFixed(1))+"°C ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/pour-rain.svg",alt:e.$t("workouts.WEATHER.HUMIDITY"),title:e.$t("workouts.WEATHER.HUMIDITY")},null,8,z)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherStart.humidity).toFixed(1))+"% ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherEnd.humidity).toFixed(1))+"% ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/breeze.svg",alt:e.$t("workouts.WEATHER.WIND"),title:e.$t("workouts.WEATHER.WIND")},null,8,H)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherStart.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherEnd.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)])])])])])):Object(r["createCommentVNode"])("",!0)}}});n("f54d");const K=S()(q,[["__scopeId","data-v-07781815"]]);var Z=K,X=function(e){return Object(r["pushScopeId"])("data-v-a7c2d728"),e=e(),Object(r["popScopeId"])(),e},Y={id:"workout-info"},J={class:"workout-data"},Q=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1)})),ee={class:"label"},te=Object(r["createTextVNode"])(": "),ne={class:"value"},oe={key:0},re={class:"value"},ce={class:"value"},ae={class:"workout-data"},le=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-road","aria-hidden":"true"},null,-1)})),ie={class:"label"},ue=Object(r["createTextVNode"])(": "),se={class:"workout-data"},de=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-tachometer","aria-hidden":"true"},null,-1)})),be={class:"label"},Oe=Object(r["createTextVNode"])(": "),pe=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),me={class:"label"},je=Object(r["createTextVNode"])(": "),fe={key:0,class:"workout-data"},ge=["alt"],ke={class:"label"},ye=Object(r["createTextVNode"])(": "),ve=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),he={class:"label"},Ee=Object(r["createTextVNode"])(": "),Ne={key:1,class:"workout-data"},we=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1)})),Se={class:"label"},Ve=Object(r["createTextVNode"])(": "),Te=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),De={class:"label"},_e=Object(r["createTextVNode"])(": "),Ie=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.workoutObject,c=n.useImperialUnits,a=Object(r["computed"])((function(){return"0:00:00"!==t.workoutObject.pauses&&null!==t.workoutObject.pauses}));return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Y,[Object(r["createElementVNode"])("div",J,[Q,Object(r["createElementVNode"])("span",ee,Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1),te,Object(r["createElementVNode"])("span",ne,Object(r["toDisplayString"])(Object(r["unref"])(o).moving),1),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"LD"},null,8,["workoutObject"]),Object(r["unref"])(a)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",oe,[Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.PAUSES"))+": ",1),Object(r["createElementVNode"])("span",re,Object(r["toDisplayString"])(Object(r["unref"])(o).pauses),1),Object(r["createTextVNode"])(" - "+Object(r["toDisplayString"])(e.$t("workouts.TOTAL_DURATION"))+": ",1),Object(r["createElementVNode"])("span",ce,Object(r["toDisplayString"])(Object(r["unref"])(o).duration)+")",1)])):Object(r["createCommentVNode"])("",!0)]),Object(r["createElementVNode"])("div",ae,[le,Object(r["createElementVNode"])("span",ie,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1),ue,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).distance,digits:3,unitFrom:"km",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"FD"},null,8,["workoutObject"])]),Object(r["createElementVNode"])("div",se,[de,Object(r["createElementVNode"])("span",be,Object(r["toDisplayString"])(e.$t("workouts.AVERAGE_SPEED")),1),Oe,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).aveSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"AS"},null,8,["workoutObject"]),pe,Object(r["createElementVNode"])("span",me,Object(r["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),je,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"MS"},null,8,["workoutObject"])]),null!==Object(r["unref"])(o).maxAlt&&null!==Object(r["unref"])(o).minAlt?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",fe,[Object(r["createElementVNode"])("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,ge),Object(r["createElementVNode"])("span",ke,Object(r["toDisplayString"])(e.$t("workouts.MIN_ALTITUDE")),1),ye,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).minAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),ve,Object(r["createElementVNode"])("span",he,Object(r["toDisplayString"])(e.$t("workouts.MAX_ALTITUDE")),1),Ee,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),null!==Object(r["unref"])(o).ascent&&null!==Object(r["unref"])(o).descent?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Ne,[we,Object(r["createElementVNode"])("span",Se,Object(r["toDisplayString"])(e.$t("workouts.ASCENT")),1),Ve,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).ascent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Te,Object(r["createElementVNode"])("span",De,Object(r["toDisplayString"])(e.$t("workouts.DESCENT")),1),_e,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).descent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])(Z,{workoutObject:Object(r["unref"])(o),useImperialUnits:Object(r["unref"])(c)},null,8,["workoutObject","useImperialUnits"])])}}});n("54c5");const xe=S()(Ie,[["__scopeId","data-v-a7c2d728"]]);var Ce=xe,Ae=n("e94f"),Be=n("5afd"),Re=n("dad5"),Ue=n("2906"),Le=n("d257"),$e={id:"workout-map"},Me={key:0,class:"leaflet-container"},Pe={key:1},Fe={key:0,class:"leaflet-container"},Ge={key:1,class:"no-map"},We=Object(r["defineComponent"])({props:{workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(Ue["a"])(),o=Object(r["toRefs"])(t),c=o.workoutData,a=o.markerCoordinates,l=Object(r["ref"])(null),i=Object(r["computed"])((function(){return t.workoutData?[[t.workoutData.workout.bounds[0],t.workoutData.workout.bounds[1]],[t.workoutData.workout.bounds[2],t.workoutData.workout.bounds[3]]]:[]})),u=Object(r["computed"])((function(){return n.getters[Re["b"].GETTERS.APP_CONFIG]})),s=Object(r["computed"])((function(){return O(i)})),d=Object(r["computed"])((function(){return t.workoutData&&t.workoutData.gpx?b(t.workoutData.gpx):{}}));function b(e){if(!e||""!==e)try{var t=Object(Ae["gpx"])((new DOMParser).parseFromString(e,"text/xml"));return{jsonData:t}}catch(n){return console.error("Invalid gpx content"),{}}return{}}function O(e){return[(e.value[0][0]+e.value[1][0])/2,(e.value[0][1]+e.value[1][1])/2]}function p(e){var t,n;null!==(t=l.value)&&void 0!==t&&t.leafletObject&&(null===(n=l.value)||void 0===n||n.leafletObject.fitBounds(e))}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",$e,[Object(r["unref"])(c).loading?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Me)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Pe,[Object(r["unref"])(c).workout.with_gpx?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Fe,[Object(r["unref"])(d).jsonData&&Object(r["unref"])(s)&&2===Object(r["unref"])(i).length?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Be["b"]),{key:0,zoom:13,center:Object(r["unref"])(s),bounds:Object(r["unref"])(i),ref:function(e,t){t["workoutMap"]=e,l.value=e},onReady:t[0]||(t[0]=function(e){return p(Object(r["unref"])(i))})},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(Object(r["unref"])(Be["d"]),{url:"".concat(Object(r["unref"])(Le["a"])(),"workouts/map_tile/{s}/{z}/{x}/{y}.png"),attribution:Object(r["unref"])(u).map_attribution,bounds:Object(r["unref"])(i)},null,8,["url","attribution","bounds"]),Object(r["createVNode"])(Object(r["unref"])(Be["a"]),{geojson:Object(r["unref"])(d).jsonData},null,8,["geojson"]),Object(r["unref"])(a).latitude?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Be["c"]),{key:0,"lat-lng":[Object(r["unref"])(a).latitude,Object(r["unref"])(a).longitude]},null,8,["lat-lng"])):Object(r["createCommentVNode"])("",!0)]})),_:1},8,["center","bounds"])):Object(r["createCommentVNode"])("",!0)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Ge,Object(r["toDisplayString"])(e.$t("workouts.NO_MAP")),1))]))])}}});n("ac79");const ze=S()(We,[["__scopeId","data-v-b4b3006a"]]);var He=ze,qe=n("5e65"),Ke={class:"workout-detail"},Ze=Object(r["defineComponent"])({props:{authUser:null,displaySegment:null,sports:null,workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["c"])(),a=Object(Ue["a"])(),l=Object(r["toRefs"])(t),i=l.authUser,u=l.markerCoordinates,s=l.workoutData,d=Object(r["computed"])((function(){return t.workoutData.workout})),b=Object(r["ref"])(n.params.workoutId?+n.params.segmentId:null),O=Object(r["computed"])((function(){return d.value.segments.length>0&&b.value?d.value.segments[+b.value-1]:null})),p=Object(r["ref"])(!1),m=Object(r["computed"])((function(){return t.sports?t.sports.find((function(e){return e.id===t.workoutData.workout.sport_id})):{}})),j=Object(r["computed"])((function(){return g(d.value,O.value)}));function f(e,t,n){var o=t&&n&&1!==n?"/workouts/".concat(e.id,"/segment/").concat(n-1):!t&&e.previous_workout?"/workouts/".concat(e.previous_workout):null,r=t&&n&&n0&&k(O.value[e[0].dataIndex]),0===e.length?"":l.value?"".concat(a("workouts.DISTANCE"),": ").concat(e[0].label," ").concat(s):"".concat(a("workouts.DURATION"),": ").concat(g(e[0].label.replace(",","")))}}},legend:{display:!1},htmlLegend:{containerID:"chart-legend"}}}})),m=Object(Qe["useLineChart"])({chartData:b,options:p,plugins:[nt]}),j=m.lineChartProps;function f(){l.value=!l.value}function g(e){return new Date(1e3*+e).toISOString().substr(11,8)}function k(e){n("getCoordinates",e)}function y(){k({latitude:null,longitude:null})}function v(e){return o.authUser.imperial_units?ot["c"][e].defaultTarget:e}return function(e,t){var n=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",at,[Object(r["createVNode"])(n,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.ANALYSIS")),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",lt,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"distance",checked:Object(r["unref"])(l),onClick:f},null,8,it),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1)]),Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"duration",checked:!Object(r["unref"])(l),onClick:f},null,8,ut),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1)])]),st,Object(r["createVNode"])(Object(r["unref"])(Qe["LineChart"]),Object(r["mergeProps"])(Object(r["unref"])(j),{class:"line-chart",onMouseleave:y}),null,16),Object(r["createElementVNode"])("div",dt,[Object(r["createElementVNode"])("div",bt,Object(r["toDisplayString"])(e.$t("workouts.NO_DATA_CLEANING")),1),Object(r["createElementVNode"])("div",Ot,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"checkbox",checked:Object(r["unref"])(i),onClick:t[0]||(t[0]=function(e){return Object(r["isRef"])(i)?i.value=!Object(r["unref"])(i):i=!Object(r["unref"])(i)})},null,8,pt),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.START_ELEVATION_AT_ZERO")),1)])])])]})),_:1})])}}});n("7e1c");const jt=S()(mt,[["__scopeId","data-v-82a367b0"]]);var ft=jt,gt={id:"workout-note"},kt=Object(r["defineComponent"])({props:{notes:{default:function(){return null}}},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.notes;return function(e,t){var n=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",gt,[Object(r["createVNode"])(n,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.NOTES")),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(o)&&""!==Object(r["unref"])(o)?Object(r["unref"])(o):e.$t("workouts.NO_NOTES")),1)]})),_:1})])}}});n("d25b");const yt=S()(kt,[["__scopeId","data-v-6dd0f3c4"]]);var vt=yt,ht={id:"workout-segments"},Et=Object(r["defineComponent"])({props:{segments:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.segments,c=n.useImperialUnits;return function(e,t){var n=Object(r["resolveComponent"])("router-link"),a=Object(r["resolveComponent"])("Distance"),l=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",ht,[Object(r["createVNode"])(l,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",2)),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("ul",null,[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(o),(function(t,o){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:t.segment_id},[Object(r["createVNode"])(n,{to:{name:"WorkoutSegment",params:{workoutId:t.workout_id,segmentId:o+1}}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",1))+" "+Object(r["toDisplayString"])(o+1),1)]})),_:2},1032,["to"]),Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+": ",1),Object(r["createVNode"])(a,{distance:t.distance,unitFrom:"km",useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(", "+Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+": "+Object(r["toDisplayString"])(t.duration)+") ",1)])})),128))])]})),_:1})])}}});n("f451");const Nt=S()(Et,[["__scopeId","data-v-73381f36"]]);var wt=Nt,St=function(e){return Object(r["pushScopeId"])("data-v-a8e74d78"),e=e(),Object(r["popScopeId"])(),e},Vt={id:"workout",class:"view"},Tt={class:"container"},Dt={key:0,class:"workout-container"},_t={key:0},It=St((function(){return Object(r["createElementVNode"])("div",{id:"bottom"},null,-1)})),xt={key:1},Ct=Object(r["defineComponent"])({props:{displaySegment:null},setup:function(e){var t=e,n=Object(c["c"])(),l=Object(Ue["a"])(),i=Object(r["toRefs"])(t),u=i.displaySegment,s=Object(r["computed"])((function(){return l.getters[Re["f"].GETTERS.WORKOUT_DATA]})),d=Object(r["computed"])((function(){return l.getters[Re["a"].GETTERS.AUTH_USER_PROFILE]})),b=Object(r["computed"])((function(){return l.getters[Re["c"].GETTERS.SPORTS]})),O=Object(r["ref"])({latitude:null,longitude:null});function p(e){O.value={latitude:e.latitude,longitude:e.longitude}}return Object(r["onBeforeMount"])((function(){var e={workoutId:n.params.workoutId};t.displaySegment&&(e.segmentId=n.params.segmentId),l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,e)})),Object(r["onUnmounted"])((function(){l.commit(Re["f"].MUTATIONS.EMPTY_WORKOUT)})),Object(r["watch"])((function(){return n.params.workoutId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t&&l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Object(r["watch"])((function(){return n.params.segmentId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){var o;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:n.params.workoutId&&(o={workoutId:n.params.workoutId},t&&(o.segmentId=t),l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,o));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Vt,[Object(r["createElementVNode"])("div",Tt,[Object(r["unref"])(b).length>0?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Dt,[Object(r["unref"])(s).workout.id?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",_t,[Object(r["createVNode"])(Ye,{workoutData:Object(r["unref"])(s),sports:Object(r["unref"])(b),authUser:Object(r["unref"])(d),markerCoordinates:Object(r["unref"])(O),displaySegment:Object(r["unref"])(u)},null,8,["workoutData","sports","authUser","markerCoordinates","displaySegment"]),Object(r["unref"])(s).workout.with_gpx&&Object(r["unref"])(s).chartData.length>0?(Object(r["openBlock"])(),Object(r["createBlock"])(ft,{key:0,workoutData:Object(r["unref"])(s),authUser:Object(r["unref"])(d),displaySegment:Object(r["unref"])(u),onGetCoordinates:p},null,8,["workoutData","authUser","displaySegment"])):Object(r["createCommentVNode"])("",!0),!Object(r["unref"])(u)&&Object(r["unref"])(s).workout.segments.length>1?(Object(r["openBlock"])(),Object(r["createBlock"])(wt,{key:1,segments:Object(r["unref"])(s).workout.segments,useImperialUnits:Object(r["unref"])(d).imperial_units},null,8,["segments","useImperialUnits"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(u)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(vt,{key:2,notes:Object(r["unref"])(s).workout.notes},null,8,["notes"])),It])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",xt,[Object(r["unref"])(s).loading?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(a["a"],{key:0,target:"WORKOUT"}))]))])):Object(r["createCommentVNode"])("",!0)])])}}});n("80ad");const At=S()(Ct,[["__scopeId","data-v-a8e74d78"]]);t["default"]=At},4168:function(e,t,n){"use strict";n("696e")},"423d":function(e,t,n){},"54c5":function(e,t,n){"use strict";n("1f58")},5618:function(e,t,n){},"5afd":function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return T})),n.d(t,"b",(function(){return x})),n.d(t,"c",(function(){return B})),n.d(t,"d",(function(){return P}));var o=n("7a23");const r=(e,t)=>{let n;return function(...o){const r=this;n&&clearTimeout(n),n=setTimeout(()=>{e.apply(r,o),n=null},t)}},c=e=>e&&"function"===typeof e.charAt?e.charAt(0).toUpperCase()+e.slice(1):e,a=(e,t,n)=>{for(const r in n){const a="set"+c(r);e[a]?Object(o["watch"])(()=>n[r],(t,n)=>{e[a](t,n)}):t[a]&&Object(o["watch"])(()=>n[r],e=>{t[a](e)})}},l=e=>{const t={};for(const n in e)if(n.startsWith("on")&&!n.startsWith("onUpdate")&&"onReady"!==n){const o=n.slice(2).toLocaleLowerCase();t[o]=e[n]}return t},i=async e=>{const t=await Promise.all([n.e("chunk-2d0c9189").then(n.t.bind(null,"584d",7)),n.e("chunk-2d0cf391").then(n.t.bind(null,"6397",7)),n.e("chunk-2d22523a").then(n.t.bind(null,"e2b9",7))]);delete e.Default.prototype._getIconUrl,e.Default.mergeOptions({iconRetinaUrl:t[0].default,iconUrl:t[1].default,shadowUrl:t[2].default})},u=e=>{const t=Object(o["ref"])(()=>console.warn(`Method ${e} has been invoked without being replaced`)),n=(...e)=>t.value(...e);return n.wrapped=t,Object(o["provide"])(e,n),n},s=(e,t)=>e.wrapped.value=t,d="object"===typeof self&&self.self===self&&self||"object"===typeof e&&e.global===e&&e||void 0,b="useGlobalLeaflet",O={options:{type:Object,default:()=>({})}},p=e=>({options:e.options,methods:{}}),m={...O,pane:{type:String,default:"overlayPane"},attribution:{type:String,default:null},name:{type:String,custom:!0,default:void 0},layerType:{type:String,custom:!0,default:void 0},visible:{type:Boolean,custom:!0,default:!0}},j=(e,t,n)=>{const r=Object(o["inject"])("addLayer"),c=Object(o["inject"])("removeLayer"),{options:a,methods:l}=p(e),i={...a,attribution:e.attribution,pane:e.pane},u=()=>r({leafletObject:t.value}),s=()=>c({leafletObject:t.value}),d={...l,setAttribution(e,t){const n=this.$parent.leafletObject.attributionControl;n.removeAttribution(t).addAttribution(e)},setName(){s(),e.visible&&u()},setLayerType(){s(),e.visible&&u()},setVisible(e){t.value&&(e?u():s())},bindPopup({leafletObject:e}){t.value.bindPopup(e)},bindTooltip({leafletObject:e}){t.value.bindTooltip(e)},unbindTooltip(){const e=t.value?t.value.getTooltip():null;e&&e.unbindTooltip()},unbindPopup(){const e=t.value?t.value.getPopup():null;e&&e.unbindPopup()},updateVisibleProp(e){n.emit("update:visible",e)}};return Object(o["provide"])("bindPopup",d.bindPopup),Object(o["provide"])("bindTooltip",d.bindTooltip),Object(o["provide"])("unbindTooltip",d.unbindTooltip),Object(o["provide"])("unbindPopup",d.unbindPopup),Object(o["onUnmounted"])(()=>{d.unbindPopup(),d.unbindTooltip(),s()}),{options:i,methods:d}},f=(e,t)=>{if(e&&t.default)return Object(o["h"])("div",{style:{display:"none"}},t.default())},g={...O,interactive:{type:Boolean,default:!0},bubblingMouseEvents:{type:Boolean,default:!0}},k={...m,...g,stroke:{type:Boolean,custom:!0,default:!0},color:{type:String,custom:!0,default:"#3388ff"},weight:{type:Number,custom:!0,default:3},opacity:{type:Number,custom:!0,default:1},lineCap:{type:String,custom:!0,default:"round"},lineJoin:{type:String,custom:!0,default:"round"},dashArray:{type:String,custom:!0,default:null},dashOffset:{type:String,custom:!0,default:null},fill:{type:Boolean,custom:!0,default:!1},fillColor:{type:String,custom:!0,default:"#3388ff"},fillOpacity:{type:Number,custom:!0,default:.2},fillRule:{type:String,custom:!0,default:"evenodd"},className:{type:String,custom:!0,default:null}},y={...k,latLng:{type:[Object,Array],custom:!0,default:null},radius:{type:Number,default:null}};const v={...O,position:{type:String,default:"topright"}},h=(e,t)=>{const{options:n,methods:r}=p(e),c={...n,position:e.position},a={...r,setPosition(e){t.value&&t.value.setPosition(e)}};return Object(o["onUnmounted"])(()=>{t.value&&t.value.remove()}),{options:c,methods:a}},E=e=>e.default?Object(o["h"])("div",{ref:"root"},e.default()):null;Boolean,Boolean;Boolean,Boolean,Boolean,Boolean;Boolean,Boolean,Boolean;const N={...m},w=(e,t,n)=>{const{options:r,methods:c}=j(e,t,n),a={...r},l={...c,addLayer(e){t.value.addLayer(e.leafletObject)},removeLayer(e){t.value.removeLayer(e.leafletObject)}};return Object(o["provide"])("addLayer",l.addLayer),Object(o["provide"])("removeLayer",l.removeLayer),{options:a,methods:l}};const S={...N,geojson:{type:[Object,Array],default:()=>({})}},V=(e,t)=>{const{options:n,methods:o}=w(e,t),r={...n,...e},c={...o,setGeojson(e){t.value.clearLayers(),t.value.addData(e)},getGeoJSONData(){return t.value.toGeoJSON()},getBounds(){return t.value.getBounds()}};return{options:r,methods:c}};var T={props:S,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["ref"])(!1),i=Object(o["inject"])(b),u=Object(o["inject"])("addLayer"),{methods:s,options:O}=V(e,r);return Object(o["onMounted"])(async()=>{const{geoJSON:b,DomEvent:p}=i?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.geojson,O);const m=l(t.attrs);p.on(r.value,m),a(s,r.value,e),u({...e,...s,leafletObject:r.value}),c.value=!0,Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{ready:c,leafletObject:r}},render(){return f(this.ready,this.$slots)},__file:"src/components/LGeoJson.vue"};const D={...m,pane:{type:String,default:"tilePane"},opacity:{type:Number,custom:!1,default:1},zIndex:{type:Number,default:1},tileSize:{type:Number,default:256},noWrap:{type:Boolean,default:!1},minZoom:{type:Number,default:0},maxZoom:{type:Number,default:void 0}},_=(e,t,n)=>{const{options:o,methods:r}=j(e,t,n),c={...o,pane:e.pane,opacity:e.opacity,zIndex:e.zIndex,tileSize:e.tileSize,noWrap:e.noWrap,minZoom:e.minZoom,maxZoom:e.maxZoom};return{options:c,methods:{...r}}};const I={iconUrl:{type:String,custom:!0,default:null},iconRetinaUrl:{type:String,custom:!0,default:null},iconSize:{type:[Object,Array],custom:!0,default:null},iconAnchor:{type:[Object,Array],custom:!0,default:null},popupAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},tooltipAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},shadowUrl:{type:String,custom:!0,default:null},shadowRetinaUrl:{type:String,custom:!0,default:null},shadowSize:{type:[Object,Array],custom:!0,default:null},shadowAnchor:{type:[Object,Array],custom:!0,default:null},bgPos:{type:[Object,Array],custom:!0,default:()=>[0,0]},className:{type:String,custom:!0,default:""},options:{type:Object,custom:!0,default:()=>({})}};Boolean,Boolean;var x={emits:["ready","update:zoom","update:center","update:bounds"],props:{...O,center:{type:[Object,Array],default:()=>[0,0]},bounds:{type:[Array,Object],default:void 0},maxBounds:{type:[Array,Object],default:void 0},zoom:{type:Number,default:0},minZoom:{type:Number,default:void 0},maxZoom:{type:Number,default:void 0},paddingBottomRight:{type:Array,default:void 0},paddingTopLeft:{type:Array,default:void 0},padding:{type:Array,default:void 0},worldCopyJump:{type:Boolean,default:!1},crs:{type:[String,Object],default:"EPSG3857"},maxBoundsViscosity:{type:Number,default:void 0},inertia:{type:Boolean,default:void 0},inertiaDeceleration:{type:Number,default:void 0},inertiaMaxSpeed:{type:Number,default:void 0},easeLinearity:{type:Number,default:void 0},zoomAnimation:{type:Boolean,default:void 0},zoomAnimationThreshold:{type:Number,default:void 0},fadeAnimation:{type:Boolean,default:void 0},markerZoomAnimation:{type:Boolean,default:void 0},noBlockingAnimations:{type:Boolean,default:!1},useGlobalLeaflet:{type:Boolean,default:!1}},setup(e,t){const c=Object(o["ref"])(null),O=Object(o["reactive"])({ready:!1,leafletRef:{},layersToAdd:[],layersInControl:[]}),{options:m}=p(e),j={...m,minZoom:e.minZoom,maxZoom:e.maxZoom,maxBounds:e.maxBounds,maxBoundsViscosity:e.maxBoundsViscosity,worldCopyJump:e.worldCopyJump,crs:e.crs,center:e.center,zoom:e.zoom,inertia:e.inertia,inertiaDeceleration:e.inertiaDeceleration,inertiaMaxSpeed:e.inertiaMaxSpeed,easeLinearity:e.easeLinearity,zoomAnimation:e.zoomAnimation,zoomAnimationThreshold:e.zoomAnimationThreshold,fadeAnimation:e.fadeAnimation,markerZoomAnimation:e.markerZoomAnimation},f=u("addLayer"),g=u("removeLayer"),k=u("registerControl"),y=u("registerLayerControl");Object(o["provide"])(b,e.useGlobalLeaflet);const v={moveEndHandler(){t.emit("update:zoom",O.leafletRef.getZoom()),t.emit("update:center",O.leafletRef.getCenter()),t.emit("update:bounds",O.leafletRef.getBounds())},overlayAddHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!0)},overlayRemoveHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!1)}};Object(o["onMounted"])(async()=>{e.useGlobalLeaflet&&(d.L=d.L||await n.e("chunk-2d2248b6").then(n.t.bind(null,"e11e",7)));const{map:u,CRS:b,Icon:p,latLngBounds:m,latLng:h,DomEvent:E}=e.useGlobalLeaflet?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));try{j.beforeMapMount&&await j.beforeMapMount()}catch(V){console.error("The following error occurred running the provided beforeMapMount hook "+V.message)}await i(p);const N="string"==typeof j.crs?b[j.crs]:j.crs;j.crs=N||b.EPSG3857;const w={addLayer(e){if(void 0!==e.layerType)if(void 0===O.layerControl)O.layersToAdd.push(e);else{const t=O.layersInControl.find(t=>t.leafletObject._leaflet_id===e.leafletObject._leaflet_id);t||(O.layerControl.addLayer(e),O.layersInControl.push(e))}!1!==e.visible&&O.leafletRef.addLayer(e.leafletObject)},removeLayer(e){void 0!==e.layerType&&(void 0===O.layerControl?O.layersToAdd=O.layersToAdd.filter(t=>t.name!==e.name):(O.layerControl.removeLayer(e.leafletObject),O.layersInControl=O.layersInControl.filter(t=>t.leafletObject._leaflet_id!==e.leafletObject._leaflet_id))),O.leafletRef.removeLayer(e.leafletObject)},registerLayerControl(e){O.layerControl=e,O.layersToAdd.forEach(e=>{O.layerControl.addLayer(e)}),O.layersToAdd=[],k(e)},registerControl(e){O.leafletRef.addControl(e.leafletObject)},setZoom(t){const n=O.leafletRef.getZoom();t!==n&&O.leafletRef.setZoom(t,{animate:!e.noBlockingAnimations&&null})},setPaddingBottomRight(e){O.paddingBottomRight=e},setPaddingTopLeft(e){O.paddingTopLeft=e},setPadding(e){O.padding=e},setCrs(e){const t=O.leafletRef.getBounds();O.leafletRef.options.crs=e,O.leafletRef.fitBounds(t,{animate:!1,padding:[0,0]})},fitBounds(e){O.leafletRef.fitBounds(e,{animate:!this.noBlockingAnimations&&null})},setBounds(e){if(!e)return;const t=m(e);if(!t.isValid())return;const n=O.lastSetBounds||O.leafletRef.getBounds(),o=!n.equals(t,0);o&&(O.lastSetBounds=t,O.leafletRef.fitBounds(t,this.fitBoundsOptions))},setCenter(e){if(null==e)return;const t=h(e),n=O.lastSetCenter||O.leafletRef.getCenter();n.lat===t.lat&&n.lng===t.lng||(O.lastSetCenter=t,O.leafletRef.panTo(t,{animate:!this.noBlockingAnimations&&null}))}};s(f,w.addLayer),s(g,w.removeLayer),s(k,w.registerControl),s(y,w.registerLayerControl),O.leafletRef=u(c.value,j),a(w,O.leafletRef,e);const S=l(t.attrs);O.leafletRef.on("moveend",r(v.moveEndHandler,100)),O.leafletRef.on("overlayadd",v.overlayAddHandler),O.leafletRef.on("overlayremove",v.overlayRemoveHandler),E.on(O.leafletRef,S),O.ready=!0,Object(o["nextTick"])(()=>t.emit("ready",O.leafletRef))}),Object(o["onBeforeUnmount"])(()=>{O.leafletRef&&O.leafletRef.remove()});const h=Object(o["computed"])(()=>O.leafletRef),E=Object(o["computed"])(()=>O.ready);return{root:c,ready:E,leafletObject:h}},render(){return Object(o["h"])("div",{style:{width:"100%",height:"100%"},ref:"root"},this.ready?this.$slots.default():{})},__file:"src/components/LMap.vue"};const C={...m,pane:{type:String,default:"markerPane"},draggable:{type:Boolean,custom:!0,default:!1},latLng:{type:[Object,Array],custom:!0,default:null},icon:{type:[Object],default:()=>{},custom:!1},zIndexOffset:{type:Number,custom:!1,default:null}},A=(e,t,n)=>{const{options:o,methods:r}=j(e,t,n),c={...o,...e},a={...r,setDraggable(e){t.value.dragging&&(e?t.value.dragging.enable():t.value.dragging.disable())},latLngSync(e){n.emit("update:latLng",e.latlng),n.emit("update:lat-lng",e.latlng)},setLatLng(e){if(null!=e&&t.value){const n=t.value.getLatLng();n&&n.equals(e)||t.value.setLatLng(e)}}};return{options:c,methods:a}};var B={name:"LMarker",props:C,setup(e,t){const c=Object(o["ref"])({}),i=Object(o["ref"])(!1),u=Object(o["inject"])(b),s=Object(o["inject"])("addLayer");Object(o["provide"])("canSetParentHtml",()=>!!c.value.getElement()),Object(o["provide"])("setParentHtml",e=>c.value.getElement().innerHTML=e),Object(o["provide"])("setIcon",e=>c.value.setIcon&&c.value.setIcon(e));const{options:O,methods:p}=A(e,c,t);return void 0===O.icon&&delete O.icon,Object(o["onMounted"])(async()=>{const{marker:b,DomEvent:m}=u?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));c.value=b(e.latLng,O);const j=l(t.attrs);m.on(c.value,j),c.value.on("move",r(p.latLngSync,100)),a(p,c.value,e),s({...e,...p,leafletObject:c.value}),i.value=!0,Object(o["nextTick"])(()=>t.emit("ready",c.value))}),{ready:i,leafletObject:c}},render(){return f(this.ready,this.$slots)},__file:"src/components/LMarker.vue"};const R={...k,latLngs:{type:Array,default:()=>[]},smoothFactor:{type:Number,custom:!0,default:1},noClip:{type:Boolean,custom:!0,default:!1}},U={...R};const L={...O,content:{type:String,default:null}};const $={...D,tms:{type:Boolean,default:!1},subdomains:{type:String,default:"abc"},detectRetina:{type:Boolean,default:!1},url:{type:String,default:null}},M=(e,t)=>{const{options:n,methods:o}=_(e,t),r={...n,tms:e.tms,subdomains:e.subdomains,detectRetina:e.detectRetina};return{options:r,methods:{...o}}};var P={props:$,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["inject"])(b),i=Object(o["inject"])("addLayer"),{options:u,methods:s}=M(e,r);return Object(o["onMounted"])(async()=>{const{tileLayer:b,DomEvent:O}=c?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.url,u);const p=l(t.attrs);O.on(r.value,p),a(s,r.value,e),i({...e,...s,leafletObject:r.value}),Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{leafletObject:r}},render(){return null},__file:"src/components/LTileLayer.vue"};Boolean,Boolean}).call(this,n("c8ba"))},"5c76":function(e,t,n){"use strict";var o=n("1da1"),r=(n("96cf"),n("ac1f"),n("1276"),n("b680"),n("99af"),n("7a23")),c=n("47e2"),a=n("6c02"),l=n("dad5"),i=n("2906"),u=n("5e65"),s=n("c364"),d=n("1119"),b=n("6284"),O={id:"workout-form"},p=["onSubmit"],m={class:"form-items"},j={key:0,class:"form-item-radio"},f=["checked","disabled"],g={for:"withGpx"},k=["checked","disabled"],y={for:"withoutGpx"},v={class:"form-item"},h=["disabled"],E=["value"],N={key:1,class:"form-item"},w={for:"gpxFile"},S=["disabled"],V={class:"files-help info-box"},T={key:2,class:"form-item"},D={for:"title"},_=["required","disabled"],I={key:3},x={class:"workout-date-duration"},C={class:"form-item"},A={class:"workout-date-time"},B=["disabled"],R=["disabled"],U={class:"form-item"},L=["disabled"],$=Object(r["createTextVNode"])(" : "),M=["disabled"],P=Object(r["createTextVNode"])(" : "),F=["disabled"],G={class:"form-item"},W=["disabled"],z={class:"form-item"},H={key:1},q={key:2,class:"form-buttons"},K=["disabled"],Z=["onClick"],X=Object(r["defineComponent"])({props:{authUser:null,sports:null,isCreation:{default:!1},loading:{default:!1},workout:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["b"])(),X=n.t,Y=Object(i["a"])(),J=Object(a["d"])(),Q=Object(r["toRefs"])(t),ee=Q.authUser,te=Q.workout,ne=Q.isCreation,oe=Q.loading,re=Object(r["computed"])((function(){return Object(d["e"])(t.sports,X,!0,te.value.id?[te.value.sport_id]:null)})),ce=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.APP_CONFIG]})),ae=ce.value.max_single_file_size?Object(s["b"])(ce.value.max_single_file_size):"",le=ce.value.gpx_limit_import,ie=ce.value.max_zip_file_size?Object(s["b"])(ce.value.max_zip_file_size):"",ue=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.ERROR_MESSAGES]})),se=Object(r["reactive"])({sport_id:"",title:"",notes:"",workoutDate:"",workoutTime:"",workoutDurationHour:"",workoutDurationMinutes:"",workoutDurationSeconds:"",workoutDistance:""}),de=Object(r["ref"])(t.workout.id?t.workout.with_gpx:t.isCreation),be=null,Oe=Object(r["ref"])(!1);function pe(e){se.notes=e}function me(){de.value=!de.value,Oe.value=!1}function je(e){e.target.files&&(be=e.target.files[0])}function fe(e){if(se.sport_id="".concat(e.sport_id),se.title=e.title,se.notes=e.notes,!e.with_gpx){var n=Object(u["a"])(Object(u["c"])(e.workout_date,t.authUser.timezone),"yyyy-MM-dd"),o=e.duration.split(":");se.workoutDistance="".concat(ee.value.imperial_units?Object(b["a"])(e.distance,"km","mi",2):parseFloat(e.distance.toFixed(2))),se.workoutDate=n.workout_date,se.workoutTime=n.workout_time,se.workoutDurationHour=o[0],se.workoutDurationMinutes=o[1],se.workoutDurationSeconds=o[2]}}function ge(e){e.title=se.title,e.distance=ee.value.imperial_units?Object(b["a"])(+se.workoutDistance,"mi","km",3):+se.workoutDistance,e.duration=3600*+se.workoutDurationHour+60*+se.workoutDurationMinutes+ +se.workoutDurationSeconds,e.workout_date="".concat(se.workoutDate," ").concat(se.workoutTime)}function ke(){var e={sport_id:+se.sport_id,notes:se.notes};if(t.workout.id)t.workout.with_gpx?e.title=se.title:ge(e),Y.dispatch(l["f"].ACTIONS.EDIT_WORKOUT,{workoutId:t.workout.id,data:e});else if(de.value){if(!be){var n="workouts.NO_FILE_PROVIDED";return void Y.commit(l["b"].MUTATIONS.SET_ERROR_MESSAGES,n)}e.file=be,Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT,e)}else ge(e),Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,e)}function ye(){t.workout.id?J.push({name:"Workout",params:{workoutId:t.workout.id}}):J.go(-1)}function ve(){Oe.value=!0}return Object(r["onMounted"])((function(){t.workout.id&&fe(t.workout)})),Object(r["onUnmounted"])((function(){return Y.commit(l["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),Object(r["watch"])((function(){return t.workout}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t!==n&&t&&t.id&&fe(t);case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),function(e,t){var n=Object(r["resolveComponent"])("CustomTextArea"),o=Object(r["resolveComponent"])("ErrorMessage"),c=Object(r["resolveComponent"])("Loader"),a=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",{id:"workout-edition",class:Object(r["normalizeClass"])(["center-card center-card with-margin",{"center-form":Object(r["unref"])(te)&&Object(r["unref"])(te).with_gpx}])},[Object(r["createVNode"])(a,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.".concat(Object(r["unref"])(ne)?"ADD":"EDIT","_WORKOUT"))),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",O,[Object(r["createElementVNode"])("form",{class:Object(r["normalizeClass"])({errors:Oe.value}),onSubmit:Object(r["withModifiers"])(ke,["prevent"])},[Object(r["createElementVNode"])("div",m,[Object(r["unref"])(ne)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",j,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withGpx",type:"radio",checked:Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:me},null,8,f),Object(r["createElementVNode"])("label",g,Object(r["toDisplayString"])(e.$t("workouts.WITH_GPX")),1)]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withoutGpx",type:"radio",checked:!Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:me},null,8,k),Object(r["createElementVNode"])("label",y,Object(r["toDisplayString"])(e.$t("workouts.WITHOUT_GPX")),1)])])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("div",v,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.SPORT",1))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("select",{id:"sport",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(r["unref"])(se).sport_id=e})},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(re),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:e.id,key:e.id},Object(r["toDisplayString"])(e.translatedLabel),9,E)})),128))],40,h),[[r["vModelSelect"],Object(r["unref"])(se).sport_id]])]),Object(r["unref"])(ne)&&Object(r["unref"])(de)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",N,[Object(r["createElementVNode"])("label",w,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+" "+Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE_DESCRIPTION"))+": ",1),Object(r["createElementVNode"])("input",{id:"gpxFile",name:"gpxFile",type:"file",accept:".gpx, .zip",disabled:Object(r["unref"])(oe),required:"",onInvalid:ve,onInput:je},null,40,S),Object(r["createElementVNode"])("div",V,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ae)),1)])]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.NO_FOLDER")),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_FILES"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(le)),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ie)),1)])])])])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",T,[Object(r["createElementVNode"])("label",D,Object(r["toDisplayString"])(e.$t("workouts.TITLE"))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"title",name:"title",type:"text",required:!Object(r["unref"])(ne),onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(r["unref"])(se).title=e})},null,40,_),[[r["vModelText"],Object(r["unref"])(se).title]])])),Object(r["unref"])(de)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",I,[Object(r["createElementVNode"])("div",x,[Object(r["createElementVNode"])("div",C,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT_DATE"))+":",1),Object(r["createElementVNode"])("div",A,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-date",name:"workout-date",type:"date",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(r["unref"])(se).workoutDate=e})},null,40,B),[[r["vModelText"],Object(r["unref"])(se).workoutDate]]),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-time",name:"workout-time",class:"workout-time",type:"time",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(r["unref"])(se).workoutTime=e})},null,40,R),[[r["vModelText"],Object(r["unref"])(se).workoutTime]])])]),Object(r["createElementVNode"])("div",U,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+":",1),Object(r["createElementVNode"])("div",null,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-hour",name:"workout-duration-hour",class:"workout-duration",type:"text",placeholder:"HH",pattern:"^([0-1]?[0-9]|2[0-3])$",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(r["unref"])(se).workoutDurationHour=e})},null,40,L),[[r["vModelText"],Object(r["unref"])(se).workoutDurationHour]]),$,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-minutes",name:"workout-duration-minutes",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"MM",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(r["unref"])(se).workoutDurationMinutes=e})},null,40,M),[[r["vModelText"],Object(r["unref"])(se).workoutDurationMinutes]]),P,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-seconds",name:"workout-duration-seconds",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"SS",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(r["unref"])(se).workoutDurationSeconds=e})},null,40,F),[[r["vModelText"],Object(r["unref"])(se).workoutDurationSeconds]])])])]),Object(r["createElementVNode"])("div",G,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+" ("+Object(r["toDisplayString"])(Object(r["unref"])(ee).imperial_units?"mi":"km")+"): ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{name:"workout-distance",type:"number",min:"0",step:"0.001",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(r["unref"])(se).workoutDistance=e})},null,40,W),[[r["vModelText"],Object(r["unref"])(se).workoutDistance]])])])),Object(r["createElementVNode"])("div",z,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.NOTES"))+": ",1),Object(r["createVNode"])(n,{name:"notes",input:Object(r["unref"])(se).notes,disabled:Object(r["unref"])(oe),onUpdateValue:pe},null,8,["input","disabled"])])]),Object(r["unref"])(ue)?(Object(r["openBlock"])(),Object(r["createBlock"])(o,{key:0,message:Object(r["unref"])(ue)},null,8,["message"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(oe)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",H,[Object(r["createVNode"])(c)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",q,[Object(r["createElementVNode"])("button",{class:"confirm",type:"submit",disabled:Object(r["unref"])(oe)},Object(r["toDisplayString"])(e.$t("buttons.SUBMIT")),9,K),Object(r["createElementVNode"])("button",{class:"cancel",onClick:Object(r["withModifiers"])(ye,["prevent"])},Object(r["toDisplayString"])(e.$t("buttons.CANCEL")),9,Z)]))],42,p)])]})),_:1})],2)}}}),Y=(n("fadc"),n("6b0d")),J=n.n(Y);const Q=J()(X,[["__scopeId","data-v-225fffcc"]]);t["a"]=Q},"692d":function(e,t,n){"use strict";n.r(t);var o=n("7a23"),r=n("5c76"),c=n("dad5"),a=n("2906"),l={id:"add-workout",class:"view"},i={class:"container"},u=Object(o["defineComponent"])({setup:function(e){var t=Object(a["a"])(),n=Object(o["computed"])((function(){return t.getters[c["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return t.getters[c["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return t.getters[c["f"].GETTERS.WORKOUT_DATA]}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",l,[Object(o["createElementVNode"])("div",i,[Object(o["createVNode"])(r["a"],{authUser:Object(o["unref"])(u),sports:Object(o["unref"])(n),isCreation:!0,loading:Object(o["unref"])(s).loading},null,8,["authUser","sports","loading"])])])}}});const s=u;t["default"]=s},"696e":function(e,t,n){},"6a0d":function(e,t,n){},7156:function(e,t,n){var o=n("1626"),r=n("861d"),c=n("d2bb");e.exports=function(e,t,n){var a,l;return c&&o(a=t.constructor)&&a!==n&&r(l=a.prototype)&&l!==n.prototype&&c(e,l),e}},"7e1c":function(e,t,n){"use strict";n("6a0d")},"80ad":function(e,t,n){"use strict";n("1bf3")},"8ce4":function(e,t,n){},"8ee9":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("5c76"),l=n("dad5"),i=n("2906"),u={id:"edit-workout",class:"view"},s={class:"container"},d=Object(r["defineComponent"])({setup:function(e){var t=Object(c["c"])(),n=Object(i["a"])(),d=Object(r["computed"])((function(){return n.getters[l["a"].GETTERS.AUTH_USER_PROFILE]})),b=Object(r["computed"])((function(){return n.getters[l["c"].GETTERS.SPORTS]})),O=Object(r["computed"])((function(){return n.getters[l["f"].GETTERS.WORKOUT_DATA]}));return Object(r["onBeforeMount"])((function(){n.dispatch(l["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.params.workoutId})})),Object(r["watch"])((function(){return t.params.workoutId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t||n.commit(l["f"].MUTATIONS.EMPTY_WORKOUT);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("div",s,[Object(r["createVNode"])(a["a"],{authUser:Object(r["unref"])(d),sports:Object(r["unref"])(b),workout:Object(r["unref"])(O).workout,loading:Object(r["unref"])(O).loading},null,8,["authUser","sports","workout","loading"])])])}}});const b=d;t["default"]=b},"8f45":function(e,t,n){},"94ed":function(e,t,n){},"95b0":function(e,t,n){"use strict";n("1998")},"97f1":function(e,t,n){},a9e3:function(e,t,n){"use strict";var o=n("83ab"),r=n("da84"),c=n("e330"),a=n("94ca"),l=n("6eeb"),i=n("1a2d"),u=n("7156"),s=n("3a9b"),d=n("d9b5"),b=n("c04e"),O=n("d039"),p=n("241c").f,m=n("06cf").f,j=n("9bf2").f,f=n("408a"),g=n("58a8").trim,k="Number",y=r[k],v=y.prototype,h=r.TypeError,E=c("".slice),N=c("".charCodeAt),w=function(e){var t=b(e,"number");return"bigint"==typeof t?t:S(t)},S=function(e){var t,n,o,r,c,a,l,i,u=b(e,"number");if(d(u))throw h("Cannot convert a Symbol value to a number");if("string"==typeof u&&u.length>2)if(u=g(u),t=N(u,0),43===t||45===t){if(n=N(u,2),88===n||120===n)return NaN}else if(48===t){switch(N(u,1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(c=E(u,2),a=c.length,l=0;lr)return NaN;return parseInt(c,o)}return+u};if(a(k,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var V,T=function(e){var t=arguments.length<1?0:y(w(e)),n=this;return s(v,n)&&O((function(){f(n)}))?u(Object(t),n,T):t},D=o?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),_=0;D.length>_;_++)i(y,V=D[_])&&!i(T,V)&&j(T,V,m(y,V));T.prototype=v,v.constructor=T,l(r,k,T)}},ac79:function(e,t,n){"use strict";n("8ce4")},bbf3:function(e,t,n){},c23a:function(e,t,n){},cdd7:function(e,t,n){"use strict";n("423d")},d25b:function(e,t,n){"use strict";n("5618")},d636:function(e,t,n){},d917:function(e,t,n){"use strict";n("c23a")},e358:function(e,t,n){"use strict";n("97f1")},e94f:function(e,t,n){!function(e,n){n(t)}(0,(function(e){"use strict";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||""}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const r=n(e,"line");if(r){const e=t(n(r,"color")),c=parseFloat(t(n(r,"opacity"))),a=parseFloat(t(n(r,"width")));e&&(o.stroke=e),isNaN(c)||(o["stroke-opacity"]=c),isNaN(a)||(o["stroke-width"]=96*a/25.4)}}return o}function r(e,o){const r={};let c,a;for(a=0;a1,s=Object.assign(c(e),o(n(e,"extensions")),{_gpxType:"trk"},a.length?{coordinateProperties:{times:u?a:a[0]}}:{});for(let n=0;nnew Array(e.line.length).fill(null))),e[t][n]=o):e[t]=o}}return{type:"Feature",properties:s,geometry:u?{type:"MultiLineString",coordinates:r}:{type:"LineString",coordinates:r[0]}}}function*s(e){const t=e.getElementsByTagName("trk"),n=e.getElementsByTagName("rte"),o=e.getElementsByTagName("wpt");for(let r=0;rArray(e.length).fill(null))),u[n][t]=e[n])}if(0!==r.length)return(c.length||a.length)&&(u.coordinateProperties=Object.assign(c.length?{times:1===r.length?c[0]:c}:{},a.length?{heart:1===r.length?a[0]:a}:{})),{type:"Feature",properties:u,geometry:{type:1===r.length?"LineString":"MultiLineString",coordinates:1===r.length?r[0]:r}}}function*f(e){const t=e.getElementsByTagName("Lap");for(let o=0;o (_pushScopeId(\"data-v-06d30f25\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-filters\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"form\" }\nconst _hoisted_4 = { class: \"form-items-group\" }\nconst _hoisted_5 = { class: \"form-item\" }\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-item\" }\nconst _hoisted_8 = [\"value\"]\nconst _hoisted_9 = { class: \"form-items-group\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"\" }, null, -1))\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-items-group\" }\nconst _hoisted_15 = { class: \"form-item\" }\nconst _hoisted_16 = { class: \"form-inputs-group\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = [\"value\"]\nconst _hoisted_19 = { class: \"form-items-group\" }\nconst _hoisted_20 = { class: \"form-item\" }\nconst _hoisted_21 = { class: \"form-inputs-group\" }\nconst _hoisted_22 = [\"value\"]\nconst _hoisted_23 = [\"value\"]\nconst _hoisted_24 = { class: \"form-items-group\" }\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = { class: \"form-inputs-group\" }\nconst _hoisted_27 = [\"value\"]\nconst _hoisted_28 = [\"value\"]\nconst _hoisted_29 = { class: \"form-items-group\" }\nconst _hoisted_30 = { class: \"form-item\" }\nconst _hoisted_31 = { class: \"form-inputs-group\" }\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = [\"value\"]\nconst _hoisted_34 = { class: \"form-button\" }\n\nimport { ComputedRef, computed, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n import { units } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null\n },\n emits: ['filter'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n sports: ISport[]\n }\n\n \n\n \n\n const { t } = useI18n()\n const route = useRoute()\n const router = useRouter()\n\n const { authUser } = toRefs(props)\n\n const toUnit = authUser.value.imperial_units\n ? units['km'].defaultTarget\n : 'km'\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n let params: LocationQuery = Object.assign({}, route.query)\n\n function handleFilterChange(event: Event & { target: HTMLInputElement }) {\n if (event.target.value === '') {\n delete params[event.target.name]\n } else {\n params[event.target.name] = event.target.value\n }\n }\n function onFilter() {\n emit('filter')\n if ('page' in params) {\n params['page'] = '1'\n }\n router.push({ path: '/workouts', query: params })\n }\n function onClearFilter() {\n emit('filter')\n router.push({ path: '/workouts', query: {} })\n }\n\n watch(\n () => route.query,\n (newQuery) => {\n params = Object.assign({}, newQuery)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.FROM')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"from\",\n type: \"date\",\n value: _ctx.$route.query.from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_6)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.TO')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"to\",\n type: \"date\",\n value: _ctx.$route.query.to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_8)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \":\", 1),\n _createElementVNode(\"select\", {\n name: \"sport_id\",\n value: _ctx.$route.query.sport_id,\n onChange: handleFilterChange\n }, [\n _hoisted_12,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports).filter((s) =>\n _unref(authUser).sports_list.includes(s.id)\n ), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_13))\n }), 128))\n ], 40, _hoisted_11)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"input\", {\n name: \"distance_from\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_17),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"distance_to\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_18)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"input\", {\n name: \"duration_from\",\n value: _ctx.$route.query.duration_from,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_22),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"duration_to\",\n value: _ctx.$route.query.duration_to,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_23)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_from\",\n value: _ctx.$route.query.ave_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_27),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_to\",\n value: _ctx.$route.query.ave_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_28)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_from\",\n value: _ctx.$route.query.max_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_32),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_to\",\n value: _ctx.$route.query.max_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_33)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onFilter\n }, _toDisplayString(_ctx.$t('buttons.FILTER')), 1),\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onClearFilter\n }, _toDisplayString(_ctx.$t('buttons.CLEAR_FILTER')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-06d30f25\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1ba1a972\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-list\" }\nconst _hoisted_2 = { class: \"total\" }\nconst _hoisted_3 = { class: \"total-label\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 0,\n class: \"workouts-table responsive-table\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", { class: \"sport-col\" }, null, -1))\nconst _hoisted_7 = { class: \"sport-col\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"onMouseover\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-right\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-right\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = { class: \"text-right\" }\nconst _hoisted_18 = { class: \"cell-heading\" }\nconst _hoisted_19 = { class: \"text-right\" }\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = { class: \"text-right\" }\nconst _hoisted_22 = { class: \"cell-heading\" }\nconst _hoisted_23 = { class: \"text-right\" }\nconst _hoisted_24 = { class: \"cell-heading\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n capitalize,\n onBeforeMount,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import StaticMap from '@/components/Common/StaticMap.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList, workoutsPayloadKeys } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n\n \n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const { user, sports } = toRefs(props)\n const orderByList: string[] = [\n 'ave_speed',\n 'distance',\n 'duration',\n 'workout_date',\n ]\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.USER_WORKOUTS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]\n )\n let query: TWorkoutsPayload = getWorkoutsQuery(route.query)\n const hoverWorkoutId: Ref = ref(null)\n\n onBeforeMount(() => {\n loadWorkouts(query)\n })\n\n function loadWorkouts(payload: TWorkoutsPayload) {\n store.dispatch(\n WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS,\n user.value.imperial_units ? getConvertedPayload(payload) : payload\n )\n }\n function reloadWorkouts(queryParam: string, queryValue: string) {\n const newQuery: LocationQuery = Object.assign({}, route.query)\n newQuery[queryParam] = queryValue\n if (queryParam === 'per_page') {\n newQuery['page'] = '1'\n }\n query = getWorkoutsQuery(newQuery)\n router.push({ path: '/workouts', query })\n }\n\n function getWorkoutsQuery(newQuery: LocationQuery): TWorkoutsPayload {\n query = getQuery(newQuery, orderByList, defaultOrder.order_by, {\n defaultSort: defaultOrder.order,\n })\n Object.keys(newQuery)\n .filter((k) => workoutsPayloadKeys.includes(k))\n .map((k) => {\n if (typeof newQuery[k] === 'string') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n query[k] = newQuery[k]\n }\n })\n return query\n }\n\n function getConvertedPayload(payload: TWorkoutsPayload): TWorkoutsPayload {\n const convertedPayload: TWorkoutsPayload = {\n ...payload,\n }\n Object.entries(convertedPayload).map((entry) => {\n if (entry[0].match('speed|distance')) {\n convertedPayload[entry[0]] = convertDistance(+entry[1], 'mi', 'km')\n }\n })\n return convertedPayload\n }\n\n function onHover(workoutId: string | null) {\n hoverWorkoutId.value = workoutId\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getWorkoutsQuery(newQuery)\n loadWorkouts(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"box\", { 'empty-table': _unref(workouts).length === 0 }])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t('common.TOTAL').toLowerCase()) + \": \", 1),\n (_unref(pagination).total !== null)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_unref(pagination).total) + \" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(pagination).total)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"workouts\",\n onUpdateSelect: reloadWorkouts\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(Pagination, {\n class: \"top-pagination\",\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_6,\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DATE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DISTANCE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DURATION'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.AVE_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.MAX_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.ASCENT'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DESCENT'))), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: workout.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.SPORT', 1)), 1),\n (_unref(sports).length > 0)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n title: \n _unref(sports).find((s) => s.id === workout.sport_id)\n .translatedLabel\n ,\n \"sport-label\": _unref(getSportLabel)(workout, _unref(sports)),\n color: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", {\n class: \"workout-title\",\n onMouseover: ($event: any) => (onHover(workout.id)),\n onMouseleave: _cache[0] || (_cache[0] = ($event: any) => (onHover(null)))\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: { name: 'Workout', params: { workoutId: workout.id } }\n }, {\n default: _withCtx(() => [\n (workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(workout.title), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n (workout.with_gpx && hoverWorkoutId.value === workout.id)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: workout,\n \"display-hover\": true\n }, null, 8, [\"workout\"]))\n : _createCommentVNode(\"\", true)\n ], 40, _hoisted_9),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(workout.workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _createVNode(_component_Distance, {\n distance: workout.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _createTextVNode(\" \" + _toDisplayString(workout.moving), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_17, [\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.ave_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.max_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.ascent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_23, [\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n }), 128))\n ])\n ]),\n _createVNode(Pagination, {\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _hoisted_25\n ]))\n}\n}\n\n})","import script from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1ba1a972\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ed6df5ba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workouts\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container workouts-container\" }\nconst _hoisted_3 = { class: \"display-filters\" }\nconst _hoisted_4 = { class: \"list-container\" }\n\nimport { ComputedRef, computed, ref } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import WorkoutsFilters from '@/components/Workouts/WorkoutsFilters.vue'\n import WorkoutsList from '@/components/Workouts/WorkoutsList.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t)\n )\n const hiddenFilters = ref(true)\n\n function toggleFilters() {\n hiddenFilters.value = !hiddenFilters.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_unref(authUser).username)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"filters-container\", { hidden: hiddenFilters.value }])\n }, [\n _createVNode(WorkoutsFilters, {\n sports: _unref(translatedSports),\n authUser: _unref(authUser),\n onFilter: toggleFilters\n }, null, 8, [\"sports\", \"authUser\"])\n ], 2),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", { onClick: toggleFilters }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa-caret-${hiddenFilters.value ? 'down' : 'up'}`),\n \"aria-hidden\": \"true\"\n }, null, 2),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`workouts.${hiddenFilters.value ? 'DISPLAY' : 'HIDE'}_FILTERS`)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(WorkoutsList, {\n user: _unref(authUser),\n sports: _unref(translatedSports)\n }, null, 8, [\"user\", \"sports\"])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ed6df5ba\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21fe0e9a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-card-title\" }\nconst _hoisted_2 = [\"title\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = [\n _hoisted_3\n]\nconst _hoisted_5 = { class: \"workout-card-title\" }\nconst _hoisted_6 = { class: \"workout-title-date\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"workout-title\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"workout-title\"\n}\nconst _hoisted_9 = { class: \"workout-segment\" }\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\" — \")\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-marker\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"workout-date\" }\nconst _hoisted_13 = { class: \"workout-link\" }\nconst _hoisted_14 = [\"title\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\n\nimport { toRefs } from 'vue'\n\n import { ISport } from '@/types/sports'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sport: null,\n workoutObject: null\n },\n emits: ['displayModal'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n\n \n\n \n\n const { sport, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-previous workout-arrow\", { inactive: !_unref(workoutObject).previousUrl }]),\n title: \n _unref(workoutObject).previousUrl\n ? _ctx.$t(`workouts.PREVIOUS_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_PREVIOUS_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workoutObject).previousUrl\n ? _ctx.$router.push(_unref(workoutObject).previousUrl)\n : null\n ))\n }, _hoisted_4, 10, _hoisted_2),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createElementVNode(\"div\", _hoisted_6, [\n (_unref(workoutObject).type === 'WORKOUT')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"i\", {\n class: \"fa fa-edit\",\n \"aria-hidden\": \"true\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _ctx.$router.push({\n name: 'EditWorkout',\n params: { workoutId: _unref(workoutObject).workoutId },\n })\n ))\n }),\n _createElementVNode(\"i\", {\n class: \"fa fa-trash\",\n \"aria-hidden\": \"true\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (emit('displayModal', true)))\n })\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _hoisted_11,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.SEGMENT')) + \" \" + _toDisplayString(_unref(workoutObject).segmentId + 1), 1)\n ])\n ])),\n _createElementVNode(\"div\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).workoutDate) + \" - \" + _toDisplayString(_unref(workoutObject).workoutTime) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_13, [\n (_unref(workoutObject).type === 'SEGMENT')\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workoutObject).workoutId },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" > \" + _toDisplayString(_ctx.$t('workouts.BACK_TO_WORKOUT')), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-next workout-arrow\", { inactive: !_unref(workoutObject).nextUrl }]),\n title: \n _unref(workoutObject).nextUrl\n ? _ctx.$t(`workouts.NEXT_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_NEXT_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[3] || (_cache[3] = ($event: any) => (\n _unref(workoutObject).nextUrl ? _ctx.$router.push(_unref(workoutObject).nextUrl) : null\n ))\n }, _hoisted_16, 10, _hoisted_14)\n ]))\n}\n}\n\n})","import script from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21fe0e9a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2e8c6844\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"workout-record\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"sup\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n })\n], -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n recordType: string\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n recordType: null,\n workoutObject: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n recordType: string\n workoutObject: IWorkoutObject\n }\n\n \n\n const { recordType, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (\n _unref(workoutObject).records &&\n _unref(workoutObject).records.find((record) => record.record_type === _unref(recordType))\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _hoisted_3))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2e8c6844\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-07781815\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workout-weather\"\n}\nconst _hoisted_2 = { class: \"weather-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_4 = { class: \"weather-th\" }\nconst _hoisted_5 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_6 = { class: \"weather-th\" }\nconst _hoisted_7 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_8 = [\"alt\", \"title\"]\nconst _hoisted_9 = [\"alt\", \"title\"]\nconst _hoisted_10 = [\"alt\", \"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { useImperialUnits, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_unref(workoutObject).weatherStart && _unref(workoutObject).weatherEnd)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", _hoisted_2, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.START')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherStart.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n \n }, null, 8, _hoisted_5)\n ])\n ]),\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.END')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherEnd.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n \n }, null, 8, _hoisted_7)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/temperature.svg\",\n alt: _ctx.$t(`workouts.WEATHER.TEMPERATURE`),\n title: _ctx.$t(`workouts.WEATHER.TEMPERATURE`)\n }, null, 8, _hoisted_8)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.temperature).toFixed(1)) + \"°C \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.temperature).toFixed(1)) + \"°C \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/pour-rain.svg\",\n alt: _ctx.$t(`workouts.WEATHER.HUMIDITY`),\n title: _ctx.$t(`workouts.WEATHER.HUMIDITY`)\n }, null, 8, _hoisted_9)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.humidity * 100).toFixed(1)) + \"% \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.humidity * 100).toFixed(1)) + \"% \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/breeze.svg\",\n alt: _ctx.$t(`workouts.WEATHER.WIND`),\n title: _ctx.$t(`workouts.WEATHER.WIND`)\n }, null, 8, _hoisted_10)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherStart.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherEnd.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=07781815&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-07781815\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a7c2d728\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-info\" }\nconst _hoisted_2 = { class: \"workout-data\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"label\" }\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_6 = { class: \"value\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"value\" }\nconst _hoisted_9 = { class: \"value\" }\nconst _hoisted_10 = { class: \"workout-data\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"label\" }\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_14 = { class: \"workout-data\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-tachometer\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = { class: \"label\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_19 = { class: \"label\" }\nconst _hoisted_20 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_21 = {\n key: 0,\n class: \"workout-data\"\n}\nconst _hoisted_22 = [\"alt\"]\nconst _hoisted_23 = { class: \"label\" }\nconst _hoisted_24 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_26 = { class: \"label\" }\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_28 = {\n key: 1,\n class: \"workout-data\"\n}\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_30 = { class: \"label\" }\nconst _hoisted_31 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_33 = { class: \"label\" }\nconst _hoisted_34 = /*#__PURE__*/_createTextVNode(\": \")\n\nimport { computed, toRefs } from 'vue'\n\n import WorkoutRecord from '@/components/Workout/WorkoutDetail/WorkoutRecord.vue'\n import WorkoutWeather from '@/components/Workout/WorkoutDetail/WorkoutWeather.vue'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { workoutObject, useImperialUnits } = toRefs(props)\n const withPause = computed(\n () =>\n props.workoutObject.pauses !== '0:00:00' &&\n props.workoutObject.pauses !== null\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(workoutObject).moving), 1),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"LD\"\n }, null, 8, [\"workoutObject\"]),\n (_unref(withPause))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.PAUSES')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_unref(workoutObject).pauses), 1),\n _createTextVNode(\" - \" + _toDisplayString(_ctx.$t('workouts.TOTAL_DURATION')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(workoutObject).duration) + \")\", 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _hoisted_13,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).distance,\n digits: 3,\n unitFrom: \"km\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"FD\"\n }, null, 8, [\"workoutObject\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1),\n _hoisted_17,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).aveSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"AS\"\n }, null, 8, [\"workoutObject\"]),\n _hoisted_18,\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _hoisted_20,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"MS\"\n }, null, 8, [\"workoutObject\"])\n ]),\n (_unref(workoutObject).maxAlt !== null && _unref(workoutObject).minAlt !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_22),\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(_ctx.$t('workouts.MIN_ALTITUDE')), 1),\n _hoisted_24,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).minAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_25,\n _createElementVNode(\"span\", _hoisted_26, _toDisplayString(_ctx.$t('workouts.MAX_ALTITUDE')), 1),\n _hoisted_27,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workoutObject).ascent !== null && _unref(workoutObject).descent !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"span\", _hoisted_30, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n _hoisted_31,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).ascent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_32,\n _createElementVNode(\"span\", _hoisted_33, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n _hoisted_34,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).descent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(WorkoutWeather, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]))\n}\n}\n\n})","import script from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a7c2d728\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createBlock as _createBlock, withCtx as _withCtx, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b4b3006a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-map\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"no-map\"\n}\n\nimport { gpx } from '@tmcw/togeojson'\n import { LGeoJson, LMap, LMarker, LTileLayer } from '@vue-leaflet/vue-leaflet'\n import { ComputedRef, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { GeoJSONData } from '@/types/geojson'\n import { IWorkoutData, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const store = useStore()\n\n const { workoutData, markerCoordinates } = toRefs(props)\n const workoutMap = ref null }\n }>(null)\n const bounds = computed(() =>\n props.workoutData\n ? [\n [\n props.workoutData.workout.bounds[0],\n props.workoutData.workout.bounds[1],\n ],\n [\n props.workoutData.workout.bounds[2],\n props.workoutData.workout.bounds[3],\n ],\n ]\n : []\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const center = computed(() => getCenter(bounds))\n const geoJson = computed(() =>\n props.workoutData && props.workoutData.gpx\n ? getGeoJson(props.workoutData.gpx)\n : {}\n )\n\n function getGeoJson(gpxContent: string): GeoJSONData {\n if (!gpxContent || gpxContent !== '') {\n try {\n const jsonData = gpx(\n new DOMParser().parseFromString(gpxContent, 'text/xml')\n )\n return { jsonData }\n } catch (e) {\n console.error('Invalid gpx content')\n return {}\n }\n }\n return {}\n }\n function getCenter(bounds: ComputedRef): number[] {\n return [\n (bounds.value[0][0] + bounds.value[1][0]) / 2,\n (bounds.value[0][1] + bounds.value[1][1]) / 2,\n ]\n }\n function fitBounds(bounds: number[][]) {\n if (workoutMap.value?.leafletObject) {\n workoutMap.value?.leafletObject.fitBounds(bounds)\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(workoutData).loading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_unref(geoJson).jsonData && _unref(center) && _unref(bounds).length === 2)\n ? (_openBlock(), _createBlock(_unref(LMap), {\n key: 0,\n zoom: 13,\n center: _unref(center),\n bounds: _unref(bounds),\n ref: (_value, _refs) => {\n _refs['workoutMap'] = _value\n workoutMap.value = _value\n },\n onReady: _cache[0] || (_cache[0] = ($event: any) => (fitBounds(_unref(bounds))))\n }, {\n default: _withCtx(() => [\n _createVNode(_unref(LTileLayer), {\n url: `${_unref(getApiUrl)()}workouts/map_tile/{s}/{z}/{x}/{y}.png`,\n attribution: _unref(appConfig).map_attribution,\n bounds: _unref(bounds)\n }, null, 8, [\"url\", \"attribution\", \"bounds\"]),\n _createVNode(_unref(LGeoJson), {\n geojson: _unref(geoJson).jsonData\n }, null, 8, [\"geojson\"]),\n (_unref(markerCoordinates).latitude)\n ? (_openBlock(), _createBlock(_unref(LMarker), {\n key: 0,\n \"lat-lng\": [_unref(markerCoordinates).latitude, _unref(markerCoordinates).longitude]\n }, null, 8, [\"lat-lng\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"center\", \"bounds\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n ]))\n}\n}\n\n})","import script from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b4b3006a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withCtx as _withCtx, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2655acaa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workout-detail\" }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutCardTitle from '@/components/Workout/WorkoutDetail/WorkoutCardTitle.vue'\n import WorkoutData from '@/components/Workout/WorkoutDetail/WorkoutData.vue'\n import WorkoutMap from '@/components/Workout/WorkoutDetail/WorkoutMap.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkout,\n IWorkoutData,\n IWorkoutObject,\n IWorkoutSegment,\n TCoordinates,\n } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IUserProfile\n displaySegment: boolean\n sports: ISport[]\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n displaySegment: null,\n sports: null,\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, displaySegment: boolean, sports: ISport[], workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { authUser, markerCoordinates, workoutData } = toRefs(props)\n const workout: ComputedRef = computed(\n () => props.workoutData.workout\n )\n let segmentId: Ref = ref(\n route.params.workoutId ? +route.params.segmentId : null\n )\n const segment: ComputedRef = computed(() =>\n workout.value.segments.length > 0 && segmentId.value\n ? workout.value.segments[+segmentId.value - 1]\n : null\n )\n let displayModal: Ref = ref(false)\n const sport = computed(() =>\n props.sports\n ? props.sports.find(\n (sport) => sport.id === props.workoutData.workout.sport_id\n )\n : {}\n )\n const workoutObject = computed(() =>\n getWorkoutObject(workout.value, segment.value)\n )\n\n function getWorkoutObjectUrl(\n workout: IWorkout,\n displaySegment: boolean,\n segmentId: number | null\n ): Record {\n const previousUrl =\n displaySegment && segmentId && segmentId !== 1\n ? `/workouts/${workout.id}/segment/${segmentId - 1}`\n : !displaySegment && workout.previous_workout\n ? `/workouts/${workout.previous_workout}`\n : null\n const nextUrl =\n displaySegment && segmentId && segmentId < workout.segments.length\n ? `/workouts/${workout.id}/segment/${segmentId + 1}`\n : !displaySegment && workout.next_workout\n ? `/workouts/${workout.next_workout}`\n : null\n return {\n previousUrl,\n nextUrl,\n }\n }\n function getWorkoutObject(\n workout: IWorkout,\n segment: IWorkoutSegment | null\n ): IWorkoutObject {\n const urls = getWorkoutObjectUrl(\n workout,\n props.displaySegment,\n segmentId.value ? +segmentId.value : null\n )\n const workoutDate = formatWorkoutDate(\n getDateWithTZ(\n props.workoutData.workout.workout_date,\n props.authUser.timezone\n )\n )\n return {\n ascent: segment ? segment.ascent : workout.ascent,\n aveSpeed: segment ? segment.ave_speed : workout.ave_speed,\n distance: segment ? segment.distance : workout.distance,\n descent: segment ? segment.descent : workout.descent,\n duration: segment ? segment.duration : workout.duration,\n maxAlt: segment ? segment.max_alt : workout.max_alt,\n maxSpeed: segment ? segment.max_speed : workout.max_speed,\n minAlt: segment ? segment.min_alt : workout.min_alt,\n moving: segment ? segment.moving : workout.moving,\n nextUrl: urls.nextUrl,\n pauses: segment ? segment.pauses : workout.pauses,\n previousUrl: urls.previousUrl,\n records: segment ? [] : workout.records,\n segmentId: segment ? segment.segment_id : null,\n title: workout.title,\n type: props.displaySegment ? 'SEGMENT' : 'WORKOUT',\n workoutDate: workoutDate.workout_date,\n weatherEnd: segment ? null : workout.weather_end,\n workoutId: workout.id,\n weatherStart: segment ? null : workout.weather_start,\n workoutTime: workoutDate.workout_time,\n }\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteWorkout(workoutId: string) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT, {\n workoutId: workoutId,\n })\n }\n\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (newSegmentId) {\n segmentId.value = +newSegmentId\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('workouts.WORKOUT_DELETION_CONFIRMATION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteWorkout(_unref(workoutObject).workoutId))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(WorkoutCardTitle, {\n sport: _unref(sport),\n workoutObject: _unref(workoutObject),\n onDisplayModal: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayModal(true)))\n }, null, 8, [\"sport\", \"workoutObject\"])\n ]),\n content: _withCtx(() => [\n _createVNode(WorkoutMap, {\n workoutData: _unref(workoutData),\n markerCoordinates: _unref(markerCoordinates)\n }, null, 8, [\"workoutData\", \"markerCoordinates\"]),\n _createVNode(WorkoutData, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2655acaa\"]])\n\nexport default __exports__","import { Chart, LegendItem } from 'chart.js'\n\nconst getOrCreateLegendList = (id: string): HTMLUListElement => {\n const legendContainer = document.getElementById(id)\n if (legendContainer) {\n let listContainer = legendContainer.querySelector('ul')\n if (!listContainer) {\n listContainer = document.createElement('ul')\n legendContainer.appendChild(listContainer)\n }\n return listContainer\n }\n throw new Error('No legend container')\n}\n\nexport const htmlLegendPlugin = {\n id: 'htmlLegend',\n afterUpdate(\n chart: Chart,\n args: Record,\n options: Record\n ): void {\n const ul = getOrCreateLegendList(options.containerID)\n while (ul.firstChild) {\n ul.firstChild.remove()\n }\n\n const legendItems = chart.options.plugins?.legend?.labels?.generateLabels\n ? chart.options.plugins?.legend?.labels?.generateLabels(chart)\n : []\n\n legendItems.forEach((item: LegendItem) => {\n const li = document.createElement('li')\n li.onclick = () => {\n chart.setDatasetVisibility(\n item.datasetIndex,\n !chart.isDatasetVisible(item.datasetIndex)\n )\n chart.update()\n }\n\n const checkBox = document.createElement('input')\n if (checkBox) {\n checkBox.type = 'checkbox'\n checkBox.id = item.text\n checkBox.checked = !item.hidden\n }\n\n const text = document.createTextNode(item.text)\n\n const boxSpan = document.createElement('span')\n if (boxSpan) {\n boxSpan.style.background = String(item.fillStyle)\n boxSpan.style.borderColor = String(item.strokeStyle)\n }\n\n li.appendChild(checkBox)\n li.appendChild(text)\n li.appendChild(boxSpan)\n ul.appendChild(li)\n })\n },\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createElementVNode as _createElementVNode, mergeProps as _mergeProps, createVNode as _createVNode, isRef as _isRef, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-82a367b0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-chart\" }\nconst _hoisted_2 = { class: \"chart-radio\" }\nconst _hoisted_3 = [\"checked\"]\nconst _hoisted_4 = [\"checked\"]\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"chart-legend\" }, null, -1))\nconst _hoisted_6 = { class: \"chart-info\" }\nconst _hoisted_7 = { class: \"no-data-cleaning\" }\nconst _hoisted_8 = { class: \"elevation-start\" }\nconst _hoisted_9 = [\"checked\"]\n\nimport { ChartData, ChartOptions } from 'chart.js'\n import { ComputedRef, computed, ref } from 'vue'\n import { LineChart, useLineChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { htmlLegendPlugin } from '@/components/Workout/WorkoutDetail/WorkoutChart/legend'\n import { TUnit } from '@/types/units'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkoutChartData,\n IWorkoutData,\n TCoordinates,\n } from '@/types/workouts'\n import { units } from '@/utils/units'\n import { getDatasets } from '@/utils/workouts'\n\n interface Props {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n workoutData: null\n },\n emits: ['getCoordinates'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n\n \n\n \n\n const { t } = useI18n()\n\n let displayDistance = ref(true)\n let beginElevationAtZero = ref(true)\n const datasets: ComputedRef = computed(() =>\n getDatasets(props.workoutData.chartData, t, props.authUser.imperial_units)\n )\n const fromKmUnit = getUnitTo('km')\n const fromMUnit = getUnitTo('m')\n let chartData: ComputedRef> = computed(() => ({\n labels: displayDistance.value\n ? datasets.value.distance_labels\n : datasets.value.duration_labels,\n datasets: JSON.parse(\n JSON.stringify([\n datasets.value.datasets.speed,\n datasets.value.datasets.elevation,\n ])\n ),\n }))\n const coordinates: ComputedRef = computed(\n () => datasets.value.coordinates\n )\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: 22,\n },\n },\n scales: {\n [displayDistance.value ? 'xDistance' : 'xDuration']: {\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n count: 10,\n callback: function (value) {\n return displayDistance.value\n ? Number(value).toFixed(2)\n : formatDuration(value)\n },\n },\n type: 'linear',\n bounds: 'data',\n title: {\n display: true,\n text: displayDistance.value\n ? t('workouts.DISTANCE') + ` (${fromKmUnit})`\n : t('workouts.DURATION'),\n },\n },\n ySpeed: {\n grid: {\n drawOnChartArea: false,\n },\n position: 'left',\n title: {\n display: true,\n text: t('workouts.SPEED') + ` (${fromKmUnit}/h)`,\n },\n },\n yElevation: {\n beginAtZero: beginElevationAtZero.value,\n grid: {\n drawOnChartArea: false,\n },\n position: 'right',\n title: {\n display: true,\n text: t('workouts.ELEVATION') + ` (${fromMUnit})`,\n },\n },\n },\n elements: {\n point: {\n pointStyle: 'circle',\n pointRadius: 0,\n },\n },\n plugins: {\n datalabels: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n callbacks: {\n label: function (context) {\n const label = ` ${context.dataset.label}: ${context.formattedValue}`\n return context.dataset.yAxisID === 'yElevation'\n ? label + ` ${fromMUnit}`\n : label + ` ${fromKmUnit}/h`\n },\n title: function (tooltipItems) {\n if (tooltipItems.length > 0) {\n emitCoordinates(coordinates.value[tooltipItems[0].dataIndex])\n }\n return tooltipItems.length === 0\n ? ''\n : displayDistance.value\n ? `${t('workouts.DISTANCE')}: ${\n tooltipItems[0].label\n } ${fromKmUnit}`\n : `${t('workouts.DURATION')}: ${formatDuration(\n tooltipItems[0].label.replace(',', '')\n )}`\n },\n },\n },\n legend: {\n display: false,\n },\n htmlLegend: {\n containerID: 'chart-legend',\n },\n },\n }))\n const { lineChartProps } = useLineChart({\n chartData,\n options,\n plugins: [htmlLegendPlugin],\n })\n\n function updateDisplayDistance() {\n displayDistance.value = !displayDistance.value\n }\n function formatDuration(duration: string | number): string {\n return new Date(+duration * 1000).toISOString().substr(11, 8)\n }\n function emitCoordinates(coordinates: TCoordinates) {\n emit('getCoordinates', coordinates)\n }\n function emitEmptyCoordinates() {\n emitCoordinates({ latitude: null, longitude: null })\n }\n function getUnitTo(unitFrom: TUnit): TUnit {\n return props.authUser.imperial_units\n ? units[unitFrom].defaultTarget\n : unitFrom\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ANALYSIS')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"distance\",\n checked: _unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_3),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"duration\",\n checked: !_unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_4),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ])\n ]),\n _hoisted_5,\n _createVNode(_unref(LineChart), _mergeProps(_unref(lineChartProps), {\n class: \"line-chart\",\n onMouseleave: emitEmptyCoordinates\n }), null, 16),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_DATA_CLEANING')), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n checked: _unref(beginElevationAtZero),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_isRef(beginElevationAtZero) //@ts-ignore\n ? beginElevationAtZero.value = !_unref(beginElevationAtZero) : beginElevationAtZero = !_unref(beginElevationAtZero)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.START_ELEVATION_AT_ZERO')), 1)\n ])\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=82a367b0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-82a367b0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6dd0f3c4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-note\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n notes?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n notes: { default: () => null }\n },\n setup(__props: any) {\n\nconst props = __props as { notes: string | null }\n\n \n\n const { notes } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.NOTES')), 1)\n ]),\n content: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(notes) && _unref(notes) !== '' ? _unref(notes) : _ctx.$t('workouts.NO_NOTES')), 1)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutNotes.vue?vue&type=style&index=0&id=6dd0f3c4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6dd0f3c4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-73381f36\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-segments\" }\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutSegment } from '@/types/workouts'\n\n interface Props {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n segments: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n\n \n\n const { segments, useImperialUnits } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 2)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(segments), (segment, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: segment.segment_id\n }, [\n _createVNode(_component_router_link, {\n to: {\n name: 'WorkoutSegment',\n params: {\n workoutId: segment.workout_id,\n segmentId: index + 1,\n },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 1)) + \" \" + _toDisplayString(index + 1), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \": \", 1),\n _createVNode(_component_Distance, {\n distance: segment.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\", \" + _toDisplayString(_ctx.$t('workouts.DURATION')) + \": \" + _toDisplayString(segment.duration) + \") \", 1)\n ]))\n }), 128))\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutSegments.vue?vue&type=style&index=0&id=73381f36&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-73381f36\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a8e74d78\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workout-container\"\n}\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_6 = { key: 1 }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import WorkoutDetail from '@/components/Workout/WorkoutDetail/index.vue'\n import WorkoutChart from '@/components/Workout/WorkoutDetail/WorkoutChart/index.vue'\n import WorkoutNotes from '@/components/Workout/WorkoutDetail/WorkoutNotes.vue'\n import WorkoutSegments from '@/components/Workout/WorkoutDetail/WorkoutSegments.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData, IWorkoutPayload, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n displaySegment: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n displaySegment: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displaySegment: boolean\n }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { displaySegment } = toRefs(props)\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n let markerCoordinates: Ref = ref({\n latitude: null,\n longitude: null,\n })\n\n onBeforeMount(() => {\n const payload: IWorkoutPayload = { workoutId: route.params.workoutId }\n if (props.displaySegment) {\n payload.segmentId = route.params.segmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n })\n\n onUnmounted(() => {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n })\n\n function updateCoordinates(coordinates: TCoordinates) {\n markerCoordinates.value = {\n latitude: coordinates.latitude,\n longitude: coordinates.longitude,\n }\n }\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (newWorkoutId) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: newWorkoutId,\n })\n }\n }\n )\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (route.params.workoutId) {\n const payload: IWorkoutPayload = {\n workoutId: route.params.workoutId,\n }\n if (newSegmentId) {\n payload.segmentId = newSegmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(WorkoutDetail, {\n workoutData: _unref(workoutData),\n sports: _unref(sports),\n authUser: _unref(authUser),\n markerCoordinates: _unref(markerCoordinates),\n displaySegment: _unref(displaySegment)\n }, null, 8, [\"workoutData\", \"sports\", \"authUser\", \"markerCoordinates\", \"displaySegment\"]),\n (\n _unref(workoutData).workout.with_gpx && _unref(workoutData).chartData.length > 0\n )\n ? (_openBlock(), _createBlock(WorkoutChart, {\n key: 0,\n workoutData: _unref(workoutData),\n authUser: _unref(authUser),\n displaySegment: _unref(displaySegment),\n onGetCoordinates: updateCoordinates\n }, null, 8, [\"workoutData\", \"authUser\", \"displaySegment\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment) && _unref(workoutData).workout.segments.length > 1)\n ? (_openBlock(), _createBlock(WorkoutSegments, {\n key: 1,\n segments: _unref(workoutData).workout.segments,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"segments\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment))\n ? (_openBlock(), _createBlock(WorkoutNotes, {\n key: 2,\n notes: _unref(workoutData).workout.notes\n }, null, 8, [\"notes\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_5\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (!_unref(workoutData).loading)\n ? (_openBlock(), _createBlock(NotFound, {\n key: 0,\n target: \"WORKOUT\"\n }))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Workout.vue?vue&type=style&index=0&id=a8e74d78&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a8e74d78\"]])\n\nexport default __exports__","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"","import { watch, ref, provide, h, inject, onUnmounted, onBeforeUnmount, onMounted, nextTick, render as render$3, reactive, computed } from 'vue';\n\nconst debounce = (fn, time) => {\n let timeout;\n\n return function (...args) {\n const context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nconst capitalizeFirstLetter = (string) => {\n if (!string || typeof string.charAt !== \"function\") {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nconst propsBinder = (methods, leafletElement, props) => {\n for (const key in props) {\n const setMethodName = \"set\" + capitalizeFirstLetter(key);\n if (methods[setMethodName]) {\n watch(\n () => props[key],\n (newVal, oldVal) => {\n methods[setMethodName](newVal, oldVal);\n }\n );\n } else if (leafletElement[setMethodName]) {\n watch(\n () => props[key],\n (newVal) => {\n leafletElement[setMethodName](newVal);\n }\n );\n }\n }\n};\n\nconst remapEvents = (contextAttrs) => {\n const result = {};\n for (const attrName in contextAttrs) {\n if (\n attrName.startsWith(\"on\") &&\n !attrName.startsWith(\"onUpdate\") &&\n attrName !== \"onReady\"\n ) {\n const eventName = attrName.slice(2).toLocaleLowerCase();\n result[eventName] = contextAttrs[attrName];\n }\n }\n return result;\n};\n\nconst resetWebpackIcon = async (Icon) => {\n const modules = await Promise.all([\n import('leaflet/dist/images/marker-icon-2x.png'),\n import('leaflet/dist/images/marker-icon.png'),\n import('leaflet/dist/images/marker-shadow.png'),\n ]);\n\n delete Icon.Default.prototype._getIconUrl;\n\n Icon.Default.mergeOptions({\n iconRetinaUrl: modules[0].default,\n iconUrl: modules[1].default,\n shadowUrl: modules[2].default,\n });\n};\n\n/**\n * Wraps a placeholder function and provides it with the given name.\n * The wrapper can later be updated with {@link updateLeafletWrapper}\n * to provide a different function.\n *\n * @param {String} methodName Key used to provide the wrapper function\n */\nconst provideLeafletWrapper = (methodName) => {\n const wrapped = ref(() =>\n console.warn(`Method ${methodName} has been invoked without being replaced`)\n );\n const wrapper = (...args) => wrapped.value(...args);\n // eslint-disable-next-line vue/no-ref-as-operand\n wrapper.wrapped = wrapped;\n provide(methodName, wrapper);\n\n return wrapper;\n};\n\n/**\n * Change the function that will be executed when an injected Leaflet wrapper\n * is invoked.\n *\n * @param {*} wrapper Provided wrapper whose wrapped function is to be updated\n * @param {function} leafletMethod New method to be wrapped by the wrapper\n */\nconst updateLeafletWrapper = (wrapper, leafletMethod) =>\n (wrapper.wrapped.value = leafletMethod);\n\nconst WINDOW_OR_GLOBAL =\n (typeof self === \"object\" && self.self === self && self) ||\n (typeof global === \"object\" && global.global === global && global) ||\n undefined;\n\nconst GLOBAL_LEAFLET_OPT = \"useGlobalLeaflet\";\n\nconst props = {\n options: {\n type: Object,\n default: () => ({}),\n },\n};\n\nconst setup = (props) => {\n return { options: props.options, methods: {} };\n};\n\nconst props$1 = {\n ...props,\n pane: {\n type: String,\n default: \"overlayPane\",\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n};\n\nconst setup$1 = (props, leafletRef, context) => {\n const addLayer = inject(\"addLayer\");\n const removeLayer = inject(\"removeLayer\");\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n\n const options = {\n ...componentOptions,\n attribution: props.attribution,\n pane: props.pane,\n };\n\n const addThisLayer = () => addLayer({ leafletObject: leafletRef.value });\n const removeThisLayer = () =>\n removeLayer({ leafletObject: leafletRef.value });\n\n const methods = {\n ...componentMethods,\n setAttribution(val, old) {\n const attributionControl = this.$parent.leafletObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setLayerType() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setVisible(isVisible) {\n if (leafletRef.value) {\n if (isVisible) {\n addThisLayer();\n } else {\n removeThisLayer();\n }\n }\n },\n bindPopup({ leafletObject }) {\n leafletRef.value.bindPopup(leafletObject);\n },\n bindTooltip({ leafletObject }) {\n leafletRef.value.bindTooltip(leafletObject);\n },\n unbindTooltip() {\n const tooltip = leafletRef.value ? leafletRef.value.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup() {\n const popup = leafletRef.value ? leafletRef.value.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n context.emit(\"update:visible\", value);\n },\n };\n\n provide(\"bindPopup\", methods.bindPopup);\n provide(\"bindTooltip\", methods.bindTooltip);\n provide(\"unbindTooltip\", methods.unbindTooltip);\n provide(\"unbindPopup\", methods.unbindPopup);\n\n onUnmounted(() => {\n methods.unbindPopup();\n methods.unbindTooltip();\n removeThisLayer();\n });\n\n return { options, methods };\n};\n\nconst render = (ready, slots) => {\n if (ready && slots.default) {\n return h(\"div\", { style: { display: \"none\" } }, slots.default());\n }\n};\n\nconst props$2 = {\n ...props,\n interactive: {\n type: Boolean,\n default: true,\n },\n bubblingMouseEvents: {\n type: Boolean,\n default: true,\n },\n};\n\nconst setup$2 = (props) => {\n const { options: componentOptions, methods } = setup(props);\n const options = {\n ...componentOptions,\n interactive: props.interactive,\n bubblingMouseEvents: props.bubblingMouseEvents,\n };\n\n return { options, methods };\n};\n\nconst props$3 = {\n ...props$1,\n ...props$2,\n stroke: {\n type: Boolean,\n custom: true,\n default: true,\n },\n color: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n weight: {\n type: Number,\n custom: true,\n default: 3,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n lineCap: {\n type: String,\n custom: true,\n default: \"round\",\n },\n lineJoin: {\n type: String,\n custom: true,\n default: \"round\",\n },\n dashArray: {\n type: String,\n custom: true,\n default: null,\n },\n dashOffset: {\n type: String,\n custom: true,\n default: null,\n },\n fill: {\n type: Boolean,\n custom: true,\n default: false,\n },\n fillColor: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n fillOpacity: {\n type: Number,\n custom: true,\n default: 0.2,\n },\n fillRule: {\n type: String,\n custom: true,\n default: \"evenodd\",\n },\n className: {\n type: String,\n custom: true,\n default: null,\n },\n};\n\nconst setup$3 = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const {\n options: interactiveLayerOptions,\n methods: interactiveLayerMethods,\n } = setup$2(props);\n\n const removeLayer = inject(\"removeLayer\");\n\n const options = {\n ...layerOptions,\n ...interactiveLayerOptions,\n stroke: props.stroke,\n color: props.color,\n weight: props.weight,\n opacity: props.opacity,\n lineCap: props.lineCap,\n lineJoin: props.lineJoin,\n dashArray: props.dashArray,\n dashOffset: props.dashOffset,\n fill: props.fill,\n fillColor: props.fillColor,\n fillOpacity: props.fillOpacity,\n fillRule: props.fillRule,\n className: props.className,\n };\n const methods = {\n ...layerMethods,\n ...interactiveLayerMethods,\n setStroke(stroke) {\n leafletRef.value.setStyle({ stroke });\n },\n setColor(color) {\n leafletRef.value.setStyle({ color });\n },\n setWeight(weight) {\n leafletRef.value.setStyle({ weight });\n },\n setOpacity(opacity) {\n leafletRef.value.setStyle({ opacity });\n },\n setLineCap(lineCap) {\n leafletRef.value.setStyle({ lineCap });\n },\n setLineJoin(lineJoin) {\n leafletRef.value.setStyle({ lineJoin });\n },\n setDashArray(dashArray) {\n leafletRef.value.setStyle({ dashArray });\n },\n setDashOffset(dashOffset) {\n leafletRef.value.setStyle({ dashOffset });\n },\n setFill(fill) {\n leafletRef.value.setStyle({ fill });\n },\n setFillColor(fillColor) {\n leafletRef.value.setStyle({ fillColor });\n },\n setFillOpacity(fillOpacity) {\n leafletRef.value.setStyle({ fillOpacity });\n },\n setFillRule(fillRule) {\n leafletRef.value.setStyle({ fillRule });\n },\n setClassName(className) {\n leafletRef.value.setStyle({ className });\n },\n };\n\n onBeforeUnmount(() => {\n removeLayer({ leafletObject: leafletRef.value });\n });\n\n return { options, methods };\n};\n\nconst props$4 = {\n ...props$3,\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n /**\n * Radius of the marker in pixels.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$4 = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n const methods = {\n ...pathMethods,\n setRadius(radius) {\n leafletRef.value.setRadius(radius);\n },\n setLatLng(latLng) {\n leafletRef.value.setLatLng(latLng);\n },\n };\n\n return { options, methods };\n};\n\nconst props$5 = {\n ...props$4,\n /**\n * Radius of the circle in meters.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$5 = (props, leafletRef, context) => {\n const {\n options: circleMarkerOptions,\n methods: circleMarkerMethods,\n } = setup$4(props, leafletRef, context);\n\n const options = {\n ...circleMarkerOptions,\n ...props,\n };\n\n const methods = {\n ...circleMarkerMethods,\n };\n\n return { options, methods };\n};\n\n/**\n * Circle component, lets you add and personalize circles on the map\n */\nvar script = {\n name: \"LCircle\",\n props: props$5,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$5(props, leafletRef, context);\n\n onMounted(async () => {\n const { circle, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circle(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript.__file = \"src/components/LCircle.vue\";\n\n/**\n * Circle Marker component, lets you add and personalize circle markers on the map\n */\nvar script$1 = {\n name: \"LCircleMarker\",\n props: props$4,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$4(props, leafletRef, context);\n\n onMounted(async () => {\n const { circleMarker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circleMarker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$1.__file = \"src/components/LCircleMarker.vue\";\n\nconst props$6 = {\n ...props,\n position: {\n type: String,\n default: \"topright\",\n },\n};\n\nconst setup$6 = (props, leafletRef) => {\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n const options = {\n ...componentOptions,\n position: props.position,\n };\n\n const methods = {\n ...componentMethods,\n setPosition(position) {\n if (leafletRef.value) {\n leafletRef.value.setPosition(position);\n }\n },\n };\n\n onUnmounted(() => {\n if (leafletRef.value) {\n leafletRef.value.remove();\n }\n });\n\n return { options, methods };\n};\n\nconst render$1 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nvar script$2 = {\n name: \"LControl\",\n props: {\n ...props$6,\n disableClickPropagation: {\n type: Boolean,\n custom: true,\n default: true,\n },\n disableScrollPropagation: {\n type: Boolean,\n custom: true,\n default: false,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$6(props, leafletRef);\n\n onMounted(async () => {\n const { Control, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const LControl = Control.extend({\n onAdd() {\n return root.value;\n },\n });\n\n leafletRef.value = new LControl(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n\n if (props.disableClickPropagation) {\n DomEvent.disableClickPropagation(root.value);\n }\n if (props.disableScrollPropagation) {\n DomEvent.disableScrollPropagation(root.value);\n }\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$1(this.$slots);\n },\n};\n\nscript$2.__file = \"src/components/LControl.vue\";\n\nconst props$7 = {\n ...props$6,\n prefix: {\n type: String,\n default: \"Vue-Leaflet\",\n custom: true,\n },\n};\n\nconst setup$7 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n prefix: props.prefix,\n };\n\n const methods = {\n ...controlMethods,\n setPrefix(prefix) {\n leafletRef.value.setPrefix(prefix);\n },\n };\n\n return { options, methods };\n};\n\nvar script$3 = {\n name: \"LControlAttribution\",\n props: props$7,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$7(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.attribution(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$3.__file = \"src/components/LControlAttribution.vue\";\n\nconst props$8 = {\n ...props$6,\n collapsed: {\n type: Boolean,\n default: true,\n },\n autoZIndex: {\n type: Boolean,\n default: true,\n },\n hideSingleBase: {\n type: Boolean,\n default: false,\n },\n sortLayers: {\n type: Boolean,\n default: false,\n },\n sortFunction: {\n type: Function,\n default: undefined,\n },\n};\n\nconst setup$8 = (props, leafletRef) => {\n const { options: controlOptions } = setup$6(props, leafletRef);\n const options = {\n ...controlOptions,\n collapsed: props.collapsed,\n autoZIndex: props.autoZIndex,\n hideSingleBase: props.hideSingleBase,\n sortLayers: props.sortLayers,\n sortFunction: props.sortFunction,\n };\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType === \"base\") {\n leafletRef.value.addBaseLayer(layer.leafletObject, layer.name);\n } else if (layer.layerType === \"overlay\") {\n leafletRef.value.addOverlay(layer.leafletObject, layer.name);\n }\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n return { options, methods };\n};\n\nvar script$4 = {\n name: \"LControlLayers\",\n props: props$8,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerLayerControl = inject(\"registerLayerControl\");\n\n const { options, methods } = setup$8(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.layers(null, null, options);\n\n propsBinder(methods, leafletRef.value, props);\n\n registerLayerControl({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$4.__file = \"src/components/LControlLayers.vue\";\n\nconst props$9 = {\n ...props$6,\n maxWidth: {\n type: Number,\n default: 100,\n },\n metric: {\n type: Boolean,\n default: true,\n },\n imperial: {\n type: Boolean,\n default: true,\n },\n updateWhenIdle: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$9 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n maxWidth: props.maxWidth,\n metric: props.metric,\n imperial: props.imperial,\n updateWhenIdle: props.updateWhenIdle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$5 = {\n name: \"LControlScale\",\n props: props$9,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$9(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.scale(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$5.__file = \"src/components/LControlScale.vue\";\n\nconst props$a = {\n ...props$6,\n zoomInText: {\n type: String,\n default: \"+\",\n },\n zoomInTitle: {\n type: String,\n default: \"Zoom in\",\n },\n zoomOutText: {\n type: String,\n default: \"-\",\n },\n zoomOutTitle: {\n type: String,\n default: \"Zoom out\",\n },\n};\n\nconst setup$a = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n zoomInText: props.zoomInText,\n zoomInTitle: props.zoomInTitle,\n zoomOutText: props.zoomOutText,\n zoomOutTitle: props.zoomOutTitle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$6 = {\n name: \"LControlZoom\",\n props: props$a,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$a(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.zoom(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$6.__file = \"src/components/LControlZoom.vue\";\n\nconst props$b = {\n ...props$1,\n};\n\nconst setup$b = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n\n const options = {\n ...layerOptions,\n };\n\n const methods = {\n ...layerMethods,\n addLayer(layer) {\n leafletRef.value.addLayer(layer.leafletObject);\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n\n provide(\"addLayer\", methods.addLayer);\n provide(\"removeLayer\", methods.removeLayer);\n\n return { options, methods };\n};\n\nconst props$c = {\n ...props$b,\n};\n\nconst setup$c = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n };\n\n return { options, methods };\n};\n\nvar script$7 = {\n props: props$c,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$c(props, leafletRef);\n\n onMounted(async () => {\n const { featureGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = featureGroup(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$7.__file = \"src/components/LFeatureGroup.vue\";\n\nconst props$d = {\n ...props$b,\n geojson: {\n type: [Object, Array],\n default: () => ({}),\n },\n};\n\nconst setup$d = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n setGeojson(newVal) {\n leafletRef.value.clearLayers();\n leafletRef.value.addData(newVal);\n },\n getGeoJSONData() {\n return leafletRef.value.toGeoJSON();\n },\n getBounds() {\n return leafletRef.value.getBounds();\n },\n };\n\n return { options, methods };\n};\n\nvar script$8 = {\n props: props$d,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$d(props, leafletRef);\n\n onMounted(async () => {\n const { geoJSON, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = geoJSON(props.geojson, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$8.__file = \"src/components/LGeoJson.vue\";\n\nconst props$e = {\n ...props$1,\n pane: {\n type: String,\n default: \"tilePane\",\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0,\n },\n zIndex: {\n type: Number,\n default: 1,\n },\n tileSize: {\n type: Number,\n default: 256,\n },\n noWrap: {\n type: Boolean,\n default: false,\n },\n minZoom: {\n type: Number,\n default: 0,\n },\n maxZoom: {\n type: Number,\n default: undefined,\n },\n};\n\nconst setup$e = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n pane: props.pane,\n opacity: props.opacity,\n zIndex: props.zIndex,\n tileSize: props.tileSize,\n noWrap: props.noWrap,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n };\n return { options, methods: { ...layerMethods } };\n};\n\nvar script$9 = {\n props: {\n ...props$e,\n childRender: {\n type: Function,\n required: true,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const tileComponents = ref({});\n const root = ref(null);\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$e(props, leafletRef, context);\n\n onMounted(async () => {\n const { GridLayer, DomEvent, DomUtil } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n methods.onUnload = (e) => {\n const key = leafletRef.value._tileCoordsToKey(e.coords);\n if (tileComponents[key]) {\n tileComponents[key].innerHTML = \"\";\n tileComponents[key] = undefined;\n }\n };\n\n methods.setTileComponent = () => {\n leafletRef.value.redraw();\n };\n\n const GLayer = GridLayer.extend({\n createTile(coords) {\n const key = leafletRef.value._tileCoordsToKey(coords);\n tileComponents[key] = DomUtil.create(\"div\");\n\n let vNode = h(\n { setup: props.childRender, props: [\"coords\"] },\n { coords }\n );\n render$3(vNode, tileComponents[key]);\n\n return tileComponents[key];\n },\n });\n\n leafletRef.value = new GLayer(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"tileunload\", methods.onUnload);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n onUnmounted(() => {\n leafletRef.value.off(\"tileunload\", methods.unLoad);\n });\n\n return { root, ready, leafletObject: leafletRef };\n },\n render() {\n if (this.ready) {\n return h(\"div\", { style: { display: \"none\" }, ref: \"root\" });\n }\n return null;\n },\n};\n\nscript$9.__file = \"src/components/LGridLayer.vue\";\n\nconst props$f = {\n iconUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n iconAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n popupAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n tooltipAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n shadowUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n shadowAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n bgPos: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n className: {\n type: String,\n custom: true,\n default: \"\",\n },\n options: {\n type: Object,\n custom: true,\n default: () => ({}),\n },\n};\n\n/**\n * Icon component, lets you add and custom icons to the map\n */\nvar script$a = {\n name: \"LIcon\",\n props: {\n ...props$f,\n ...props,\n },\n setup(props, context) {\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const canSetParentHtml = inject(\"canSetParentHtml\");\n const setParentHtml = inject(\"setParentHtml\");\n const setIcon = inject(\"setIcon\");\n\n let onDomEvent;\n let offDomEvent;\n let divIcon;\n let icon;\n let iconObject = undefined;\n\n const createIcon = (el, recreationNeeded, htmlSwapNeeded) => {\n const elHtml = el && el.innerHTML;\n if (!recreationNeeded) {\n if (htmlSwapNeeded && iconObject && canSetParentHtml()) {\n setParentHtml(elHtml);\n }\n return;\n }\n\n const listeners = remapEvents(context.attrs);\n if (iconObject) {\n offDomEvent(iconObject, listeners);\n }\n\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n iconUrl: props.iconUrl,\n iconRetinaUrl: props.iconRetinaUrl,\n iconSize: props.iconSize,\n iconAnchor: props.iconAnchor,\n popupAnchor: props.popupAnchor,\n tooltipAnchor: props.tooltipAnchor,\n shadowUrl: props.shadowUrl,\n shadowRetinaUrl: props.shadowRetinaUrl,\n shadowSize: props.shadowSize,\n shadowAnchor: props.shadowAnchor,\n bgPos: props.bgPos,\n className: props.className,\n html: elHtml || props.html,\n };\n\n iconObject = options.html ? divIcon(options) : icon(options);\n onDomEvent(iconObject, listeners);\n setIcon(iconObject);\n };\n\n const scheduleCreateIcon = () => {\n nextTick(() => createIcon(root.value, true, false));\n };\n\n const scheduleHtmlSwap = () => {\n nextTick(() => createIcon(root.value, false, true));\n };\n\n const methods = {\n setIconUrl: scheduleCreateIcon,\n setIconRetinaUrl: scheduleCreateIcon,\n setIconSize: scheduleCreateIcon,\n setIconAnchor: scheduleCreateIcon,\n setPopupAnchor: scheduleCreateIcon,\n setTooltipAnchor: scheduleCreateIcon,\n setShadowUrl: scheduleCreateIcon,\n setShadowRetinaUrl: scheduleCreateIcon,\n setShadowAnchor: scheduleCreateIcon,\n setBgPos: scheduleCreateIcon,\n setClassName: scheduleCreateIcon,\n setHtml: scheduleCreateIcon,\n };\n\n onMounted(async () => {\n const { DomEvent, divIcon: lDivIcon, icon: lIcon } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n onDomEvent = DomEvent.on;\n offDomEvent = DomEvent.off;\n divIcon = lDivIcon;\n icon = lIcon;\n\n propsBinder(methods, {}, props);\n\n const observer = new MutationObserver(scheduleHtmlSwap);\n observer.observe(root.value, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n scheduleCreateIcon();\n });\n\n return { root };\n },\n render() {\n const content = this.$slots.default ? this.$slots.default() : undefined;\n return h(\"div\", { ref: \"root\" }, content);\n },\n};\n\nscript$a.__file = \"src/components/LIcon.vue\";\n\n/**\n * @typedef {import('leaflet/dist/leaflet-src.esm.js').LatLngBounds} LatLngBounds\n */\n\nconst props$g = {\n ...props$1,\n url: {\n type: String,\n required: true,\n },\n bounds: {\n type: [Array, Object],\n required: true,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n alt: {\n type: String,\n default: \"\",\n },\n interactive: {\n type: Boolean,\n default: false,\n },\n crossOrigin: {\n type: Boolean,\n default: false,\n },\n errorOverlayUrl: {\n type: String,\n custom: true,\n default: \"\",\n },\n zIndex: {\n type: Number,\n custom: true,\n default: 1,\n },\n className: {\n type: String,\n default: \"\",\n },\n};\n\nconst setup$f = (setupProps, LeafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n setupProps,\n LeafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...setupProps,\n };\n\n const methods = {\n ...layerMethods,\n /**\n * Sets the opacity of the overlay.\n * @param {number} opacity\n */\n setOpacity(opacity) {\n return LeafletRef.value.setOpacity(opacity);\n },\n /**\n * Changes the URL of the image.\n * @param {string} url\n */\n setUrl(url) {\n return LeafletRef.value.setUrl(url);\n },\n /**\n * Update the bounds that this ImageOverlay covers\n * @param {LatLngBounds | Array>} bounds\n */\n setBounds(bounds) {\n return LeafletRef.value.setBounds(bounds);\n },\n /**\n * Get the bounds that this ImageOverlay covers\n * @returns {LatLngBounds}\n */\n getBounds() {\n return LeafletRef.value.getBounds();\n },\n /**\n * Returns the instance of HTMLImageElement used by this overlay.\n * @returns {HTMLElement}\n */\n getElement() {\n return LeafletRef.value.getElement();\n },\n /**\n * Brings the layer to the top of all overlays.\n */\n bringToFront() {\n return LeafletRef.value.bringToFront();\n },\n /**\n * Brings the layer to the bottom of all overlays.\n */\n bringToBack() {\n return LeafletRef.value.bringToBack();\n },\n /**\n * Changes the zIndex of the image overlay.\n * @param {number} zIndex\n */\n setZIndex(zIndex) {\n return LeafletRef.value.setZIndex(zIndex);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * ImageOverlay component, render a plain image instead of a geospatial map.\n */\nvar script$b = {\n name: \"LImageOverlay\",\n props: props$g,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$f(props, leafletRef, context);\n\n onMounted(async () => {\n const { imageOverlay, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = imageOverlay(props.url, props.bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$b.__file = \"src/components/LImageOverlay.vue\";\n\nvar script$c = {\n props: props$b,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods } = setup$b(props, leafletRef, context);\n\n onMounted(async () => {\n const { layerGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = layerGroup(props.options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$c.__file = \"src/components/LLayerGroup.vue\";\n\nvar script$d = {\n emits: [\"ready\", \"update:zoom\", \"update:center\", \"update:bounds\"],\n props: {\n ...props,\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n default: () => [0, 0],\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n default: undefined,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n default: undefined,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n default: undefined,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The CRS to use for the map. Can be an object that defines a coordinate reference\n * system for projecting geographical points into screen coordinates and back\n * (see https://leafletjs.com/reference-1.7.1.html#crs-l-crs-base), or a string\n * name identifying one of Leaflet's defined CRSs, such as \"EPSG4326\".\n */\n crs: {\n type: [String, Object],\n default: \"EPSG3857\",\n },\n maxBoundsViscosity: {\n type: Number,\n default: undefined,\n },\n inertia: {\n type: Boolean,\n default: undefined,\n },\n inertiaDeceleration: {\n type: Number,\n default: undefined,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: undefined,\n },\n easeLinearity: {\n type: Number,\n default: undefined,\n },\n zoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: undefined,\n },\n fadeAnimation: {\n type: Boolean,\n default: undefined,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n useGlobalLeaflet: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, context) {\n const root = ref(null);\n const blueprint = reactive({\n ready: false,\n leafletRef: {},\n layersToAdd: [],\n layersInControl: [],\n });\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n maxBounds: props.maxBounds,\n maxBoundsViscosity: props.maxBoundsViscosity,\n worldCopyJump: props.worldCopyJump,\n crs: props.crs,\n center: props.center,\n zoom: props.zoom,\n inertia: props.inertia,\n inertiaDeceleration: props.inertiaDeceleration,\n inertiaMaxSpeed: props.inertiaMaxSpeed,\n easeLinearity: props.easeLinearity,\n zoomAnimation: props.zoomAnimation,\n zoomAnimationThreshold: props.zoomAnimationThreshold,\n fadeAnimation: props.fadeAnimation,\n markerZoomAnimation: props.markerZoomAnimation,\n };\n\n const addLayer = provideLeafletWrapper(\"addLayer\");\n const removeLayer = provideLeafletWrapper(\"removeLayer\");\n const registerControl = provideLeafletWrapper(\"registerControl\");\n const registerLayerControl = provideLeafletWrapper(\"registerLayerControl\");\n provide(GLOBAL_LEAFLET_OPT, props.useGlobalLeaflet);\n\n const eventHandlers = {\n moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n context.emit(\"update:zoom\", blueprint.leafletRef.getZoom());\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n context.emit(\"update:center\", blueprint.leafletRef.getCenter());\n\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n context.emit(\"update:bounds\", blueprint.leafletRef.getBounds());\n },\n overlayAddHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n };\n\n onMounted(async () => {\n if (props.useGlobalLeaflet) {\n WINDOW_OR_GLOBAL.L = WINDOW_OR_GLOBAL.L || (await import('leaflet'));\n }\n const {\n map,\n CRS,\n Icon,\n latLngBounds,\n latLng,\n DomEvent,\n } = props.useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n try {\n options.beforeMapMount && (await options.beforeMapMount());\n } catch (error) {\n console.error(\n `The following error occurred running the provided beforeMapMount hook ${error.message}`\n );\n }\n\n await resetWebpackIcon(Icon);\n\n const optionsCrs =\n typeof options.crs == \"string\" ? CRS[options.crs] : options.crs;\n options.crs = optionsCrs || CRS.EPSG3857;\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd.push(layer);\n } else {\n const exist = blueprint.layersInControl.find(\n (l) =>\n l.leafletObject._leaflet_id ===\n layer.leafletObject._leaflet_id\n );\n if (!exist) {\n blueprint.layerControl.addLayer(layer);\n blueprint.layersInControl.push(layer);\n }\n }\n }\n if (layer.visible !== false) {\n blueprint.leafletRef.addLayer(layer.leafletObject);\n }\n },\n removeLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd = blueprint.layersToAdd.filter(\n (l) => l.name !== layer.name\n );\n } else {\n blueprint.layerControl.removeLayer(layer.leafletObject);\n blueprint.layersInControl = blueprint.layersInControl.filter(\n (l) =>\n l.leafletObject._leaflet_id !==\n layer.leafletObject._leaflet_id\n );\n }\n }\n blueprint.leafletRef.removeLayer(layer.leafletObject);\n },\n\n registerLayerControl(lControlLayer) {\n blueprint.layerControl = lControlLayer;\n blueprint.layersToAdd.forEach((layer) => {\n blueprint.layerControl.addLayer(layer);\n });\n blueprint.layersToAdd = [];\n\n registerControl(lControlLayer);\n },\n\n registerControl(lControl) {\n blueprint.leafletRef.addControl(lControl.leafletObject);\n },\n\n setZoom(newVal) {\n const zoom = blueprint.leafletRef.getZoom();\n if (newVal !== zoom) {\n blueprint.leafletRef.setZoom(newVal, {\n animate: props.noBlockingAnimations ? false : null,\n });\n }\n },\n\n setPaddingBottomRight(newVal) {\n blueprint.paddingBottomRight = newVal;\n },\n setPaddingTopLeft(newVal) {\n blueprint.paddingTopLeft = newVal;\n },\n setPadding(newVal) {\n blueprint.padding = newVal;\n },\n setCrs(newVal) {\n const prevBounds = blueprint.leafletRef.getBounds();\n blueprint.leafletRef.options.crs = newVal;\n blueprint.leafletRef.fitBounds(prevBounds, {\n animate: false,\n padding: [0, 0],\n });\n },\n fitBounds(bounds) {\n blueprint.leafletRef.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setBounds(newVal) {\n if (!newVal) {\n return;\n }\n const newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n const oldBounds =\n blueprint.lastSetBounds || blueprint.leafletRef.getBounds();\n const boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n blueprint.lastSetBounds = newBounds;\n blueprint.leafletRef.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n\n setCenter(newVal) {\n if (newVal == null) {\n return;\n }\n const newCenter = latLng(newVal);\n const oldCenter =\n blueprint.lastSetCenter || blueprint.leafletRef.getCenter();\n if (\n oldCenter.lat !== newCenter.lat ||\n oldCenter.lng !== newCenter.lng\n ) {\n blueprint.lastSetCenter = newCenter;\n blueprint.leafletRef.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n };\n\n updateLeafletWrapper(addLayer, methods.addLayer);\n updateLeafletWrapper(removeLayer, methods.removeLayer);\n updateLeafletWrapper(registerControl, methods.registerControl);\n updateLeafletWrapper(registerLayerControl, methods.registerLayerControl);\n\n blueprint.leafletRef = map(root.value, options);\n\n propsBinder(methods, blueprint.leafletRef, props);\n const listeners = remapEvents(context.attrs);\n\n blueprint.leafletRef.on(\n \"moveend\",\n debounce(eventHandlers.moveEndHandler, 100)\n );\n blueprint.leafletRef.on(\"overlayadd\", eventHandlers.overlayAddHandler);\n blueprint.leafletRef.on(\n \"overlayremove\",\n eventHandlers.overlayRemoveHandler\n );\n DomEvent.on(blueprint.leafletRef, listeners);\n blueprint.ready = true;\n nextTick(() => context.emit(\"ready\", blueprint.leafletRef));\n });\n\n onBeforeUnmount(() => {\n if (blueprint.leafletRef) {\n blueprint.leafletRef.remove();\n }\n });\n\n const leafletObject = computed(() => blueprint.leafletRef);\n const ready = computed(() => blueprint.ready);\n return { root, ready, leafletObject };\n },\n render() {\n return h(\n \"div\",\n { style: { width: \"100%\", height: \"100%\" }, ref: \"root\" },\n this.ready ? this.$slots.default() : {}\n );\n },\n};\n\nscript$d.__file = \"src/components/LMap.vue\";\n\nconst props$h = {\n ...props$1,\n pane: {\n type: String,\n default: \"markerPane\",\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n default: () => undefined,\n custom: false,\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n};\n\nconst setup$g = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerMethods,\n setDraggable(value) {\n if (leafletRef.value.dragging) {\n value\n ? leafletRef.value.dragging.enable()\n : leafletRef.value.dragging.disable();\n }\n },\n latLngSync(event) {\n context.emit(\"update:latLng\", event.latlng);\n context.emit(\"update:lat-lng\", event.latlng);\n },\n setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (leafletRef.value) {\n const oldLatLng = leafletRef.value.getLatLng();\n if (!oldLatLng || !oldLatLng.equals(newVal)) {\n leafletRef.value.setLatLng(newVal);\n }\n }\n },\n };\n return { options, methods };\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script$e = {\n name: \"LMarker\",\n props: props$h,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n provide(\"canSetParentHtml\", () => !!leafletRef.value.getElement());\n provide(\n \"setParentHtml\",\n (html) => (leafletRef.value.getElement().innerHTML = html)\n );\n provide(\n \"setIcon\",\n (newIcon) => leafletRef.value.setIcon && leafletRef.value.setIcon(newIcon)\n );\n const { options, methods } = setup$g(props, leafletRef, context);\n if (options.icon === undefined) {\n // If the options objection has a property named 'icon', then Leaflet will overwrite\n // the default icon with it for the marker, _even if it is undefined_.\n // This leads to the issue discussed in https://github.com/vue-leaflet/vue-leaflet/issues/130\n delete options.icon;\n }\n\n onMounted(async () => {\n const { marker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = marker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"move\", debounce(methods.latLngSync, 100));\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$e.__file = \"src/components/LMarker.vue\";\n\nconst props$i = {\n ...props$3,\n latLngs: {\n type: Array,\n default: () => [],\n },\n smoothFactor: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n noClip: {\n type: Boolean,\n custom: true,\n default: false,\n },\n};\n\nconst setup$h = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n\n const methods = {\n ...pathMethods,\n setSmoothFactor(smoothFactor) {\n leafletRef.value.setStyle({ smoothFactor });\n },\n setNoClip(noClip) {\n leafletRef.value.setStyle({ noClip });\n },\n addLatLng(latLng) {\n leafletRef.value.addLatLng(latLng);\n },\n };\n return { options, methods };\n};\n\nconst props$j = {\n ...props$i,\n};\n\nconst setup$i = (props, leafletRef, context) => {\n const { options: polylineOptions, methods: polylineMethods } = setup$h(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polylineOptions,\n ...props,\n };\n\n const methods = {\n ...polylineMethods,\n toGeoJSON(precision) {\n return leafletRef.value.toGeoJSON(precision);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Polygon component, lets you add and customize polygon regions on the map\n */\nvar script$f = {\n name: \"LPolygon\",\n props: props$j,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$i(props, leafletRef, context);\n\n onMounted(async () => {\n const { polygon, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polygon(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$f.__file = \"src/components/LPolygon.vue\";\n\n/**\n * Polyline component, lets you add and personalize polylines on the map\n */\nvar script$g = {\n name: \"LPolyline\",\n props: props$i,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$h(props, leafletRef, context);\n\n onMounted(async () => {\n const { polyline, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polyline(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$g.__file = \"src/components/LPolyline.vue\";\n\nconst props$k = {\n ...props,\n content: {\n type: String,\n default: null,\n },\n};\n\nconst setup$j = (props, leafletRef) => {\n const { options, methods: componentMethods } = setup(props);\n const methods = {\n ...componentMethods,\n setContent(newVal) {\n if (leafletRef.value && newVal !== null && newVal !== undefined) {\n leafletRef.value.setContent(newVal);\n }\n },\n };\n return { options, methods };\n};\n\nconst render$2 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nconst props$l = {\n ...props$k,\n latLng: {\n type: [Object, Array],\n default: () => [],\n },\n};\n\nconst setup$k = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindPopup = inject(\"unbindPopup\");\n\n onBeforeUnmount(() => {\n unbindPopup();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a popup on the map\n */\nvar script$h = {\n name: \"LPopup\",\n props: props$l,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindPopup = inject(\"bindPopup\");\n\n const { options, methods } = setup$k(props, leafletRef);\n\n onMounted(async () => {\n const { popup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = popup(options);\n\n if (props.latLng !== undefined) {\n leafletRef.value.setLatLng(props.latLng);\n }\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindPopup({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$h.__file = \"src/components/LPopup.vue\";\n\nconst props$m = {\n ...props$j,\n bounds: {\n type: Array,\n default: undefined,\n },\n};\n\nconst setup$l = (props, leafletRef, context) => {\n const { options: polygonOptions, methods: polygonMethods } = setup$i(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polygonOptions,\n ...props,\n };\n\n const methods = {\n ...polygonMethods,\n setBounds(latLngBounds) {\n leafletRef.value.setBounds(latLngBounds);\n },\n setLatLngs(latLngs) {\n // Calling setLatLngs on a Leaflet rectangle will convert it\n // to a polygon. So instead, we call setBounds here to ensure\n // that the rectangle remains a rectangle, defined by the\n // bounds of the points in the latLngs array.\n leafletRef.value.setBounds(latLngs);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Rectangle component, lets you add and customize rectangular regions on the map\n */\nvar script$i = {\n name: \"LRectangle\",\n props: props$m,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$l(props, leafletRef, context);\n\n onMounted(async () => {\n const { rectangle, latLngBounds, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const bounds =\n props.bounds && props.bounds.length\n ? latLngBounds(props.bounds)\n : latLngBounds(props.latLngs);\n leafletRef.value = rectangle(bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$i.__file = \"src/components/LRectangle.vue\";\n\nconst props$n = {\n ...props$e,\n tms: {\n type: Boolean,\n default: false,\n },\n subdomains: {\n type: String,\n default: \"abc\",\n },\n detectRetina: {\n type: Boolean,\n default: false,\n },\n url: {\n type: String,\n default: null,\n },\n};\n\nconst setup$m = (props, leafletRef) => {\n const {\n options: gridLayerOptions,\n methods: gridLayerMethods,\n } = setup$e(props, leafletRef);\n const options = {\n ...gridLayerOptions,\n tms: props.tms,\n subdomains: props.subdomains,\n detectRetina: props.detectRetina,\n };\n return {\n options,\n methods: {\n ...gridLayerMethods,\n },\n };\n};\n\nvar script$j = {\n props: props$n,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$m(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = tileLayer(props.url, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { leafletObject: leafletRef };\n },\n render() {\n return null;\n },\n};\n\nscript$j.__file = \"src/components/LTileLayer.vue\";\n\nconst props$o = {\n ...props$k,\n};\n\nconst setup$n = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindTooltip = inject(\"unbindTooltip\");\n\n onBeforeUnmount(() => {\n unbindTooltip();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a tooltip on the map\n */\nvar script$k = {\n name: \"LTooltip\",\n props: props$o,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindTooltip = inject(\"bindTooltip\");\n\n const { options, methods } = setup$n(props, leafletRef);\n\n onMounted(async () => {\n const { tooltip, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tooltip(options);\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindTooltip({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$k.__file = \"src/components/LTooltip.vue\";\n\nconst props$p = {\n ...props$n,\n baseUrl: {\n type: String,\n default: null,\n required: true,\n },\n layers: {\n type: String,\n default: \"\",\n },\n styles: {\n type: String,\n default: \"\",\n },\n format: {\n type: String,\n default: \"image/jpeg\",\n },\n transparent: {\n type: Boolean,\n custom: false,\n },\n version: {\n type: String,\n default: \"1.1.1\",\n },\n crs: {\n default: null,\n },\n upperCase: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$o = (props, leafletRef) => {\n const {\n options: tileLayerOptions,\n methods: tileLayerMethods,\n } = setup$m(props, leafletRef);\n const options = {\n ...tileLayerOptions,\n layers: props.layers,\n styles: props.styles,\n format: props.format,\n transparent: props.transparent,\n version: props.version,\n crs: props.crs,\n upperCase: props.upperCase,\n };\n return {\n options,\n methods: {\n ...tileLayerMethods,\n },\n };\n};\n\nvar script$l = {\n props: props$p,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$o(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tileLayer.wms(props.baseUrl, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$l.__file = \"src/components/LWmsTileLayer.vue\";\n\nexport { script as LCircle, script$1 as LCircleMarker, script$2 as LControl, script$3 as LControlAttribution, script$4 as LControlLayers, script$5 as LControlScale, script$6 as LControlZoom, script$7 as LFeatureGroup, script$8 as LGeoJson, script$9 as LGridLayer, script$a as LIcon, script$b as LImageOverlay, script$c as LLayerGroup, script$d as LMap, script$e as LMarker, script$f as LPolygon, script$g as LPolyline, script$h as LPopup, script$i as LRectangle, script$j as LTileLayer, script$k as LTooltip, script$l as LWmsTileLayer };\n//# sourceMappingURL=vue-leaflet.esm.js.map\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-225fffcc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-form\" }\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"form-item-radio\"\n}\nconst _hoisted_5 = [\"checked\", \"disabled\"]\nconst _hoisted_6 = { for: \"withGpx\" }\nconst _hoisted_7 = [\"checked\", \"disabled\"]\nconst _hoisted_8 = { for: \"withoutGpx\" }\nconst _hoisted_9 = { class: \"form-item\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = {\n key: 1,\n class: \"form-item\"\n}\nconst _hoisted_13 = { for: \"gpxFile\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { class: \"files-help info-box\" }\nconst _hoisted_16 = {\n key: 2,\n class: \"form-item\"\n}\nconst _hoisted_17 = { for: \"title\" }\nconst _hoisted_18 = [\"required\", \"disabled\"]\nconst _hoisted_19 = { key: 3 }\nconst _hoisted_20 = { class: \"workout-date-duration\" }\nconst _hoisted_21 = { class: \"form-item\" }\nconst _hoisted_22 = { class: \"workout-date-time\" }\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = [\"disabled\"]\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = { class: \"form-item\" }\nconst _hoisted_32 = [\"disabled\"]\nconst _hoisted_33 = { class: \"form-item\" }\nconst _hoisted_34 = { key: 1 }\nconst _hoisted_35 = {\n key: 2,\n class: \"form-buttons\"\n}\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = [\"onClick\"]\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n withDefaults,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, IWorkoutForm } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n import { getReadableFileSize } from '@/utils/files'\n import { translateSports } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n isCreation?: boolean\n loading?: boolean\n workout?: IWorkout\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null,\n isCreation: { default: false },\n loading: { default: false },\n workout: { default: () => ({} as IWorkout) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, sports: ISport[], isCreation: boolean, loading: boolean, workout: IWorkout }\n\n \n\n const { t } = useI18n()\n const store = useStore()\n const router = useRouter()\n\n const { authUser, workout, isCreation, loading } = toRefs(props)\n const translatedSports: ComputedRef = computed(() =>\n translateSports(\n props.sports,\n t,\n true,\n workout.value.id ? [workout.value.sport_id] : null\n )\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n const gpx_limit_import = appConfig.value.gpx_limit_import\n const zipSizeLimit = appConfig.value.max_zip_file_size\n ? getReadableFileSize(appConfig.value.max_zip_file_size)\n : ''\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const workoutForm = reactive({\n sport_id: '',\n title: '',\n notes: '',\n workoutDate: '',\n workoutTime: '',\n workoutDurationHour: '',\n workoutDurationMinutes: '',\n workoutDurationSeconds: '',\n workoutDistance: '',\n })\n let withGpx = ref(\n props.workout.id ? props.workout.with_gpx : props.isCreation\n )\n let gpxFile: File | null = null\n const formErrors = ref(false)\n\n onMounted(() => {\n if (props.workout.id) {\n formatWorkoutForm(props.workout)\n }\n })\n\n function updateNotes(value: string) {\n workoutForm.notes = value\n }\n function updateWithGpx() {\n withGpx.value = !withGpx.value\n formErrors.value = false\n }\n function updateFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n gpxFile = event.target.files[0]\n }\n }\n function formatWorkoutForm(workout: IWorkout) {\n workoutForm.sport_id = `${workout.sport_id}`\n workoutForm.title = workout.title\n workoutForm.notes = workout.notes\n if (!workout.with_gpx) {\n const workoutDateTime = formatWorkoutDate(\n getDateWithTZ(workout.workout_date, props.authUser.timezone),\n 'yyyy-MM-dd'\n )\n const duration = workout.duration.split(':')\n workoutForm.workoutDistance = `${\n authUser.value.imperial_units\n ? convertDistance(workout.distance, 'km', 'mi', 2)\n : parseFloat(workout.distance.toFixed(2))\n }`\n workoutForm.workoutDate = workoutDateTime.workout_date\n workoutForm.workoutTime = workoutDateTime.workout_time\n workoutForm.workoutDurationHour = duration[0]\n workoutForm.workoutDurationMinutes = duration[1]\n workoutForm.workoutDurationSeconds = duration[2]\n }\n }\n function formatPayload(payload: IWorkoutForm) {\n payload.title = workoutForm.title\n payload.distance = authUser.value.imperial_units\n ? convertDistance(+workoutForm.workoutDistance, 'mi', 'km', 3)\n : +workoutForm.workoutDistance\n payload.duration =\n +workoutForm.workoutDurationHour * 3600 +\n +workoutForm.workoutDurationMinutes * 60 +\n +workoutForm.workoutDurationSeconds\n payload.workout_date = `${workoutForm.workoutDate} ${workoutForm.workoutTime}`\n }\n function updateWorkout() {\n const payload: IWorkoutForm = {\n sport_id: +workoutForm.sport_id,\n notes: workoutForm.notes,\n }\n if (props.workout.id) {\n if (props.workout.with_gpx) {\n payload.title = workoutForm.title\n } else {\n formatPayload(payload)\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT, {\n workoutId: props.workout.id,\n data: payload,\n })\n } else {\n if (withGpx.value) {\n if (!gpxFile) {\n const errorMessage = 'workouts.NO_FILE_PROVIDED'\n store.commit(ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES, errorMessage)\n return\n }\n payload.file = gpxFile\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT, payload)\n } else {\n formatPayload(payload)\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX, payload)\n }\n }\n }\n function onCancel() {\n if (props.workout.id) {\n router.push({\n name: 'Workout',\n params: { workoutId: props.workout.id },\n })\n } else {\n router.go(-1)\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => props.workout,\n async (\n newWorkout: IWorkout | undefined,\n previousWorkout: IWorkout | undefined\n ) => {\n if (newWorkout !== previousWorkout && newWorkout && newWorkout.id) {\n formatWorkoutForm(newWorkout)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"workout-edition\",\n class: _normalizeClass([\"center-card center-card with-margin\", { 'center-form': _unref(workout) && _unref(workout).with_gpx }])\n }, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`workouts.${_unref(isCreation) ? 'ADD' : 'EDIT'}_WORKOUT`)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateWorkout, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isCreation))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withGpx\",\n type: \"radio\",\n checked: _unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_5),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.WITH_GPX')), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withoutGpx\",\n type: \"radio\",\n checked: !_unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_7),\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.WITHOUT_GPX')), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \": \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"sport\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(workoutForm).sport_id) = $event))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_11))\n }), 128))\n ], 40, _hoisted_10), [\n [_vModelSelect, _unref(workoutForm).sport_id]\n ])\n ]),\n (_unref(isCreation) && _unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \" \" + _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE_DESCRIPTION')) + \": \", 1),\n _createElementVNode(\"input\", {\n id: \"gpxFile\",\n name: \"gpxFile\",\n type: \"file\",\n accept: \".gpx, .zip\",\n disabled: _unref(loading),\n required: \"\",\n onInvalid: invalidateForm,\n onInput: updateFile\n }, null, 40, _hoisted_14),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.NO_FOLDER')), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_FILES')) + \": \" + _toDisplayString(_unref(gpx_limit_import)), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(zipSizeLimit)), 1)\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString(_ctx.$t('workouts.TITLE')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"title\",\n name: \"title\",\n type: \"text\",\n required: !_unref(isCreation),\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(workoutForm).title) = $event))\n }, null, 40, _hoisted_18), [\n [_vModelText, _unref(workoutForm).title]\n ])\n ])),\n (!_unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT_DATE')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_22, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-date\",\n name: \"workout-date\",\n type: \"date\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(workoutForm).workoutDate) = $event))\n }, null, 40, _hoisted_23), [\n [_vModelText, _unref(workoutForm).workoutDate]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-time\",\n name: \"workout-time\",\n class: \"workout-time\",\n type: \"time\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(workoutForm).workoutTime) = $event))\n }, null, 40, _hoisted_24), [\n [_vModelText, _unref(workoutForm).workoutTime]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \":\", 1),\n _createElementVNode(\"div\", null, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-hour\",\n name: \"workout-duration-hour\",\n class: \"workout-duration\",\n type: \"text\",\n placeholder: \"HH\",\n pattern: \"^([0-1]?[0-9]|2[0-3])$\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(workoutForm).workoutDurationHour) = $event))\n }, null, 40, _hoisted_26), [\n [_vModelText, _unref(workoutForm).workoutDurationHour]\n ]),\n _hoisted_27,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-minutes\",\n name: \"workout-duration-minutes\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"MM\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(workoutForm).workoutDurationMinutes) = $event))\n }, null, 40, _hoisted_28), [\n [_vModelText, _unref(workoutForm).workoutDurationMinutes]\n ]),\n _hoisted_29,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-seconds\",\n name: \"workout-duration-seconds\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"SS\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(workoutForm).workoutDurationSeconds) = $event))\n }, null, 40, _hoisted_30), [\n [_vModelText, _unref(workoutForm).workoutDurationSeconds]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(authUser).imperial_units ? 'mi' : 'km') + \"): \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n name: \"workout-distance\",\n type: \"number\",\n min: \"0\",\n step: \"0.001\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(workoutForm).workoutDistance) = $event))\n }, null, 40, _hoisted_32), [\n [_vModelText, _unref(workoutForm).workoutDistance]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.NOTES')) + \": \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"notes\",\n input: _unref(workoutForm).notes,\n disabled: _unref(loading),\n onUpdateValue: updateNotes\n }, null, 8, [\"input\", \"disabled\"])\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(loading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_Loader)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: _unref(loading)\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_36),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_37)\n ]))\n ], 42, _hoisted_2)\n ])\n ]),\n _: 1\n })\n ], 2))\n}\n}\n\n})","import script from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutEdition.vue?vue&type=style&index=0&id=225fffcc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-225fffcc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"add-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { ComputedRef, computed } from 'vue'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n isCreation: true,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=82a367b0&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Workout.vue?vue&type=style&index=0&id=a8e74d78&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"edit-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { computed, watch, onBeforeMount, ComputedRef } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\n onBeforeMount(() => {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: route.params.workoutId,\n })\n })\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (!newWorkoutId) {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n workout: _unref(workoutData).workout,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"workout\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = arraySlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n var dummy = this;\n // check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutNotes.vue?vue&type=style&index=0&id=6dd0f3c4&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).toGeoJSON={})}(this,(function(e){\"use strict\";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||\"\"}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const s=n(e,\"line\");if(s){const e=t(n(s,\"color\")),r=parseFloat(t(n(s,\"opacity\"))),i=parseFloat(t(n(s,\"width\")));e&&(o.stroke=e),isNaN(r)||(o[\"stroke-opacity\"]=r),isNaN(i)||(o[\"stroke-width\"]=96*i/25.4)}}return o}function s(e,o){const s={};let r,i;for(i=0;i1,g=Object.assign(r(e),o(n(e,\"extensions\")),{_gpxType:\"trk\"},i.length?{coordinateProperties:{times:c?i:i[0]}}:{});for(let e=0;enew Array(e.line.length).fill(null)))),t[n][e]=o):t[n]=o}}return{type:\"Feature\",properties:g,geometry:c?{type:\"MultiLineString\",coordinates:s}:{type:\"LineString\",coordinates:s[0]}}}function*g(e){const t=e.getElementsByTagName(\"trk\"),n=e.getElementsByTagName(\"rte\"),o=e.getElementsByTagName(\"wpt\");for(let e=0;eArray(e.length).fill(null)))),c[n][e]=t[n])}if(0!==s.length)return(r.length||i.length)&&(c.coordinateProperties=Object.assign(r.length?{times:1===s.length?r[0]:r}:{},i.length?{heart:1===s.length?i[0]:i}:{})),{type:\"Feature\",properties:c,geometry:{type:1===s.length?\"LineString\":\"MultiLineString\",coordinates:1===s.length?s[0]:s}}}function*y(e){const t=e.getElementsByTagName(\"Lap\");for(let e=0;e Date: Sun, 28 Nov 2021 15:35:27 +0100 Subject: [PATCH 4/5] [Client] workout - update legend style --- fittrackee/dist/index.html | 2 +- ...manifest.2e2eb84e4accc8b7d67ca2003d6f2c3d.js} | 16 ++++++++-------- fittrackee/dist/service-worker.js | 2 +- ...rkouts.9ff3dd7d.css => workouts.197ab953.css} | 2 +- .../js/{app.43c2e954.js => app.b027dbd7.js} | 4 ++-- .../{app.43c2e954.js.map => app.b027dbd7.js.map} | 2 +- ...workouts.ffc990d6.js => workouts.1c155cb9.js} | 4 ++-- .../dist/static/js/workouts.1c155cb9.js.map | 1 + .../dist/static/js/workouts.ffc990d6.js.map | 1 - .../Workout/WorkoutDetail/WorkoutChart/index.vue | 4 ++-- 10 files changed, 19 insertions(+), 19 deletions(-) rename fittrackee/dist/{precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js => precache-manifest.2e2eb84e4accc8b7d67ca2003d6f2c3d.js} (94%) rename fittrackee/dist/static/css/{workouts.9ff3dd7d.css => workouts.197ab953.css} (66%) rename fittrackee/dist/static/js/{app.43c2e954.js => app.b027dbd7.js} (99%) rename fittrackee/dist/static/js/{app.43c2e954.js.map => app.b027dbd7.js.map} (99%) rename fittrackee/dist/static/js/{workouts.ffc990d6.js => workouts.1c155cb9.js} (80%) create mode 100644 fittrackee/dist/static/js/workouts.1c155cb9.js.map delete mode 100644 fittrackee/dist/static/js/workouts.ffc990d6.js.map diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 50102022..c99e7129 100644 --- a/fittrackee/dist/index.html +++ b/fittrackee/dist/index.html @@ -1 +1 @@ -FitTrackee
\ No newline at end of file +FitTrackee
\ No newline at end of file diff --git a/fittrackee/dist/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js b/fittrackee/dist/precache-manifest.2e2eb84e4accc8b7d67ca2003d6f2c3d.js similarity index 94% rename from fittrackee/dist/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js rename to fittrackee/dist/precache-manifest.2e2eb84e4accc8b7d67ca2003d6f2c3d.js index 47ea34c5..19f3129b 100644 --- a/fittrackee/dist/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js +++ b/fittrackee/dist/precache-manifest.2e2eb84e4accc8b7d67ca2003d6f2c3d.js @@ -64,7 +64,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/img/workouts/mountains.svg" }, { - "revision": "c065bda31fabb8bd912a8fc5f66f14ae", + "revision": "3b09ea8a7fce0c991aee2536ab72be32", "url": "/index.html" }, { @@ -80,7 +80,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/admin.babfd43e.css" }, { - "revision": "bbd04e90c9b70bc8544d", + "revision": "5db8c0a17e329affd1b3", "url": "/static/css/app.2b8c39ab.css" }, { @@ -108,8 +108,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/reset.46776e72.css" }, { - "revision": "7abb1002f1d525a1d397", - "url": "/static/css/workouts.9ff3dd7d.css" + "revision": "c5e16df5dc480079541e", + "url": "/static/css/workouts.197ab953.css" }, { "revision": "e719f9244c69e28e7d00e725ca1e280e", @@ -196,8 +196,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/admin.2f1d393d.js" }, { - "revision": "bbd04e90c9b70bc8544d", - "url": "/static/js/app.43c2e954.js" + "revision": "5db8c0a17e329affd1b3", + "url": "/static/js/app.b027dbd7.js" }, { "revision": "bd7d183c9f68e5f4027d", @@ -240,7 +240,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/reset.518e646f.js" }, { - "revision": "7abb1002f1d525a1d397", - "url": "/static/js/workouts.ffc990d6.js" + "revision": "c5e16df5dc480079541e", + "url": "/static/js/workouts.1c155cb9.js" } ]); \ No newline at end of file diff --git a/fittrackee/dist/service-worker.js b/fittrackee/dist/service-worker.js index f17d3abb..77f061f3 100644 --- a/fittrackee/dist/service-worker.js +++ b/fittrackee/dist/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.7a688b22d6dc13ea332d48fd328e009f.js" + "/precache-manifest.2e2eb84e4accc8b7d67ca2003d6f2c3d.js" ); workbox.core.setCacheNameDetails({prefix: "fittrackee_client"}); diff --git a/fittrackee/dist/static/css/workouts.9ff3dd7d.css b/fittrackee/dist/static/css/workouts.197ab953.css similarity index 66% rename from fittrackee/dist/static/css/workouts.9ff3dd7d.css rename to fittrackee/dist/static/css/workouts.197ab953.css index bd0931a7..52c1e7ee 100644 --- a/fittrackee/dist/static/css/workouts.9ff3dd7d.css +++ b/fittrackee/dist/static/css/workouts.197ab953.css @@ -1 +1 @@ -[data-v-06d30f25]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-06d30f25]{margin:0}#app[data-v-06d30f25]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-06d30f25]{color:var(--app-a-color);text-decoration:none}img[data-v-06d30f25]{max-width:100%}input[data-v-06d30f25],select[data-v-06d30f25],textarea[data-v-06d30f25]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-06d30f25]:disabled,select[data-v-06d30f25]:disabled,textarea[data-v-06d30f25]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-06d30f25] :invalid{outline:2px solid var(--input-error-color)}label[data-v-06d30f25]{font-weight:700}button[data-v-06d30f25]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-06d30f25]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-06d30f25]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-06d30f25]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-06d30f25]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-06d30f25]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-06d30f25]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-06d30f25]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-06d30f25]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-06d30f25]{display:flex;flex-direction:column}.form-box .form-items input[data-v-06d30f25]{margin:10px;padding:5px}.upper[data-v-06d30f25]{text-transform:uppercase}.view[data-v-06d30f25]{padding-bottom:35px}.fa-trophy[data-v-06d30f25]{color:var(--workout-trophy-color)}.mountains[data-v-06d30f25]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-06d30f25]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-06d30f25]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-06d30f25]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-06d30f25]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-06d30f25]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-06d30f25]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-06d30f25]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-06d30f25]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-06d30f25]{font-weight:700}.description-list dl dd[data-v-06d30f25]{margin-bottom:10px}.center-card[data-v-06d30f25]{margin:0 auto;width:700px}.center-card.with-margin[data-v-06d30f25]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-06d30f25]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-06d30f25]{margin-top:0}}.text-center[data-v-06d30f25]{text-align:center}.text-left[data-v-06d30f25]{text-align:left}.responsive-table[data-v-06d30f25]{margin-bottom:15px}.responsive-table table[data-v-06d30f25]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-06d30f25]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-06d30f25]{font-size:.95em}.responsive-table table tbody td[data-v-06d30f25]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:none}.responsive-table table .cell-heading[data-v-06d30f25]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-06d30f25]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-06d30f25]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-06d30f25]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-06d30f25]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-06d30f25]{width:100%}}.profile-buttons[data-v-06d30f25]{display:flex;gap:10px}.medium-sport-img[data-v-06d30f25]{height:35px;width:35px;margin:0 auto}.workouts-filters .form[data-v-06d30f25]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-06d30f25]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-06d30f25]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-06d30f25]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-06d30f25]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-06d30f25]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-06d30f25]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:75%}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-06d30f25]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:wrap}}[data-v-1ba1a972]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-1ba1a972]{margin:0}#app[data-v-1ba1a972]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-1ba1a972]{color:var(--app-a-color);text-decoration:none}img[data-v-1ba1a972]{max-width:100%}input[data-v-1ba1a972],select[data-v-1ba1a972],textarea[data-v-1ba1a972]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-1ba1a972]:disabled,select[data-v-1ba1a972]:disabled,textarea[data-v-1ba1a972]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-1ba1a972] :invalid{outline:2px solid var(--input-error-color)}label[data-v-1ba1a972]{font-weight:700}button[data-v-1ba1a972]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-1ba1a972]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-1ba1a972]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-1ba1a972]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-1ba1a972]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-1ba1a972]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-1ba1a972]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-1ba1a972]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-1ba1a972]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-1ba1a972]{display:flex;flex-direction:column}.form-box .form-items input[data-v-1ba1a972]{margin:10px;padding:5px}.upper[data-v-1ba1a972]{text-transform:uppercase}.view[data-v-1ba1a972]{padding-bottom:35px}.fa-trophy[data-v-1ba1a972]{color:var(--workout-trophy-color)}.mountains[data-v-1ba1a972]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-1ba1a972]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-1ba1a972]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-1ba1a972]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-1ba1a972]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-1ba1a972]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-1ba1a972]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-1ba1a972]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-1ba1a972]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-1ba1a972]{font-weight:700}.description-list dl dd[data-v-1ba1a972]{margin-bottom:10px}.center-card[data-v-1ba1a972]{margin:0 auto;width:700px}.center-card.with-margin[data-v-1ba1a972]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-1ba1a972]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-1ba1a972]{margin-top:0}}.text-center[data-v-1ba1a972]{text-align:center}.text-left[data-v-1ba1a972]{text-align:left}.responsive-table[data-v-1ba1a972]{margin-bottom:15px}.responsive-table table[data-v-1ba1a972]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-1ba1a972]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-1ba1a972]{font-size:.95em}.responsive-table table tbody td[data-v-1ba1a972]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:none}.responsive-table table .cell-heading[data-v-1ba1a972]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-1ba1a972]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-1ba1a972]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-1ba1a972]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-1ba1a972]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-1ba1a972]{width:100%}}.profile-buttons[data-v-1ba1a972]{display:flex;gap:10px}.medium-sport-img[data-v-1ba1a972]{height:35px;width:35px;margin:0 auto}.workouts-list[data-v-1ba1a972]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-1ba1a972]{padding:10px 20px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-1ba1a972]{display:none}}.workouts-list .box .total[data-v-1ba1a972]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-1ba1a972]{font-weight:700}.workouts-list .box .top-pagination[data-v-1ba1a972]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-1ba1a972]{display:flex}}@media screen and (max-width:700px){.workouts-list .box[data-v-1ba1a972] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-1ba1a972]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-1ba1a972]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-1ba1a972]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:none}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:none}}.workouts-list .more-workouts[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}[data-v-ed6df5ba]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-ed6df5ba]{margin:0}#app[data-v-ed6df5ba]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-ed6df5ba]{color:var(--app-a-color);text-decoration:none}img[data-v-ed6df5ba]{max-width:100%}input[data-v-ed6df5ba],select[data-v-ed6df5ba],textarea[data-v-ed6df5ba]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ed6df5ba]:disabled,select[data-v-ed6df5ba]:disabled,textarea[data-v-ed6df5ba]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-ed6df5ba] :invalid{outline:2px solid var(--input-error-color)}label[data-v-ed6df5ba]{font-weight:700}button[data-v-ed6df5ba]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ed6df5ba]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ed6df5ba]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ed6df5ba]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ed6df5ba]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ed6df5ba]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ed6df5ba]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ed6df5ba]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ed6df5ba]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ed6df5ba]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ed6df5ba]{margin:10px;padding:5px}.upper[data-v-ed6df5ba]{text-transform:uppercase}.view[data-v-ed6df5ba]{padding-bottom:35px}.fa-trophy[data-v-ed6df5ba]{color:var(--workout-trophy-color)}.mountains[data-v-ed6df5ba]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-ed6df5ba]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ed6df5ba]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-ed6df5ba]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ed6df5ba]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ed6df5ba]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ed6df5ba]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-ed6df5ba]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ed6df5ba]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ed6df5ba]{font-weight:700}.description-list dl dd[data-v-ed6df5ba]{margin-bottom:10px}.center-card[data-v-ed6df5ba]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ed6df5ba]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ed6df5ba]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ed6df5ba]{margin-top:0}}.text-center[data-v-ed6df5ba]{text-align:center}.text-left[data-v-ed6df5ba]{text-align:left}.responsive-table[data-v-ed6df5ba]{margin-bottom:15px}.responsive-table table[data-v-ed6df5ba]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ed6df5ba]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ed6df5ba]{font-size:.95em}.responsive-table table tbody td[data-v-ed6df5ba]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:none}.responsive-table table .cell-heading[data-v-ed6df5ba]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-ed6df5ba]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ed6df5ba]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ed6df5ba]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ed6df5ba]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ed6df5ba]{width:100%}}.profile-buttons[data-v-ed6df5ba]{display:flex;gap:10px}.medium-sport-img[data-v-ed6df5ba]{height:35px;width:35px;margin:0 auto}#workouts[data-v-ed6df5ba]{height:100%}#workouts .workouts-container[data-v-ed6df5ba]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-ed6df5ba]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-ed6df5ba],#workouts .workouts-container .list-container[data-v-ed6df5ba]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-ed6df5ba]{display:none}}#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-ed6df5ba]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-ed6df5ba]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:100%}}[data-v-21fe0e9a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-21fe0e9a]{margin:0}#app[data-v-21fe0e9a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-21fe0e9a]{color:var(--app-a-color);text-decoration:none}img[data-v-21fe0e9a]{max-width:100%}input[data-v-21fe0e9a],select[data-v-21fe0e9a],textarea[data-v-21fe0e9a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-21fe0e9a]:disabled,select[data-v-21fe0e9a]:disabled,textarea[data-v-21fe0e9a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-21fe0e9a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-21fe0e9a]{font-weight:700}button[data-v-21fe0e9a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-21fe0e9a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-21fe0e9a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-21fe0e9a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-21fe0e9a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-21fe0e9a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-21fe0e9a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-21fe0e9a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-21fe0e9a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-21fe0e9a]{margin:10px;padding:5px}.upper[data-v-21fe0e9a]{text-transform:uppercase}.view[data-v-21fe0e9a]{padding-bottom:35px}.fa-trophy[data-v-21fe0e9a]{color:var(--workout-trophy-color)}.mountains[data-v-21fe0e9a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-21fe0e9a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-21fe0e9a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-21fe0e9a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-21fe0e9a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-21fe0e9a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-21fe0e9a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-21fe0e9a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-21fe0e9a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-21fe0e9a]{font-weight:700}.description-list dl dd[data-v-21fe0e9a]{margin-bottom:10px}.center-card[data-v-21fe0e9a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-21fe0e9a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-21fe0e9a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-21fe0e9a]{margin-top:0}}.text-center[data-v-21fe0e9a]{text-align:center}.text-left[data-v-21fe0e9a]{text-align:left}.responsive-table[data-v-21fe0e9a]{margin-bottom:15px}.responsive-table table[data-v-21fe0e9a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-21fe0e9a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-21fe0e9a]{font-size:.95em}.responsive-table table tbody td[data-v-21fe0e9a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:none}.responsive-table table .cell-heading[data-v-21fe0e9a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-21fe0e9a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-21fe0e9a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-21fe0e9a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-21fe0e9a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-21fe0e9a]{width:100%}}.profile-buttons[data-v-21fe0e9a]{display:flex;gap:10px}.medium-sport-img[data-v-21fe0e9a]{height:35px;width:35px;margin:0 auto}#workout-card-title[data-v-21fe0e9a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-21fe0e9a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-21fe0e9a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-21fe0e9a]{display:flex;flex-grow:1}#workout-card-title .workout-card-title .sport-img[data-v-21fe0e9a]{height:35px;width:35px;padding:0 10px}#workout-card-title .workout-card-title .workout-date[data-v-21fe0e9a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-21fe0e9a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-21fe0e9a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-21fe0e9a]{padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-edit[data-v-21fe0e9a],#workout-card-title .workout-card-title .fa-trash[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;margin-left:5px;padding:0 10px}}[data-v-2e8c6844]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2e8c6844]{margin:0}#app[data-v-2e8c6844]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2e8c6844]{color:var(--app-a-color);text-decoration:none}img[data-v-2e8c6844]{max-width:100%}input[data-v-2e8c6844],select[data-v-2e8c6844],textarea[data-v-2e8c6844]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2e8c6844]:disabled,select[data-v-2e8c6844]:disabled,textarea[data-v-2e8c6844]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2e8c6844] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2e8c6844]{font-weight:700}button[data-v-2e8c6844]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2e8c6844]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2e8c6844]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2e8c6844]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2e8c6844]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2e8c6844]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2e8c6844]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2e8c6844]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2e8c6844]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2e8c6844]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2e8c6844]{margin:10px;padding:5px}.upper[data-v-2e8c6844]{text-transform:uppercase}.view[data-v-2e8c6844]{padding-bottom:35px}.fa-trophy[data-v-2e8c6844]{color:var(--workout-trophy-color)}.mountains[data-v-2e8c6844]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2e8c6844]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2e8c6844]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2e8c6844]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2e8c6844]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2e8c6844]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2e8c6844]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2e8c6844]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2e8c6844]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2e8c6844]{font-weight:700}.description-list dl dd[data-v-2e8c6844]{margin-bottom:10px}.center-card[data-v-2e8c6844]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2e8c6844]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2e8c6844]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2e8c6844]{margin-top:0}}.text-center[data-v-2e8c6844]{text-align:center}.text-left[data-v-2e8c6844]{text-align:left}.responsive-table[data-v-2e8c6844]{margin-bottom:15px}.responsive-table table[data-v-2e8c6844]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2e8c6844]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2e8c6844]{font-size:.95em}.responsive-table table tbody td[data-v-2e8c6844]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:none}.responsive-table table .cell-heading[data-v-2e8c6844]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2e8c6844]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2e8c6844]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2e8c6844]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2e8c6844]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2e8c6844]{width:100%}}.profile-buttons[data-v-2e8c6844]{display:flex;gap:10px}.medium-sport-img[data-v-2e8c6844]{height:35px;width:35px;margin:0 auto}.workout-record sup[data-v-2e8c6844]{font-size:75%;line-height:0}[data-v-07781815]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-07781815]{margin:0}#app[data-v-07781815]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-07781815]{color:var(--app-a-color);text-decoration:none}img[data-v-07781815]{max-width:100%}input[data-v-07781815],select[data-v-07781815],textarea[data-v-07781815]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-07781815]:disabled,select[data-v-07781815]:disabled,textarea[data-v-07781815]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-07781815] :invalid{outline:2px solid var(--input-error-color)}label[data-v-07781815]{font-weight:700}button[data-v-07781815]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-07781815]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-07781815]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-07781815]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-07781815]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-07781815]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-07781815]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-07781815]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-07781815]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-07781815]{display:flex;flex-direction:column}.form-box .form-items input[data-v-07781815]{margin:10px;padding:5px}.upper[data-v-07781815]{text-transform:uppercase}.view[data-v-07781815]{padding-bottom:35px}.fa-trophy[data-v-07781815]{color:var(--workout-trophy-color)}.mountains[data-v-07781815]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-07781815]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-07781815]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-07781815]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-07781815]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-07781815]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-07781815]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-07781815]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-07781815]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-07781815]{font-weight:700}.description-list dl dd[data-v-07781815]{margin-bottom:10px}.center-card[data-v-07781815]{margin:0 auto;width:700px}.center-card.with-margin[data-v-07781815]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-07781815]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-07781815]{margin-top:0}}.text-center[data-v-07781815]{text-align:center}.text-left[data-v-07781815]{text-align:left}.responsive-table[data-v-07781815]{margin-bottom:15px}.responsive-table table[data-v-07781815]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-07781815]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-07781815]{font-size:.95em}.responsive-table table tbody td[data-v-07781815]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:none}.responsive-table table .cell-heading[data-v-07781815]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-07781815]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-07781815]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-07781815]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-07781815]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-07781815]{width:100%}}.profile-buttons[data-v-07781815]{display:flex;gap:10px}.medium-sport-img[data-v-07781815]{height:35px;width:35px;margin:0 auto}#workout-weather[data-v-07781815]{padding-top:10px}#workout-weather .weather-img[data-v-07781815]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-07781815]{height:20px}#workout-weather .weather-table[data-v-07781815]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-07781815]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-07781815]{font-size:.8em}[data-v-a7c2d728]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a7c2d728]{margin:0}#app[data-v-a7c2d728]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a7c2d728]{color:var(--app-a-color);text-decoration:none}img[data-v-a7c2d728]{max-width:100%}input[data-v-a7c2d728],select[data-v-a7c2d728],textarea[data-v-a7c2d728]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a7c2d728]:disabled,select[data-v-a7c2d728]:disabled,textarea[data-v-a7c2d728]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-a7c2d728] :invalid{outline:2px solid var(--input-error-color)}label[data-v-a7c2d728]{font-weight:700}button[data-v-a7c2d728]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a7c2d728]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a7c2d728]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a7c2d728]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a7c2d728]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a7c2d728]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a7c2d728]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a7c2d728]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a7c2d728]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a7c2d728]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a7c2d728]{margin:10px;padding:5px}.upper[data-v-a7c2d728]{text-transform:uppercase}.view[data-v-a7c2d728]{padding-bottom:35px}.fa-trophy[data-v-a7c2d728]{color:var(--workout-trophy-color)}.mountains[data-v-a7c2d728]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-a7c2d728]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a7c2d728]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a7c2d728]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a7c2d728]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a7c2d728]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a7c2d728]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a7c2d728]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a7c2d728]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a7c2d728]{font-weight:700}.description-list dl dd[data-v-a7c2d728]{margin-bottom:10px}.center-card[data-v-a7c2d728]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a7c2d728]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a7c2d728]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a7c2d728]{margin-top:0}}.text-center[data-v-a7c2d728]{text-align:center}.text-left[data-v-a7c2d728]{text-align:left}.responsive-table[data-v-a7c2d728]{margin-bottom:15px}.responsive-table table[data-v-a7c2d728]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a7c2d728]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a7c2d728]{font-size:.95em}.responsive-table table tbody td[data-v-a7c2d728]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:none}.responsive-table table .cell-heading[data-v-a7c2d728]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a7c2d728]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a7c2d728]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a7c2d728]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a7c2d728]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a7c2d728]{width:100%}}.profile-buttons[data-v-a7c2d728]{display:flex;gap:10px}.medium-sport-img[data-v-a7c2d728]{height:35px;width:35px;margin:0 auto}#workout-info[data-v-a7c2d728]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-a7c2d728],#workout-info .mountains[data-v-a7c2d728]{padding-right:5px}#workout-info .workout-data[data-v-a7c2d728]{padding:5px 0}#workout-info .workout-data .label[data-v-a7c2d728]{text-transform:capitalize}#workout-info .workout-data .value[data-v-a7c2d728]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-a7c2d728]{padding:10px}}[data-v-b4b3006a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-b4b3006a]{margin:0}#app[data-v-b4b3006a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-b4b3006a]{color:var(--app-a-color);text-decoration:none}img[data-v-b4b3006a]{max-width:100%}input[data-v-b4b3006a],select[data-v-b4b3006a],textarea[data-v-b4b3006a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-b4b3006a]:disabled,select[data-v-b4b3006a]:disabled,textarea[data-v-b4b3006a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-b4b3006a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-b4b3006a]{font-weight:700}button[data-v-b4b3006a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-b4b3006a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-b4b3006a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-b4b3006a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-b4b3006a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-b4b3006a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-b4b3006a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-b4b3006a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-b4b3006a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-b4b3006a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-b4b3006a]{margin:10px;padding:5px}.upper[data-v-b4b3006a]{text-transform:uppercase}.view[data-v-b4b3006a]{padding-bottom:35px}.fa-trophy[data-v-b4b3006a]{color:var(--workout-trophy-color)}.mountains[data-v-b4b3006a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-b4b3006a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-b4b3006a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-b4b3006a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-b4b3006a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-b4b3006a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-b4b3006a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-b4b3006a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-b4b3006a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-b4b3006a]{font-weight:700}.description-list dl dd[data-v-b4b3006a]{margin-bottom:10px}.center-card[data-v-b4b3006a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-b4b3006a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-b4b3006a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-b4b3006a]{margin-top:0}}.text-center[data-v-b4b3006a]{text-align:center}.text-left[data-v-b4b3006a]{text-align:left}.responsive-table[data-v-b4b3006a]{margin-bottom:15px}.responsive-table table[data-v-b4b3006a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-b4b3006a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-b4b3006a]{font-size:.95em}.responsive-table table tbody td[data-v-b4b3006a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:none}.responsive-table table .cell-heading[data-v-b4b3006a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-b4b3006a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-b4b3006a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-b4b3006a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-b4b3006a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-b4b3006a]{width:100%}}.profile-buttons[data-v-b4b3006a]{display:flex;gap:10px}.medium-sport-img[data-v-b4b3006a]{height:35px;width:35px;margin:0 auto}#workout-map[data-v-b4b3006a]{padding:10px 0}#workout-map .leaflet-container[data-v-b4b3006a],#workout-map .no-map[data-v-b4b3006a]{height:400px;width:600px}#workout-map .no-map[data-v-b4b3006a]{line-height:400px}@media screen and (max-width:700px){#workout-map[data-v-b4b3006a]{padding:0}#workout-map .leaflet-container[data-v-b4b3006a]{width:100%;height:300px}#workout-map .no-map[data-v-b4b3006a]{display:none}}[data-v-2655acaa]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2655acaa]{margin:0}#app[data-v-2655acaa]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2655acaa]{color:var(--app-a-color);text-decoration:none}img[data-v-2655acaa]{max-width:100%}input[data-v-2655acaa],select[data-v-2655acaa],textarea[data-v-2655acaa]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2655acaa]:disabled,select[data-v-2655acaa]:disabled,textarea[data-v-2655acaa]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2655acaa] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2655acaa]{font-weight:700}button[data-v-2655acaa]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2655acaa]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2655acaa]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2655acaa]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2655acaa]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2655acaa]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2655acaa]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2655acaa]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2655acaa]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2655acaa]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2655acaa]{margin:10px;padding:5px}.upper[data-v-2655acaa]{text-transform:uppercase}.view[data-v-2655acaa]{padding-bottom:35px}.fa-trophy[data-v-2655acaa]{color:var(--workout-trophy-color)}.mountains[data-v-2655acaa]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2655acaa]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2655acaa]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2655acaa]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2655acaa]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2655acaa]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2655acaa]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2655acaa]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2655acaa]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2655acaa]{font-weight:700}.description-list dl dd[data-v-2655acaa]{margin-bottom:10px}.center-card[data-v-2655acaa]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2655acaa]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2655acaa]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2655acaa]{margin-top:0}}.text-center[data-v-2655acaa]{text-align:center}.text-left[data-v-2655acaa]{text-align:left}.responsive-table[data-v-2655acaa]{margin-bottom:15px}.responsive-table table[data-v-2655acaa]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2655acaa]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2655acaa]{font-size:.95em}.responsive-table table tbody td[data-v-2655acaa]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:none}.responsive-table table .cell-heading[data-v-2655acaa]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2655acaa]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2655acaa]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2655acaa]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2655acaa]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2655acaa]{width:100%}}.profile-buttons[data-v-2655acaa]{display:flex;gap:10px}.medium-sport-img[data-v-2655acaa]{height:35px;width:35px;margin:0 auto}.workout-detail[data-v-2655acaa]{display:flex}.workout-detail[data-v-2655acaa] .card{width:100%}.workout-detail[data-v-2655acaa] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-2655acaa] .card .card-content{flex-direction:column}}[data-v-82a367b0]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-82a367b0]{margin:0}#app[data-v-82a367b0]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-82a367b0]{color:var(--app-a-color);text-decoration:none}img[data-v-82a367b0]{max-width:100%}input[data-v-82a367b0],select[data-v-82a367b0],textarea[data-v-82a367b0]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-82a367b0]:disabled,select[data-v-82a367b0]:disabled,textarea[data-v-82a367b0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-82a367b0] :invalid{outline:2px solid var(--input-error-color)}label[data-v-82a367b0]{font-weight:700}button[data-v-82a367b0]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-82a367b0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-82a367b0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-82a367b0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-82a367b0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-82a367b0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-82a367b0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-82a367b0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-82a367b0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-82a367b0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-82a367b0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-82a367b0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-82a367b0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-82a367b0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-82a367b0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-82a367b0]{margin:10px;padding:5px}.upper[data-v-82a367b0]{text-transform:uppercase}.view[data-v-82a367b0]{padding-bottom:35px}.fa-trophy[data-v-82a367b0]{color:var(--workout-trophy-color)}.mountains[data-v-82a367b0]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-82a367b0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-82a367b0]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-82a367b0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-82a367b0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-82a367b0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-82a367b0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-82a367b0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-82a367b0]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-82a367b0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-82a367b0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-82a367b0]{font-weight:700}.description-list dl dd[data-v-82a367b0]{margin-bottom:10px}.center-card[data-v-82a367b0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-82a367b0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-82a367b0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-82a367b0]{margin-top:0}}.text-center[data-v-82a367b0]{text-align:center}.text-left[data-v-82a367b0]{text-align:left}.responsive-table[data-v-82a367b0]{margin-bottom:15px}.responsive-table table[data-v-82a367b0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-82a367b0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-82a367b0]{font-size:.95em}.responsive-table table tbody td[data-v-82a367b0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-82a367b0]{border:none}.responsive-table table .cell-heading[data-v-82a367b0]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-82a367b0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-82a367b0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-82a367b0]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-82a367b0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-82a367b0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-82a367b0]{width:100%}}.profile-buttons[data-v-82a367b0]{display:flex;gap:10px}.medium-sport-img[data-v-82a367b0]{height:35px;width:35px;margin:0 auto}#workout-chart[data-v-82a367b0] .card .card-title{text-transform:capitalize}#workout-chart[data-v-82a367b0] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-82a367b0] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-82a367b0] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-82a367b0] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-82a367b0] .card .card-content #chart-legend ul li span{border-radius:50%;border-style:solid;border-width:1.5px;height:10px;margin-top:4px;margin-left:2px;width:10px}@media screen and (max-width:700px){#workout-chart[data-v-82a367b0] .card .card-content{padding:10px 0}#workout-chart[data-v-82a367b0] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-82a367b0] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-82a367b0] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}[data-v-6dd0f3c4]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6dd0f3c4]{margin:0}#app[data-v-6dd0f3c4]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6dd0f3c4]{color:var(--app-a-color);text-decoration:none}img[data-v-6dd0f3c4]{max-width:100%}input[data-v-6dd0f3c4],select[data-v-6dd0f3c4],textarea[data-v-6dd0f3c4]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6dd0f3c4]:disabled,select[data-v-6dd0f3c4]:disabled,textarea[data-v-6dd0f3c4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-6dd0f3c4] :invalid{outline:2px solid var(--input-error-color)}label[data-v-6dd0f3c4]{font-weight:700}button[data-v-6dd0f3c4]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6dd0f3c4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6dd0f3c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6dd0f3c4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6dd0f3c4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6dd0f3c4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6dd0f3c4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6dd0f3c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6dd0f3c4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6dd0f3c4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6dd0f3c4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6dd0f3c4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6dd0f3c4]{margin:10px;padding:5px}.upper[data-v-6dd0f3c4]{text-transform:uppercase}.view[data-v-6dd0f3c4]{padding-bottom:35px}.fa-trophy[data-v-6dd0f3c4]{color:var(--workout-trophy-color)}.mountains[data-v-6dd0f3c4]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-6dd0f3c4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6dd0f3c4]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6dd0f3c4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6dd0f3c4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6dd0f3c4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6dd0f3c4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6dd0f3c4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6dd0f3c4]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6dd0f3c4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6dd0f3c4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6dd0f3c4]{font-weight:700}.description-list dl dd[data-v-6dd0f3c4]{margin-bottom:10px}.center-card[data-v-6dd0f3c4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6dd0f3c4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6dd0f3c4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6dd0f3c4]{margin-top:0}}.text-center[data-v-6dd0f3c4]{text-align:center}.text-left[data-v-6dd0f3c4]{text-align:left}.responsive-table[data-v-6dd0f3c4]{margin-bottom:15px}.responsive-table table[data-v-6dd0f3c4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6dd0f3c4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6dd0f3c4]{font-size:.95em}.responsive-table table tbody td[data-v-6dd0f3c4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6dd0f3c4]{border:none}.responsive-table table .cell-heading[data-v-6dd0f3c4]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6dd0f3c4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6dd0f3c4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6dd0f3c4]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6dd0f3c4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6dd0f3c4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6dd0f3c4]{width:100%}}.profile-buttons[data-v-6dd0f3c4]{display:flex;gap:10px}.medium-sport-img[data-v-6dd0f3c4]{height:35px;width:35px;margin:0 auto}#workout-note[data-v-6dd0f3c4] .card-content{font-style:italic;white-space:pre-wrap}[data-v-73381f36]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-73381f36]{margin:0}#app[data-v-73381f36]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-73381f36]{color:var(--app-a-color);text-decoration:none}img[data-v-73381f36]{max-width:100%}input[data-v-73381f36],select[data-v-73381f36],textarea[data-v-73381f36]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-73381f36]:disabled,select[data-v-73381f36]:disabled,textarea[data-v-73381f36]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-73381f36] :invalid{outline:2px solid var(--input-error-color)}label[data-v-73381f36]{font-weight:700}button[data-v-73381f36]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-73381f36]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-73381f36]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-73381f36]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-73381f36]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-73381f36]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-73381f36]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-73381f36]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-73381f36]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-73381f36]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-73381f36]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-73381f36]{display:flex;flex-direction:column}.form-box .form-items input[data-v-73381f36]{margin:10px;padding:5px}.upper[data-v-73381f36]{text-transform:uppercase}.view[data-v-73381f36]{padding-bottom:35px}.fa-trophy[data-v-73381f36]{color:var(--workout-trophy-color)}.mountains[data-v-73381f36]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-73381f36]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-73381f36]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-73381f36]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-73381f36]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-73381f36]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-73381f36]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-73381f36]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-73381f36]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-73381f36]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-73381f36]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-73381f36]{font-weight:700}.description-list dl dd[data-v-73381f36]{margin-bottom:10px}.center-card[data-v-73381f36]{margin:0 auto;width:700px}.center-card.with-margin[data-v-73381f36]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-73381f36]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-73381f36]{margin-top:0}}.text-center[data-v-73381f36]{text-align:center}.text-left[data-v-73381f36]{text-align:left}.responsive-table[data-v-73381f36]{margin-bottom:15px}.responsive-table table[data-v-73381f36]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-73381f36]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-73381f36]{font-size:.95em}.responsive-table table tbody td[data-v-73381f36]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-73381f36]{border:none}.responsive-table table .cell-heading[data-v-73381f36]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-73381f36]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-73381f36]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-73381f36]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-73381f36]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-73381f36]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-73381f36]{width:100%}}.profile-buttons[data-v-73381f36]{display:flex;gap:10px}.medium-sport-img[data-v-73381f36]{height:35px;width:35px;margin:0 auto}#workout-segments[data-v-73381f36] .card .card-title{text-transform:capitalize}#workout-segments[data-v-73381f36] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-73381f36] .card .card-content a{font-weight:700}#workout-segments[data-v-73381f36] .card .card-content ul{padding:0 10px;list-style:square}[data-v-a8e74d78]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a8e74d78]{margin:0}#app[data-v-a8e74d78]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a8e74d78]{color:var(--app-a-color);text-decoration:none}img[data-v-a8e74d78]{max-width:100%}input[data-v-a8e74d78],select[data-v-a8e74d78],textarea[data-v-a8e74d78]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a8e74d78]:disabled,select[data-v-a8e74d78]:disabled,textarea[data-v-a8e74d78]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-a8e74d78] :invalid{outline:2px solid var(--input-error-color)}label[data-v-a8e74d78]{font-weight:700}button[data-v-a8e74d78]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a8e74d78]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a8e74d78]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a8e74d78]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a8e74d78]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a8e74d78]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a8e74d78]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a8e74d78]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a8e74d78]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a8e74d78]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a8e74d78]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a8e74d78]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a8e74d78]{margin:10px;padding:5px}.upper[data-v-a8e74d78]{text-transform:uppercase}.view[data-v-a8e74d78]{padding-bottom:35px}.fa-trophy[data-v-a8e74d78]{color:var(--workout-trophy-color)}.mountains[data-v-a8e74d78]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-a8e74d78]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a8e74d78]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a8e74d78]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a8e74d78]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a8e74d78]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a8e74d78]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a8e74d78]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a8e74d78]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a8e74d78]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a8e74d78]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a8e74d78]{font-weight:700}.description-list dl dd[data-v-a8e74d78]{margin-bottom:10px}.center-card[data-v-a8e74d78]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a8e74d78]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a8e74d78]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a8e74d78]{margin-top:0}}.text-center[data-v-a8e74d78]{text-align:center}.text-left[data-v-a8e74d78]{text-align:left}.responsive-table[data-v-a8e74d78]{margin-bottom:15px}.responsive-table table[data-v-a8e74d78]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a8e74d78]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a8e74d78]{font-size:.95em}.responsive-table table tbody td[data-v-a8e74d78]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a8e74d78]{border:none}.responsive-table table .cell-heading[data-v-a8e74d78]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a8e74d78]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a8e74d78]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a8e74d78]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a8e74d78]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a8e74d78]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a8e74d78]{width:100%}}.profile-buttons[data-v-a8e74d78]{display:flex;gap:10px}.medium-sport-img[data-v-a8e74d78]{height:35px;width:35px;margin:0 auto}#workout[data-v-a8e74d78]{display:flex}#workout .container[data-v-a8e74d78]{width:100%;padding:0}#workout .container .workout-container[data-v-a8e74d78]{width:100%}#workout .container .workout-loading[data-v-a8e74d78]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-a8e74d78]{display:flex;align-items:center;height:100%}[data-v-225fffcc]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-225fffcc]{margin:0}#app[data-v-225fffcc]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-225fffcc]{color:var(--app-a-color);text-decoration:none}img[data-v-225fffcc]{max-width:100%}input[data-v-225fffcc],select[data-v-225fffcc],textarea[data-v-225fffcc]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-225fffcc]:disabled,select[data-v-225fffcc]:disabled,textarea[data-v-225fffcc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-225fffcc] :invalid{outline:2px solid var(--input-error-color)}label[data-v-225fffcc]{font-weight:700}button[data-v-225fffcc]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-225fffcc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-225fffcc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-225fffcc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-225fffcc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-225fffcc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-225fffcc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-225fffcc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-225fffcc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-225fffcc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-225fffcc]{margin:10px;padding:5px}.upper[data-v-225fffcc]{text-transform:uppercase}.view[data-v-225fffcc]{padding-bottom:35px}.fa-trophy[data-v-225fffcc]{color:var(--workout-trophy-color)}.mountains[data-v-225fffcc]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-225fffcc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-225fffcc]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-225fffcc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-225fffcc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-225fffcc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-225fffcc]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-225fffcc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-225fffcc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-225fffcc]{font-weight:700}.description-list dl dd[data-v-225fffcc]{margin-bottom:10px}.center-card[data-v-225fffcc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-225fffcc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-225fffcc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-225fffcc]{margin-top:0}}.text-center[data-v-225fffcc]{text-align:center}.text-left[data-v-225fffcc]{text-align:left}.responsive-table[data-v-225fffcc]{margin-bottom:15px}.responsive-table table[data-v-225fffcc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-225fffcc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-225fffcc]{font-size:.95em}.responsive-table table tbody td[data-v-225fffcc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:none}.responsive-table table .cell-heading[data-v-225fffcc]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-225fffcc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-225fffcc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-225fffcc]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-225fffcc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-225fffcc]{width:100%}}.profile-buttons[data-v-225fffcc]{display:flex;gap:10px}.medium-sport-img[data-v-225fffcc]{height:35px;width:35px;margin:0 auto}@media screen and (max-width:700px){#workout-edition.center-form[data-v-225fffcc]{margin:50px auto}}#workout-edition[data-v-225fffcc] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content{padding:10px 0}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px} \ No newline at end of file +[data-v-06d30f25]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-06d30f25]{margin:0}#app[data-v-06d30f25]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-06d30f25]{color:var(--app-a-color);text-decoration:none}img[data-v-06d30f25]{max-width:100%}input[data-v-06d30f25],select[data-v-06d30f25],textarea[data-v-06d30f25]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-06d30f25]:disabled,select[data-v-06d30f25]:disabled,textarea[data-v-06d30f25]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-06d30f25] :invalid{outline:2px solid var(--input-error-color)}label[data-v-06d30f25]{font-weight:700}button[data-v-06d30f25]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-06d30f25]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-06d30f25]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-06d30f25]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-06d30f25]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-06d30f25]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-06d30f25]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-06d30f25]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-06d30f25]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-06d30f25]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-06d30f25]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-06d30f25]{display:flex;flex-direction:column}.form-box .form-items input[data-v-06d30f25]{margin:10px;padding:5px}.upper[data-v-06d30f25]{text-transform:uppercase}.view[data-v-06d30f25]{padding-bottom:35px}.fa-trophy[data-v-06d30f25]{color:var(--workout-trophy-color)}.mountains[data-v-06d30f25]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-06d30f25]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-06d30f25]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-06d30f25]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-06d30f25]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-06d30f25]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-06d30f25]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-06d30f25]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-06d30f25]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-06d30f25]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-06d30f25]{font-weight:700}.description-list dl dd[data-v-06d30f25]{margin-bottom:10px}.center-card[data-v-06d30f25]{margin:0 auto;width:700px}.center-card.with-margin[data-v-06d30f25]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-06d30f25]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-06d30f25]{margin-top:0}}.text-center[data-v-06d30f25]{text-align:center}.text-left[data-v-06d30f25]{text-align:left}.responsive-table[data-v-06d30f25]{margin-bottom:15px}.responsive-table table[data-v-06d30f25]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-06d30f25]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-06d30f25]{font-size:.95em}.responsive-table table tbody td[data-v-06d30f25]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:none}.responsive-table table .cell-heading[data-v-06d30f25]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-06d30f25]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-06d30f25]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-06d30f25]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-06d30f25]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-06d30f25]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-06d30f25]{width:100%}}.profile-buttons[data-v-06d30f25]{display:flex;gap:10px}.medium-sport-img[data-v-06d30f25]{height:35px;width:35px;margin:0 auto}.workouts-filters .form[data-v-06d30f25]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-06d30f25]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-06d30f25]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-06d30f25]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-06d30f25]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-06d30f25]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-06d30f25]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:75%}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-06d30f25]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-06d30f25]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-06d30f25]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-06d30f25]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-06d30f25]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-06d30f25]{padding:5px}.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-06d30f25]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-06d30f25]{flex-wrap:wrap}}[data-v-1ba1a972]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-1ba1a972]{margin:0}#app[data-v-1ba1a972]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-1ba1a972]{color:var(--app-a-color);text-decoration:none}img[data-v-1ba1a972]{max-width:100%}input[data-v-1ba1a972],select[data-v-1ba1a972],textarea[data-v-1ba1a972]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-1ba1a972]:disabled,select[data-v-1ba1a972]:disabled,textarea[data-v-1ba1a972]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-1ba1a972] :invalid{outline:2px solid var(--input-error-color)}label[data-v-1ba1a972]{font-weight:700}button[data-v-1ba1a972]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-1ba1a972]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-1ba1a972]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-1ba1a972]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-1ba1a972]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-1ba1a972]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-1ba1a972]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-1ba1a972]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-1ba1a972]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-1ba1a972]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-1ba1a972]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-1ba1a972]{display:flex;flex-direction:column}.form-box .form-items input[data-v-1ba1a972]{margin:10px;padding:5px}.upper[data-v-1ba1a972]{text-transform:uppercase}.view[data-v-1ba1a972]{padding-bottom:35px}.fa-trophy[data-v-1ba1a972]{color:var(--workout-trophy-color)}.mountains[data-v-1ba1a972]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-1ba1a972]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-1ba1a972]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-1ba1a972]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-1ba1a972]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-1ba1a972]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-1ba1a972]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-1ba1a972]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-1ba1a972]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-1ba1a972]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-1ba1a972]{font-weight:700}.description-list dl dd[data-v-1ba1a972]{margin-bottom:10px}.center-card[data-v-1ba1a972]{margin:0 auto;width:700px}.center-card.with-margin[data-v-1ba1a972]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-1ba1a972]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-1ba1a972]{margin-top:0}}.text-center[data-v-1ba1a972]{text-align:center}.text-left[data-v-1ba1a972]{text-align:left}.responsive-table[data-v-1ba1a972]{margin-bottom:15px}.responsive-table table[data-v-1ba1a972]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-1ba1a972]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-1ba1a972]{font-size:.95em}.responsive-table table tbody td[data-v-1ba1a972]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:none}.responsive-table table .cell-heading[data-v-1ba1a972]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-1ba1a972]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-1ba1a972]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-1ba1a972]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-1ba1a972]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-1ba1a972]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-1ba1a972]{width:100%}}.profile-buttons[data-v-1ba1a972]{display:flex;gap:10px}.medium-sport-img[data-v-1ba1a972]{height:35px;width:35px;margin:0 auto}.workouts-list[data-v-1ba1a972]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-1ba1a972]{padding:10px 20px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-1ba1a972]{display:none}}.workouts-list .box .total[data-v-1ba1a972]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-1ba1a972]{font-weight:700}.workouts-list .box .top-pagination[data-v-1ba1a972]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-1ba1a972]{display:flex}}@media screen and (max-width:700px){.workouts-list .box[data-v-1ba1a972] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-1ba1a972]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-1ba1a972]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-1ba1a972]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-1ba1a972]{max-width:none}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-1ba1a972]{display:none}}.workouts-list .more-workouts[data-v-1ba1a972]{display:flex;justify-content:center;padding:10px}[data-v-ed6df5ba]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-ed6df5ba]{margin:0}#app[data-v-ed6df5ba]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-ed6df5ba]{color:var(--app-a-color);text-decoration:none}img[data-v-ed6df5ba]{max-width:100%}input[data-v-ed6df5ba],select[data-v-ed6df5ba],textarea[data-v-ed6df5ba]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ed6df5ba]:disabled,select[data-v-ed6df5ba]:disabled,textarea[data-v-ed6df5ba]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-ed6df5ba] :invalid{outline:2px solid var(--input-error-color)}label[data-v-ed6df5ba]{font-weight:700}button[data-v-ed6df5ba]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ed6df5ba]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ed6df5ba]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ed6df5ba]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ed6df5ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ed6df5ba]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ed6df5ba]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ed6df5ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ed6df5ba]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ed6df5ba]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ed6df5ba]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ed6df5ba]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ed6df5ba]{margin:10px;padding:5px}.upper[data-v-ed6df5ba]{text-transform:uppercase}.view[data-v-ed6df5ba]{padding-bottom:35px}.fa-trophy[data-v-ed6df5ba]{color:var(--workout-trophy-color)}.mountains[data-v-ed6df5ba]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-ed6df5ba]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ed6df5ba]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-ed6df5ba]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ed6df5ba]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ed6df5ba]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ed6df5ba]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ed6df5ba]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-ed6df5ba]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ed6df5ba]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ed6df5ba]{font-weight:700}.description-list dl dd[data-v-ed6df5ba]{margin-bottom:10px}.center-card[data-v-ed6df5ba]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ed6df5ba]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ed6df5ba]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ed6df5ba]{margin-top:0}}.text-center[data-v-ed6df5ba]{text-align:center}.text-left[data-v-ed6df5ba]{text-align:left}.responsive-table[data-v-ed6df5ba]{margin-bottom:15px}.responsive-table table[data-v-ed6df5ba]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ed6df5ba]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ed6df5ba]{font-size:.95em}.responsive-table table tbody td[data-v-ed6df5ba]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:none}.responsive-table table .cell-heading[data-v-ed6df5ba]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-ed6df5ba]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ed6df5ba]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ed6df5ba]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-ed6df5ba]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ed6df5ba]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ed6df5ba]{width:100%}}.profile-buttons[data-v-ed6df5ba]{display:flex;gap:10px}.medium-sport-img[data-v-ed6df5ba]{height:35px;width:35px;margin:0 auto}#workouts[data-v-ed6df5ba]{height:100%}#workouts .workouts-container[data-v-ed6df5ba]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-ed6df5ba]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-ed6df5ba],#workouts .workouts-container .list-container[data-v-ed6df5ba]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-ed6df5ba]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-ed6df5ba]{display:none}}#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-ed6df5ba]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-ed6df5ba]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-ed6df5ba]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-ed6df5ba]{width:100%}}[data-v-21fe0e9a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-21fe0e9a]{margin:0}#app[data-v-21fe0e9a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-21fe0e9a]{color:var(--app-a-color);text-decoration:none}img[data-v-21fe0e9a]{max-width:100%}input[data-v-21fe0e9a],select[data-v-21fe0e9a],textarea[data-v-21fe0e9a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-21fe0e9a]:disabled,select[data-v-21fe0e9a]:disabled,textarea[data-v-21fe0e9a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-21fe0e9a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-21fe0e9a]{font-weight:700}button[data-v-21fe0e9a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-21fe0e9a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-21fe0e9a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-21fe0e9a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-21fe0e9a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-21fe0e9a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-21fe0e9a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-21fe0e9a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-21fe0e9a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-21fe0e9a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-21fe0e9a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-21fe0e9a]{margin:10px;padding:5px}.upper[data-v-21fe0e9a]{text-transform:uppercase}.view[data-v-21fe0e9a]{padding-bottom:35px}.fa-trophy[data-v-21fe0e9a]{color:var(--workout-trophy-color)}.mountains[data-v-21fe0e9a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-21fe0e9a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-21fe0e9a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-21fe0e9a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-21fe0e9a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-21fe0e9a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-21fe0e9a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-21fe0e9a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-21fe0e9a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-21fe0e9a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-21fe0e9a]{font-weight:700}.description-list dl dd[data-v-21fe0e9a]{margin-bottom:10px}.center-card[data-v-21fe0e9a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-21fe0e9a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-21fe0e9a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-21fe0e9a]{margin-top:0}}.text-center[data-v-21fe0e9a]{text-align:center}.text-left[data-v-21fe0e9a]{text-align:left}.responsive-table[data-v-21fe0e9a]{margin-bottom:15px}.responsive-table table[data-v-21fe0e9a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-21fe0e9a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-21fe0e9a]{font-size:.95em}.responsive-table table tbody td[data-v-21fe0e9a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:none}.responsive-table table .cell-heading[data-v-21fe0e9a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-21fe0e9a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-21fe0e9a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-21fe0e9a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-21fe0e9a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-21fe0e9a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-21fe0e9a]{width:100%}}.profile-buttons[data-v-21fe0e9a]{display:flex;gap:10px}.medium-sport-img[data-v-21fe0e9a]{height:35px;width:35px;margin:0 auto}#workout-card-title[data-v-21fe0e9a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-21fe0e9a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-21fe0e9a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-21fe0e9a]{display:flex;flex-grow:1}#workout-card-title .workout-card-title .sport-img[data-v-21fe0e9a]{height:35px;width:35px;padding:0 10px}#workout-card-title .workout-card-title .workout-date[data-v-21fe0e9a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-21fe0e9a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-21fe0e9a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-21fe0e9a]{padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-edit[data-v-21fe0e9a],#workout-card-title .workout-card-title .fa-trash[data-v-21fe0e9a]{border:solid 1px var(--card-border-color);border-radius:4px;margin-left:5px;padding:0 10px}}[data-v-2e8c6844]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2e8c6844]{margin:0}#app[data-v-2e8c6844]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2e8c6844]{color:var(--app-a-color);text-decoration:none}img[data-v-2e8c6844]{max-width:100%}input[data-v-2e8c6844],select[data-v-2e8c6844],textarea[data-v-2e8c6844]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2e8c6844]:disabled,select[data-v-2e8c6844]:disabled,textarea[data-v-2e8c6844]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2e8c6844] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2e8c6844]{font-weight:700}button[data-v-2e8c6844]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2e8c6844]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2e8c6844]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2e8c6844]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2e8c6844]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2e8c6844]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2e8c6844]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2e8c6844]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2e8c6844]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2e8c6844]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2e8c6844]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2e8c6844]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2e8c6844]{margin:10px;padding:5px}.upper[data-v-2e8c6844]{text-transform:uppercase}.view[data-v-2e8c6844]{padding-bottom:35px}.fa-trophy[data-v-2e8c6844]{color:var(--workout-trophy-color)}.mountains[data-v-2e8c6844]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2e8c6844]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2e8c6844]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2e8c6844]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2e8c6844]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2e8c6844]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2e8c6844]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2e8c6844]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2e8c6844]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2e8c6844]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2e8c6844]{font-weight:700}.description-list dl dd[data-v-2e8c6844]{margin-bottom:10px}.center-card[data-v-2e8c6844]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2e8c6844]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2e8c6844]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2e8c6844]{margin-top:0}}.text-center[data-v-2e8c6844]{text-align:center}.text-left[data-v-2e8c6844]{text-align:left}.responsive-table[data-v-2e8c6844]{margin-bottom:15px}.responsive-table table[data-v-2e8c6844]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2e8c6844]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2e8c6844]{font-size:.95em}.responsive-table table tbody td[data-v-2e8c6844]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:none}.responsive-table table .cell-heading[data-v-2e8c6844]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2e8c6844]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2e8c6844]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2e8c6844]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2e8c6844]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2e8c6844]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2e8c6844]{width:100%}}.profile-buttons[data-v-2e8c6844]{display:flex;gap:10px}.medium-sport-img[data-v-2e8c6844]{height:35px;width:35px;margin:0 auto}.workout-record sup[data-v-2e8c6844]{font-size:75%;line-height:0}[data-v-07781815]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-07781815]{margin:0}#app[data-v-07781815]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-07781815]{color:var(--app-a-color);text-decoration:none}img[data-v-07781815]{max-width:100%}input[data-v-07781815],select[data-v-07781815],textarea[data-v-07781815]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-07781815]:disabled,select[data-v-07781815]:disabled,textarea[data-v-07781815]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-07781815] :invalid{outline:2px solid var(--input-error-color)}label[data-v-07781815]{font-weight:700}button[data-v-07781815]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-07781815]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-07781815]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-07781815]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-07781815]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-07781815]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-07781815]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-07781815]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-07781815]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-07781815]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-07781815]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-07781815]{display:flex;flex-direction:column}.form-box .form-items input[data-v-07781815]{margin:10px;padding:5px}.upper[data-v-07781815]{text-transform:uppercase}.view[data-v-07781815]{padding-bottom:35px}.fa-trophy[data-v-07781815]{color:var(--workout-trophy-color)}.mountains[data-v-07781815]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-07781815]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-07781815]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-07781815]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-07781815]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-07781815]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-07781815]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-07781815]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-07781815]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-07781815]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-07781815]{font-weight:700}.description-list dl dd[data-v-07781815]{margin-bottom:10px}.center-card[data-v-07781815]{margin:0 auto;width:700px}.center-card.with-margin[data-v-07781815]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-07781815]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-07781815]{margin-top:0}}.text-center[data-v-07781815]{text-align:center}.text-left[data-v-07781815]{text-align:left}.responsive-table[data-v-07781815]{margin-bottom:15px}.responsive-table table[data-v-07781815]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-07781815]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-07781815]{font-size:.95em}.responsive-table table tbody td[data-v-07781815]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:none}.responsive-table table .cell-heading[data-v-07781815]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-07781815]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-07781815]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-07781815]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-07781815]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-07781815]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-07781815]{width:100%}}.profile-buttons[data-v-07781815]{display:flex;gap:10px}.medium-sport-img[data-v-07781815]{height:35px;width:35px;margin:0 auto}#workout-weather[data-v-07781815]{padding-top:10px}#workout-weather .weather-img[data-v-07781815]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-07781815]{height:20px}#workout-weather .weather-table[data-v-07781815]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-07781815]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-07781815]{font-size:.8em}[data-v-a7c2d728]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a7c2d728]{margin:0}#app[data-v-a7c2d728]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a7c2d728]{color:var(--app-a-color);text-decoration:none}img[data-v-a7c2d728]{max-width:100%}input[data-v-a7c2d728],select[data-v-a7c2d728],textarea[data-v-a7c2d728]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a7c2d728]:disabled,select[data-v-a7c2d728]:disabled,textarea[data-v-a7c2d728]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-a7c2d728] :invalid{outline:2px solid var(--input-error-color)}label[data-v-a7c2d728]{font-weight:700}button[data-v-a7c2d728]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a7c2d728]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a7c2d728]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a7c2d728]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a7c2d728]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a7c2d728]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a7c2d728]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a7c2d728]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a7c2d728]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a7c2d728]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a7c2d728]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a7c2d728]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a7c2d728]{margin:10px;padding:5px}.upper[data-v-a7c2d728]{text-transform:uppercase}.view[data-v-a7c2d728]{padding-bottom:35px}.fa-trophy[data-v-a7c2d728]{color:var(--workout-trophy-color)}.mountains[data-v-a7c2d728]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-a7c2d728]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a7c2d728]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a7c2d728]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a7c2d728]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a7c2d728]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a7c2d728]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a7c2d728]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a7c2d728]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a7c2d728]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a7c2d728]{font-weight:700}.description-list dl dd[data-v-a7c2d728]{margin-bottom:10px}.center-card[data-v-a7c2d728]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a7c2d728]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a7c2d728]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a7c2d728]{margin-top:0}}.text-center[data-v-a7c2d728]{text-align:center}.text-left[data-v-a7c2d728]{text-align:left}.responsive-table[data-v-a7c2d728]{margin-bottom:15px}.responsive-table table[data-v-a7c2d728]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a7c2d728]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a7c2d728]{font-size:.95em}.responsive-table table tbody td[data-v-a7c2d728]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:none}.responsive-table table .cell-heading[data-v-a7c2d728]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a7c2d728]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a7c2d728]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a7c2d728]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a7c2d728]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a7c2d728]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a7c2d728]{width:100%}}.profile-buttons[data-v-a7c2d728]{display:flex;gap:10px}.medium-sport-img[data-v-a7c2d728]{height:35px;width:35px;margin:0 auto}#workout-info[data-v-a7c2d728]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-a7c2d728],#workout-info .mountains[data-v-a7c2d728]{padding-right:5px}#workout-info .workout-data[data-v-a7c2d728]{padding:5px 0}#workout-info .workout-data .label[data-v-a7c2d728]{text-transform:capitalize}#workout-info .workout-data .value[data-v-a7c2d728]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-a7c2d728]{padding:10px}}[data-v-b4b3006a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-b4b3006a]{margin:0}#app[data-v-b4b3006a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-b4b3006a]{color:var(--app-a-color);text-decoration:none}img[data-v-b4b3006a]{max-width:100%}input[data-v-b4b3006a],select[data-v-b4b3006a],textarea[data-v-b4b3006a]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-b4b3006a]:disabled,select[data-v-b4b3006a]:disabled,textarea[data-v-b4b3006a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-b4b3006a] :invalid{outline:2px solid var(--input-error-color)}label[data-v-b4b3006a]{font-weight:700}button[data-v-b4b3006a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-b4b3006a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-b4b3006a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-b4b3006a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-b4b3006a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-b4b3006a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-b4b3006a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-b4b3006a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-b4b3006a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-b4b3006a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-b4b3006a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-b4b3006a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-b4b3006a]{margin:10px;padding:5px}.upper[data-v-b4b3006a]{text-transform:uppercase}.view[data-v-b4b3006a]{padding-bottom:35px}.fa-trophy[data-v-b4b3006a]{color:var(--workout-trophy-color)}.mountains[data-v-b4b3006a]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-b4b3006a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-b4b3006a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-b4b3006a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-b4b3006a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-b4b3006a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-b4b3006a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-b4b3006a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-b4b3006a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-b4b3006a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-b4b3006a]{font-weight:700}.description-list dl dd[data-v-b4b3006a]{margin-bottom:10px}.center-card[data-v-b4b3006a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-b4b3006a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-b4b3006a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-b4b3006a]{margin-top:0}}.text-center[data-v-b4b3006a]{text-align:center}.text-left[data-v-b4b3006a]{text-align:left}.responsive-table[data-v-b4b3006a]{margin-bottom:15px}.responsive-table table[data-v-b4b3006a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-b4b3006a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-b4b3006a]{font-size:.95em}.responsive-table table tbody td[data-v-b4b3006a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:none}.responsive-table table .cell-heading[data-v-b4b3006a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-b4b3006a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-b4b3006a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-b4b3006a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-b4b3006a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-b4b3006a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-b4b3006a]{width:100%}}.profile-buttons[data-v-b4b3006a]{display:flex;gap:10px}.medium-sport-img[data-v-b4b3006a]{height:35px;width:35px;margin:0 auto}#workout-map[data-v-b4b3006a]{padding:10px 0}#workout-map .leaflet-container[data-v-b4b3006a],#workout-map .no-map[data-v-b4b3006a]{height:400px;width:600px}#workout-map .no-map[data-v-b4b3006a]{line-height:400px}@media screen and (max-width:700px){#workout-map[data-v-b4b3006a]{padding:0}#workout-map .leaflet-container[data-v-b4b3006a]{width:100%;height:300px}#workout-map .no-map[data-v-b4b3006a]{display:none}}[data-v-2655acaa]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2655acaa]{margin:0}#app[data-v-2655acaa]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2655acaa]{color:var(--app-a-color);text-decoration:none}img[data-v-2655acaa]{max-width:100%}input[data-v-2655acaa],select[data-v-2655acaa],textarea[data-v-2655acaa]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2655acaa]:disabled,select[data-v-2655acaa]:disabled,textarea[data-v-2655acaa]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-2655acaa] :invalid{outline:2px solid var(--input-error-color)}label[data-v-2655acaa]{font-weight:700}button[data-v-2655acaa]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2655acaa]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2655acaa]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2655acaa]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2655acaa]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2655acaa]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2655acaa]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2655acaa]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2655acaa]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2655acaa]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2655acaa]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2655acaa]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2655acaa]{margin:10px;padding:5px}.upper[data-v-2655acaa]{text-transform:uppercase}.view[data-v-2655acaa]{padding-bottom:35px}.fa-trophy[data-v-2655acaa]{color:var(--workout-trophy-color)}.mountains[data-v-2655acaa]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-2655acaa]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2655acaa]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2655acaa]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2655acaa]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2655acaa]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2655acaa]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2655acaa]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2655acaa]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2655acaa]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2655acaa]{font-weight:700}.description-list dl dd[data-v-2655acaa]{margin-bottom:10px}.center-card[data-v-2655acaa]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2655acaa]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2655acaa]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2655acaa]{margin-top:0}}.text-center[data-v-2655acaa]{text-align:center}.text-left[data-v-2655acaa]{text-align:left}.responsive-table[data-v-2655acaa]{margin-bottom:15px}.responsive-table table[data-v-2655acaa]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2655acaa]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2655acaa]{font-size:.95em}.responsive-table table tbody td[data-v-2655acaa]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:none}.responsive-table table .cell-heading[data-v-2655acaa]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2655acaa]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2655acaa]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2655acaa]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2655acaa]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2655acaa]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2655acaa]{width:100%}}.profile-buttons[data-v-2655acaa]{display:flex;gap:10px}.medium-sport-img[data-v-2655acaa]{height:35px;width:35px;margin:0 auto}.workout-detail[data-v-2655acaa]{display:flex}.workout-detail[data-v-2655acaa] .card{width:100%}.workout-detail[data-v-2655acaa] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-2655acaa] .card .card-content{flex-direction:column}}[data-v-54dcb952]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-54dcb952]{margin:0}#app[data-v-54dcb952]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-54dcb952]{color:var(--app-a-color);text-decoration:none}img[data-v-54dcb952]{max-width:100%}input[data-v-54dcb952],select[data-v-54dcb952],textarea[data-v-54dcb952]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-54dcb952]:disabled,select[data-v-54dcb952]:disabled,textarea[data-v-54dcb952]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-54dcb952] :invalid{outline:2px solid var(--input-error-color)}label[data-v-54dcb952]{font-weight:700}button[data-v-54dcb952]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-54dcb952]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-54dcb952]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-54dcb952]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-54dcb952]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-54dcb952]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-54dcb952]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-54dcb952]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-54dcb952]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-54dcb952]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-54dcb952]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-54dcb952]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-54dcb952]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-54dcb952]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-54dcb952]{display:flex;flex-direction:column}.form-box .form-items input[data-v-54dcb952]{margin:10px;padding:5px}.upper[data-v-54dcb952]{text-transform:uppercase}.view[data-v-54dcb952]{padding-bottom:35px}.fa-trophy[data-v-54dcb952]{color:var(--workout-trophy-color)}.mountains[data-v-54dcb952]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-54dcb952]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-54dcb952]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-54dcb952]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-54dcb952]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-54dcb952]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-54dcb952]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-54dcb952]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-54dcb952]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-54dcb952]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-54dcb952]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-54dcb952]{font-weight:700}.description-list dl dd[data-v-54dcb952]{margin-bottom:10px}.center-card[data-v-54dcb952]{margin:0 auto;width:700px}.center-card.with-margin[data-v-54dcb952]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-54dcb952]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-54dcb952]{margin-top:0}}.text-center[data-v-54dcb952]{text-align:center}.text-left[data-v-54dcb952]{text-align:left}.responsive-table[data-v-54dcb952]{margin-bottom:15px}.responsive-table table[data-v-54dcb952]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-54dcb952]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-54dcb952]{font-size:.95em}.responsive-table table tbody td[data-v-54dcb952]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-54dcb952]{border:none}.responsive-table table .cell-heading[data-v-54dcb952]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-54dcb952]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-54dcb952]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-54dcb952]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-54dcb952]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-54dcb952]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-54dcb952]{width:100%}}.profile-buttons[data-v-54dcb952]{display:flex;gap:10px}.medium-sport-img[data-v-54dcb952]{height:35px;width:35px;margin:0 auto}#workout-chart[data-v-54dcb952] .card .card-title{text-transform:capitalize}#workout-chart[data-v-54dcb952] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-54dcb952] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-54dcb952] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-54dcb952] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-54dcb952] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-54dcb952] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-54dcb952] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-54dcb952] .card .card-content #chart-legend ul li span{border-radius:5%;border-style:solid;border-width:1.5px;height:10px;margin-top:4px;margin-left:2px;width:20px}@media screen and (max-width:700px){#workout-chart[data-v-54dcb952] .card .card-content{padding:10px 0}#workout-chart[data-v-54dcb952] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-54dcb952] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-54dcb952] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}[data-v-6dd0f3c4]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6dd0f3c4]{margin:0}#app[data-v-6dd0f3c4]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6dd0f3c4]{color:var(--app-a-color);text-decoration:none}img[data-v-6dd0f3c4]{max-width:100%}input[data-v-6dd0f3c4],select[data-v-6dd0f3c4],textarea[data-v-6dd0f3c4]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6dd0f3c4]:disabled,select[data-v-6dd0f3c4]:disabled,textarea[data-v-6dd0f3c4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-6dd0f3c4] :invalid{outline:2px solid var(--input-error-color)}label[data-v-6dd0f3c4]{font-weight:700}button[data-v-6dd0f3c4]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6dd0f3c4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6dd0f3c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6dd0f3c4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6dd0f3c4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6dd0f3c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6dd0f3c4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6dd0f3c4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6dd0f3c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6dd0f3c4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6dd0f3c4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6dd0f3c4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6dd0f3c4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6dd0f3c4]{margin:10px;padding:5px}.upper[data-v-6dd0f3c4]{text-transform:uppercase}.view[data-v-6dd0f3c4]{padding-bottom:35px}.fa-trophy[data-v-6dd0f3c4]{color:var(--workout-trophy-color)}.mountains[data-v-6dd0f3c4]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-6dd0f3c4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6dd0f3c4]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6dd0f3c4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6dd0f3c4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6dd0f3c4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6dd0f3c4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6dd0f3c4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6dd0f3c4]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6dd0f3c4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6dd0f3c4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6dd0f3c4]{font-weight:700}.description-list dl dd[data-v-6dd0f3c4]{margin-bottom:10px}.center-card[data-v-6dd0f3c4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6dd0f3c4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6dd0f3c4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6dd0f3c4]{margin-top:0}}.text-center[data-v-6dd0f3c4]{text-align:center}.text-left[data-v-6dd0f3c4]{text-align:left}.responsive-table[data-v-6dd0f3c4]{margin-bottom:15px}.responsive-table table[data-v-6dd0f3c4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6dd0f3c4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6dd0f3c4]{font-size:.95em}.responsive-table table tbody td[data-v-6dd0f3c4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6dd0f3c4]{border:none}.responsive-table table .cell-heading[data-v-6dd0f3c4]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6dd0f3c4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6dd0f3c4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6dd0f3c4]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6dd0f3c4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6dd0f3c4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6dd0f3c4]{width:100%}}.profile-buttons[data-v-6dd0f3c4]{display:flex;gap:10px}.medium-sport-img[data-v-6dd0f3c4]{height:35px;width:35px;margin:0 auto}#workout-note[data-v-6dd0f3c4] .card-content{font-style:italic;white-space:pre-wrap}[data-v-73381f36]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-73381f36]{margin:0}#app[data-v-73381f36]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-73381f36]{color:var(--app-a-color);text-decoration:none}img[data-v-73381f36]{max-width:100%}input[data-v-73381f36],select[data-v-73381f36],textarea[data-v-73381f36]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-73381f36]:disabled,select[data-v-73381f36]:disabled,textarea[data-v-73381f36]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-73381f36] :invalid{outline:2px solid var(--input-error-color)}label[data-v-73381f36]{font-weight:700}button[data-v-73381f36]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-73381f36]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-73381f36]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-73381f36]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-73381f36]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-73381f36]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-73381f36]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-73381f36]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-73381f36]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-73381f36]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-73381f36]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-73381f36]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-73381f36]{display:flex;flex-direction:column}.form-box .form-items input[data-v-73381f36]{margin:10px;padding:5px}.upper[data-v-73381f36]{text-transform:uppercase}.view[data-v-73381f36]{padding-bottom:35px}.fa-trophy[data-v-73381f36]{color:var(--workout-trophy-color)}.mountains[data-v-73381f36]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-73381f36]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-73381f36]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-73381f36]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-73381f36]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-73381f36]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-73381f36]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-73381f36]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-73381f36]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-73381f36]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-73381f36]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-73381f36]{font-weight:700}.description-list dl dd[data-v-73381f36]{margin-bottom:10px}.center-card[data-v-73381f36]{margin:0 auto;width:700px}.center-card.with-margin[data-v-73381f36]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-73381f36]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-73381f36]{margin-top:0}}.text-center[data-v-73381f36]{text-align:center}.text-left[data-v-73381f36]{text-align:left}.responsive-table[data-v-73381f36]{margin-bottom:15px}.responsive-table table[data-v-73381f36]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-73381f36]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-73381f36]{font-size:.95em}.responsive-table table tbody td[data-v-73381f36]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-73381f36]{border:none}.responsive-table table .cell-heading[data-v-73381f36]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-73381f36]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-73381f36]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-73381f36]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-73381f36]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-73381f36]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-73381f36]{width:100%}}.profile-buttons[data-v-73381f36]{display:flex;gap:10px}.medium-sport-img[data-v-73381f36]{height:35px;width:35px;margin:0 auto}#workout-segments[data-v-73381f36] .card .card-title{text-transform:capitalize}#workout-segments[data-v-73381f36] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-73381f36] .card .card-content a{font-weight:700}#workout-segments[data-v-73381f36] .card .card-content ul{padding:0 10px;list-style:square}[data-v-a8e74d78]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a8e74d78]{margin:0}#app[data-v-a8e74d78]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a8e74d78]{color:var(--app-a-color);text-decoration:none}img[data-v-a8e74d78]{max-width:100%}input[data-v-a8e74d78],select[data-v-a8e74d78],textarea[data-v-a8e74d78]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a8e74d78]:disabled,select[data-v-a8e74d78]:disabled,textarea[data-v-a8e74d78]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-a8e74d78] :invalid{outline:2px solid var(--input-error-color)}label[data-v-a8e74d78]{font-weight:700}button[data-v-a8e74d78]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a8e74d78]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a8e74d78]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a8e74d78]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a8e74d78]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a8e74d78]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a8e74d78]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a8e74d78]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a8e74d78]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a8e74d78]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a8e74d78]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a8e74d78]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a8e74d78]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a8e74d78]{margin:10px;padding:5px}.upper[data-v-a8e74d78]{text-transform:uppercase}.view[data-v-a8e74d78]{padding-bottom:35px}.fa-trophy[data-v-a8e74d78]{color:var(--workout-trophy-color)}.mountains[data-v-a8e74d78]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-a8e74d78]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a8e74d78]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a8e74d78]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a8e74d78]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a8e74d78]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a8e74d78]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a8e74d78]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a8e74d78]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a8e74d78]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a8e74d78]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a8e74d78]{font-weight:700}.description-list dl dd[data-v-a8e74d78]{margin-bottom:10px}.center-card[data-v-a8e74d78]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a8e74d78]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a8e74d78]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a8e74d78]{margin-top:0}}.text-center[data-v-a8e74d78]{text-align:center}.text-left[data-v-a8e74d78]{text-align:left}.responsive-table[data-v-a8e74d78]{margin-bottom:15px}.responsive-table table[data-v-a8e74d78]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a8e74d78]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a8e74d78]{font-size:.95em}.responsive-table table tbody td[data-v-a8e74d78]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a8e74d78]{border:none}.responsive-table table .cell-heading[data-v-a8e74d78]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a8e74d78]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a8e74d78]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a8e74d78]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a8e74d78]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a8e74d78]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a8e74d78]{width:100%}}.profile-buttons[data-v-a8e74d78]{display:flex;gap:10px}.medium-sport-img[data-v-a8e74d78]{height:35px;width:35px;margin:0 auto}#workout[data-v-a8e74d78]{display:flex}#workout .container[data-v-a8e74d78]{width:100%;padding:0}#workout .container .workout-container[data-v-a8e74d78]{width:100%}#workout .container .workout-loading[data-v-a8e74d78]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-a8e74d78]{display:flex;align-items:center;height:100%}[data-v-225fffcc]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-225fffcc]{margin:0}#app[data-v-225fffcc]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-225fffcc]{color:var(--app-a-color);text-decoration:none}img[data-v-225fffcc]{max-width:100%}input[data-v-225fffcc],select[data-v-225fffcc],textarea[data-v-225fffcc]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-225fffcc]:disabled,select[data-v-225fffcc]:disabled,textarea[data-v-225fffcc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-225fffcc] :invalid{outline:2px solid var(--input-error-color)}label[data-v-225fffcc]{font-weight:700}button[data-v-225fffcc]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-225fffcc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-225fffcc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-225fffcc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-225fffcc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-225fffcc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-225fffcc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-225fffcc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-225fffcc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-225fffcc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-225fffcc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-225fffcc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-225fffcc]{margin:10px;padding:5px}.upper[data-v-225fffcc]{text-transform:uppercase}.view[data-v-225fffcc]{padding-bottom:35px}.fa-trophy[data-v-225fffcc]{color:var(--workout-trophy-color)}.mountains[data-v-225fffcc]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-225fffcc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-225fffcc]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-225fffcc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-225fffcc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-225fffcc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-225fffcc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-225fffcc]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-225fffcc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-225fffcc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-225fffcc]{font-weight:700}.description-list dl dd[data-v-225fffcc]{margin-bottom:10px}.center-card[data-v-225fffcc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-225fffcc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-225fffcc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-225fffcc]{margin-top:0}}.text-center[data-v-225fffcc]{text-align:center}.text-left[data-v-225fffcc]{text-align:left}.responsive-table[data-v-225fffcc]{margin-bottom:15px}.responsive-table table[data-v-225fffcc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-225fffcc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-225fffcc]{font-size:.95em}.responsive-table table tbody td[data-v-225fffcc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:none}.responsive-table table .cell-heading[data-v-225fffcc]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-225fffcc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-225fffcc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-225fffcc]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-225fffcc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-225fffcc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-225fffcc]{width:100%}}.profile-buttons[data-v-225fffcc]{display:flex;gap:10px}.medium-sport-img[data-v-225fffcc]{height:35px;width:35px;margin:0 auto}@media screen and (max-width:700px){#workout-edition.center-form[data-v-225fffcc]{margin:50px auto}}#workout-edition[data-v-225fffcc] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content{padding:10px 0}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-225fffcc] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.43c2e954.js b/fittrackee/dist/static/js/app.b027dbd7.js similarity index 99% rename from fittrackee/dist/static/js/app.43c2e954.js rename to fittrackee/dist/static/js/app.b027dbd7.js index d7ec9437..16939b45 100644 --- a/fittrackee/dist/static/js/app.43c2e954.js +++ b/fittrackee/dist/static/js/app.b027dbd7.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var r,c,i=t[0],s=t[1],l=t[2],u=0,O=[];ur?1:n2&&void 0!==arguments[2]&&arguments[2],c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return e.filter((function(e){return!n||(null===c?e.is_active_for_user:c.includes(e.id)||e.is_active)})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(a)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]},l=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.color}))[0]}},1446:function(e,t,n){"use strict";n("1db4")},"1db4":function(e,t,n){},"1e18":function(e,t,n){},"1f46":function(e,t,n){},2679:function(e,t,n){},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n("5502");function c(){return Object(r["b"])()}},"30bb":function(e,t,n){"use strict";n("599b")},3256:function(e,t,n){},3605:function(e,t,n){},"3c44":function(e,t,n){"use strict";var r=n("7a23"),c=n("c46a"),o={class:"box user-header"},a={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},l={class:"user-stat"},u={class:"stat-number"},O={class:"stat-label"},d={class:"user-stat"},m={class:"stat-label"},b={class:"user-stat hide-small"},E={class:"stat-number"},p={class:"stat-label"},T=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),T=n.user;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[Object(r["createVNode"])(c["a"],{user:Object(r["unref"])(T)},null,8,["user"]),Object(r["createElementVNode"])("div",a,[Object(r["createElementVNode"])("div",i,Object(r["toDisplayString"])(Object(r["unref"])(T).username),1),Object(r["createElementVNode"])("div",s,[Object(r["createElementVNode"])("div",l,[Object(r["createElementVNode"])("span",u,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_workouts),1),Object(r["createElementVNode"])("span",O,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",Object(r["unref"])(T).nb_workouts)),1)]),Object(r["createElementVNode"])("div",d,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(T).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:Object(r["unref"])(T).imperial_units},null,8,["distance","useImperialUnits"]),Object(r["createElementVNode"])("span",m,Object(r["toDisplayString"])(Object(r["unref"])(T).imperial_units?"miles":"km"),1)]),Object(r["createElementVNode"])("div",b,[Object(r["createElementVNode"])("span",E,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_sports),1),Object(r["createElementVNode"])("span",p,Object(r["toDisplayString"])(e.$t("workouts.SPORT",Object(r["unref"])(T).nb_sports)),1)])])])])}}}),f=(n("feac"),n("6b0d")),j=n.n(f);const S=j()(T,[["__scopeId","data-v-4e6eb0d2"]]);t["a"]=S},"3ca5":function(e,t,n){"use strict";n("4a37")},4042:function(e,t,n){"use strict";n("0bca")},4163:function(e,t,n){},"44dee":function(e,t,n){"use strict";n("d9b8")},4870:function(e,t,n){"use strict";var r,c,o;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return o})),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(c||(c={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(o||(o={}))},"49c1":function(e,t,n){},"4a0c":function(e,t,n){},"4a37":function(e,t,n){},"55a6":function(e,t,n){"use strict";n("dbf1")},"599b":function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return m})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return T}));var r=n("69eb"),c=n("d6e9"),o=n("f628"),a=n("f7f1"),i=n("cdb6"),s=n("74b5"),l=n("8cac"),u=n("2fc8"),O=n("b166"),d=n("78b2"),m=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(c["a"])(t);case"month":return Object(o["a"])(t);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},b=function(e,t){switch(e){case"week":return Object(a["a"])(t,7);case"year":return Object(i["a"])(t,1);case"month":return Object(s["a"])(t,1);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},E=function(e,t){return Object(d["a"])(new Date(e),t)},p=function(e,t){var n=Object(o["a"])(e),c=Object(l["a"])(e),a=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:a}),end:Object(u["a"])(c,{weekStartsOn:a})}},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:Object(O["a"])(e,t),workout_time:Object(O["a"])(e,n)}}},"61af":function(e,t,n){"use strict";n("ae19")},6284:function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("b680");var r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},c={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,a=r[t],i=r[n],s=e*a.multiplier*c[a.system][i.system]/i.multiplier;return null!==o?parseFloat(s.toFixed(o)):s},a=function(e,t,n){var c=n?r[e].defaultTarget:e;return n?o(t,e,c,2):t}},"65d3":function(e,t,n){},"663e":function(e,t,n){"use strict";n.r(t);var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Etes-vous sûr de vouloir supprimer le compte de ",n(r(0))," ? Toutes les données seront définitivement."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les drois d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les drois d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Mot de passe : 8 caractères minimum."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Désolé, cet utilisateur existe déjà."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Nom d'utilisateur : 3 à 12 caractères requis."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Saisir une adresse email"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},6862:function(e,t,n){"use strict";n("d251")},"6d7d":function(e,t,n){"use strict";var r=n("7a23"),c=n("97e5"),o=function(e){return Object(r["pushScopeId"])("data-v-de4b01da"),e=e(),Object(r["popScopeId"])(),e},a={class:"pagination-center","aria-label":"navigation"},i={class:"pagination"},s=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),l={key:0},u=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),O=Object(r["defineComponent"])({props:{pagination:null,path:null,query:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.pagination,O=n.path,d=n.query;function m(e,t){var n=Object.assign({},d.value);return n.page=t?e+t:e,n}return function(e,t){var n=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("nav",a,[Object(r["createElementVNode"])("ul",i,[Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-prev",{disabled:!Object(r["unref"])(o).has_prev}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,-1)},event:Object(r["unref"])(o).has_prev?"click":"",disabled:!Object(r["unref"])(o).has_prev},{default:Object(r["withCtx"])((function(){return[s,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(c["b"])(Object(r["unref"])(o).pages,Object(r["unref"])(o).page),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:e,class:Object(r["normalizeClass"])(["page",{active:e===Object(r["unref"])(o).page}])},["..."===e?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",l," ... ")):(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:1,class:"page-link",to:{path:Object(r["unref"])(O),query:m(+e)}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e),1)]})),_:2},1032,["to"]))],2)})),128)),Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-next",{disabled:!Object(r["unref"])(o).has_next}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,1)},event:Object(r["unref"])(o).has_next?"click":"",disabled:!Object(r["unref"])(o).has_next},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("api.PAGINATION.NEXT"))+" ",1),u]})),_:1},8,["to","event","disabled"])],2)])])}}}),d=(n("30bb"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-de4b01da"]]);t["a"]=b},"71a7":function(e,t,n){"use strict";var r=n("7a23"),c=n("b166"),o=n("dad5"),a=n("2906"),i={id:"user-infos",class:"description-list"},s={class:"user-bio"},l={key:1,class:"profile-buttons"},u={key:2,class:"profile-buttons"},O=Object(r["defineComponent"])({props:{user:null,fromAdmin:{default:!1}},setup:function(e){var t=e,n=Object(a["a"])(),O=Object(r["toRefs"])(t),d=O.user,m=O.fromAdmin,b=Object(r["computed"])((function(){return n.getters[o["a"].GETTERS.AUTH_USER_PROFILE]})),E=Object(r["computed"])((function(){return t.user.created_at?Object(c["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),p=Object(r["computed"])((function(){return t.user.birth_date?Object(c["a"])(new Date(t.user.birth_date),"dd/MM/yyyy"):""})),T=Object(r["ref"])(!1);function f(e){T.value=e}function j(e){n.dispatch(o["e"].ACTIONS.DELETE_USER_ACCOUNT,{username:e})}return function(e,t){var n=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["unref"])(T)?(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:Object(r["unref"])(d).username,onConfirmAction:t[0]||(t[0]=function(e){return j(Object(r["unref"])(d).username)}),onCancelAction:t[1]||(t[1]=function(e){return f(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("dl",null,[Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(E)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).first_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).last_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(p)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).location),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createElementVNode"])("dd",s,Object(r["toDisplayString"])(Object(r["unref"])(d).bio),1)]),Object(r["unref"])(m)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",l,[Object(r["unref"])(b).username!==Object(r["unref"])(d).username?(Object(r["openBlock"])(),Object(r["createElementBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=Object(r["withModifiers"])((function(e){return f(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("button",{onClick:t[3]||(t[3]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])}}}),d=(n("8501"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-deec58e4"]]);t["a"]=b},7489:function(e,t,n){"use strict";n("1f46")},"7cd8":function(e,t,n){"use strict";n("4a0c")},"83d3":function(e,t,n){"use strict";n("aaee")},8501:function(e,t,n){"use strict";n("9260")},"910d":function(e,t,n){},9176:function(e,t,n){"use strict";n("4e82"),n("99af");var r=n("7a23"),c={class:"table-selects"},o=["value"],a=["value"],i=["value"],s=["value"],l=["value"],u=["value"],O=Object(r["defineComponent"])({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup:function(e,t){var n=t.emit,O=e,d=Object(r["toRefs"])(O),m=d.order_by,b=d.query,E=d.sort,p=d.message,T=[10,25,50,100];function f(e){n("updateSelect",e.target.id,e.target.value)}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",c,[Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order_by",id:"order_by",value:Object(r["unref"])(b).order_by,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(m),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("".concat(Object(r["unref"])(p),".").concat(t.toUpperCase()))),9,a)})),128))],40,o)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order",id:"order",value:Object(r["unref"])(b).order,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(E),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.".concat(t.toUpperCase()))),9,s)})),128))],40,i)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"per_page",id:"per_page",value:Object(r["unref"])(b).per_page,onChange:f},[(Object(r["openBlock"])(),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(T,(function(e){return Object(r["createElementVNode"])("option",{value:e,key:e},Object(r["toDisplayString"])(e),9,u)})),64))],40,l)])])}}}),d=(n("9308"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-a5d764a4"]]);t["a"]=b},"922d":function(e,t,n){"use strict";n("dbef")},9260:function(e,t,n){},9308:function(e,t,n){"use strict";n("910d")},"96f9":function(e,t,n){},"97e5":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return l})),n.d(t,"b",(function(){return O}));n("caad"),n("2532"),n("a630"),n("3ca3"),n("99af");var r=["asc","desc"],c=1,o=10,a=function(e,t){return e&&"string"===typeof e&&+e>0?+e:t},i=function(e,t,n){return e&&"string"===typeof e&&t.includes(e)?e:n},s=function(e,t,n,s){var l=s||{},u=l.defaultSort||"asc",O={};return O.page=a(e.page,c),O.per_page=a(e.per_page,o),O.order=i(e.order,r,u),O.order_by=i(e.order_by,t,n),O},l=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Array.from({length:e-t+1},(function(e,n){return t+n}))},O=function(e,t){if(e<0)return[];if(e<9)return u(e);var n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Password: 8 characters required."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Sorry, that user already exists."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Username: 3 to 12 characters required."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems encounter some issues.
Please try later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Enter an email address"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirm the password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirm Password"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Password confirmation"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},c26b:function(e,t,n){},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return o}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],c=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};var c=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?"".concat(c).concat(o):{size:c,suffix:o}},o=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";n("99af");var r=n("7a23"),c=n("d257"),o={class:"user-picture"},a=["alt","src"],i={key:1,class:"no-picture"},s=Object(r["createElementVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),l=[s],u=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["computed"])((function(){return t.user.picture?"".concat(Object(c["a"])(),"users/").concat(t.user.username,"/picture"):""}));return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[""!==Object(r["unref"])(n)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:Object(r["unref"])(n)},null,8,a)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,l))])}}});n("a06d");const O=u;t["a"]=O},c7cd:function(e,t,n){},ccf6:function(e,t,n){},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("d3b7"),n("159b"),n("b0c0");var r=n("9b4a"),c=n("d9fa"),o=n("7a23"),a=n("9483");Object(a["a"])("".concat("/","service-worker.js"),{ready:function(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered:function(){console.log("Service worker has been registered.")},cached:function(){console.log("Content has been cached for offline use.")},updatefound:function(){console.log("New content is downloading.")},updated:function(){console.log("New content is available; please refresh.")},offline:function(){console.log("No internet connection found. App is running in offline mode.")},error:function(e){console.error("Error during service worker registration:",e)}});var i=function(e){return Object(o["pushScopeId"])("data-v-e60d9c5e"),e=e(),Object(o["popScopeId"])(),e},s={id:"footer"},l={class:"footer-items"},u={class:"footer-item"},O=i((function(){return Object(o["createElementVNode"])("strong",null,"FitTrackee",-1)})),d=Object(o["createStaticVNode"])('',4),m=Object(o["defineComponent"])({props:{version:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.version;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",s,[Object(o["createElementVNode"])("div",l,[Object(o["createElementVNode"])("div",u,[O,Object(o["createTextVNode"])(" v"+Object(o["toDisplayString"])(Object(o["unref"])(r)),1)]),d])])}}}),b=(n("3ca5"),n("6b0d")),E=n.n(b);const p=E()(m,[["__scopeId","data-v-e60d9c5e"]]);var T=p,f=(n("25f0"),n("47e2")),j=n("c46a"),S=n("dad5"),A=n("2906"),_=(n("d81d"),n("8923")),N=n("d481");n("ddb0"),n("ac1f"),n("466d");function R(){var e=n("e7b6"),t={};return e.keys().forEach((function(n){var r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){var c=r[1];t[c]=e(n).default}})),t}var g=Object(f["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:R()}),I={en:_["a"],fr:N["a"]},v={en:"English",fr:"Français"},h=g.global.availableLocales,U=h.map((function(e){return{label:v[e],value:e}})),k=function(e){return Object(o["pushScopeId"])("data-v-53493688"),e=e(),Object(o["popScopeId"])(),e},D={id:"nav"},C={class:"nav-container"},P={class:"nav-app-name"},L={class:"nav-items-close"},M=k((function(){return Object(o["createElementVNode"])("div",{class:"app-name"},"FitTrackee",-1)})),z={key:0,class:"nav-items-group"},y=k((function(){return Object(o["createElementVNode"])("div",{class:"nav-item nav-separator"},null,-1)})),w={class:"nav-items-user-menu"},V={key:0,class:"nav-items-group"},B={class:"nav-item nav-profile-img"},G={key:1,class:"nav-items-group"},x=k((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-language"},null,-1)})),F=Object(o["defineComponent"])({emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(f["b"])(),c=r.locale,a=Object(A["a"])(),i=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.IS_AUTHENTICATED]})),l=Object(o["computed"])((function(){return a.getters[S["b"].GETTERS.LANGUAGE]})),u=Object(o["ref"])(!1);function O(){u.value=!0,n("menuInteraction",!0)}function d(){u.value=!1,n("menuInteraction",!1)}function m(e){c.value=e.value.toString(),a.commit(S["b"].MUTATIONS.UPDATE_LANG,e.value)}function b(){a.dispatch(S["a"].ACTIONS.LOGOUT)}return function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("Dropdown");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",D,[Object(o["createElementVNode"])("div",C,[Object(o["createElementVNode"])("div",P,[Object(o["createElementVNode"])("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-icon-open",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=function(e){return O()})})],2),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-items",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("div",L,[M,Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])(["fa fa-close close-icon nav-item",{"menu-closed":!Object(o["unref"])(u)}]),onClick:t[2]||(t[2]=function(e){return d()})},null,2)]),Object(o["createElementVNode"])("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=function(e){return d()})},[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",z,[Object(o["createVNode"])(n,{class:"nav-item",to:"/"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/statistics"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts/add"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),Object(o["unref"])(s)&&Object(o["unref"])(i).admin?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,class:"nav-item",to:"/admin"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(o["createCommentVNode"])("",!0),y])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",w,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",V,[Object(o["createElementVNode"])("div",B,[Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(i)},null,8,["user"])]),Object(o["createVNode"])(n,{class:"nav-item",to:"/profile",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i).username),1)]})),_:1}),Object(o["createElementVNode"])("div",{class:"nav-item nav-link",onClick:b},Object(o["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",G,[Object(o["createVNode"])(n,{class:"nav-item",to:"/login",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/register",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1})])),Object(o["unref"])(U)&&Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,class:"nav-item",options:Object(o["unref"])(U),selected:Object(o["unref"])(l),onSelected:m},{default:Object(o["withCtx"])((function(){return[x]})),_:1},8,["options","selected"])):Object(o["createCommentVNode"])("",!0)])],2)])])}}});n("bae4");const K=E()(F,[["__scopeId","data-v-53493688"]]);var W=K,$={id:"no-config"},H={class:"error-page"},Y=Object(o["createStaticVNode"])('
',1),q=["innerHTML"];function X(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$,[Object(o["createElementVNode"])("div",H,[Y,Object(o["createElementVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,q)])])}n("ba7f");const Z={},J=E()(Z,[["render",X],["__scopeId","data-v-c1193208"]]);var Q=J,ee=function(e){return Object(o["pushScopeId"])("data-v-6c3336ff"),e=e(),Object(o["popScopeId"])(),e},te=ee((function(){return Object(o["createElementVNode"])("div",{id:"top"},null,-1)})),ne={key:0,class:"app-container"},re={class:"app-loading"},ce={class:"container scroll"},oe=ee((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1)})),ae=[oe],ie=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_CONFIG]})),r=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_LOADING]})),c=Object(o["ref"])(!1),a=Object(o["ref"])(!1);function i(e){c.value=e}function s(e){return e.getBoundingClientRect().top=0}function l(){window.onscroll=function(){var e=document.querySelector("#bottom");a.value=null!==e&&s(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){a.value=!1}),300)}return Object(o["onBeforeMount"])((function(){return t.dispatch(S["b"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(o["onMounted"])((function(){return l()})),function(e,t){var s=Object(o["resolveComponent"])("Loader"),l=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[te,Object(o["createVNode"])(W,{onMenuInteraction:i}),Object(o["unref"])(r)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ne,[Object(o["createElementVNode"])("div",re,[Object(o["createVNode"])(s)])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:1,class:Object(o["normalizeClass"])(["app-container",{"hide-scroll":c.value}])},[Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(l,{key:0})):(Object(o["openBlock"])(),Object(o["createBlock"])(Q,{key:1}))],2)),Object(o["createElementVNode"])("div",ce,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["scroll-button",{"display-button":a.value}]),onClick:u},ae,2)]),Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(T,{key:2,version:Object(o["unref"])(n)?Object(o["unref"])(n).version:""},null,8,["version"])):Object(o["createCommentVNode"])("",!0)],64)}}});n("1446");const se=E()(ie,[["__scopeId","data-v-6c3336ff"]]);var le=se,ue=(n("5319"),n("3ca3"),n("caad"),n("6c02")),Oe=(n("b64b"),n("c364")),de=function(e){return Object(o["pushScopeId"])("data-v-03002a18"),e=e(),Object(o["popScopeId"])(),e},me={id:"admin-app",class:"admin-card"},be=["onSubmit"],Ee={for:"max_users"},pe=["disabled"],Te={class:"user-limit-help"},fe={class:"info-box"},je=de((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Se={for:"max_single_file_size"},Ae=["disabled"],_e={for:"max_zip_file_size"},Ne=["disabled"],Re={for:"gpx_limit_import"},ge=["disabled"],Ie={key:1,class:"form-buttons"},ve={class:"confirm",type:"submit"},he=["onClick"],Ue={key:2,class:"form-buttons"},ke=Object(o["defineComponent"])({props:{appConfig:null,edition:{default:!1}},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(ue["d"])(),c=Object(o["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e){Object.keys(c).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?c[t]=Object(Oe["a"])(e[t]):c[t]=e[t]}))}function s(){i(t.appConfig),n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),r.push("/admin/application")}function l(){var e=Object.assign({},c);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,n.dispatch(S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(o["onBeforeMount"])((function(){t.appConfig&&i(t.appConfig)})),function(t,n){var r=Object(o["resolveComponent"])("ErrorMessage"),i=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",me,[Object(o["createVNode"])(i,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("form",{class:"admin-form",onSubmit:Object(o["withModifiers"])(l,["prevent"])},[Object(o["createElementVNode"])("label",Ee,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["unref"])(c).max_users=e}),disabled:!e.edition},null,8,pe),[[o["vModelText"],Object(o["unref"])(c).max_users]])]),Object(o["createElementVNode"])("div",Te,[Object(o["createElementVNode"])("span",fe,[je,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(o["createElementVNode"])("label",Se,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[1]||(n[1]=function(e){return Object(o["unref"])(c).max_single_file_size=e}),disabled:!e.edition},null,8,Ae),[[o["vModelText"],Object(o["unref"])(c).max_single_file_size]])]),Object(o["createElementVNode"])("label",_e,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[2]||(n[2]=function(e){return Object(o["unref"])(c).max_zip_file_size=e}),disabled:!e.edition},null,8,Ne),[[o["vModelText"],Object(o["unref"])(c).max_zip_file_size]])]),Object(o["createElementVNode"])("label",Re,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":n[3]||(n[3]=function(e){return Object(o["unref"])(c).gpx_limit_import=e}),disabled:!e.edition},null,8,ge),[[o["vModelText"],Object(o["unref"])(c).gpx_limit_import]])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),e.edition?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ie,[Object(o["createElementVNode"])("button",ve,Object(o["toDisplayString"])(t.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:Object(o["withModifiers"])(s,["prevent"])},Object(o["toDisplayString"])(t.$t("buttons.CANCEL")),9,he)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ue,[Object(o["createElementVNode"])("button",{class:"confirm",onClick:n[4]||(n[4]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin/application/edit")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("buttons.EDIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:n[5]||(n[5]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("admin.BACK_TO_ADMIN")),1)]))],40,be)]})),_:1})])}}});n("61af");const De=E()(ke,[["__scopeId","data-v-03002a18"]]);var Ce=De,Pe=n("05d9"),Le={id:"user-stats"},Me=Object(o["defineComponent"])({props:{appStatistics:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appStatistics,c=Object(o["computed"])((function(){return Object(Oe["b"])(r.value.uploads_dir_size,!1)}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Le,[Object(o["createVNode"])(Pe["a"],{icon:"users",value:Object(o["unref"])(r).users,text:e.$t("admin.USER",Object(o["unref"])(r).users)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"tags",value:Object(o["unref"])(r).sports,text:e.$t("workouts.SPORT",Object(o["unref"])(r).sports)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"calendar",value:Object(o["unref"])(r).workouts,text:e.$t("workouts.WORKOUT",Object(o["unref"])(r).workouts)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"folder-open",value:Object(o["unref"])(c).size,text:Object(o["unref"])(c).suffix},null,8,["value","text"])])}}});n("7cd8");const ze=Me;var ye=ze,we={class:"card"},Ve={class:"card-title"},Be={class:"card-content"};function Ge(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",we,[Object(o["createElementVNode"])("div",Ve,[Object(o["renderSlot"])(e.$slots,"title")]),Object(o["createElementVNode"])("div",Be,[Object(o["renderSlot"])(e.$slots,"content")])])}n("83d3");const xe={},Fe=E()(xe,[["render",Ge]]);var Ke=Fe,We=function(e){return Object(o["pushScopeId"])("data-v-7dad7915"),e=e(),Object(o["popScopeId"])(),e},$e={id:"admin-menu",class:"center-card"},He={class:"admin-menu description-list"},Ye=We((function(){return Object(o["createElementVNode"])("br",null,null,-1)})),qe={class:"registration-status"},Xe=Object(o["defineComponent"])({props:{appConfig:null,appStatistics:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appConfig,c=n.appStatistics;return function(e,t){var n=Object(o["resolveComponent"])("router-link");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$e,[Object(o["createVNode"])(Ke,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(ye,{appStatistics:Object(o["unref"])(c)},null,8,["appStatistics"]),Object(o["createElementVNode"])("div",He,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/application"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ye,Object(o["createElementVNode"])("span",qe,Object(o["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(Object(o["unref"])(r).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/sports"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/users"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])}}});n("07a4");const Ze=E()(Xe,[["__scopeId","data-v-7dad7915"]]);var Je=Ze,Qe=n("1119"),et=function(e){return Object(o["pushScopeId"])("data-v-7342d2cc"),e=e(),Object(o["popScopeId"])(),e},tt={id:"admin-sports",class:"admin-card"},nt={class:"responsive-table"},rt=et((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),ct={class:"text-left"},ot={class:"text-left sport-action"},at=et((function(){return Object(o["createElementVNode"])("th",null,null,-1)})),it={class:"text-center"},st=et((function(){return Object(o["createElementVNode"])("span",{class:"cell-heading"},"id",-1)})),lt={class:"cell-heading"},ut={class:"sport-label"},Ot={class:"cell-heading"},dt={class:"text-center"},mt={class:"cell-heading"},bt={class:"sport-action"},Et={class:"cell-heading"},pt={class:"action-button"},Tt=["onClick"],ft={key:0,class:"has-workouts"},jt=et((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)})),St=Object(o["defineComponent"])({setup:function(e){var t=Object(f["b"])(),n=t.t,r=Object(A["a"])(),c=Object(o["computed"])((function(){return Object(Qe["e"])(r.getters[S["c"].GETTERS.SPORTS],n)})),a=Object(o["computed"])((function(){return r.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e,t){r.dispatch(S["c"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage"),s=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",tt,[Object(o["createVNode"])(s,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createElementVNode"])("div",nt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[rt,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createElementVNode"])("th",ct,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("th",ot,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),at])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(c),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.id},[Object(o["createElementVNode"])("td",it,[st,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.id),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",lt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createVNode"])(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),Object(o["createElementVNode"])("td",ut,[Object(o["createElementVNode"])("span",Ot,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.translatedLabel),1)]),Object(o["createElementVNode"])("td",dt,[Object(o["createElementVNode"])("span",mt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",bt,[Object(o["createElementVNode"])("span",Et,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("div",pt,[Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.is_active}),onClick:function(e){return i(t.id,!t.is_active)}},Object(o["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,Tt),t.has_workouts?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",ft,[jt,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(o["createCommentVNode"])("",!0)])])])})),128))])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("a583");const At=E()(St,[["__scopeId","data-v-7342d2cc"]]);var _t=At,Nt=n("b166"),Rt=n("9176"),gt=n("6d7d"),It=n("97e5"),vt=n("5e65"),ht=function(e){return Object(o["pushScopeId"])("data-v-0d3ec733"),e=e(),Object(o["popScopeId"])(),e},Ut={id:"admin-users",class:"admin-card"},kt={class:"responsive-table"},Dt=ht((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),Ct={class:"left-text"},Pt={class:"left-text"},Lt={class:"left-text"},Mt={class:"cell-heading"},zt={class:"cell-heading"},yt={class:"cell-heading"},wt={class:"cell-heading"},Vt={class:"text-center"},Bt={class:"cell-heading"},Gt={class:"text-center"},xt={class:"cell-heading"},Ft={class:"text-center"},Kt={class:"cell-heading"},Wt=["disabled","onClick"],$t=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(ue["c"])(),r=Object(ue["d"])(),c=["admin","created_at","username","workouts_count"],a="created_at",i=Object(o["reactive"])(Object(It["a"])(n.query,c,a)),s=Object(o["computed"])((function(){return t.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),l=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS]})),u=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS_PAGINATION]})),O=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function d(e){t.dispatch(S["e"].ACTIONS.GET_USERS,e)}function m(e,n){t.dispatch(S["e"].ACTIONS.UPDATE_USER,{username:e,admin:n})}function b(e,t){i[e]=t,"per_page"===e&&(i.page=1),r.push({path:"/admin/users",query:i})}return Object(o["onBeforeMount"])((function(){return d(i)})),Object(o["onUnmounted"])((function(){t.dispatch(S["e"].ACTIONS.EMPTY_USERS)})),Object(o["watch"])((function(){return n.query}),(function(e){i=Object(It["a"])(e,c,a,{query:i}),d(i)})),function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ut,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createVNode"])(Rt["a"],{sort:Object(o["unref"])(It["c"]),order_by:c,query:Object(o["unref"])(i),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:b},null,8,["sort","query"]),Object(o["createElementVNode"])("div",kt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Dt,Object(o["createElementVNode"])("th",Ct,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createElementVNode"])("th",Pt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createElementVNode"])("th",Lt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(l),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.username},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Mt,Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(o["createVNode"])(j["a"],{user:t},null,8,["user"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",zt,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createVNode"])(n,{to:"/users/".concat(t.username)},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",yt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.email),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",wt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(Nt["a"])(Object(o["unref"])(vt["c"])(t.created_at,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",Vt,[Object(o["createElementVNode"])("span",Bt,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.nb_workouts),1)]),Object(o["createElementVNode"])("td",Gt,[Object(o["createElementVNode"])("span",xt,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.admin?"-check":"","-square-o")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",Ft,[Object(o["createElementVNode"])("span",Kt,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.admin}),disabled:t.username===Object(o["unref"])(s).username,onClick:function(e){return m(t.username,!t.admin)}},Object(o["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,Wt)])])})),128))])]),Object(o["unref"])(u).page?(Object(o["openBlock"])(),Object(o["createBlock"])(gt["a"],{key:0,path:"/admin/users",pagination:Object(o["unref"])(u),query:Object(o["unref"])(i)},null,8,["pagination","query"])):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(O)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:1,message:Object(o["unref"])(O)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("4042");const Ht=E()($t,[["__scopeId","data-v-0d3ec733"]]);var Yt=Ht,qt=n("3c44"),Xt=(n("99af"),{class:"profile-tabs custom-checkboxes-group"}),Zt={class:"profile-tabs-checkboxes custom-checkboxes"},Jt=["id","name","checked","disabled","onInput"],Qt=Object(o["defineComponent"])({props:{tabs:null,selectedTab:null,edition:null,disabled:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.tabs,c=n.selectedTab,a=n.disabled;function i(e){switch(e){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":case"SPORTS":return"/profile".concat(t.edition?"/edit":"","/").concat(e.toLocaleLowerCase());default:case"PROFILE":return"/profile".concat(t.edition?"/edit":"")}}return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xt,[Object(o["createElementVNode"])("div",Zt,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(o["createElementVNode"])("label",null,[Object(o["createElementVNode"])("input",{type:"radio",id:t,name:t,checked:Object(o["unref"])(c)===t,disabled:Object(o["unref"])(a),onInput:function(n){return e.$router.push(i(t))}},null,40,Jt),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}}});n("fa52");const en=Qt;var tn=en,nn={id:"user-profile"},rn={class:"box"},cn=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.user,c=n.tab,a=["PROFILE","PREFERENCES","SPORTS"];return function(e,t){var n=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nn,[Object(o["createVNode"])(qt["a"],{user:Object(o["unref"])(r)},null,8,["user"]),Object(o["createElementVNode"])("div",rn,[Object(o["createVNode"])(tn,{tabs:a,selectedTab:Object(o["unref"])(c),edition:!1},null,8,["selectedTab"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(r)},null,8,["user"])])])}}});n("f509");const on=E()(cn,[["__scopeId","data-v-41d26a96"]]);var an=on,sn=n("71a7"),ln={id:"user-preferences",class:"description-list"},un={class:"profile-buttons"},On=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(o["computed"])((function(){return t.user.language?v[t.user.language]:v["en"]})),r=Object(o["computed"])((function(){return t.user.weekm?"MONDAY":"SUNDAY"})),c=Object(o["computed"])((function(){return t.user.timezone?t.user.timezone:"Europe/Paris"}));return function(t,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ln,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.LANGUAGE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(n)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.TIMEZONE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(c)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.".concat(Object(o["unref"])(r)))),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.".concat(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),Object(o["createElementVNode"])("div",un,[Object(o["createElementVNode"])("button",{onClick:a[0]||(a[0]=function(e){return t.$router.push("/profile/edit/preferences")})},Object(o["toDisplayString"])(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:a[1]||(a[1]=function(e){return t.$router.push("/")})},Object(o["toDisplayString"])(t.$t("common.HOME")),1)])])}}});const dn=On;var mn=dn,bn={id:"user-profile-edition",class:"center-card"},En=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=r.tab,i=["PROFILE","PICTURE","PREFERENCES","SPORTS"],s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]}));return function(e,t){var n=Object(o["resolveComponent"])("router-view"),r=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",bn,[Object(o["createVNode"])(r,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(Object(o["unref"])(a),"_EDITION"))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(tn,{tabs:i,selectedTab:Object(o["unref"])(a),edition:!0,disabled:Object(o["unref"])(s)},null,8,["selectedTab","disabled"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(c)},null,8,["user"])]})),_:1})])}}});const pn=En;var Tn=pn,fn={id:"user-infos-edition"},jn={class:"profile-form form-box"},Sn=["onSubmit"],An={class:"form-items",for:"email"},_n=["value"],Nn={class:"form-items",for:"registrationDate"},Rn=["value"],gn={class:"form-items",for:"password"},In=["disabled"],vn={class:"form-items",for:"passwordConfirmation"},hn=["disabled"],Un=Object(o["createElementVNode"])("hr",null,null,-1),kn={class:"form-items",for:"first_name"},Dn=["disabled"],Cn={class:"form-items",for:"last_name"},Pn={class:"form-items",for:"birth_date"},Ln=["disabled"],Mn={class:"form-items",for:"location"},zn=["disabled"],yn={class:"form-items"},wn={class:"form-buttons"},Vn={class:"confirm",type:"submit"},Bn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),i=Object(o["computed"])((function(){return t.user.created_at?Object(Nt["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),l=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),u=Object(o["ref"])(!1);function O(e){a.first_name=e.first_name?e.first_name:"",a.last_name=e.last_name?e.last_name:"",a.birth_date=e.birth_date?Object(Nt["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",a.location=e.location?e.location:"",a.bio=e.bio?e.bio:""}function d(e){a.bio=e}function m(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PROFILE,a)}function b(e){u.value=e}function E(e){n.dispatch(S["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(o["onMounted"])((function(){t.user&&O(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("Modal"),r=Object(o["resolveComponent"])("ErrorMessage"),O=Object(o["resolveComponent"])("CustomTextArea");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",fn,[Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=function(e){return E(Object(o["unref"])(c).username)}),onCancelAction:t[1]||(t[1]=function(e){return b(!1)})},null,8,["title","message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",jn,[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(l)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(m,["prevent"])},[Object(o["createElementVNode"])("label",An,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(o["createElementVNode"])("input",{id:"email",value:Object(o["unref"])(c).email,disabled:""},null,8,_n)]),Object(o["createElementVNode"])("label",Nn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(o["createElementVNode"])("input",{id:"registrationDate",value:Object(o["unref"])(i),disabled:""},null,8,Rn)]),Object(o["createElementVNode"])("label",gn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(a).password=e}),disabled:Object(o["unref"])(s)},null,8,In),[[o["vModelText"],Object(o["unref"])(a).password]])]),Object(o["createElementVNode"])("label",vn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(o["unref"])(a).password_conf=e}),disabled:Object(o["unref"])(s)},null,8,hn),[[o["vModelText"],Object(o["unref"])(a).password_conf]])]),Un,Object(o["createElementVNode"])("label",kn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"first_name","onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(o["unref"])(a).first_name=e}),disabled:Object(o["unref"])(s)},null,8,Dn),[[o["vModelText"],Object(o["unref"])(a).first_name]])]),Object(o["createElementVNode"])("label",Cn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"last_name","onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(o["unref"])(a).last_name=e})},null,512),[[o["vModelText"],Object(o["unref"])(a).last_name]])]),Object(o["createElementVNode"])("label",Pn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(o["unref"])(a).birth_date=e}),disabled:Object(o["unref"])(s)},null,8,Ln),[[o["vModelText"],Object(o["unref"])(a).birth_date]])]),Object(o["createElementVNode"])("label",Mn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"location","onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(o["unref"])(a).location=e}),disabled:Object(o["unref"])(s)},null,8,zn),[[o["vModelText"],Object(o["unref"])(a).location]])]),Object(o["createElementVNode"])("label",yn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(o["createVNode"])(O,{name:"bio",charLimit:200,input:Object(o["unref"])(a).bio,disabled:Object(o["unref"])(s),onUpdateValue:d},null,8,["input","disabled"])]),Object(o["createElementVNode"])("div",wn,[Object(o["createElementVNode"])("button",Vn,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[8]||(t[8]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(o["createElementVNode"])("button",{class:"danger",onClick:t[9]||(t[9]=Object(o["withModifiers"])((function(e){return b(!0)}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],40,Sn)])])}}});n("44dee");const Gn=Bn;var xn=Gn,Fn=function(e){return Object(o["pushScopeId"])("data-v-239b9d46"),e=e(),Object(o["popScopeId"])(),e},Kn={id:"user-picture-edition"},Wn={class:"user-picture-form"},$n=["onSubmit"],Hn={class:"picture-help"},Yn={class:"info-box"},qn=Fn((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Xn={class:"picture-buttons"},Zn=["disabled"],Jn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),i=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.APP_CONFIG]})),s=i.value.max_single_file_size?Object(Oe["b"])(i.value.max_single_file_size):"",l=Object(o["ref"])(null);function u(){n.dispatch(S["a"].ACTIONS.DELETE_PICTURE)}function O(e){e.target.files&&(l.value=e.target.files[0])}function d(){l.value&&n.dispatch(S["a"].ACTIONS.UPDATE_USER_PICTURE,{picture:l.value})}return function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Kn,[Object(o["createElementVNode"])("div",Wn,[Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(c)},null,8,["user"]),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(d,["prevent"])},[Object(o["createElementVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:O},null,32),Object(o["createElementVNode"])("div",Hn,[Object(o["createElementVNode"])("span",Yn,[qn,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(s)),1)])]),Object(o["createElementVNode"])("div",Xn,[Object(o["createElementVNode"])("button",{type:"submit",disabled:!Object(o["unref"])(l)},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Zn),Object(o["unref"])(c).picture?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"danger",onClick:u},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=function(t){return e.$router.push("/profile")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,$n)])])}}});n("9ad0");const Qn=E()(Jn,[["__scopeId","data-v-239b9d46"]]);var er=Qn,tr=(n("498a"),n("4de4"),["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"]),nr={id:"tz-dropdown"},rr=["value","disabled","onKeydown"],cr=["onClick","onMouseover","autofocus"],or=Object(o["defineComponent"])({props:{input:null,disabled:{default:!1}},emits:["updateTimezone"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["toRefs"])(r),a=c.input,i=c.disabled,s=Object(o["ref"])(r.input),l=Object(o["ref"])(!1),u=Object(o["ref"])(null),O=Object(o["ref"])(0);function d(e){return e.toLowerCase().match(s.value.toLowerCase())}function m(e){O.value=e}function b(e){s.value=e,l.value=!1,n("updateTimezone",e)}function E(e){var t,n,r,c;(e.preventDefault(),null!==(t=u.value)&&void 0!==t&&null!==(n=t.firstElementChild)&&void 0!==n&&n.innerHTML)&&b(null===(r=u.value)||void 0===r||null===(c=r.firstElementChild)||void 0===c?void 0:c.innerHTML)}function p(e){e.preventDefault(),l.value=!0,s.value=e.target.value.trim()}return Object(o["watch"])((function(){return r.input}),(function(e){s.value=e})),function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nr,[Object(o["createElementVNode"])("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:s.value,disabled:Object(o["unref"])(i),required:"",onKeydown:[t[0]||(t[0]=Object(o["withKeys"])((function(e){return b(Object(o["unref"])(a))}),["esc"])),Object(o["withKeys"])(E,["enter"])],onInput:p},null,40,rr),l.value?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",{key:0,class:"tz-dropdown-list",ref:function(e,t){t["tzList"]=e,u.value=e}},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(tr).filter((function(e){return d(e)})),(function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:e,class:Object(o["normalizeClass"])(["tz-dropdown-item",{focus:t===O.value}]),onClick:function(t){return b(e)},onMouseover:function(e){return m(t)},autofocus:t===O.value},Object(o["toDisplayString"])(e),43,cr)})),128))],512)):Object(o["createCommentVNode"])("",!0)])}}});n("dfd6");const ar=E()(or,[["__scopeId","data-v-d1c5cf04"]]);var ir=ar,sr={id:"user-preferences-edition"},lr={class:"profile-form form-box"},ur=["onSubmit"],Or={class:"form-items"},dr=["disabled"],mr=["value"],br={class:"form-items"},Er={class:"form-items"},pr=["disabled"],Tr=["value"],fr={class:"form-items"},jr=["disabled"],Sr=["value"],Ar={class:"form-buttons"},_r={class:"confirm",type:"submit"},Nr=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["reactive"])({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),c=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],a=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],i=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),s=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function l(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function u(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PREFERENCES,r)}function O(e){r.timezone=e}return Object(o["onMounted"])((function(){t.user&&l(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",sr,[Object(o["createElementVNode"])("div",lr,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(s)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(u,["prevent"])},[Object(o["createElementVNode"])("label",Or,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(o["unref"])(r).language=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(U),(function(e){return Object(o["openBlock"])(),Object(o["createElementBlock"])("option",{value:e.value,key:e.value},Object(o["toDisplayString"])(e.label),9,mr)})),128))],8,dr),[[o["vModelSelect"],Object(o["unref"])(r).language]])]),Object(o["createElementVNode"])("label",br,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(o["createVNode"])(ir,{input:Object(o["unref"])(r).timezone,disabled:Object(o["unref"])(i),onUpdateTimezone:O},null,8,["input","disabled"])]),Object(o["createElementVNode"])("label",Er,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(o["unref"])(r).weekm=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(c,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,Tr)})),64))],8,pr),[[o["vModelSelect"],Object(o["unref"])(r).weekm]])]),Object(o["createElementVNode"])("label",fr,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(r).imperial_units=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(a,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.".concat(t.label))),9,Sr)})),64))],8,jr),[[o["vModelSelect"],Object(o["unref"])(r).imperial_units]])]),Object(o["createElementVNode"])("div",Ar,[Object(o["createElementVNode"])("button",_r,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],40,ur)])])}}});const Rr=Nr;var gr=Rr,Ir=(n("2532"),{id:"user-sport-preferences"}),vr={key:0,class:"responsive-table"},hr={class:"mobile-display"},Ur={key:0,class:"profile-buttons mobile-display"},kr={key:1,class:"profile-buttons"},Dr={class:"text-left"},Cr={key:0},Pr={class:"cell-heading"},Lr=["value"],Mr={class:"cell-heading"},zr={key:0,class:"disabled-message"},yr={key:1,class:"fa fa-refresh fa-spin fa-fw"},wr={class:"cell-heading"},Vr={class:"cell-heading"},Br=["checked"],Gr={class:"cell-heading"},xr=["value"],Fr={key:1},Kr={key:0,class:"action-buttons"},Wr={class:"cell-heading"},$r=["onClick"],Hr={key:1,class:"edition-buttons"},Yr=["disabled"],qr=["disabled"],Xr={key:0,class:"profile-buttons"},Zr={key:1,class:"profile-buttons"},Jr=Object(o["defineComponent"])({props:{user:null,isEdition:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(f["b"])(),c=r.t,a=Object(o["toRefs"])(t),i=a.isEdition,s=a.user,l=Object(o["inject"])("sportColors"),u=Object(o["computed"])((function(){return n.getters[S["c"].GETTERS.SPORTS]})),O=Object(o["computed"])((function(){return Object(Qe["e"])(u.value,c,!0,s.value.sports_list)})),d=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),m=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),b=Object(o["reactive"])({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function E(e){null!==e?(b.sport_id=e.id,b.color=e.color?e.color:l[e.label],b.is_active=e.is_active_for_user,b.stopped_speed_threshold=e.stopped_speed_threshold):N()}function p(e){return b.sport_id===e}function T(e){b.color=e.target.value}function j(e){b.stopped_speed_threshold=parseFloat(e.target.value)}function _(e){b.is_active=e.target.checked}function N(){b.sport_id=0,b.color=null,b.is_active=!0,b.stopped_speed_threshold=1,n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)}function R(e){e.preventDefault(),n.dispatch(S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,b)}return Object(o["watch"])((function(){return d.value}),(function(e){e||m.value||N()})),function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ir,[Object(o["unref"])(u).length>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",vr,[Object(o["createElementVNode"])("div",hr,[Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ur,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",kr,[Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),Object(o["createElementVNode"])("th",Dr,Object(o["toDisplayString"])(e.$t("workouts.SPORT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",Cr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1)):Object(o["createCommentVNode"])("",!0)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(c){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:c.id},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Pr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"sport-color",type:"color",value:Object(o["unref"])(b).color,onInput:T},null,40,Lr)):(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:1,title:c.translatedLabel,"sport-label":c.label,color:c.color?c.color:Object(o["unref"])(l)[c.label]},null,8,["title","sport-label","color"]))]),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["sport-label",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Mr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(c.translatedLabel)+" ",1),c.is_active?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",zr," ("+Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),Object(o["unref"])(d)&&p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",yr)):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(m)&&Object(o["unref"])(b).sport_id===c.id?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,message:Object(o["unref"])(m)},null,8,["message"])):Object(o["createCommentVNode"])("",!0)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",wr,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(Object(o["unref"])(s).sports_list.includes(c.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Vr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,type:"checkbox",checked:c.is_active_for_user,onChange:_},null,40,Br)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",{key:1,class:Object(o["normalizeClass"])("fa fa".concat(c.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Gr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:Object(o["unref"])(b).stopped_speed_threshold,onInput:j},null,40,xr)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",Fr,Object(o["toDisplayString"])(c.stopped_speed_threshold),1))],2),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",Kr,[Object(o["createElementVNode"])("span",Wr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1),0===Object(o["unref"])(b).sport_id?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,onClick:function(e){return E(c)}},Object(o["toDisplayString"])(e.$t("buttons.EDIT")),9,$r)):Object(o["createCommentVNode"])("",!0),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Hr,[Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:R},Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),9,Yr),Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:t[3]||(t[3]=function(e){return E(null)})},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),9,qr)])):Object(o["createCommentVNode"])("",!0)])):Object(o["createCommentVNode"])("",!0)])})),128))])]),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xr,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Zr,[Object(o["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))])):Object(o["createCommentVNode"])("",!0)])}}});n("e7b2");const Qr=E()(Jr,[["__scopeId","data-v-bd7a47b2"]]);var ec=Qr,tc=n("5502"),nc=n("ade3"),rc=n("bc3a"),cc=n.n(rc),oc=n("d257"),ac=cc.a.create({baseURL:Object(oc["a"])()});ac.interceptors.request.use((function(e){var t=bo.getters[S["a"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var ic,sc,lc,uc,Oc,dc,mc,bc,Ec,pc,Tc,fc,jc,Sc,Ac=ac,_c=cc.a.create({baseURL:Object(oc["a"])()}),Nc=_c,Rc=function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.delete("users/".concat(t.username)).then((function(n){204===n.status?t.fromAdmin?jo.push("/admin/users"):e.dispatch(S["a"].ACTIONS.LOGOUT).then((function(){return jo.push("/")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},gc=(ic={},Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USER,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USER,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USERS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USERS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["e"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.DELETE_USER_ACCOUNT,(function(e,t){Rc(e,{username:t.username,fromAdmin:!0})})),ic),Ic=g.global.locale,vc=function(e){localStorage.removeItem("authToken"),e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["d"].MUTATIONS.EMPTY_USER_STATS),e.commit(S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUTS),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),jo.push("/login")},hc=(sc={},Object(nc["a"])(sc,S["a"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE))})),Object(nc["a"])(sc,S["a"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language),e.dispatch(S["c"].ACTIONS.GET_SPORTS)):(Object(oc["b"])(e,null),vc(e))})).catch((function(t){Object(oc["b"])(e,t),vc(e)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("/auth/".concat(t.actionType),t.formData).then((function(n){if("success"===n.data.status){var r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")}))}else Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGOUT,(function(e){vc(e)})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),jo.push("/profile")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language,jo.push("/profile/preferences")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/sports",t).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){Object(oc["b"])(e,t),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),Ac.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_ACCOUNT,(function(e,t){Rc(e,t)})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.delete("auth/picture").then((function(t){204===t.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/sent"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/update",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/password-updated"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),sc),Uc=(lc={},Object(nc["a"])(lc,S["a"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(nc["a"])(lc,S["a"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(nc["a"])(lc,S["a"].GETTERS.USER_LOADING,(function(e){return e.loading})),lc),kc=(uc={},Object(nc["a"])(uc,S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),uc),Dc={authToken:null,authUserProfile:{},loading:!1},Cc={state:Dc,actions:hc,getters:Uc,mutations:kc},Pc=Cc,Lc=(Oc={},Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),Ac.get("config").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/all").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),jo.push("/admin/application")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Oc),Mc=(dc={},Object(nc["a"])(dc,S["b"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(nc["a"])(dc,S["b"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(nc["a"])(dc,S["b"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(nc["a"])(dc,S["b"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(nc["a"])(dc,S["b"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(nc["a"])(dc,S["b"].GETTERS.LOCALE,(function(e){return e.locale})),dc),zc=(mc={},Object(nc["a"])(mc,S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(nc["a"])(mc,S["b"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=I[t]})),mc),yc={root:!0,language:"en",locale:_["a"],errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},wc=(bc={},Object(nc["a"])(bc,S["c"].ACTIONS.GET_SPORTS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("sports").then((function(t){"success"===t.data.status?(e.commit(S["c"].MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(bc,S["c"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),bc),Vc=Object(nc["a"])({},S["c"].GETTERS.SPORTS,(function(e){return e.sports})),Bc=Object(nc["a"])({},S["c"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),Gc={sports:[]},xc={state:Gc,actions:wc,getters:Vc,mutations:Bc},Fc=xc,Kc=Object(nc["a"])({},S["d"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(S["d"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Wc=Object(nc["a"])({},S["d"].GETTERS.USER_STATS,(function(e){return e.statistics})),$c=(Ec={},Object(nc["a"])(Ec,S["d"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(nc["a"])(Ec,S["d"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),Ec),Hc={statistics:{}},Yc={state:Hc,actions:Kc,getters:Wc,mutations:$c},qc=Yc,Xc=(pc={},Object(nc["a"])(pc,S["e"].GETTERS.USER,(function(e){return e.user})),Object(nc["a"])(pc,S["e"].GETTERS.USERS,(function(e){return e.users})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),pc),Zc=(Tc={},Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),Tc),Jc={user:{},users:[],loading:!1,pagination:{}},Qc={state:Jc,actions:gc,getters:Xc,mutations:Zc},eo=Qc,to=n("4870"),no=function(e,t,n){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("workouts",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["f"].MUTATIONS[n],t.data.data.workouts),n===to["c"]["SET_USER_WORKOUTS"]&&e.commit(S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},ro=(fc={},Object(nc["a"])(fc,S["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),no(e,t,to["c"]["SET_CALENDAR_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_USER_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["ADD_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";Ac.get("workouts/".concat(t.workoutId)).then((function(r){var c=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===c.segments.length||!c.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(S["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(Ac.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),Ac.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,null)})).catch((function(t){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),jo.push("/")})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),e.dispatch(S["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){jo.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");var n=new FormData;n.append("file",t.file),n.append("data",'{"sport_id": '.concat(t.sport_id,', "notes": "').concat(t.notes,'"}')),Ac.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push("/workouts/".concat(n.id))}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),fc),co=(jc={},Object(nc["a"])(jc,S["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.TIMELINE_WORKOUTS,(function(e){return e.timeline_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUTS_PAGINATION,(function(e){return e.pagination})),jc),oo=(Sc={},Object(nc["a"])(Sc,S["f"].MUTATIONS.ADD_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=e.timeline_workouts.concat(t)})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,(function(e,t){e.pagination=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),Sc),ao={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},io={state:ao,actions:ro,getters:co,mutations:oo},so=io,lo={authUserModule:Pc,sportsModule:Fc,statsModule:qc,usersModule:eo,workoutsModule:so},uo={state:yc,actions:Lc,getters:Mc,mutations:zc,modules:lo},Oo=uo,mo=Object(tc["a"])(Oo),bo=mo,Eo=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},po=[{path:"/",name:"Dashboard",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"7277"))}},{path:"/login",name:"Login",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"login"}},{path:"/register",name:"Register",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"register"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset"}},{path:"/profile",name:"Profile",component:function(){return n.e("profile").then(n.bind(null,"36e8"))},children:[{path:"",name:"UserProfile",component:an,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfos",component:sn["a"]},{path:"preferences",name:"UserPreferences",component:mn},{path:"sports",name:"UserSportPreferences",component:ec,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Tn,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfosEdition",component:xn},{path:"picture",name:"UserPictureEdition",component:er},{path:"preferences",name:"UserPreferencesEdition",component:gr},{path:"sports",name:"UserSportPreferencesEdition",component:ec,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"ccb2"))}},{path:"/users/:username",name:"User",component:function(){return n.e("profile").then(n.bind(null,"ad3d"))}},{path:"/workouts",name:"Workouts",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"0385"))}},{path:"/workouts/:workoutId",name:"Workout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"8ee9"))}},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"692d"))}},{path:"/admin",name:"Administration",component:function(){return n.e("admin").then(n.bind(null,"89b3"))},children:[{path:"",name:"AdministrationMenu",component:Je},{path:"application",name:"ApplicationAdministration",component:Ce},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ce,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:_t},{path:"users",name:"UsersAdministration",component:Yt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],To=Object(ue["a"])({history:Object(ue["b"])("/"),routes:po}),fo=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];To.beforeEach((function(e,t,n){bo.dispatch(S["a"].ACTIONS.CHECK_AUTH_USER).then((function(){if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&fo.includes(e.path))return n("/");if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]||fo.includes(e.path))n();else{var t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((function(e){console.error(e),n()}))}));var jo=To,So={class:"alert-message"},Ao=["innerHTML"],_o=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",So,[Object(o["createElementVNode"])("div",{innerHTML:e.$t(Object(o["unref"])(r))},null,8,Ao)])}}});n("b9a4");const No=E()(_o,[["__scopeId","data-v-1c7b89ce"]]);var Ro=No,go={class:"custom-textarea"},Io=["id","name","maxLenght","disabled"],vo={class:"remaining-chars"},ho=Object(o["defineComponent"])({props:{name:null,charLimit:{default:500},disabled:{default:!1},input:{default:""}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["ref"])("");function a(e){n("updateValue",e.target.value)}return Object(o["watch"])((function(){return r.input}),(function(e){c.value=e})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",go,[Object(o["withDirectives"])(Object(o["createElementVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["isRef"])(c)?c.value=e:c=e}),onInput:a},null,40,Io),[[o["vModelText"],Object(o["unref"])(c)]]),Object(o["createElementVNode"])("div",vo,Object(o["toDisplayString"])(t.$t("workouts.REMAINING_CHARS"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(c).length)+"/"+Object(o["toDisplayString"])(e.charLimit),1)])}}});n("f41d");const Uo=E()(ho,[["__scopeId","data-v-129e44c0"]]);var ko=Uo,Do=(n("b680"),n("6284")),Co=Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(" ")+" "),Po=Object(o["defineComponent"])({props:{distance:null,unitFrom:null,useImperialUnits:null,digits:{default:2},displayUnit:{default:!0},speed:{default:!1},strong:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.digits,c=n.displayUnit,a=n.distance,i=n.speed,s=n.strong,l=n.unitFrom,u=n.useImperialUnits,O=Object(o["computed"])((function(){return u.value?Do["c"][l.value].defaultTarget:l.value})),d=Object(o["computed"])((function(){return u.value?Object(Do["a"])(a.value,l.value,O.value,r.value):parseFloat(a.value.toFixed(r.value))}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["distance",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(d)),3),Co,Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(["unit",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(O))+Object(o["toDisplayString"])(Object(o["unref"])(i)?"/h":""),3)):Object(o["createCommentVNode"])("",!0)],64)}}});n("6862");const Lo=E()(Po,[["__scopeId","data-v-5d562b40"]]);var Mo=Lo,zo={class:"dropdown-wrapper"},yo={key:0,class:"dropdown-list"},wo=["onClick"],Vo=Object(o["defineComponent"])({props:{options:null,selected:null},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=e,c=Object(ue["c"])(),a=Object(o["ref"])(!1),i=r.options.map((function(e){return e}));function s(){a.value=!a.value}function l(e){n("selected",e),a.value=!1}return Object(o["watch"])((function(){return c.path}),(function(){return a.value=!1})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",zo,[Object(o["createElementVNode"])("div",{class:"dropdown-selected",onClick:s},[Object(o["renderSlot"])(t.$slots,"default")]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",yo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(i),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{class:Object(o["normalizeClass"])(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:function(e){return l(t)}},Object(o["toDisplayString"])(t.label),11,wo)})),128))])):Object(o["createCommentVNode"])("",!0)])}}});n("55a6");const Bo=E()(Vo,[["__scopeId","data-v-ca61364c"]]);var Go=Bo,xo={class:"error-message"},Fo={key:0},Ko={key:1},Wo=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",xo,[Array.isArray(Object(o["unref"])(r))?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",Fo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:n},Object(o["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ko,Object(o["toDisplayString"])(e.$t(Object(o["unref"])(r))),1))])}}});n("cf98");const $o=E()(Wo,[["__scopeId","data-v-4366d0e7"]]);var Ho=$o,Yo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},qo=Object(o["createElementVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),Xo=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),Object(o["createElementVNode"])("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),Zo=[qo,Xo];function Jo(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Yo,Zo)}var Qo={name:"CyclingSport"};const ea=E()(Qo,[["render",Jo]]);var ta=ea,na={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},ra=Object(o["createElementVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),ca=Object(o["createElementVNode"])("g",{id:"g147"},[Object(o["createElementVNode"])("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),Object(o["createElementVNode"])("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),oa=[ra,ca];function aa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",na,oa)}var ia={name:"CyclingTransport"};const sa=E()(ia,[["render",aa]]);var la=sa,ua={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Oa=Object(o["createElementVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),da=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),Object(o["createElementVNode"])("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),ma=[Oa,da];function ba(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ua,ma)}var Ea={name:"Hiking"};const pa=E()(Ea,[["render",ba]]);var Ta=pa,fa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},ja=Object(o["createElementVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Sa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),Object(o["createElementVNode"])("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),Object(o["createElementVNode"])("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),Aa=[ja,Sa];function _a(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",fa,Aa)}var Na={name:"MountainBiking"};const Ra=E()(Na,[["render",_a]]);var ga=Ra,Ia={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},va=Object(o["createStaticVNode"])(' silhouette of a person riding an electric mountain bike ',18),ha=[va];function Ua(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ia,ha)}var ka={name:"MountainBikingElectric"};const Da=E()(ka,[["render",Ua]]);var Ca=Da,Pa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},La=Object(o["createElementVNode"])("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ma=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),Object(o["createElementVNode"])("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),za=[La,Ma];function ya(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Pa,za)}var wa={name:"Rowing"};const Va=E()(wa,[["render",ya]]);var Ba=Va,Ga={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},xa=Object(o["createElementVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),Fa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),Object(o["createElementVNode"])("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),Ka=[xa,Fa];function Wa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ga,Ka)}var $a={name:"Running"};const Ha=E()($a,[["render",Wa]]);var Ya=Ha,qa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Xa=Object(o["createElementVNode"])("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Za=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),Object(o["createElementVNode"])("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),Ja=[Xa,Za];function Qa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",qa,Ja)}var ei={name:"SkiingAlpine"};const ti=E()(ei,[["render",Qa]]);var ni=ti,ri={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},ci=Object(o["createElementVNode"])("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),oi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),ai=[ci,oi];function ii(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ri,ai)}var si={name:"SkiingCrossCountry"};const li=E()(si,[["render",ii]]);var ui=li,Oi={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},di=Object(o["createElementVNode"])("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),mi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),Object(o["createElementVNode"])("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),bi=[di,mi];function Ei(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Oi,bi)}var pi={name:"Trail"};const Ti=E()(pi,[["render",Ei]]);var fi=Ti,ji={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Si=Object(o["createStaticVNode"])('silhouette of a walking person',3),Ai=[Si];function _i(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ji,Ai)}var Ni={name:"Walking"};const Ri=E()(Ni,[["render",_i]]);var gi=Ri,Ii=["title"],vi=Object(o["defineComponent"])({props:{sportLabel:null,color:null,title:{default:""}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.color,c=n.sportLabel,a=n.title,i=Object(o["inject"])("sportColors");return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"sport-img",style:Object(o["normalizeStyle"])({fill:Object(o["unref"])(r)?Object(o["unref"])(r):Object(o["unref"])(i)[Object(o["unref"])(c)]}),title:Object(o["unref"])(a)?Object(o["unref"])(a):e.$t("sports.".concat(Object(o["unref"])(c),".LABEL"))},["Cycling (Sport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ta,{key:0})):Object(o["createCommentVNode"])("",!0),"Cycling (Transport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(la,{key:1})):Object(o["createCommentVNode"])("",!0),"Hiking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ta,{key:2})):Object(o["createCommentVNode"])("",!0),"Mountain Biking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ga,{key:3})):Object(o["createCommentVNode"])("",!0),"Mountain Biking (Electric)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ca,{key:4})):Object(o["createCommentVNode"])("",!0),"Rowing"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ba,{key:5})):Object(o["createCommentVNode"])("",!0),"Running"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ya,{key:6})):Object(o["createCommentVNode"])("",!0),"Skiing (Alpine)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ni,{key:7})):Object(o["createCommentVNode"])("",!0),"Skiing (Cross Country)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ui,{key:8})):Object(o["createCommentVNode"])("",!0),"Trail"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(fi,{key:9})):Object(o["createCommentVNode"])("",!0),"Walking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(gi,{key:10})):Object(o["createCommentVNode"])("",!0)],12,Ii)}}});const hi=vi;var Ui=hi,ki={class:"loader"};function Di(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ki)}n("922d");const Ci={},Pi=E()(Ci,[["render",Di],["__scopeId","data-v-436637e0"]]);var Li=Pi,Mi={id:"modal"},zi={class:"custom-modal"},yi={key:0,class:"modal-message"},wi={key:1,class:"modal-message"},Vi={class:"modal-buttons"},Bi=Object(o["defineComponent"])({props:{title:null,message:null,strongMessage:{default:function(){return null}}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=e,c=Object(A["a"])(),a=Object(o["toRefs"])(r),i=a.title,s=a.message,l=a.strongMessage,u=Object(o["computed"])((function(){return c.getters[S["b"].GETTERS.ERROR_MESSAGES]}));return Object(o["onUnmounted"])((function(){return c.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),function(e,t){var r=Object(o["resolveComponent"])("i18n-t"),c=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Mi,[Object(o["createElementVNode"])("div",zi,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i)),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yi,[Object(o["createVNode"])(r,{keypath:Object(o["unref"])(s)},{default:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(Object(o["unref"])(l)),1)]})),_:1},8,["keypath"])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",wi,Object(o["toDisplayString"])(Object(o["unref"])(s)),1)),Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:2,message:Object(o["unref"])(u)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",Vi,[Object(o["unref"])(u)?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"confirm",onClick:t[0]||(t[0]=function(e){return n("confirmAction")})},Object(o["toDisplayString"])(e.$t("buttons.YES")),1)),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[1]||(t[1]=function(e){return n("cancelAction")})},Object(o["toDisplayString"])(e.$t("buttons.".concat(Object(o["unref"])(u)?"CANCEL":"NO"))),1)])]})),_:1})])])}}});n("7489");const Gi=E()(Bi,[["__scopeId","data-v-20a846ac"]]);var xi=Gi,Fi=[{target:Ro,name:"AlertMessage"},{target:Ke,name:"Card"},{target:ko,name:"CustomTextArea"},{target:Mo,name:"Distance"},{target:Go,name:"Dropdown"},{target:Ho,name:"ErrorMessage"},{target:Li,name:"Loader"},{target:xi,name:"Modal"},{target:Ui,name:"SportImage"}],Ki={mounted:function(e,t){e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};r["Chart"].register(r["BarElement"],r["LineElement"],r["PointElement"],r["Legend"],r["Title"],r["Tooltip"],r["Filler"],r["BarController"],r["CategoryScale"],r["LineController"],r["LinearScale"],c["a"]);var Wi=Object(o["createApp"])(le).provide("sportColors",Qe["c"]).use(g).use(bo).use(jo).directive("click-outside",Ki);Fi.forEach((function(e){Wi.component(e.name,e.target)})),Wi.mount("#app")},cf98:function(e,t,n){"use strict";n("c7cd")},d251:function(e,t,n){},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return o}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("d3b7"),n("ac1f"),n("1276");var r=n("dad5"),c=function(){return"/api/"},o=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",c=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r["b"].MUTATIONS.SET_ERROR_MESSAGES,c.includes("\n")?c.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(c))}},d2bc:function(e,t,n){},d9b8:function(e,t,n){},dad5:function(e,t,n){"use strict";var r,c,o,a,i,s,l,u,O,d,m,b,E,p,T;n.d(t,"b",(function(){return j})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"a",(function(){return _})),n.d(t,"e",(function(){return N})),n.d(t,"f",(function(){return R})),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["USER_LOADING"]="USER_LOADING"}(c||(c={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(a||(a={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(i||(i={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(s||(s={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(l||(l={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(O||(O={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(d||(d={})),function(e){e["USER_STATS"]="USER_STATS"}(m||(m={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(b||(b={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(E||(E={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(p||(p={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION"}(T||(T={}));var f=n("4870"),j={ACTIONS:a,GETTERS:i,MUTATIONS:s},S={ACTIONS:l,GETTERS:u,MUTATIONS:O},A={ACTIONS:d,GETTERS:m,MUTATIONS:b},_={ACTIONS:r,GETTERS:c,MUTATIONS:o},N={ACTIONS:E,GETTERS:p,MUTATIONS:T},R={ACTIONS:f["a"],GETTERS:f["b"],MUTATIONS:f["c"]}},dbef:function(e,t,n){},dbf1:function(e,t,n){},dfd6:function(e,t,n){"use strict";n("2679")},e7b2:function(e,t,n){"use strict";n("3605")},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function c(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}c.keys=function(){return Object.keys(r)},c.resolve=o,e.exports=c,c.id="e7b6"},e9c9:function(e,t,n){},ef54:function(e,t,n){},f41d:function(e,t,n){"use strict";n("a0eb")},f509:function(e,t,n){"use strict";n("3256")},fa52:function(e,t,n){"use strict";n("65d3")},feac:function(e,t,n){"use strict";n("c26b")}}); -//# sourceMappingURL=app.43c2e954.js.map \ No newline at end of file +(function(e){function t(t){for(var r,c,i=t[0],s=t[1],l=t[2],u=0,O=[];ur?1:n2&&void 0!==arguments[2]&&arguments[2],c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return e.filter((function(e){return!n||(null===c?e.is_active_for_user:c.includes(e.id)||e.is_active)})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(a)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]},l=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.color}))[0]}},1446:function(e,t,n){"use strict";n("1db4")},"1db4":function(e,t,n){},"1e18":function(e,t,n){},"1f46":function(e,t,n){},2679:function(e,t,n){},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n("5502");function c(){return Object(r["b"])()}},"30bb":function(e,t,n){"use strict";n("599b")},3256:function(e,t,n){},3605:function(e,t,n){},"3c44":function(e,t,n){"use strict";var r=n("7a23"),c=n("c46a"),o={class:"box user-header"},a={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},l={class:"user-stat"},u={class:"stat-number"},O={class:"stat-label"},d={class:"user-stat"},m={class:"stat-label"},b={class:"user-stat hide-small"},E={class:"stat-number"},p={class:"stat-label"},T=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),T=n.user;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[Object(r["createVNode"])(c["a"],{user:Object(r["unref"])(T)},null,8,["user"]),Object(r["createElementVNode"])("div",a,[Object(r["createElementVNode"])("div",i,Object(r["toDisplayString"])(Object(r["unref"])(T).username),1),Object(r["createElementVNode"])("div",s,[Object(r["createElementVNode"])("div",l,[Object(r["createElementVNode"])("span",u,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_workouts),1),Object(r["createElementVNode"])("span",O,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",Object(r["unref"])(T).nb_workouts)),1)]),Object(r["createElementVNode"])("div",d,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(T).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:Object(r["unref"])(T).imperial_units},null,8,["distance","useImperialUnits"]),Object(r["createElementVNode"])("span",m,Object(r["toDisplayString"])(Object(r["unref"])(T).imperial_units?"miles":"km"),1)]),Object(r["createElementVNode"])("div",b,[Object(r["createElementVNode"])("span",E,Object(r["toDisplayString"])(Object(r["unref"])(T).nb_sports),1),Object(r["createElementVNode"])("span",p,Object(r["toDisplayString"])(e.$t("workouts.SPORT",Object(r["unref"])(T).nb_sports)),1)])])])])}}}),f=(n("feac"),n("6b0d")),j=n.n(f);const S=j()(T,[["__scopeId","data-v-4e6eb0d2"]]);t["a"]=S},"3ca5":function(e,t,n){"use strict";n("4a37")},4042:function(e,t,n){"use strict";n("0bca")},4163:function(e,t,n){},"44dee":function(e,t,n){"use strict";n("d9b8")},4870:function(e,t,n){"use strict";var r,c,o;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return c})),n.d(t,"c",(function(){return o})),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(c||(c={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(o||(o={}))},"49c1":function(e,t,n){},"4a0c":function(e,t,n){},"4a37":function(e,t,n){},"55a6":function(e,t,n){"use strict";n("dbf1")},"599b":function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return m})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return E})),n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return T}));var r=n("69eb"),c=n("d6e9"),o=n("f628"),a=n("f7f1"),i=n("cdb6"),s=n("74b5"),l=n("8cac"),u=n("2fc8"),O=n("b166"),d=n("78b2"),m=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(c["a"])(t);case"month":return Object(o["a"])(t);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},b=function(e,t){switch(e){case"week":return Object(a["a"])(t,7);case"year":return Object(i["a"])(t,1);case"month":return Object(s["a"])(t,1);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},E=function(e,t){return Object(d["a"])(new Date(e),t)},p=function(e,t){var n=Object(o["a"])(e),c=Object(l["a"])(e),a=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:a}),end:Object(u["a"])(c,{weekStartsOn:a})}},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:Object(O["a"])(e,t),workout_time:Object(O["a"])(e,n)}}},"61af":function(e,t,n){"use strict";n("ae19")},6284:function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("b680");var r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},c={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,a=r[t],i=r[n],s=e*a.multiplier*c[a.system][i.system]/i.multiplier;return null!==o?parseFloat(s.toFixed(o)):s},a=function(e,t,n){var c=n?r[e].defaultTarget:e;return n?o(t,e,c,2):t}},"65d3":function(e,t,n){},"663e":function(e,t,n){"use strict";n.r(t);var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Etes-vous sûr de vouloir supprimer le compte de ",n(r(0))," ? Toutes les données seront définitivement."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les drois d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les drois d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Mot de passe : 8 caractères minimum."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Désolé, cet utilisateur existe déjà."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Nom d'utilisateur : 3 à 12 caractères requis."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Electrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Saisir une adresse email"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances "])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},6862:function(e,t,n){"use strict";n("d251")},"6d7d":function(e,t,n){"use strict";var r=n("7a23"),c=n("97e5"),o=function(e){return Object(r["pushScopeId"])("data-v-de4b01da"),e=e(),Object(r["popScopeId"])(),e},a={class:"pagination-center","aria-label":"navigation"},i={class:"pagination"},s=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),l={key:0},u=o((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),O=Object(r["defineComponent"])({props:{pagination:null,path:null,query:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.pagination,O=n.path,d=n.query;function m(e,t){var n=Object.assign({},d.value);return n.page=t?e+t:e,n}return function(e,t){var n=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("nav",a,[Object(r["createElementVNode"])("ul",i,[Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-prev",{disabled:!Object(r["unref"])(o).has_prev}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,-1)},event:Object(r["unref"])(o).has_prev?"click":"",disabled:!Object(r["unref"])(o).has_prev},{default:Object(r["withCtx"])((function(){return[s,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(c["b"])(Object(r["unref"])(o).pages,Object(r["unref"])(o).page),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:e,class:Object(r["normalizeClass"])(["page",{active:e===Object(r["unref"])(o).page}])},["..."===e?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",l," ... ")):(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:1,class:"page-link",to:{path:Object(r["unref"])(O),query:m(+e)}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e),1)]})),_:2},1032,["to"]))],2)})),128)),Object(r["createElementVNode"])("li",{class:Object(r["normalizeClass"])(["page-next",{disabled:!Object(r["unref"])(o).has_next}])},[Object(r["createVNode"])(n,{class:"page-link",to:{path:Object(r["unref"])(O),query:m(Object(r["unref"])(o).page,1)},event:Object(r["unref"])(o).has_next?"click":"",disabled:!Object(r["unref"])(o).has_next},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("api.PAGINATION.NEXT"))+" ",1),u]})),_:1},8,["to","event","disabled"])],2)])])}}}),d=(n("30bb"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-de4b01da"]]);t["a"]=b},"71a7":function(e,t,n){"use strict";var r=n("7a23"),c=n("b166"),o=n("dad5"),a=n("2906"),i={id:"user-infos",class:"description-list"},s={class:"user-bio"},l={key:1,class:"profile-buttons"},u={key:2,class:"profile-buttons"},O=Object(r["defineComponent"])({props:{user:null,fromAdmin:{default:!1}},setup:function(e){var t=e,n=Object(a["a"])(),O=Object(r["toRefs"])(t),d=O.user,m=O.fromAdmin,b=Object(r["computed"])((function(){return n.getters[o["a"].GETTERS.AUTH_USER_PROFILE]})),E=Object(r["computed"])((function(){return t.user.created_at?Object(c["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),p=Object(r["computed"])((function(){return t.user.birth_date?Object(c["a"])(new Date(t.user.birth_date),"dd/MM/yyyy"):""})),T=Object(r["ref"])(!1);function f(e){T.value=e}function j(e){n.dispatch(o["e"].ACTIONS.DELETE_USER_ACCOUNT,{username:e})}return function(e,t){var n=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["unref"])(T)?(Object(r["openBlock"])(),Object(r["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:Object(r["unref"])(d).username,onConfirmAction:t[0]||(t[0]=function(e){return j(Object(r["unref"])(d).username)}),onCancelAction:t[1]||(t[1]=function(e){return f(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("dl",null,[Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(E)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).first_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).last_name),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(p)),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createElementVNode"])("dd",null,Object(r["toDisplayString"])(Object(r["unref"])(d).location),1),Object(r["createElementVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createElementVNode"])("dd",s,Object(r["toDisplayString"])(Object(r["unref"])(d).bio),1)]),Object(r["unref"])(m)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",l,[Object(r["unref"])(b).username!==Object(r["unref"])(d).username?(Object(r["openBlock"])(),Object(r["createElementBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=Object(r["withModifiers"])((function(e){return f(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("button",{onClick:t[3]||(t[3]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])}}}),d=(n("8501"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-deec58e4"]]);t["a"]=b},7489:function(e,t,n){"use strict";n("1f46")},"7cd8":function(e,t,n){"use strict";n("4a0c")},"83d3":function(e,t,n){"use strict";n("aaee")},8501:function(e,t,n){"use strict";n("9260")},"910d":function(e,t,n){},9176:function(e,t,n){"use strict";n("4e82"),n("99af");var r=n("7a23"),c={class:"table-selects"},o=["value"],a=["value"],i=["value"],s=["value"],l=["value"],u=["value"],O=Object(r["defineComponent"])({props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup:function(e,t){var n=t.emit,O=e,d=Object(r["toRefs"])(O),m=d.order_by,b=d.query,E=d.sort,p=d.message,T=[10,25,50,100];function f(e){n("updateSelect",e.target.id,e.target.value)}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",c,[Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order_by",id:"order_by",value:Object(r["unref"])(b).order_by,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(m),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("".concat(Object(r["unref"])(p),".").concat(t.toUpperCase()))),9,a)})),128))],40,o)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"order",id:"order",value:Object(r["unref"])(b).order,onChange:f},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(E),(function(t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.".concat(t.toUpperCase()))),9,s)})),128))],40,i)]),Object(r["createElementVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(r["createElementVNode"])("select",{name:"per_page",id:"per_page",value:Object(r["unref"])(b).per_page,onChange:f},[(Object(r["openBlock"])(),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(T,(function(e){return Object(r["createElementVNode"])("option",{value:e,key:e},Object(r["toDisplayString"])(e),9,u)})),64))],40,l)])])}}}),d=(n("9308"),n("6b0d")),m=n.n(d);const b=m()(O,[["__scopeId","data-v-a5d764a4"]]);t["a"]=b},"922d":function(e,t,n){"use strict";n("dbef")},9260:function(e,t,n){},9308:function(e,t,n){"use strict";n("910d")},"96f9":function(e,t,n){},"97e5":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return l})),n.d(t,"b",(function(){return O}));n("caad"),n("2532"),n("a630"),n("3ca3"),n("99af");var r=["asc","desc"],c=1,o=10,a=function(e,t){return e&&"string"===typeof e&&+e>0?+e:t},i=function(e,t,n){return e&&"string"===typeof e&&t.includes(e)?e:n},s=function(e,t,n,s){var l=s||{},u=l.defaultSort||"asc",O={};return O.page=a(e.page,c),O.per_page=a(e.per_page,o),O.order=i(e.order,r,u),O.order_by=i(e.order_by,t,n),O},l=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Array.from({length:e-t+1},(function(e,n){return t+n}))},O=function(e,t){if(e<0)return[];if(e<9)return u(e);var n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},c={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Password: 8 characters required."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Sorry, that user already exists."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Username: 3 to 12 characters required."])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},o={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},a={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems encounter some issues.
Please try later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}}},l={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},u={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},O={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Enter an email address"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirm the password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirm Password"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Password confirmation"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])}},d={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}};t["default"]={admin:r,api:c,buttons:o,common:a,dashboard:i,error:s,sports:l,statistics:u,user:O,workouts:d}},c26b:function(e,t,n){},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return c})),n.d(t,"a",(function(){return o}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],c=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};var c=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?"".concat(c).concat(o):{size:c,suffix:o}},o=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";n("99af");var r=n("7a23"),c=n("d257"),o={class:"user-picture"},a=["alt","src"],i={key:1,class:"no-picture"},s=Object(r["createElementVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),l=[s],u=Object(r["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(r["computed"])((function(){return t.user.picture?"".concat(Object(c["a"])(),"users/").concat(t.user.username,"/picture"):""}));return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",o,[""!==Object(r["unref"])(n)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:Object(r["unref"])(n)},null,8,a)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,l))])}}});n("a06d");const O=u;t["a"]=O},c7cd:function(e,t,n){},ccf6:function(e,t,n){},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("d3b7"),n("159b"),n("b0c0");var r=n("9b4a"),c=n("d9fa"),o=n("7a23"),a=n("9483");Object(a["a"])("".concat("/","service-worker.js"),{ready:function(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered:function(){console.log("Service worker has been registered.")},cached:function(){console.log("Content has been cached for offline use.")},updatefound:function(){console.log("New content is downloading.")},updated:function(){console.log("New content is available; please refresh.")},offline:function(){console.log("No internet connection found. App is running in offline mode.")},error:function(e){console.error("Error during service worker registration:",e)}});var i=function(e){return Object(o["pushScopeId"])("data-v-e60d9c5e"),e=e(),Object(o["popScopeId"])(),e},s={id:"footer"},l={class:"footer-items"},u={class:"footer-item"},O=i((function(){return Object(o["createElementVNode"])("strong",null,"FitTrackee",-1)})),d=Object(o["createStaticVNode"])('',4),m=Object(o["defineComponent"])({props:{version:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.version;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",s,[Object(o["createElementVNode"])("div",l,[Object(o["createElementVNode"])("div",u,[O,Object(o["createTextVNode"])(" v"+Object(o["toDisplayString"])(Object(o["unref"])(r)),1)]),d])])}}}),b=(n("3ca5"),n("6b0d")),E=n.n(b);const p=E()(m,[["__scopeId","data-v-e60d9c5e"]]);var T=p,f=(n("25f0"),n("47e2")),j=n("c46a"),S=n("dad5"),A=n("2906"),_=(n("d81d"),n("8923")),N=n("d481");n("ddb0"),n("ac1f"),n("466d");function R(){var e=n("e7b6"),t={};return e.keys().forEach((function(n){var r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){var c=r[1];t[c]=e(n).default}})),t}var g=Object(f["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:R()}),I={en:_["a"],fr:N["a"]},v={en:"English",fr:"Français"},h=g.global.availableLocales,U=h.map((function(e){return{label:v[e],value:e}})),k=function(e){return Object(o["pushScopeId"])("data-v-53493688"),e=e(),Object(o["popScopeId"])(),e},D={id:"nav"},C={class:"nav-container"},P={class:"nav-app-name"},L={class:"nav-items-close"},M=k((function(){return Object(o["createElementVNode"])("div",{class:"app-name"},"FitTrackee",-1)})),z={key:0,class:"nav-items-group"},y=k((function(){return Object(o["createElementVNode"])("div",{class:"nav-item nav-separator"},null,-1)})),w={class:"nav-items-user-menu"},V={key:0,class:"nav-items-group"},B={class:"nav-item nav-profile-img"},G={key:1,class:"nav-items-group"},x=k((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-language"},null,-1)})),F=Object(o["defineComponent"])({emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(f["b"])(),c=r.locale,a=Object(A["a"])(),i=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return a.getters[S["a"].GETTERS.IS_AUTHENTICATED]})),l=Object(o["computed"])((function(){return a.getters[S["b"].GETTERS.LANGUAGE]})),u=Object(o["ref"])(!1);function O(){u.value=!0,n("menuInteraction",!0)}function d(){u.value=!1,n("menuInteraction",!1)}function m(e){c.value=e.value.toString(),a.commit(S["b"].MUTATIONS.UPDATE_LANG,e.value)}function b(){a.dispatch(S["a"].ACTIONS.LOGOUT)}return function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("Dropdown");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",D,[Object(o["createElementVNode"])("div",C,[Object(o["createElementVNode"])("div",P,[Object(o["createElementVNode"])("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-icon-open",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=function(e){return O()})})],2),Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["nav-items",{"menu-open":Object(o["unref"])(u)}])},[Object(o["createElementVNode"])("div",L,[M,Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])(["fa fa-close close-icon nav-item",{"menu-closed":!Object(o["unref"])(u)}]),onClick:t[2]||(t[2]=function(e){return d()})},null,2)]),Object(o["createElementVNode"])("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=function(e){return d()})},[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",z,[Object(o["createVNode"])(n,{class:"nav-item",to:"/"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/statistics"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/workouts/add"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),Object(o["unref"])(s)&&Object(o["unref"])(i).admin?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,class:"nav-item",to:"/admin"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(o["createCommentVNode"])("",!0),y])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("div",w,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",V,[Object(o["createElementVNode"])("div",B,[Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(i)},null,8,["user"])]),Object(o["createVNode"])(n,{class:"nav-item",to:"/profile",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i).username),1)]})),_:1}),Object(o["createElementVNode"])("div",{class:"nav-item nav-link",onClick:b},Object(o["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",G,[Object(o["createVNode"])(n,{class:"nav-item",to:"/login",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1}),Object(o["createVNode"])(n,{class:"nav-item",to:"/register",onClick:d},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1})])),Object(o["unref"])(U)&&Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,class:"nav-item",options:Object(o["unref"])(U),selected:Object(o["unref"])(l),onSelected:m},{default:Object(o["withCtx"])((function(){return[x]})),_:1},8,["options","selected"])):Object(o["createCommentVNode"])("",!0)])],2)])])}}});n("bae4");const K=E()(F,[["__scopeId","data-v-53493688"]]);var W=K,$={id:"no-config"},H={class:"error-page"},Y=Object(o["createStaticVNode"])('
',1),q=["innerHTML"];function X(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$,[Object(o["createElementVNode"])("div",H,[Y,Object(o["createElementVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,q)])])}n("ba7f");const Z={},J=E()(Z,[["render",X],["__scopeId","data-v-c1193208"]]);var Q=J,ee=function(e){return Object(o["pushScopeId"])("data-v-6c3336ff"),e=e(),Object(o["popScopeId"])(),e},te=ee((function(){return Object(o["createElementVNode"])("div",{id:"top"},null,-1)})),ne={key:0,class:"app-container"},re={class:"app-loading"},ce={class:"container scroll"},oe=ee((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1)})),ae=[oe],ie=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_CONFIG]})),r=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.APP_LOADING]})),c=Object(o["ref"])(!1),a=Object(o["ref"])(!1);function i(e){c.value=e}function s(e){return e.getBoundingClientRect().top=0}function l(){window.onscroll=function(){var e=document.querySelector("#bottom");a.value=null!==e&&s(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){a.value=!1}),300)}return Object(o["onBeforeMount"])((function(){return t.dispatch(S["b"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(o["onMounted"])((function(){return l()})),function(e,t){var s=Object(o["resolveComponent"])("Loader"),l=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[te,Object(o["createVNode"])(W,{onMenuInteraction:i}),Object(o["unref"])(r)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ne,[Object(o["createElementVNode"])("div",re,[Object(o["createVNode"])(s)])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{key:1,class:Object(o["normalizeClass"])(["app-container",{"hide-scroll":c.value}])},[Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(l,{key:0})):(Object(o["openBlock"])(),Object(o["createBlock"])(Q,{key:1}))],2)),Object(o["createElementVNode"])("div",ce,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["scroll-button",{"display-button":a.value}]),onClick:u},ae,2)]),Object(o["unref"])(n)?(Object(o["openBlock"])(),Object(o["createBlock"])(T,{key:2,version:Object(o["unref"])(n)?Object(o["unref"])(n).version:""},null,8,["version"])):Object(o["createCommentVNode"])("",!0)],64)}}});n("1446");const se=E()(ie,[["__scopeId","data-v-6c3336ff"]]);var le=se,ue=(n("5319"),n("3ca3"),n("caad"),n("6c02")),Oe=(n("b64b"),n("c364")),de=function(e){return Object(o["pushScopeId"])("data-v-03002a18"),e=e(),Object(o["popScopeId"])(),e},me={id:"admin-app",class:"admin-card"},be=["onSubmit"],Ee={for:"max_users"},pe=["disabled"],Te={class:"user-limit-help"},fe={class:"info-box"},je=de((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Se={for:"max_single_file_size"},Ae=["disabled"],_e={for:"max_zip_file_size"},Ne=["disabled"],Re={for:"gpx_limit_import"},ge=["disabled"],Ie={key:1,class:"form-buttons"},ve={class:"confirm",type:"submit"},he=["onClick"],Ue={key:2,class:"form-buttons"},ke=Object(o["defineComponent"])({props:{appConfig:null,edition:{default:!1}},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(ue["d"])(),c=Object(o["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e){Object.keys(c).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?c[t]=Object(Oe["a"])(e[t]):c[t]=e[t]}))}function s(){i(t.appConfig),n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),r.push("/admin/application")}function l(){var e=Object.assign({},c);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,n.dispatch(S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(o["onBeforeMount"])((function(){t.appConfig&&i(t.appConfig)})),function(t,n){var r=Object(o["resolveComponent"])("ErrorMessage"),i=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",me,[Object(o["createVNode"])(i,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("form",{class:"admin-form",onSubmit:Object(o["withModifiers"])(l,["prevent"])},[Object(o["createElementVNode"])("label",Ee,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["unref"])(c).max_users=e}),disabled:!e.edition},null,8,pe),[[o["vModelText"],Object(o["unref"])(c).max_users]])]),Object(o["createElementVNode"])("div",Te,[Object(o["createElementVNode"])("span",fe,[je,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(o["createElementVNode"])("label",Se,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[1]||(n[1]=function(e){return Object(o["unref"])(c).max_single_file_size=e}),disabled:!e.edition},null,8,Ae),[[o["vModelText"],Object(o["unref"])(c).max_single_file_size]])]),Object(o["createElementVNode"])("label",_e,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":n[2]||(n[2]=function(e){return Object(o["unref"])(c).max_zip_file_size=e}),disabled:!e.edition},null,8,Ne),[[o["vModelText"],Object(o["unref"])(c).max_zip_file_size]])]),Object(o["createElementVNode"])("label",Re,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":n[3]||(n[3]=function(e){return Object(o["unref"])(c).gpx_limit_import=e}),disabled:!e.edition},null,8,ge),[[o["vModelText"],Object(o["unref"])(c).gpx_limit_import]])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),e.edition?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ie,[Object(o["createElementVNode"])("button",ve,Object(o["toDisplayString"])(t.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:Object(o["withModifiers"])(s,["prevent"])},Object(o["toDisplayString"])(t.$t("buttons.CANCEL")),9,he)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ue,[Object(o["createElementVNode"])("button",{class:"confirm",onClick:n[4]||(n[4]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin/application/edit")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("buttons.EDIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:n[5]||(n[5]=Object(o["withModifiers"])((function(e){return t.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(t.$t("admin.BACK_TO_ADMIN")),1)]))],40,be)]})),_:1})])}}});n("61af");const De=E()(ke,[["__scopeId","data-v-03002a18"]]);var Ce=De,Pe=n("05d9"),Le={id:"user-stats"},Me=Object(o["defineComponent"])({props:{appStatistics:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appStatistics,c=Object(o["computed"])((function(){return Object(Oe["b"])(r.value.uploads_dir_size,!1)}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Le,[Object(o["createVNode"])(Pe["a"],{icon:"users",value:Object(o["unref"])(r).users,text:e.$t("admin.USER",Object(o["unref"])(r).users)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"tags",value:Object(o["unref"])(r).sports,text:e.$t("workouts.SPORT",Object(o["unref"])(r).sports)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"calendar",value:Object(o["unref"])(r).workouts,text:e.$t("workouts.WORKOUT",Object(o["unref"])(r).workouts)},null,8,["value","text"]),Object(o["createVNode"])(Pe["a"],{icon:"folder-open",value:Object(o["unref"])(c).size,text:Object(o["unref"])(c).suffix},null,8,["value","text"])])}}});n("7cd8");const ze=Me;var ye=ze,we={class:"card"},Ve={class:"card-title"},Be={class:"card-content"};function Ge(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",we,[Object(o["createElementVNode"])("div",Ve,[Object(o["renderSlot"])(e.$slots,"title")]),Object(o["createElementVNode"])("div",Be,[Object(o["renderSlot"])(e.$slots,"content")])])}n("83d3");const xe={},Fe=E()(xe,[["render",Ge]]);var Ke=Fe,We=function(e){return Object(o["pushScopeId"])("data-v-7dad7915"),e=e(),Object(o["popScopeId"])(),e},$e={id:"admin-menu",class:"center-card"},He={class:"admin-menu description-list"},Ye=We((function(){return Object(o["createElementVNode"])("br",null,null,-1)})),qe={class:"registration-status"},Xe=Object(o["defineComponent"])({props:{appConfig:null,appStatistics:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.appConfig,c=n.appStatistics;return function(e,t){var n=Object(o["resolveComponent"])("router-link");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",$e,[Object(o["createVNode"])(Ke,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(ye,{appStatistics:Object(o["unref"])(c)},null,8,["appStatistics"]),Object(o["createElementVNode"])("div",He,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/application"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ye,Object(o["createElementVNode"])("span",qe,Object(o["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(Object(o["unref"])(r).is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/sports"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(o["createElementVNode"])("dt",null,[Object(o["createVNode"])(n,{to:"/admin/users"},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),_:1})]),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])}}});n("07a4");const Ze=E()(Xe,[["__scopeId","data-v-7dad7915"]]);var Je=Ze,Qe=n("1119"),et=function(e){return Object(o["pushScopeId"])("data-v-7342d2cc"),e=e(),Object(o["popScopeId"])(),e},tt={id:"admin-sports",class:"admin-card"},nt={class:"responsive-table"},rt=et((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),ct={class:"text-left"},ot={class:"text-left sport-action"},at=et((function(){return Object(o["createElementVNode"])("th",null,null,-1)})),it={class:"text-center"},st=et((function(){return Object(o["createElementVNode"])("span",{class:"cell-heading"},"id",-1)})),lt={class:"cell-heading"},ut={class:"sport-label"},Ot={class:"cell-heading"},dt={class:"text-center"},mt={class:"cell-heading"},bt={class:"sport-action"},Et={class:"cell-heading"},pt={class:"action-button"},Tt=["onClick"],ft={key:0,class:"has-workouts"},jt=et((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)})),St=Object(o["defineComponent"])({setup:function(e){var t=Object(f["b"])(),n=t.t,r=Object(A["a"])(),c=Object(o["computed"])((function(){return Object(Qe["e"])(r.getters[S["c"].GETTERS.SPORTS],n)})),a=Object(o["computed"])((function(){return r.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function i(e,t){r.dispatch(S["c"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage"),s=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",tt,[Object(o["createVNode"])(s,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createElementVNode"])("div",nt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[rt,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createElementVNode"])("th",ct,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("th",ot,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),at])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(c),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.id},[Object(o["createElementVNode"])("td",it,[st,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.id),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",lt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(o["createVNode"])(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),Object(o["createElementVNode"])("td",ut,[Object(o["createElementVNode"])("span",Ot,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.translatedLabel),1)]),Object(o["createElementVNode"])("td",dt,[Object(o["createElementVNode"])("span",mt,Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",bt,[Object(o["createElementVNode"])("span",Et,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("div",pt,[Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.is_active}),onClick:function(e){return i(t.id,!t.is_active)}},Object(o["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,Tt),t.has_workouts?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",ft,[jt,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(o["createCommentVNode"])("",!0)])])])})),128))])]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("a583");const At=E()(St,[["__scopeId","data-v-7342d2cc"]]);var _t=At,Nt=n("b166"),Rt=n("9176"),gt=n("6d7d"),It=n("97e5"),vt=n("5e65"),ht=function(e){return Object(o["pushScopeId"])("data-v-0d3ec733"),e=e(),Object(o["popScopeId"])(),e},Ut={id:"admin-users",class:"admin-card"},kt={class:"responsive-table"},Dt=ht((function(){return Object(o["createElementVNode"])("th",null,"#",-1)})),Ct={class:"left-text"},Pt={class:"left-text"},Lt={class:"left-text"},Mt={class:"cell-heading"},zt={class:"cell-heading"},yt={class:"cell-heading"},wt={class:"cell-heading"},Vt={class:"text-center"},Bt={class:"cell-heading"},Gt={class:"text-center"},xt={class:"cell-heading"},Ft={class:"text-center"},Kt={class:"cell-heading"},Wt=["disabled","onClick"],$t=Object(o["defineComponent"])({setup:function(e){var t=Object(A["a"])(),n=Object(ue["c"])(),r=Object(ue["d"])(),c=["admin","created_at","username","workouts_count"],a="created_at",i=Object(o["reactive"])(Object(It["a"])(n.query,c,a)),s=Object(o["computed"])((function(){return t.getters[S["a"].GETTERS.AUTH_USER_PROFILE]})),l=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS]})),u=Object(o["computed"])((function(){return t.getters[S["e"].GETTERS.USERS_PAGINATION]})),O=Object(o["computed"])((function(){return t.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function d(e){t.dispatch(S["e"].ACTIONS.GET_USERS,e)}function m(e,n){t.dispatch(S["e"].ACTIONS.UPDATE_USER,{username:e,admin:n})}function b(e,t){i[e]=t,"per_page"===e&&(i.page=1),r.push({path:"/admin/users",query:i})}return Object(o["onBeforeMount"])((function(){return d(i)})),Object(o["onUnmounted"])((function(){t.dispatch(S["e"].ACTIONS.EMPTY_USERS)})),Object(o["watch"])((function(){return n.query}),(function(e){i=Object(It["a"])(e,c,a,{query:i}),d(i)})),function(e,t){var n=Object(o["resolveComponent"])("router-link"),r=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ut,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("admin.USER",0))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("button",{class:"top-button",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(o["createVNode"])(Rt["a"],{sort:Object(o["unref"])(It["c"]),order_by:c,query:Object(o["unref"])(i),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:b},null,8,["sort","query"]),Object(o["createElementVNode"])("div",kt,[Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Dt,Object(o["createElementVNode"])("th",Ct,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createElementVNode"])("th",Pt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createElementVNode"])("th",Lt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(l),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:t.username},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Mt,Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(o["createVNode"])(j["a"],{user:t},null,8,["user"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",zt,Object(o["toDisplayString"])(e.$t("user.USERNAME")),1),Object(o["createVNode"])(n,{to:"/users/".concat(t.username)},{default:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",yt,Object(o["toDisplayString"])(e.$t("user.EMAIL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.email),1)]),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",wt,Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(Nt["a"])(Object(o["unref"])(vt["c"])(t.created_at,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",Vt,[Object(o["createElementVNode"])("span",Bt,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",0))),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(t.nb_workouts),1)]),Object(o["createElementVNode"])("td",Gt,[Object(o["createElementVNode"])("span",xt,Object(o["toDisplayString"])(e.$t("user.ADMIN")),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(t.admin?"-check":"","-square-o")),"aria-hidden":"true"},null,2)]),Object(o["createElementVNode"])("td",Ft,[Object(o["createElementVNode"])("span",Kt,Object(o["toDisplayString"])(e.$t("admin.ACTION")),1),Object(o["createElementVNode"])("button",{class:Object(o["normalizeClass"])({danger:t.admin}),disabled:t.username===Object(o["unref"])(s).username,onClick:function(e){return m(t.username,!t.admin)}},Object(o["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,Wt)])])})),128))])]),Object(o["unref"])(u).page?(Object(o["openBlock"])(),Object(o["createBlock"])(gt["a"],{key:0,path:"/admin/users",pagination:Object(o["unref"])(u),query:Object(o["unref"])(i)},null,8,["pagination","query"])):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(O)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:1,message:Object(o["unref"])(O)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=Object(o["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])}}});n("4042");const Ht=E()($t,[["__scopeId","data-v-0d3ec733"]]);var Yt=Ht,qt=n("3c44"),Xt=(n("99af"),{class:"profile-tabs custom-checkboxes-group"}),Zt={class:"profile-tabs-checkboxes custom-checkboxes"},Jt=["id","name","checked","disabled","onInput"],Qt=Object(o["defineComponent"])({props:{tabs:null,selectedTab:null,edition:null,disabled:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.tabs,c=n.selectedTab,a=n.disabled;function i(e){switch(e){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":case"SPORTS":return"/profile".concat(t.edition?"/edit":"","/").concat(e.toLocaleLowerCase());default:case"PROFILE":return"/profile".concat(t.edition?"/edit":"")}}return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xt,[Object(o["createElementVNode"])("div",Zt,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(o["createElementVNode"])("label",null,[Object(o["createElementVNode"])("input",{type:"radio",id:t,name:t,checked:Object(o["unref"])(c)===t,disabled:Object(o["unref"])(a),onInput:function(n){return e.$router.push(i(t))}},null,40,Jt),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}}});n("fa52");const en=Qt;var tn=en,nn={id:"user-profile"},rn={class:"box"},cn=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.user,c=n.tab,a=["PROFILE","PREFERENCES","SPORTS"];return function(e,t){var n=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nn,[Object(o["createVNode"])(qt["a"],{user:Object(o["unref"])(r)},null,8,["user"]),Object(o["createElementVNode"])("div",rn,[Object(o["createVNode"])(tn,{tabs:a,selectedTab:Object(o["unref"])(c),edition:!1},null,8,["selectedTab"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(r)},null,8,["user"])])])}}});n("f509");const on=E()(cn,[["__scopeId","data-v-41d26a96"]]);var an=on,sn=n("71a7"),ln={id:"user-preferences",class:"description-list"},un={class:"profile-buttons"},On=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(o["computed"])((function(){return t.user.language?v[t.user.language]:v["en"]})),r=Object(o["computed"])((function(){return t.user.weekm?"MONDAY":"SUNDAY"})),c=Object(o["computed"])((function(){return t.user.timezone?t.user.timezone:"Europe/Paris"}));return function(t,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ln,[Object(o["createElementVNode"])("dl",null,[Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.LANGUAGE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(n)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.TIMEZONE"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(Object(o["unref"])(c)),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.".concat(Object(o["unref"])(r)))),1),Object(o["createElementVNode"])("dt",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),Object(o["createElementVNode"])("dd",null,Object(o["toDisplayString"])(t.$t("user.PROFILE.UNITS.".concat(e.user.imperial_units?"IMPERIAL":"METRIC"))),1)]),Object(o["createElementVNode"])("div",un,[Object(o["createElementVNode"])("button",{onClick:a[0]||(a[0]=function(e){return t.$router.push("/profile/edit/preferences")})},Object(o["toDisplayString"])(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:a[1]||(a[1]=function(e){return t.$router.push("/")})},Object(o["toDisplayString"])(t.$t("common.HOME")),1)])])}}});const dn=On;var mn=dn,bn={id:"user-profile-edition",class:"center-card"},En=Object(o["defineComponent"])({props:{user:null,tab:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=r.tab,i=["PROFILE","PICTURE","PREFERENCES","SPORTS"],s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]}));return function(e,t){var n=Object(o["resolveComponent"])("router-view"),r=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",bn,[Object(o["createVNode"])(r,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(Object(o["unref"])(a),"_EDITION"))),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(tn,{tabs:i,selectedTab:Object(o["unref"])(a),edition:!0,disabled:Object(o["unref"])(s)},null,8,["selectedTab","disabled"]),Object(o["createVNode"])(n,{user:Object(o["unref"])(c)},null,8,["user"])]})),_:1})])}}});const pn=En;var Tn=pn,fn={id:"user-infos-edition"},jn={class:"profile-form form-box"},Sn=["onSubmit"],An={class:"form-items",for:"email"},_n=["value"],Nn={class:"form-items",for:"registrationDate"},Rn=["value"],gn={class:"form-items",for:"password"},In=["disabled"],vn={class:"form-items",for:"passwordConfirmation"},hn=["disabled"],Un=Object(o["createElementVNode"])("hr",null,null,-1),kn={class:"form-items",for:"first_name"},Dn=["disabled"],Cn={class:"form-items",for:"last_name"},Pn={class:"form-items",for:"birth_date"},Ln=["disabled"],Mn={class:"form-items",for:"location"},zn=["disabled"],yn={class:"form-items"},wn={class:"form-buttons"},Vn={class:"confirm",type:"submit"},Bn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),i=Object(o["computed"])((function(){return t.user.created_at?Object(Nt["a"])(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):""})),s=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),l=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),u=Object(o["ref"])(!1);function O(e){a.first_name=e.first_name?e.first_name:"",a.last_name=e.last_name?e.last_name:"",a.birth_date=e.birth_date?Object(Nt["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",a.location=e.location?e.location:"",a.bio=e.bio?e.bio:""}function d(e){a.bio=e}function m(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PROFILE,a)}function b(e){u.value=e}function E(e){n.dispatch(S["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(o["onMounted"])((function(){t.user&&O(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("Modal"),r=Object(o["resolveComponent"])("ErrorMessage"),O=Object(o["resolveComponent"])("CustomTextArea");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",fn,[Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=function(e){return E(Object(o["unref"])(c).username)}),onCancelAction:t[1]||(t[1]=function(e){return b(!1)})},null,8,["title","message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",jn,[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:0,message:Object(o["unref"])(l)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(m,["prevent"])},[Object(o["createElementVNode"])("label",An,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(o["createElementVNode"])("input",{id:"email",value:Object(o["unref"])(c).email,disabled:""},null,8,_n)]),Object(o["createElementVNode"])("label",Nn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(o["createElementVNode"])("input",{id:"registrationDate",value:Object(o["unref"])(i),disabled:""},null,8,Rn)]),Object(o["createElementVNode"])("label",gn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(a).password=e}),disabled:Object(o["unref"])(s)},null,8,In),[[o["vModelText"],Object(o["unref"])(a).password]])]),Object(o["createElementVNode"])("label",vn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(o["unref"])(a).password_conf=e}),disabled:Object(o["unref"])(s)},null,8,hn),[[o["vModelText"],Object(o["unref"])(a).password_conf]])]),Un,Object(o["createElementVNode"])("label",kn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"first_name","onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(o["unref"])(a).first_name=e}),disabled:Object(o["unref"])(s)},null,8,Dn),[[o["vModelText"],Object(o["unref"])(a).first_name]])]),Object(o["createElementVNode"])("label",Cn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"last_name","onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(o["unref"])(a).last_name=e})},null,512),[[o["vModelText"],Object(o["unref"])(a).last_name]])]),Object(o["createElementVNode"])("label",Pn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(o["unref"])(a).birth_date=e}),disabled:Object(o["unref"])(s)},null,8,Ln),[[o["vModelText"],Object(o["unref"])(a).birth_date]])]),Object(o["createElementVNode"])("label",Mn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("input",{id:"location","onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(o["unref"])(a).location=e}),disabled:Object(o["unref"])(s)},null,8,zn),[[o["vModelText"],Object(o["unref"])(a).location]])]),Object(o["createElementVNode"])("label",yn,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(o["createVNode"])(O,{name:"bio",charLimit:200,input:Object(o["unref"])(a).bio,disabled:Object(o["unref"])(s),onUpdateValue:d},null,8,["input","disabled"])]),Object(o["createElementVNode"])("div",wn,[Object(o["createElementVNode"])("button",Vn,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[8]||(t[8]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(o["createElementVNode"])("button",{class:"danger",onClick:t[9]||(t[9]=Object(o["withModifiers"])((function(e){return b(!0)}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],40,Sn)])])}}});n("44dee");const Gn=Bn;var xn=Gn,Fn=function(e){return Object(o["pushScopeId"])("data-v-239b9d46"),e=e(),Object(o["popScopeId"])(),e},Kn={id:"user-picture-edition"},Wn={class:"user-picture-form"},$n=["onSubmit"],Hn={class:"picture-help"},Yn={class:"info-box"},qn=Fn((function(){return Object(o["createElementVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)})),Xn={class:"picture-buttons"},Zn=["disabled"],Jn=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["toRefs"])(t),c=r.user,a=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),i=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.APP_CONFIG]})),s=i.value.max_single_file_size?Object(Oe["b"])(i.value.max_single_file_size):"",l=Object(o["ref"])(null);function u(){n.dispatch(S["a"].ACTIONS.DELETE_PICTURE)}function O(e){e.target.files&&(l.value=e.target.files[0])}function d(){l.value&&n.dispatch(S["a"].ACTIONS.UPDATE_USER_PICTURE,{picture:l.value})}return function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Kn,[Object(o["createElementVNode"])("div",Wn,[Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(a)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createVNode"])(j["a"],{user:Object(o["unref"])(c)},null,8,["user"]),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(d,["prevent"])},[Object(o["createElementVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:O},null,32),Object(o["createElementVNode"])("div",Hn,[Object(o["createElementVNode"])("span",Yn,[qn,Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(s)),1)])]),Object(o["createElementVNode"])("div",Xn,[Object(o["createElementVNode"])("button",{type:"submit",disabled:!Object(o["unref"])(l)},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Zn),Object(o["unref"])(c).picture?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"danger",onClick:u},Object(o["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=function(t){return e.$router.push("/profile")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,$n)])])}}});n("9ad0");const Qn=E()(Jn,[["__scopeId","data-v-239b9d46"]]);var er=Qn,tr=(n("498a"),n("4de4"),["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"]),nr={id:"tz-dropdown"},rr=["value","disabled","onKeydown"],cr=["onClick","onMouseover","autofocus"],or=Object(o["defineComponent"])({props:{input:null,disabled:{default:!1}},emits:["updateTimezone"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["toRefs"])(r),a=c.input,i=c.disabled,s=Object(o["ref"])(r.input),l=Object(o["ref"])(!1),u=Object(o["ref"])(null),O=Object(o["ref"])(0);function d(e){return e.toLowerCase().match(s.value.toLowerCase())}function m(e){O.value=e}function b(e){s.value=e,l.value=!1,n("updateTimezone",e)}function E(e){var t,n,r,c;(e.preventDefault(),null!==(t=u.value)&&void 0!==t&&null!==(n=t.firstElementChild)&&void 0!==n&&n.innerHTML)&&b(null===(r=u.value)||void 0===r||null===(c=r.firstElementChild)||void 0===c?void 0:c.innerHTML)}function p(e){e.preventDefault(),l.value=!0,s.value=e.target.value.trim()}return Object(o["watch"])((function(){return r.input}),(function(e){s.value=e})),function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",nr,[Object(o["createElementVNode"])("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:s.value,disabled:Object(o["unref"])(i),required:"",onKeydown:[t[0]||(t[0]=Object(o["withKeys"])((function(e){return b(Object(o["unref"])(a))}),["esc"])),Object(o["withKeys"])(E,["enter"])],onInput:p},null,40,rr),l.value?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",{key:0,class:"tz-dropdown-list",ref:function(e,t){t["tzList"]=e,u.value=e}},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(tr).filter((function(e){return d(e)})),(function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:e,class:Object(o["normalizeClass"])(["tz-dropdown-item",{focus:t===O.value}]),onClick:function(t){return b(e)},onMouseover:function(e){return m(t)},autofocus:t===O.value},Object(o["toDisplayString"])(e),43,cr)})),128))],512)):Object(o["createCommentVNode"])("",!0)])}}});n("dfd6");const ar=E()(or,[["__scopeId","data-v-d1c5cf04"]]);var ir=ar,sr={id:"user-preferences-edition"},lr={class:"profile-form form-box"},ur=["onSubmit"],Or={class:"form-items"},dr=["disabled"],mr=["value"],br={class:"form-items"},Er={class:"form-items"},pr=["disabled"],Tr=["value"],fr={class:"form-items"},jr=["disabled"],Sr=["value"],Ar={class:"form-buttons"},_r={class:"confirm",type:"submit"},Nr=Object(o["defineComponent"])({props:{user:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(o["reactive"])({imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),c=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],a=[{label:"IMPERIAL",value:!0},{label:"METRIC",value:!1}],i=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),s=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]}));function l(e){r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function u(){n.dispatch(S["a"].ACTIONS.UPDATE_USER_PREFERENCES,r)}function O(e){r.timezone=e}return Object(o["onMounted"])((function(){t.user&&l(t.user)})),function(e,t){var n=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",sr,[Object(o["createElementVNode"])("div",lr,[Object(o["unref"])(s)?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,message:Object(o["unref"])(s)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("form",{onSubmit:Object(o["withModifiers"])(u,["prevent"])},[Object(o["createElementVNode"])("label",Or,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(o["unref"])(r).language=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(U),(function(e){return Object(o["openBlock"])(),Object(o["createElementBlock"])("option",{value:e.value,key:e.value},Object(o["toDisplayString"])(e.label),9,mr)})),128))],8,dr),[[o["vModelSelect"],Object(o["unref"])(r).language]])]),Object(o["createElementVNode"])("label",br,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(o["createVNode"])(ir,{input:Object(o["unref"])(r).timezone,disabled:Object(o["unref"])(i),onUpdateTimezone:O},null,8,["input","disabled"])]),Object(o["createElementVNode"])("label",Er,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"weekm","onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(o["unref"])(r).weekm=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(c,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,Tr)})),64))],8,pr),[[o["vModelSelect"],Object(o["unref"])(r).weekm]])]),Object(o["createElementVNode"])("label",fr,[Object(o["createTextVNode"])(Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.LABEL"))+" ",1),Object(o["withDirectives"])(Object(o["createElementVNode"])("select",{id:"imperial_units","onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(o["unref"])(r).imperial_units=e}),disabled:Object(o["unref"])(i)},[(Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(a,(function(t){return Object(o["createElementVNode"])("option",{value:t.value,key:t.value},Object(o["toDisplayString"])(e.$t("user.PROFILE.UNITS.".concat(t.label))),9,Sr)})),64))],8,jr),[[o["vModelSelect"],Object(o["unref"])(r).imperial_units]])]),Object(o["createElementVNode"])("div",Ar,[Object(o["createElementVNode"])("button",_r,Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],40,ur)])])}}});const Rr=Nr;var gr=Rr,Ir=(n("2532"),{id:"user-sport-preferences"}),vr={key:0,class:"responsive-table"},hr={class:"mobile-display"},Ur={key:0,class:"profile-buttons mobile-display"},kr={key:1,class:"profile-buttons"},Dr={class:"text-left"},Cr={key:0},Pr={class:"cell-heading"},Lr=["value"],Mr={class:"cell-heading"},zr={key:0,class:"disabled-message"},yr={key:1,class:"fa fa-refresh fa-spin fa-fw"},wr={class:"cell-heading"},Vr={class:"cell-heading"},Br=["checked"],Gr={class:"cell-heading"},xr=["value"],Fr={key:1},Kr={key:0,class:"action-buttons"},Wr={class:"cell-heading"},$r=["onClick"],Hr={key:1,class:"edition-buttons"},Yr=["disabled"],qr=["disabled"],Xr={key:0,class:"profile-buttons"},Zr={key:1,class:"profile-buttons"},Jr=Object(o["defineComponent"])({props:{user:null,isEdition:null},setup:function(e){var t=e,n=Object(A["a"])(),r=Object(f["b"])(),c=r.t,a=Object(o["toRefs"])(t),i=a.isEdition,s=a.user,l=Object(o["inject"])("sportColors"),u=Object(o["computed"])((function(){return n.getters[S["c"].GETTERS.SPORTS]})),O=Object(o["computed"])((function(){return Object(Qe["e"])(u.value,c,!0,s.value.sports_list)})),d=Object(o["computed"])((function(){return n.getters[S["a"].GETTERS.USER_LOADING]})),m=Object(o["computed"])((function(){return n.getters[S["b"].GETTERS.ERROR_MESSAGES]})),b=Object(o["reactive"])({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function E(e){null!==e?(b.sport_id=e.id,b.color=e.color?e.color:l[e.label],b.is_active=e.is_active_for_user,b.stopped_speed_threshold=e.stopped_speed_threshold):N()}function p(e){return b.sport_id===e}function T(e){b.color=e.target.value}function j(e){b.stopped_speed_threshold=parseFloat(e.target.value)}function _(e){b.is_active=e.target.checked}function N(){b.sport_id=0,b.color=null,b.is_active=!0,b.stopped_speed_threshold=1,n.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)}function R(e){e.preventDefault(),n.dispatch(S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,b)}return Object(o["watch"])((function(){return d.value}),(function(e){e||m.value||N()})),function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("ErrorMessage");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ir,[Object(o["unref"])(u).length>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",vr,[Object(o["createElementVNode"])("div",hr,[Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ur,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[0]||(t[0]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",kr,[Object(o["createElementVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),Object(o["createElementVNode"])("th",Dr,Object(o["toDisplayString"])(e.$t("workouts.SPORT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("th",Cr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1)):Object(o["createCommentVNode"])("",!0)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(c){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:c.id},[Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",Pr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.COLOR")),1),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"sport-color",type:"color",value:Object(o["unref"])(b).color,onInput:T},null,40,Lr)):(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:1,title:c.translatedLabel,"sport-label":c.label,color:c.color?c.color:Object(o["unref"])(l)[c.label]},null,8,["title","sport-label","color"]))]),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["sport-label",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Mr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.LABEL")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(c.translatedLabel)+" ",1),c.is_active?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",zr," ("+Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),Object(o["unref"])(d)&&p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",yr)):Object(o["createCommentVNode"])("",!0),Object(o["unref"])(m)&&Object(o["unref"])(b).sport_id===c.id?(Object(o["openBlock"])(),Object(o["createBlock"])(r,{key:2,message:Object(o["unref"])(m)},null,8,["message"])):Object(o["createCommentVNode"])("",!0)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",wr,Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",0)),1),Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa".concat(Object(o["unref"])(s).sports_list.includes(c.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Vr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,type:"checkbox",checked:c.is_active_for_user,onChange:_},null,40,Br)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",{key:1,class:Object(o["normalizeClass"])("fa fa".concat(c.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),Object(o["createElementVNode"])("td",{class:Object(o["normalizeClass"])(["text-center",{"disabled-sport":!c.is_active}])},[Object(o["createElementVNode"])("span",Gr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),p(c.id)&&c.is_active?(Object(o["openBlock"])(),Object(o["createElementBlock"])("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:Object(o["unref"])(b).stopped_speed_threshold,onInput:j},null,40,xr)):(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",Fr,Object(o["toDisplayString"])(c.stopped_speed_threshold),1))],2),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("td",Kr,[Object(o["createElementVNode"])("span",Wr,Object(o["toDisplayString"])(e.$t("user.PROFILE.SPORT.ACTION")),1),0===Object(o["unref"])(b).sport_id?(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,onClick:function(e){return E(c)}},Object(o["toDisplayString"])(e.$t("buttons.EDIT")),9,$r)):Object(o["createCommentVNode"])("",!0),p(c.id)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Hr,[Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:R},Object(o["toDisplayString"])(e.$t("buttons.SUBMIT")),9,Yr),Object(o["createElementVNode"])("button",{disabled:Object(o["unref"])(d),onClick:t[3]||(t[3]=function(e){return E(null)})},Object(o["toDisplayString"])(e.$t("buttons.CANCEL")),9,qr)])):Object(o["createCommentVNode"])("",!0)])):Object(o["createCommentVNode"])("",!0)])})),128))])]),Object(o["unref"])(i)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Xr,[Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(o["withModifiers"])((function(t){return e.$router.push("/profile/sports")}),["prevent"]))},Object(o["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Zr,[Object(o["createElementVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit/sports")})},Object(o["toDisplayString"])(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),Object(o["createElementVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(o["toDisplayString"])(e.$t("common.HOME")),1)]))])):Object(o["createCommentVNode"])("",!0)])}}});n("e7b2");const Qr=E()(Jr,[["__scopeId","data-v-bd7a47b2"]]);var ec=Qr,tc=n("5502"),nc=n("ade3"),rc=n("bc3a"),cc=n.n(rc),oc=n("d257"),ac=cc.a.create({baseURL:Object(oc["a"])()});ac.interceptors.request.use((function(e){var t=bo.getters[S["a"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var ic,sc,lc,uc,Oc,dc,mc,bc,Ec,pc,Tc,fc,jc,Sc,Ac=ac,_c=cc.a.create({baseURL:Object(oc["a"])()}),Nc=_c,Rc=function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.delete("users/".concat(t.username)).then((function(n){204===n.status?t.fromAdmin?jo.push("/admin/users"):e.dispatch(S["a"].ACTIONS.LOGOUT).then((function(){return jo.push("/")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},gc=(ic={},Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USER,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USER,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.EMPTY_USERS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.GET_USERS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),Ac.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["e"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(S["e"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(nc["a"])(ic,S["e"].ACTIONS.DELETE_USER_ACCOUNT,(function(e,t){Rc(e,{username:t.username,fromAdmin:!0})})),ic),Ic=g.global.locale,vc=function(e){localStorage.removeItem("authToken"),e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["d"].MUTATIONS.EMPTY_USER_STATS),e.commit(S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(S["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUTS),e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),jo.push("/login")},hc=(sc={},Object(nc["a"])(sc,S["a"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE))})),Object(nc["a"])(sc,S["a"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language),e.dispatch(S["c"].ACTIONS.GET_SPORTS)):(Object(oc["b"])(e,null),vc(e))})).catch((function(t){Object(oc["b"])(e,t),vc(e)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("/auth/".concat(t.actionType),t.formData).then((function(n){if("success"===n.data.status){var r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")}))}else Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.LOGOUT,(function(e){vc(e)})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),jo.push("/profile")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(S["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ic.value=t.data.data.language,jo.push("/profile/preferences")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_SPORT_PREFERENCES,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.post("auth/profile/edit/sports",t).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){Object(oc["b"])(e,t),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),Ac.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_ACCOUNT,(function(e,t){Rc(e,t)})),Object(nc["a"])(sc,S["a"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!0),Ac.delete("auth/picture").then((function(t){204===t.status?e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE).then((function(){return jo.push("/profile")})):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/sent"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(sc,S["a"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Nc.post("auth/password/update",t).then((function(t){"success"===t.data.status?jo.push("/password-reset/password-updated"):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),sc),Uc=(lc={},Object(nc["a"])(lc,S["a"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(nc["a"])(lc,S["a"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(nc["a"])(lc,S["a"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(nc["a"])(lc,S["a"].GETTERS.USER_LOADING,(function(e){return e.loading})),lc),kc=(uc={},Object(nc["a"])(uc,S["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(nc["a"])(uc,S["a"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),uc),Dc={authToken:null,authUserProfile:{},loading:!1},Cc={state:Dc,actions:hc,getters:Uc,mutations:kc},Pc=Cc,Lc=(Oc={},Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),Ac.get("config").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/all").then((function(t){"success"===t.data.status?e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(Oc,S["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),jo.push("/admin/application")):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Oc),Mc=(dc={},Object(nc["a"])(dc,S["b"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(nc["a"])(dc,S["b"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(nc["a"])(dc,S["b"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(nc["a"])(dc,S["b"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(nc["a"])(dc,S["b"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(nc["a"])(dc,S["b"].GETTERS.LOCALE,(function(e){return e.locale})),dc),zc=(mc={},Object(nc["a"])(mc,S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(nc["a"])(mc,S["b"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(nc["a"])(mc,S["b"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=I[t]})),mc),yc={root:!0,language:"en",locale:_["a"],errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},wc=(bc={},Object(nc["a"])(bc,S["c"].ACTIONS.GET_SPORTS,(function(e){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("sports").then((function(t){"success"===t.data.status?(e.commit(S["c"].MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(S["a"].MUTATIONS.UPDATE_USER_LOADING,!1)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Object(nc["a"])(bc,S["c"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(S["c"].ACTIONS.GET_SPORTS):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),bc),Vc=Object(nc["a"])({},S["c"].GETTERS.SPORTS,(function(e){return e.sports})),Bc=Object(nc["a"])({},S["c"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),Gc={sports:[]},xc={state:Gc,actions:wc,getters:Vc,mutations:Bc},Fc=xc,Kc=Object(nc["a"])({},S["d"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(S["d"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))})),Wc=Object(nc["a"])({},S["d"].GETTERS.USER_STATS,(function(e){return e.statistics})),$c=(Ec={},Object(nc["a"])(Ec,S["d"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(nc["a"])(Ec,S["d"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),Ec),Hc={statistics:{}},Yc={state:Hc,actions:Kc,getters:Wc,mutations:$c},qc=Yc,Xc=(pc={},Object(nc["a"])(pc,S["e"].GETTERS.USER,(function(e){return e.user})),Object(nc["a"])(pc,S["e"].GETTERS.USERS,(function(e){return e.users})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(nc["a"])(pc,S["e"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),pc),Zc=(Tc={},Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(nc["a"])(Tc,S["e"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),Tc),Jc={user:{},users:[],loading:!1,pagination:{}},Qc={state:Jc,actions:gc,getters:Xc,mutations:Zc},eo=Qc,to=n("4870"),no=function(e,t,n){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),Ac.get("workouts",{params:t}).then((function(t){"success"===t.data.status?(e.commit(S["f"].MUTATIONS[n],t.data.data.workouts),n===to["c"]["SET_USER_WORKOUTS"]&&e.commit(S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):Object(oc["b"])(e,null)})).catch((function(t){return Object(oc["b"])(e,t)}))},ro=(fc={},Object(nc["a"])(fc,S["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),no(e,t,to["c"]["SET_CALENDAR_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_USER_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["SET_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,(function(e,t){no(e,t,to["c"]["ADD_TIMELINE_WORKOUTS"])})),Object(nc["a"])(fc,S["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";Ac.get("workouts/".concat(t.workoutId)).then((function(r){var c=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===c.segments.length||!c.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(S["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(Ac.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),Ac.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(S["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,null)})).catch((function(t){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(S["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),jo.push("/")})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE),e.dispatch(S["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){jo.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");var n=new FormData;n.append("file",t.file),n.append("data",'{"sport_id": '.concat(t.sport_id,', "notes": "').concat(t.notes,'"}')),Ac.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(nc["a"])(fc,S["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),Ac.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(S["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];jo.push("/workouts/".concat(n.id))}})).catch((function(t){Object(oc["b"])(e,t)})).finally((function(){return e.commit(S["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),fc),co=(jc={},Object(nc["a"])(jc,S["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.TIMELINE_WORKOUTS,(function(e){return e.timeline_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Object(nc["a"])(jc,S["f"].GETTERS.WORKOUTS_PAGINATION,(function(e){return e.pagination})),jc),oo=(Sc={},Object(nc["a"])(Sc,S["f"].MUTATIONS.ADD_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=e.timeline_workouts.concat(t)})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,(function(e,t){e.pagination=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]})),Object(nc["a"])(Sc,S["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),Sc),ao={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},io={state:ao,actions:ro,getters:co,mutations:oo},so=io,lo={authUserModule:Pc,sportsModule:Fc,statsModule:qc,usersModule:eo,workoutsModule:so},uo={state:yc,actions:Lc,getters:Mc,mutations:zc,modules:lo},Oo=uo,mo=Object(tc["a"])(Oo),bo=mo,Eo=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},po=[{path:"/",name:"Dashboard",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"7277"))}},{path:"/login",name:"Login",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"login"}},{path:"/register",name:"Register",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"register"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset"}},{path:"/profile",name:"Profile",component:function(){return n.e("profile").then(n.bind(null,"36e8"))},children:[{path:"",name:"UserProfile",component:an,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfos",component:sn["a"]},{path:"preferences",name:"UserPreferences",component:mn},{path:"sports",name:"UserSportPreferences",component:ec,props:{isEdition:!1}}]},{path:"edit",name:"UserProfileEdition",component:Tn,props:function(e){return{tab:Eo(e.path)}},children:[{path:"",name:"UserInfosEdition",component:xn},{path:"picture",name:"UserPictureEdition",component:er},{path:"preferences",name:"UserPreferencesEdition",component:gr},{path:"sports",name:"UserSportPreferencesEdition",component:ec,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"ccb2"))}},{path:"/users/:username",name:"User",component:function(){return n.e("profile").then(n.bind(null,"ad3d"))}},{path:"/workouts",name:"Workouts",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"0385"))}},{path:"/workouts/:workoutId",name:"Workout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"8ee9"))}},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"692d"))}},{path:"/admin",name:"Administration",component:function(){return n.e("admin").then(n.bind(null,"89b3"))},children:[{path:"",name:"AdministrationMenu",component:Je},{path:"application",name:"ApplicationAdministration",component:Ce},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ce,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:_t},{path:"users",name:"UsersAdministration",component:Yt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],To=Object(ue["a"])({history:Object(ue["b"])("/"),routes:po}),fo=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];To.beforeEach((function(e,t,n){bo.dispatch(S["a"].ACTIONS.CHECK_AUTH_USER).then((function(){if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]&&fo.includes(e.path))return n("/");if(bo.getters[S["a"].GETTERS.IS_AUTHENTICATED]||fo.includes(e.path))n();else{var t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((function(e){console.error(e),n()}))}));var jo=To,So={class:"alert-message"},Ao=["innerHTML"],_o=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",So,[Object(o["createElementVNode"])("div",{innerHTML:e.$t(Object(o["unref"])(r))},null,8,Ao)])}}});n("b9a4");const No=E()(_o,[["__scopeId","data-v-1c7b89ce"]]);var Ro=No,go={class:"custom-textarea"},Io=["id","name","maxLenght","disabled"],vo={class:"remaining-chars"},ho=Object(o["defineComponent"])({props:{name:null,charLimit:{default:500},disabled:{default:!1},input:{default:""}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=e,c=Object(o["ref"])("");function a(e){n("updateValue",e.target.value)}return Object(o["watch"])((function(){return r.input}),(function(e){c.value=e})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",go,[Object(o["withDirectives"])(Object(o["createElementVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=function(e){return Object(o["isRef"])(c)?c.value=e:c=e}),onInput:a},null,40,Io),[[o["vModelText"],Object(o["unref"])(c)]]),Object(o["createElementVNode"])("div",vo,Object(o["toDisplayString"])(t.$t("workouts.REMAINING_CHARS"))+": "+Object(o["toDisplayString"])(Object(o["unref"])(c).length)+"/"+Object(o["toDisplayString"])(e.charLimit),1)])}}});n("f41d");const Uo=E()(ho,[["__scopeId","data-v-129e44c0"]]);var ko=Uo,Do=(n("b680"),n("6284")),Co=Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(" ")+" "),Po=Object(o["defineComponent"])({props:{distance:null,unitFrom:null,useImperialUnits:null,digits:{default:2},displayUnit:{default:!0},speed:{default:!1},strong:{default:!1}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.digits,c=n.displayUnit,a=n.distance,i=n.speed,s=n.strong,l=n.unitFrom,u=n.useImperialUnits,O=Object(o["computed"])((function(){return u.value?Do["c"][l.value].defaultTarget:l.value})),d=Object(o["computed"])((function(){return u.value?Object(Do["a"])(a.value,l.value,O.value,r.value):parseFloat(a.value.toFixed(r.value))}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])(o["Fragment"],null,[Object(o["createElementVNode"])("span",{class:Object(o["normalizeClass"])(["distance",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(d)),3),Co,Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",{key:0,class:Object(o["normalizeClass"])(["unit",{strong:Object(o["unref"])(s)}])},Object(o["toDisplayString"])(Object(o["unref"])(O))+Object(o["toDisplayString"])(Object(o["unref"])(i)?"/h":""),3)):Object(o["createCommentVNode"])("",!0)],64)}}});n("6862");const Lo=E()(Po,[["__scopeId","data-v-5d562b40"]]);var Mo=Lo,zo={class:"dropdown-wrapper"},yo={key:0,class:"dropdown-list"},wo=["onClick"],Vo=Object(o["defineComponent"])({props:{options:null,selected:null},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=e,c=Object(ue["c"])(),a=Object(o["ref"])(!1),i=r.options.map((function(e){return e}));function s(){a.value=!a.value}function l(e){n("selected",e),a.value=!1}return Object(o["watch"])((function(){return c.path}),(function(){return a.value=!1})),function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",zo,[Object(o["createElementVNode"])("div",{class:"dropdown-selected",onClick:s},[Object(o["renderSlot"])(t.$slots,"default")]),Object(o["unref"])(a)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",yo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(i),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{class:Object(o["normalizeClass"])(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:function(e){return l(t)}},Object(o["toDisplayString"])(t.label),11,wo)})),128))])):Object(o["createCommentVNode"])("",!0)])}}});n("55a6");const Bo=E()(Vo,[["__scopeId","data-v-ca61364c"]]);var Go=Bo,xo={class:"error-message"},Fo={key:0},Ko={key:1},Wo=Object(o["defineComponent"])({props:{message:null},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.message;return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",xo,[Array.isArray(Object(o["unref"])(r))?(Object(o["openBlock"])(),Object(o["createElementBlock"])("ul",Fo,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(r),(function(t,n){return Object(o["openBlock"])(),Object(o["createElementBlock"])("li",{key:n},Object(o["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Ko,Object(o["toDisplayString"])(e.$t(Object(o["unref"])(r))),1))])}}});n("cf98");const $o=E()(Wo,[["__scopeId","data-v-4366d0e7"]]);var Ho=$o,Yo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},qo=Object(o["createElementVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),Xo=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),Object(o["createElementVNode"])("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1),Zo=[qo,Xo];function Jo(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Yo,Zo)}var Qo={name:"CyclingSport"};const ea=E()(Qo,[["render",Jo]]);var ta=ea,na={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},ra=Object(o["createElementVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),ca=Object(o["createElementVNode"])("g",{id:"g147"},[Object(o["createElementVNode"])("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),Object(o["createElementVNode"])("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1),oa=[ra,ca];function aa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",na,oa)}var ia={name:"CyclingTransport"};const sa=E()(ia,[["render",aa]]);var la=sa,ua={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Oa=Object(o["createElementVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),da=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),Object(o["createElementVNode"])("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1),ma=[Oa,da];function ba(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ua,ma)}var Ea={name:"Hiking"};const pa=E()(Ea,[["render",ba]]);var Ta=pa,fa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},ja=Object(o["createElementVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Sa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),Object(o["createElementVNode"])("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),Object(o["createElementVNode"])("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1),Aa=[ja,Sa];function _a(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",fa,Aa)}var Na={name:"MountainBiking"};const Ra=E()(Na,[["render",_a]]);var ga=Ra,Ia={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},va=Object(o["createStaticVNode"])(' silhouette of a person riding an electric mountain bike ',18),ha=[va];function Ua(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ia,ha)}var ka={name:"MountainBikingElectric"};const Da=E()(ka,[["render",Ua]]);var Ca=Da,Pa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},La=Object(o["createElementVNode"])("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Ma=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),Object(o["createElementVNode"])("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),za=[La,Ma];function ya(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Pa,za)}var wa={name:"Rowing"};const Va=E()(wa,[["render",ya]]);var Ba=Va,Ga={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},xa=Object(o["createElementVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),Fa=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),Object(o["createElementVNode"])("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1),Ka=[xa,Fa];function Wa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Ga,Ka)}var $a={name:"Running"};const Ha=E()($a,[["render",Wa]]);var Ya=Ha,qa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Xa=Object(o["createElementVNode"])("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Za=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),Object(o["createElementVNode"])("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),Ja=[Xa,Za];function Qa(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",qa,Ja)}var ei={name:"SkiingAlpine"};const ti=E()(ei,[["render",Qa]]);var ni=ti,ri={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},ci=Object(o["createElementVNode"])("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),oi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),ai=[ci,oi];function ii(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ri,ai)}var si={name:"SkiingCrossCountry"};const li=E()(si,[["render",ii]]);var ui=li,Oi={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},di=Object(o["createElementVNode"])("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),mi=Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("g",null,[Object(o["createElementVNode"])("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),Object(o["createElementVNode"])("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),bi=[di,mi];function Ei(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",Oi,bi)}var pi={name:"Trail"};const Ti=E()(pi,[["render",Ei]]);var fi=Ti,ji={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Si=Object(o["createStaticVNode"])('silhouette of a walking person',3),Ai=[Si];function _i(e,t,n,r,c,a){return Object(o["openBlock"])(),Object(o["createElementBlock"])("svg",ji,Ai)}var Ni={name:"Walking"};const Ri=E()(Ni,[["render",_i]]);var gi=Ri,Ii=["title"],vi=Object(o["defineComponent"])({props:{sportLabel:null,color:null,title:{default:""}},setup:function(e){var t=e,n=Object(o["toRefs"])(t),r=n.color,c=n.sportLabel,a=n.title,i=Object(o["inject"])("sportColors");return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",{class:"sport-img",style:Object(o["normalizeStyle"])({fill:Object(o["unref"])(r)?Object(o["unref"])(r):Object(o["unref"])(i)[Object(o["unref"])(c)]}),title:Object(o["unref"])(a)?Object(o["unref"])(a):e.$t("sports.".concat(Object(o["unref"])(c),".LABEL"))},["Cycling (Sport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ta,{key:0})):Object(o["createCommentVNode"])("",!0),"Cycling (Transport)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(la,{key:1})):Object(o["createCommentVNode"])("",!0),"Hiking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ta,{key:2})):Object(o["createCommentVNode"])("",!0),"Mountain Biking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ga,{key:3})):Object(o["createCommentVNode"])("",!0),"Mountain Biking (Electric)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ca,{key:4})):Object(o["createCommentVNode"])("",!0),"Rowing"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ba,{key:5})):Object(o["createCommentVNode"])("",!0),"Running"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(Ya,{key:6})):Object(o["createCommentVNode"])("",!0),"Skiing (Alpine)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ni,{key:7})):Object(o["createCommentVNode"])("",!0),"Skiing (Cross Country)"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(ui,{key:8})):Object(o["createCommentVNode"])("",!0),"Trail"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(fi,{key:9})):Object(o["createCommentVNode"])("",!0),"Walking"===Object(o["unref"])(c)?(Object(o["openBlock"])(),Object(o["createBlock"])(gi,{key:10})):Object(o["createCommentVNode"])("",!0)],12,Ii)}}});const hi=vi;var Ui=hi,ki={class:"loader"};function Di(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",ki)}n("922d");const Ci={},Pi=E()(Ci,[["render",Di],["__scopeId","data-v-436637e0"]]);var Li=Pi,Mi={id:"modal"},zi={class:"custom-modal"},yi={key:0,class:"modal-message"},wi={key:1,class:"modal-message"},Vi={class:"modal-buttons"},Bi=Object(o["defineComponent"])({props:{title:null,message:null,strongMessage:{default:function(){return null}}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=e,c=Object(A["a"])(),a=Object(o["toRefs"])(r),i=a.title,s=a.message,l=a.strongMessage,u=Object(o["computed"])((function(){return c.getters[S["b"].GETTERS.ERROR_MESSAGES]}));return Object(o["onUnmounted"])((function(){return c.commit(S["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),function(e,t){var r=Object(o["resolveComponent"])("i18n-t"),c=Object(o["resolveComponent"])("ErrorMessage"),a=Object(o["resolveComponent"])("Card");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Mi,[Object(o["createElementVNode"])("div",zi,[Object(o["createVNode"])(a,null,{title:Object(o["withCtx"])((function(){return[Object(o["createTextVNode"])(Object(o["toDisplayString"])(Object(o["unref"])(i)),1)]})),content:Object(o["withCtx"])((function(){return[Object(o["unref"])(l)?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",yi,[Object(o["createVNode"])(r,{keypath:Object(o["unref"])(s)},{default:Object(o["withCtx"])((function(){return[Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(Object(o["unref"])(l)),1)]})),_:1},8,["keypath"])])):(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",wi,Object(o["toDisplayString"])(Object(o["unref"])(s)),1)),Object(o["unref"])(u)?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:2,message:Object(o["unref"])(u)},null,8,["message"])):Object(o["createCommentVNode"])("",!0),Object(o["createElementVNode"])("div",Vi,[Object(o["unref"])(u)?Object(o["createCommentVNode"])("",!0):(Object(o["openBlock"])(),Object(o["createElementBlock"])("button",{key:0,class:"confirm",onClick:t[0]||(t[0]=function(e){return n("confirmAction")})},Object(o["toDisplayString"])(e.$t("buttons.YES")),1)),Object(o["createElementVNode"])("button",{class:"cancel",onClick:t[1]||(t[1]=function(e){return n("cancelAction")})},Object(o["toDisplayString"])(e.$t("buttons.".concat(Object(o["unref"])(u)?"CANCEL":"NO"))),1)])]})),_:1})])])}}});n("7489");const Gi=E()(Bi,[["__scopeId","data-v-20a846ac"]]);var xi=Gi,Fi=[{target:Ro,name:"AlertMessage"},{target:Ke,name:"Card"},{target:ko,name:"CustomTextArea"},{target:Mo,name:"Distance"},{target:Go,name:"Dropdown"},{target:Ho,name:"ErrorMessage"},{target:Li,name:"Loader"},{target:xi,name:"Modal"},{target:Ui,name:"SportImage"}],Ki={mounted:function(e,t){e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};r["Chart"].register(r["BarElement"],r["LineElement"],r["PointElement"],r["Legend"],r["Title"],r["Tooltip"],r["Filler"],r["BarController"],r["CategoryScale"],r["LineController"],r["LinearScale"],c["a"]);var Wi=Object(o["createApp"])(le).provide("sportColors",Qe["c"]).use(g).use(bo).use(jo).directive("click-outside",Ki);Fi.forEach((function(e){Wi.component(e.name,e.target)})),Wi.mount("#app")},cf98:function(e,t,n){"use strict";n("c7cd")},d251:function(e,t,n){},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return c})),n.d(t,"b",(function(){return o}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("d3b7"),n("ac1f"),n("1276");var r=n("dad5"),c=function(){return"/api/"},o=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",c=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r["b"].MUTATIONS.SET_ERROR_MESSAGES,c.includes("\n")?c.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(c))}},d2bc:function(e,t,n){},d9b8:function(e,t,n){},dad5:function(e,t,n){"use strict";var r,c,o,a,i,s,l,u,O,d,m,b,E,p,T;n.d(t,"b",(function(){return j})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return A})),n.d(t,"a",(function(){return _})),n.d(t,"e",(function(){return N})),n.d(t,"f",(function(){return R})),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["USER_LOADING"]="USER_LOADING"}(c||(c={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(a||(a={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(i||(i={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(s||(s={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(l||(l={})),function(e){e["SPORTS"]="SPORTS"}(u||(u={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(O||(O={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(d||(d={})),function(e){e["USER_STATS"]="USER_STATS"}(m||(m={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(b||(b={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(E||(E={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(p||(p={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION"}(T||(T={}));var f=n("4870"),j={ACTIONS:a,GETTERS:i,MUTATIONS:s},S={ACTIONS:l,GETTERS:u,MUTATIONS:O},A={ACTIONS:d,GETTERS:m,MUTATIONS:b},_={ACTIONS:r,GETTERS:c,MUTATIONS:o},N={ACTIONS:E,GETTERS:p,MUTATIONS:T},R={ACTIONS:f["a"],GETTERS:f["b"],MUTATIONS:f["c"]}},dbef:function(e,t,n){},dbf1:function(e,t,n){},dfd6:function(e,t,n){"use strict";n("2679")},e7b2:function(e,t,n){"use strict";n("3605")},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function c(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}c.keys=function(){return Object.keys(r)},c.resolve=o,e.exports=c,c.id="e7b6"},e9c9:function(e,t,n){},ef54:function(e,t,n){},f41d:function(e,t,n){"use strict";n("a0eb")},f509:function(e,t,n){"use strict";n("3256")},fa52:function(e,t,n){"use strict";n("65d3")},feac:function(e,t,n){"use strict";n("c26b")}}); +//# sourceMappingURL=app.b027dbd7.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.43c2e954.js.map b/fittrackee/dist/static/js/app.b027dbd7.js.map similarity index 99% rename from fittrackee/dist/static/js/app.43c2e954.js.map rename to fittrackee/dist/static/js/app.b027dbd7.js.map index d2930fff..fcf0a934 100644 --- a/fittrackee/dist/static/js/app.43c2e954.js.map +++ b/fittrackee/dist/static/js/app.b027dbd7.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?7652","webpack:///./src/components/Administration/AdminMenu.vue?95c1","webpack:///./src/components/Common/StatCard.vue?785a","webpack:///./src/utils/sports.ts","webpack:///./src/App.vue?5d1b","webpack:///./src/use/useStore.ts","webpack:///./src/components/Common/Pagination.vue?42b0","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?24df","webpack:///./src/components/Footer.vue?1c0e","webpack:///./src/components/Administration/AdminUsers.vue?a81b","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?3ebe","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/components/Common/Dropdown.vue?9d33","webpack:///./src/utils/dates.ts","webpack:///./src/components/Administration/AdminApplication.vue?1c1a","webpack:///./src/utils/units.ts","webpack:///./src/locales/fr/administration.json","webpack:///./src/locales/fr/api.json","webpack:///./src/locales/fr/buttons.json","webpack:///./src/locales/fr/common.json","webpack:///./src/locales/fr/dashboard.json","webpack:///./src/locales/fr/error.json","webpack:///./src/locales/fr/sports.json","webpack:///./src/locales/fr/statistics.json","webpack:///./src/locales/fr/user.json","webpack:///./src/locales/fr/workouts.json","webpack:///./src/locales/fr/fr.ts","webpack:///./src/components/Common/Distance.vue?3125","webpack:///./src/components/Common/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?573e","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?9546","webpack:///./src/components/Common/Modal.vue?2baf","webpack:///./src/components/Administration/AppStatsCards.vue?4f54","webpack:///./src/components/Common/Card.vue?ee24","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?21e6","webpack:///./src/components/Common/FilterSelects.vue","webpack:///./src/components/Common/FilterSelects.vue?2f0a","webpack:///./src/components/Common/Loader.vue?458e","webpack:///./src/components/Common/FilterSelects.vue?bcc8","webpack:///./src/utils/api.ts","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?2f25","webpack:///./src/components/User/UserPicture.vue?3c5d","webpack:///./src/components/Administration/AdminSports.vue?0c60","webpack:///./src/components/Common/AlertMessage.vue?cde4","webpack:///./src/components/NoConfig.vue?d170","webpack:///./src/components/NavBar.vue?6217","webpack:///./src/locales/en/administration.json","webpack:///./src/locales/en/api.json","webpack:///./src/locales/en/buttons.json","webpack:///./src/locales/en/common.json","webpack:///./src/locales/en/dashboard.json","webpack:///./src/locales/en/error.json","webpack:///./src/locales/en/sports.json","webpack:///./src/locales/en/statistics.json","webpack:///./src/locales/en/user.json","webpack:///./src/locales/en/workouts.json","webpack:///./src/locales/en/en.ts","webpack:///./src/utils/files.ts","webpack:///./src/components/User/UserPicture.vue","webpack:///./src/components/User/UserPicture.vue?dc88","webpack:///./src/registerServiceWorker.ts","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?14b8","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?5ec4","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?0078","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?9c66","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?5d3b","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?ecbc","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AdminMenu.vue?572b","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?8d91","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsers.vue?9006","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?68f5","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/ProfileDisplay/index.vue?d237","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?e51f","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?27de","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?a314","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?6a32","webpack:///./src/utils/timezone.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?2dc4","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?a05c","webpack:///./src/components/User/UserSportPreferences.vue","webpack:///./src/components/User/UserSportPreferences.vue?ec8d","webpack:///./src/api/authApi.ts","webpack:///./src/api/defaultApi.ts","webpack:///./src/store/modules/users/actions.ts","webpack:///./src/store/modules/authUser/actions.ts","webpack:///./src/store/modules/authUser/getters.ts","webpack:///./src/store/modules/authUser/mutations.ts","webpack:///./src/store/modules/authUser/state.ts","webpack:///./src/store/modules/authUser/index.ts","webpack:///./src/store/modules/root/actions.ts","webpack:///./src/store/modules/root/getters.ts","webpack:///./src/store/modules/root/mutations.ts","webpack:///./src/store/modules/root/state.ts","webpack:///./src/store/modules/sports/actions.ts","webpack:///./src/store/modules/sports/getters.ts","webpack:///./src/store/modules/sports/mutations.ts","webpack:///./src/store/modules/sports/state.ts","webpack:///./src/store/modules/sports/index.ts","webpack:///./src/store/modules/statistics/actions.ts","webpack:///./src/store/modules/statistics/getters.ts","webpack:///./src/store/modules/statistics/mutations.ts","webpack:///./src/store/modules/statistics/state.ts","webpack:///./src/store/modules/statistics/index.ts","webpack:///./src/store/modules/users/getters.ts","webpack:///./src/store/modules/users/mutations.ts","webpack:///./src/store/modules/users/state.ts","webpack:///./src/store/modules/users/index.ts","webpack:///./src/store/modules/workouts/actions.ts","webpack:///./src/store/modules/workouts/getters.ts","webpack:///./src/store/modules/workouts/mutations.ts","webpack:///./src/store/modules/workouts/state.ts","webpack:///./src/store/modules/workouts/index.ts","webpack:///./src/store/modules/root/index.ts","webpack:///./src/store/index.ts","webpack:///./src/router/index.ts","webpack:///./src/components/Common/AlertMessage.vue","webpack:///./src/components/Common/AlertMessage.vue?7dca","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?933e","webpack:///./src/components/Common/Distance.vue","webpack:///./src/components/Common/Distance.vue?de84","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?56da","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?31ca","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?1dcc","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?667c","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?75de","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b14","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue?adb2","webpack:///./src/components/Common/Images/SportImage/Rowing.vue","webpack:///./src/components/Common/Images/SportImage/Rowing.vue?a825","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?275d","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue?8028","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue?a0cc","webpack:///./src/components/Common/Images/SportImage/Trail.vue","webpack:///./src/components/Common/Images/SportImage/Trail.vue?43e1","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?ecc5","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/index.vue?1dbe","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?bdb0","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1686","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/components/Common/ErrorMessage.vue?172e","webpack:///./src/utils/index.ts","webpack:///./src/store/modules/authUser/enums.ts","webpack:///./src/store/modules/root/enums.ts","webpack:///./src/store/modules/sports/enums.ts","webpack:///./src/store/modules/statistics/enums.ts","webpack:///./src/store/modules/users/enums.ts","webpack:///./src/store/constants.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?25ee","webpack:///./src/components/User/UserSportPreferences.vue?7f8c","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/Common/CustomTextArea.vue?7df9","webpack:///./src/components/User/ProfileDisplay/index.vue?594a","webpack:///./src/components/User/UserProfileTabs.vue?6883","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?cedb"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","props","icon","text","setup","__props","_ctx","_cache","__exports__","sportColors","Hiking","Rowing","Running","Trail","Walking","sportIdColors","sports","colors","map","sport","id","color","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","userSports","filter","is_active_for_user","includes","is_active","sort","getSportLabel","workout","sport_id","getSportColor","useStore","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","user","_component_Distance","UserPicture","username","nb_workouts","$t","distance","total_distance","unitFrom","digits","displayUnit","useImperialUnits","imperial_units","nb_sports","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","getStartDate","duration","day","weekStartingMonday","weekStartsOn","incrementDate","getDateWithTZ","dateInUTC","tz","Date","getCalendarStartAndEnd","date","monthStart","monthEnd","start","end","formatWorkoutDate","dateTime","dateFormat","timeFormat","workout_date","workout_time","units","ft","unit","system","multiplier","defaultTarget","mi","km","factors","metric","imperial","convertDistance","from","to","unitTo","convertedDistance","parseFloat","toFixed","convertStatsDistance","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","admin","api","buttons","common","dashboard","statistics","workouts","pagination","path","query","getQuery","page","cursor","newQuery","assign","_component_router_link","disabled","has_prev","default","_","pages","active","has_next","fromAdmin","store","authUser","getters","GETTERS","AUTH_USER_PROFILE","registrationDate","created_at","format","birthDate","birth_date","displayModal","updateDisplayModal","deleteUserAccount","dispatch","ACTIONS","DELETE_USER_ACCOUNT","_component_Modal","title","strongMessage","onConfirmAction","$event","onCancelAction","first_name","last_name","location","bio","onClick","$router","go","order_by","emits","emit","perPage","onSelectUpdate","onChange","order","toUpperCase","per_page","nb","sortList","defaultPage","defaultPerPage","getNumberQueryValue","queryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","orderByList","defaultOrderBy","options","queryOptions","defaultSort","workoutsPayloadKeys","getRange","stop","Array","rangePagination","currentPage","concat","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","authUserPictureUrl","picture","alt","ready","registered","cached","updatefound","updated","offline","version","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","availableLanguages","isAuthenticated","IS_AUTHENTICATED","language","LANGUAGE","isMenuOpen","openMenu","closeMenu","updateLanguage","option","toString","commit","MUTATIONS","UPDATE_LANG","logout","LOGOUT","_component_Dropdown","selected","onSelected","render","appConfig","APP_CONFIG","appLoading","APP_LOADING","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollToTop","scrollTo","behavior","GET_APPLICATION_CONFIG","_component_Loader","_component_router_view","NavBar","onMenuInteraction","NoConfig","Footer","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","edition","router","appData","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","ERROR_MESSAGES","updateForm","onCancel","EMPTY_ERROR_MESSAGES","onSubmit","formData","UPDATE_APPLICATION_CONFIG","_component_ErrorMessage","_component_Card","content","min","step","appStatistics","uploadDirSize","uploads_dir_size","StatCard","users","Card","AppStatsCards","is_registration_enabled","_hoisted_18","_hoisted_19","translatedSports","SPORTS","updateSportStatus","isActive","UPDATE_SPORTS","_component_SportImage","danger","has_workouts","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","updateUser","UPDATE_USER","reloadUsers","queryParam","EMPTY_USERS","FilterSelects","onUpdateSelect","email","timezone","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","onInput","UserHeader","UserProfileTabs","fistDayOfWeek","weekm","loading","USER_LOADING","_hoisted_20","_hoisted_21","_hoisted_22","userForm","password","password_conf","updateUserForm","updateBio","updateProfile","UPDATE_USER_PROFILE","deleteAccount","DELETE_ACCOUNT","_component_CustomTextArea","charLimit","input","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","DELETE_PICTURE","updatePictureFile","files","updateUserPicture","UPDATE_USER_PICTURE","accept","timeZones","isOpen","tzList","focusItemIndex","matchTimezone","onMouseOver","index","onUpdateTimezone","onEnter","preventDefault","firstElementChild","innerHTML","openDropdown","trim","required","onKeydown","ref","_value","_refs","focus","onMouseover","autofocus","weekStart","imperialUnits","UPDATE_USER_PREFERENCES","updateTZ","lang","TimezoneDropdown","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","isEdition","sports_list","sportPayload","stopped_speed_threshold","updateSportInEdition","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","UPDATE_USER_SPORT_PREFERENCES","newIsLoading","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","context","payload","delete","res","status","catch","actions","EMPTY_USER","UPDATE_USERS","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","finally","params","patch","UPDATE_USER_IN_USERS","localStorage","removeItem","EMPTY_USER_STATS","CLEAR_AUTH_USER_TOKEN","EMPTY_WORKOUTS","EMPTY_WORKOUT","CHECK_AUTH_USER","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","UPDATE_AUTH_USER_PROFILE","GET_SPORTS","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","redirectUrl","UPDATE_USER_LOADING","form","FormData","append","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","state","authUserProfile","IS_ADMIN","mutations","authUserState","UPDATE_APPLICATION_LOADING","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","application","APP_STATS","LOCALE","SET_ERROR_MESSAGES","root","SET_SPORTS","sportsState","GET_USER_STATS","filterType","UPDATE_USER_STATS","USER_STATS","statisticsState","USER","USERS_LOADING","updatedUser","usersState","SET_WORKOUTS_PAGINATION","GET_CALENDAR_WORKOUTS","EMPTY_CALENDAR_WORKOUTS","GET_USER_WORKOUTS","GET_TIMELINE_WORKOUTS","GET_MORE_TIMELINE_WORKOUTS","GET_WORKOUT_DATA","SET_WORKOUT_LOADING","segmentUrl","segmentId","workoutId","segments","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","notes","ADD_WORKOUT_WITHOUT_GPX","CALENDAR_WORKOUTS","calendar_workouts","TIMELINE_WORKOUTS","timeline_workouts","USER_WORKOUTS","user_workouts","WORKOUT_DATA","workoutData","WORKOUTS_PAGINATION","ADD_TIMELINE_WORKOUTS","SET_CALENDAR_WORKOUTS","SET_TIMELINE_WORKOUTS","SET_USER_WORKOUTS","chartData","workoutsState","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","getTabFromPath","regex","replace","routes","component","action","children","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","next","fullPath","updateText","maxLenght","speed","strong","dropdownOptions","toggleDropdown","updateSelected","$slots","isArray","subMessage","xmlns","xmlns:xlink","x","y","viewBox","style","xml:space","xmlns:svg","cx","cy","sportLabel","fill","CyclingSport","CyclingTransport","MountainBiking","MountainBikingElectric","SkiingAlpine","SkiingCrossCountry","_component_i18n_t","keypath","customComponents","AlertMessage","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","register","app","App","provide","i18n","directive","mount","getApiUrl","handleError","msg","response","split","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ROOT_STORE","SPORTS_STORE","STATS_STORE","AUTH_USER_STORE","USERS_STORE","WORKOUTS_STORE","webpackContext","req","webpackContextResolve"],"mappings":"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BAAwB,KAAO,6BAAiB,mBAAO+T,IAAiB,OAG5H,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,SAAU,CAC5Bxb,KAAM,SACNuM,UAAW,mBAAOkP,IACjB,6BAAiBhX,EAAKgD,GAAG,gCAAiC,EAAG,IAC/D,mBAAOL,GAAMmK,SACT,yBAAc,gCAAoB,SAAU,CAC3CrO,IAAK,EACLY,MAAO,SACP2K,QAASiN,GACR,6BAAiBjX,EAAKgD,GAAG,gCAAiC,IAC7D,gCAAoB,IAAI,GAC5B,gCAAoB,SAAU,CAC5B3D,MAAO,SACP2K,QAAS/J,EAAO,KAAOA,EAAO,GAAK,SAACyJ,GAAD,OAAkB1J,EAAKiK,QAAQlR,KAAK,eACtE,6BAAiBiH,EAAKgD,GAAG,iCAAkC,MAE/D,GAAI,Y,UC7Gb,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UCRFwU,I,oBAAY,CACvB,iBACA,eACA,iBACA,gBACA,eACA,oBACA,eACA,kBACA,sBACA,cACA,kBACA,eACA,gBACA,kBACA,iBACA,kBACA,kBACA,iBACA,eACA,kBACA,eACA,oBACA,oBACA,iCACA,8BACA,4BACA,0BACA,6BACA,4BACA,iCACA,0BACA,6BACA,6BACA,4BACA,4BACA,mBACA,mBACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,wBACA,uBACA,iBACA,kBACA,kBACA,kBACA,oBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,sBACA,oBACA,sBACA,oBACA,kBACA,oBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,iBACA,kBACA,kBACA,iBACA,8BACA,8BACA,iBACA,eACA,sBACA,iBACA,kBACA,iBACA,qBACA,oBACA,mBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,yBACA,wBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,mBACA,mBACA,wBACA,oBACA,uBACA,gBACA,mBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,oBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,oBACA,qBACA,mBACA,mBACA,oBACA,cACA,aACA,cACA,aACA,cACA,gBACA,cACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,aACA,kBACA,eACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,mBACA,iBACA,YACA,eACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,iBACA,gBACA,eACA,mBACA,oBACA,eACA,aACA,eACA,gBACA,cACA,eACA,oBACA,mBACA,YACA,YACA,iBACA,iBACA,aACA,gBACA,iBACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,eACA,aACA,aACA,mBACA,cACA,gBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,iBACA,mBACA,qBACA,yBACA,mBACA,qBACA,qBACA,wBACA,mBACA,mBACA,kBACA,mBACA,qBACA,sBACA,sBACA,kBACA,mBACA,mBACA,iBACA,mBACA,gBACA,kBACA,gBACA,kBACA,mBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,cACA,eACA,gBACA,gBACA,oBACA,gBACA,eACA,eACA,gBACA,gBACA,cACA,eACA,gBACA,cACA,cACA,gBACA,iBACA,oBACA,eACA,mBACA,iBACA,gBACA,mBACA,kBACA,gBACA,iBACA,mBACA,gBACA,oBACA,gBACA,gBACA,mBACA,eACA,mBACA,cACA,kBACA,mBACA,iBACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,q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","file":"static/js/app.43c2e954.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"2f1d393d\",\"main~workouts\":\"6afa0411\",\"main\":\"8ecc731b\",\"workouts\":\"ffc990d6\",\"profile\":\"62578012\",\"reset\":\"518e646f\",\"chunk-2d0c9189\":\"c81458cc\",\"chunk-2d0cf391\":\"020c75ea\",\"chunk-2d0da8f3\":\"c8c3e7e8\",\"chunk-2d2248b6\":\"d84473c1\",\"chunk-2d22523a\":\"4b710d99\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"admin\":1,\"main~workouts\":1,\"main\":1,\"workouts\":1,\"profile\":1,\"reset\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"babfd43e\",\"main~workouts\":\"0edb3403\",\"main\":\"4a1640fb\",\"workouts\":\"9ff3dd7d\",\"profile\":\"05400f70\",\"reset\":\"46776e72\",\"chunk-2d0c9189\":\"31d6cfe0\",\"chunk-2d0cf391\":\"31d6cfe0\",\"chunk-2d0da8f3\":\"31d6cfe0\",\"chunk-2d2248b6\":\"31d6cfe0\",\"chunk-2d22523a\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"","import { ISport, ITranslatedSport } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n onlyActive = false,\n userSports: number[] | null = null\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n onlyActive\n ? userSports === null\n ? sport.is_active_for_user\n : userSports.includes(sport.id) || sport.is_active\n : true\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4e6eb0d2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(user).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4e6eb0d2\"]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer le compte de \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les drois d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les drois d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : 8 caractères minimum.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, cet utilisateur existe déjà.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur : 3 à 12 caractères requis.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-de4b01da\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(page: number, cursor?: number): TWorkoutsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n event: _unref(pagination).has_prev ? 'click' : '',\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')), 1)\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n event: _unref(pagination).has_next ? 'click' : '',\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-de4b01da\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-deec58e4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"user-bio\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_4 = {\n key: 2,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, Ref, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { AUTH_USER_STORE, USERS_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n let displayModal: Ref = ref(false)\n\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \"admin.CONFIRM_USER_ACCOUNT_DELETION\",\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteUserAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_2, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-deec58e4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a5d764a4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a5d764a4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: 8 characters required.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that user already exists.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username: 3 to 12 characters required.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems encounter some issues.
Please try later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter an email address\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm the password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm Password\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password confirmation\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e60d9c5e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/_createStaticVNode(\"
•
•
\", 4)\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n }\n\n \n\n const { version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e60d9c5e\"]])\n\nexport default __exports__","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-53493688\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-53493688\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./NoConfig.vue?vue&type=template&id=c1193208&scoped=true\"\nconst script = {}\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c1193208\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6c3336ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1))\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : ''\n }, null, 8, [\"version\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6c3336ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-03002a18\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"max_users\" }\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = { class: \"user-limit-help\" }\nconst _hoisted_6 = { class: \"info-box\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = { for: \"max_single_file_size\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = { for: \"max_zip_file_size\" }\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = { for: \"gpx_limit_import\" }\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_16 = [\"onClick\"]\nconst _hoisted_17 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ;['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_4), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_13), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (__props.edition)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_16)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-03002a18\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=66f9fd1d\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7dad7915\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7dad7915\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7342d2cc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7342d2cc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d3ec733\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"left-text\" }\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"cell-heading\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"text-center\" }\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-center\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-center\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_17)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d3ec733\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: null,\n disabled: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-41d26a96\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-41d26a96\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_7 = [\"value\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"password\"\n}\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = {\n class: \"form-items\",\n for: \"passwordConfirmation\"\n}\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1)\nconst _hoisted_13 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_16 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_19 = [\"disabled\"]\nconst _hoisted_20 = { class: \"form-items\" }\nconst _hoisted_21 = { class: \"form-buttons\" }\nconst _hoisted_22 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const userForm: IUserPayload = reactive({\n password: '',\n password_conf: '',\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"email\",\n value: _unref(user).email,\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_7)\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).password) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(userForm).password]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_CONFIRMATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"passwordConfirmation\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).password_conf) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(userForm).password_conf]\n ])\n ]),\n _hoisted_12,\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_16, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_17), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_18, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_19), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_20, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"button\", _hoisted_22, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[8] || (_cache[8] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[9] || (_cache[9] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-239b9d46\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-239b9d46\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d1c5cf04\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref: (_value, _refs) => {\n _refs['tzList'] = _value\n tzList.value = _value\n }\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-d1c5cf04\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bd7a47b2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_26 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, true, user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_24)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bd7a47b2\"]])\n\nexport default __exports__","import axios from 'axios'\n\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`users/${payload.username}`, { admin: payload.admin })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n handleError(context, error)\n removeAuthUserData(context)\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n removeAuthUserData(context)\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserPasswordPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/Dashboard.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'register' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/NotFoundView.vue'),\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n]\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n } else if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1c7b89ce\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1c7b89ce\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-129e44c0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-129e44c0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5d562b40\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: null,\n digits: { default: 2 },\n displayUnit: { default: true },\n speed: { default: false },\n strong: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5d562b40\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4366d0e7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4366d0e7\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 10 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=436637e0&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-436637e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20a846ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20a846ac\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"","var map = {\n\t\"./en/en.ts\": \"c142\",\n\t\"./fr/fr.ts\": \"663e\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e7b6\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\""],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?7652","webpack:///./src/components/Administration/AdminMenu.vue?95c1","webpack:///./src/components/Common/StatCard.vue?785a","webpack:///./src/utils/sports.ts","webpack:///./src/App.vue?5d1b","webpack:///./src/use/useStore.ts","webpack:///./src/components/Common/Pagination.vue?42b0","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?24df","webpack:///./src/components/Footer.vue?1c0e","webpack:///./src/components/Administration/AdminUsers.vue?a81b","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?3ebe","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/components/Common/Dropdown.vue?9d33","webpack:///./src/utils/dates.ts","webpack:///./src/components/Administration/AdminApplication.vue?1c1a","webpack:///./src/utils/units.ts","webpack:///./src/locales/fr/administration.json","webpack:///./src/locales/fr/api.json","webpack:///./src/locales/fr/buttons.json","webpack:///./src/locales/fr/common.json","webpack:///./src/locales/fr/dashboard.json","webpack:///./src/locales/fr/error.json","webpack:///./src/locales/fr/sports.json","webpack:///./src/locales/fr/statistics.json","webpack:///./src/locales/fr/user.json","webpack:///./src/locales/fr/workouts.json","webpack:///./src/locales/fr/fr.ts","webpack:///./src/components/Common/Distance.vue?3125","webpack:///./src/components/Common/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?573e","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?9546","webpack:///./src/components/Common/Modal.vue?2baf","webpack:///./src/components/Administration/AppStatsCards.vue?4f54","webpack:///./src/components/Common/Card.vue?ee24","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?21e6","webpack:///./src/components/Common/FilterSelects.vue","webpack:///./src/components/Common/FilterSelects.vue?2f0a","webpack:///./src/components/Common/Loader.vue?458e","webpack:///./src/components/Common/FilterSelects.vue?bcc8","webpack:///./src/utils/api.ts","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?2f25","webpack:///./src/components/User/UserPicture.vue?3c5d","webpack:///./src/components/Administration/AdminSports.vue?0c60","webpack:///./src/components/Common/AlertMessage.vue?cde4","webpack:///./src/components/NoConfig.vue?d170","webpack:///./src/components/NavBar.vue?6217","webpack:///./src/locales/en/administration.json","webpack:///./src/locales/en/api.json","webpack:///./src/locales/en/buttons.json","webpack:///./src/locales/en/common.json","webpack:///./src/locales/en/dashboard.json","webpack:///./src/locales/en/error.json","webpack:///./src/locales/en/sports.json","webpack:///./src/locales/en/statistics.json","webpack:///./src/locales/en/user.json","webpack:///./src/locales/en/workouts.json","webpack:///./src/locales/en/en.ts","webpack:///./src/utils/files.ts","webpack:///./src/components/User/UserPicture.vue","webpack:///./src/components/User/UserPicture.vue?dc88","webpack:///./src/registerServiceWorker.ts","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?14b8","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue","webpack:///./src/components/NavBar.vue?5ec4","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?0078","webpack:///./src/App.vue","webpack:///./src/App.vue?8ecf","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?9c66","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?5d3b","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?ecbc","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AdminMenu.vue?572b","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?8d91","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsers.vue?9006","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?68f5","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/ProfileDisplay/index.vue?d237","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?e51f","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?27de","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?a314","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?6a32","webpack:///./src/utils/timezone.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?2dc4","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?a05c","webpack:///./src/components/User/UserSportPreferences.vue","webpack:///./src/components/User/UserSportPreferences.vue?ec8d","webpack:///./src/api/authApi.ts","webpack:///./src/api/defaultApi.ts","webpack:///./src/store/modules/users/actions.ts","webpack:///./src/store/modules/authUser/actions.ts","webpack:///./src/store/modules/authUser/getters.ts","webpack:///./src/store/modules/authUser/mutations.ts","webpack:///./src/store/modules/authUser/state.ts","webpack:///./src/store/modules/authUser/index.ts","webpack:///./src/store/modules/root/actions.ts","webpack:///./src/store/modules/root/getters.ts","webpack:///./src/store/modules/root/mutations.ts","webpack:///./src/store/modules/root/state.ts","webpack:///./src/store/modules/sports/actions.ts","webpack:///./src/store/modules/sports/getters.ts","webpack:///./src/store/modules/sports/mutations.ts","webpack:///./src/store/modules/sports/state.ts","webpack:///./src/store/modules/sports/index.ts","webpack:///./src/store/modules/statistics/actions.ts","webpack:///./src/store/modules/statistics/getters.ts","webpack:///./src/store/modules/statistics/mutations.ts","webpack:///./src/store/modules/statistics/state.ts","webpack:///./src/store/modules/statistics/index.ts","webpack:///./src/store/modules/users/getters.ts","webpack:///./src/store/modules/users/mutations.ts","webpack:///./src/store/modules/users/state.ts","webpack:///./src/store/modules/users/index.ts","webpack:///./src/store/modules/workouts/actions.ts","webpack:///./src/store/modules/workouts/getters.ts","webpack:///./src/store/modules/workouts/mutations.ts","webpack:///./src/store/modules/workouts/state.ts","webpack:///./src/store/modules/workouts/index.ts","webpack:///./src/store/modules/root/index.ts","webpack:///./src/store/index.ts","webpack:///./src/router/index.ts","webpack:///./src/components/Common/AlertMessage.vue","webpack:///./src/components/Common/AlertMessage.vue?7dca","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?933e","webpack:///./src/components/Common/Distance.vue","webpack:///./src/components/Common/Distance.vue?de84","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?56da","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?31ca","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?1dcc","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?667c","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?75de","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b14","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue","webpack:///./src/components/Common/Images/SportImage/MountainBikingElectric.vue?adb2","webpack:///./src/components/Common/Images/SportImage/Rowing.vue","webpack:///./src/components/Common/Images/SportImage/Rowing.vue?a825","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?275d","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue","webpack:///./src/components/Common/Images/SportImage/SkiingAlpine.vue?8028","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue","webpack:///./src/components/Common/Images/SportImage/SkiingCrossCountry.vue?a0cc","webpack:///./src/components/Common/Images/SportImage/Trail.vue","webpack:///./src/components/Common/Images/SportImage/Trail.vue?43e1","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?ecc5","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/index.vue?1dbe","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?bdb0","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1686","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/components/Common/ErrorMessage.vue?172e","webpack:///./src/utils/index.ts","webpack:///./src/store/modules/authUser/enums.ts","webpack:///./src/store/modules/root/enums.ts","webpack:///./src/store/modules/sports/enums.ts","webpack:///./src/store/modules/statistics/enums.ts","webpack:///./src/store/modules/users/enums.ts","webpack:///./src/store/constants.ts","webpack:///./src/components/User/ProfileEdition/TimezoneDropdown.vue?25ee","webpack:///./src/components/User/UserSportPreferences.vue?7f8c","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/Common/CustomTextArea.vue?7df9","webpack:///./src/components/User/ProfileDisplay/index.vue?594a","webpack:///./src/components/User/UserProfileTabs.vue?6883","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?cedb"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","props","icon","text","setup","__props","_ctx","_cache","__exports__","sportColors","Hiking","Rowing","Running","Trail","Walking","sportIdColors","sports","colors","map","sport","id","color","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","userSports","filter","is_active_for_user","includes","is_active","sort","getSportLabel","workout","sport_id","getSportColor","useStore","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","user","_component_Distance","UserPicture","username","nb_workouts","$t","distance","total_distance","unitFrom","digits","displayUnit","useImperialUnits","imperial_units","nb_sports","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","getStartDate","duration","day","weekStartingMonday","weekStartsOn","incrementDate","getDateWithTZ","dateInUTC","tz","Date","getCalendarStartAndEnd","date","monthStart","monthEnd","start","end","formatWorkoutDate","dateTime","dateFormat","timeFormat","workout_date","workout_time","units","ft","unit","system","multiplier","defaultTarget","mi","km","factors","metric","imperial","convertDistance","from","to","unitTo","convertedDistance","parseFloat","toFixed","convertStatsDistance","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","admin","api","buttons","common","dashboard","statistics","workouts","pagination","path","query","getQuery","page","cursor","newQuery","assign","_component_router_link","disabled","has_prev","default","_","pages","active","has_next","fromAdmin","store","authUser","getters","GETTERS","AUTH_USER_PROFILE","registrationDate","created_at","format","birthDate","birth_date","displayModal","updateDisplayModal","deleteUserAccount","dispatch","ACTIONS","DELETE_USER_ACCOUNT","_component_Modal","title","strongMessage","onConfirmAction","$event","onCancelAction","first_name","last_name","location","bio","onClick","$router","go","order_by","emits","emit","perPage","onSelectUpdate","onChange","order","toUpperCase","per_page","nb","sortList","defaultPage","defaultPerPage","getNumberQueryValue","queryValue","defaultValue","getStringQueryValue","availableValues","locationQuery","orderByList","defaultOrderBy","options","queryOptions","defaultSort","workoutsPayloadKeys","getRange","stop","Array","rangePagination","currentPage","concat","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","authUserPictureUrl","picture","alt","ready","registered","cached","updatefound","updated","offline","version","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","availableLanguages","isAuthenticated","IS_AUTHENTICATED","language","LANGUAGE","isMenuOpen","openMenu","closeMenu","updateLanguage","option","toString","commit","MUTATIONS","UPDATE_LANG","logout","LOGOUT","_component_Dropdown","selected","onSelected","render","appConfig","APP_CONFIG","appLoading","APP_LOADING","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollToTop","scrollTo","behavior","GET_APPLICATION_CONFIG","_component_Loader","_component_router_view","NavBar","onMenuInteraction","NoConfig","Footer","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","edition","router","appData","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","ERROR_MESSAGES","updateForm","onCancel","EMPTY_ERROR_MESSAGES","onSubmit","formData","UPDATE_APPLICATION_CONFIG","_component_ErrorMessage","_component_Card","content","min","step","appStatistics","uploadDirSize","uploads_dir_size","StatCard","users","Card","AppStatsCards","is_registration_enabled","_hoisted_18","_hoisted_19","translatedSports","SPORTS","updateSportStatus","isActive","UPDATE_SPORTS","_component_SportImage","danger","has_workouts","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","updateUser","UPDATE_USER","reloadUsers","queryParam","EMPTY_USERS","FilterSelects","onUpdateSelect","email","timezone","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","onInput","UserHeader","UserProfileTabs","fistDayOfWeek","weekm","loading","USER_LOADING","_hoisted_20","_hoisted_21","_hoisted_22","userForm","password","password_conf","updateUserForm","updateBio","updateProfile","UPDATE_USER_PROFILE","deleteAccount","DELETE_ACCOUNT","_component_CustomTextArea","charLimit","input","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","DELETE_PICTURE","updatePictureFile","files","updateUserPicture","UPDATE_USER_PICTURE","accept","timeZones","isOpen","tzList","focusItemIndex","matchTimezone","onMouseOver","index","onUpdateTimezone","onEnter","preventDefault","firstElementChild","innerHTML","openDropdown","trim","required","onKeydown","ref","_value","_refs","focus","onMouseover","autofocus","weekStart","imperialUnits","UPDATE_USER_PREFERENCES","updateTZ","lang","TimezoneDropdown","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","isEdition","sports_list","sportPayload","stopped_speed_threshold","updateSportInEdition","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","UPDATE_USER_SPORT_PREFERENCES","newIsLoading","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","context","payload","delete","res","status","catch","actions","EMPTY_USER","UPDATE_USERS","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","finally","params","patch","UPDATE_USER_IN_USERS","localStorage","removeItem","EMPTY_USER_STATS","CLEAR_AUTH_USER_TOKEN","EMPTY_WORKOUTS","EMPTY_WORKOUT","CHECK_AUTH_USER","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","UPDATE_AUTH_USER_PROFILE","GET_SPORTS","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","redirectUrl","UPDATE_USER_LOADING","form","FormData","append","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","state","authUserProfile","IS_ADMIN","mutations","authUserState","UPDATE_APPLICATION_LOADING","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","application","APP_STATS","LOCALE","SET_ERROR_MESSAGES","root","SET_SPORTS","sportsState","GET_USER_STATS","filterType","UPDATE_USER_STATS","USER_STATS","statisticsState","USER","USERS_LOADING","updatedUser","usersState","SET_WORKOUTS_PAGINATION","GET_CALENDAR_WORKOUTS","EMPTY_CALENDAR_WORKOUTS","GET_USER_WORKOUTS","GET_TIMELINE_WORKOUTS","GET_MORE_TIMELINE_WORKOUTS","GET_WORKOUT_DATA","SET_WORKOUT_LOADING","segmentUrl","segmentId","workoutId","segments","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","notes","ADD_WORKOUT_WITHOUT_GPX","CALENDAR_WORKOUTS","calendar_workouts","TIMELINE_WORKOUTS","timeline_workouts","USER_WORKOUTS","user_workouts","WORKOUT_DATA","workoutData","WORKOUTS_PAGINATION","ADD_TIMELINE_WORKOUTS","SET_CALENDAR_WORKOUTS","SET_TIMELINE_WORKOUTS","SET_USER_WORKOUTS","chartData","workoutsState","authUserModule","sportsModule","statsModule","usersModule","workoutsModule","getTabFromPath","regex","replace","routes","component","action","children","UserInfos","UserPreferences","UserSportPreferences","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","next","fullPath","updateText","maxLenght","speed","strong","dropdownOptions","toggleDropdown","updateSelected","$slots","isArray","subMessage","xmlns","xmlns:xlink","x","y","viewBox","style","xml:space","xmlns:svg","cx","cy","sportLabel","fill","CyclingSport","CyclingTransport","MountainBiking","MountainBikingElectric","SkiingAlpine","SkiingCrossCountry","_component_i18n_t","keypath","customComponents","AlertMessage","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","register","app","App","provide","i18n","directive","mount","getApiUrl","handleError","msg","response","split","AuthUserActions","AuthUserGetters","AuthUserMutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ROOT_STORE","SPORTS_STORE","STATS_STORE","AUTH_USER_STORE","USERS_STORE","WORKOUTS_STORE","webpackContext","req","webpackContextResolve"],"mappings":"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BAAwB,KAAO,6BAAiB,mBAAO+T,IAAiB,OAG5H,gCAAoB,MAAO,GAAY,CACrC,gCAAoB,SAAU,CAC5Bxb,KAAM,SACNuM,UAAW,mBAAOkP,IACjB,6BAAiBhX,EAAKgD,GAAG,gCAAiC,EAAG,IAC/D,mBAAOL,GAAMmK,SACT,yBAAc,gCAAoB,SAAU,CAC3CrO,IAAK,EACLY,MAAO,SACP2K,QAASiN,GACR,6BAAiBjX,EAAKgD,GAAG,gCAAiC,IAC7D,gCAAoB,IAAI,GAC5B,gCAAoB,SAAU,CAC5B3D,MAAO,SACP2K,QAAS/J,EAAO,KAAOA,EAAO,GAAK,SAACyJ,GAAD,OAAkB1J,EAAKiK,QAAQlR,KAAK,eACtE,6BAAiBiH,EAAKgD,GAAG,iCAAkC,MAE/D,GAAI,Y,UC7Gb,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,YAAY,qBAExD,UCRFwU,I,oBAAY,CACvB,iBACA,eACA,iBACA,gBACA,eACA,oBACA,eACA,kBACA,sBACA,cACA,kBACA,eACA,gBACA,kBACA,iBACA,kBACA,kBACA,iBACA,eACA,kBACA,eACA,oBACA,oBACA,iCACA,8BACA,4BACA,0BACA,6BACA,4BACA,iCACA,0BACA,6BACA,6BACA,4BACA,4BACA,mBACA,mBACA,gBACA,yBACA,mBACA,gBACA,iBACA,uBACA,oBACA,iBACA,gBACA,wBACA,uBACA,iBACA,kBACA,kBACA,kBACA,oBACA,qBACA,kBACA,iBACA,kBACA,uBACA,iBACA,uBACA,iBACA,kBACA,mBACA,mBACA,sBACA,oBACA,sBACA,oBACA,kBACA,oBACA,qBACA,oBACA,oBACA,iBACA,kBACA,iBACA,qBACA,+BACA,uBACA,0BACA,6BACA,4BACA,wBACA,4BACA,0BACA,iBACA,kBACA,kBACA,iBACA,8BACA,8BACA,iBACA,eACA,sBACA,iBACA,kBACA,iBACA,qBACA,oBACA,mBACA,oBACA,iBACA,qBACA,sBACA,mBACA,kBACA,oBACA,qBACA,iBACA,mBACA,kBACA,eACA,kBACA,8BACA,8BACA,iCACA,kBACA,iBACA,sBACA,qBACA,kBACA,yBACA,wBACA,sBACA,sBACA,uBACA,sBACA,uBACA,iBACA,iBACA,mBACA,qBACA,mBACA,mBACA,wBACA,oBACA,uBACA,gBACA,mBACA,wBACA,sBACA,gBACA,sBACA,kBACA,kBACA,oBACA,qBACA,mBACA,kBACA,sBACA,mBACA,mBACA,4BACA,uBACA,oBACA,oBACA,qBACA,mBACA,mBACA,oBACA,cACA,aACA,cACA,aACA,cACA,gBACA,cACA,eACA,YACA,eACA,eACA,cACA,eACA,cACA,aACA,kBACA,eACA,gBACA,aACA,YACA,aACA,gBACA,iBACA,YACA,cACA,mBACA,iBACA,YACA,eACA,eACA,gBACA,iBACA,aACA,iBACA,eACA,iBACA,gBACA,eACA,mBACA,oBACA,eACA,aACA,eACA,gBACA,cACA,eACA,oBACA,mBACA,YACA,YACA,iBACA,iBACA,aACA,gBACA,iBACA,cACA,gBACA,iBACA,aACA,gBACA,iBACA,qBACA,cACA,gBACA,eACA,cACA,eACA,aACA,aACA,mBACA,cACA,gBACA,mBACA,eACA,cACA,qBACA,eACA,kBACA,mBACA,kBACA,sBACA,iBACA,mBACA,qBACA,yBACA,mBACA,qBACA,qBACA,wBACA,mBACA,mBACA,kBACA,mBACA,qBACA,sBACA,sBACA,kBACA,mBACA,mBACA,iBACA,mBACA,gBACA,kBACA,gBACA,kBACA,mBACA,kBACA,kBACA,oBACA,gBACA,mBACA,kBACA,kBACA,qBACA,cACA,eACA,gBACA,gBACA,oBACA,gBACA,eACA,eACA,gBACA,gBACA,cACA,eACA,gBACA,cACA,cACA,gBACA,iBACA,oBACA,eACA,mBACA,iBACA,gBACA,mBACA,kBACA,gBACA,iBACA,mBACA,gBACA,oBACA,gBACA,gBACA,mBACA,eACA,mBACA,cACA,kBACA,mBACA,iBACA,eACA,mBACA,uBACA,kBACA,gBACA,iBACA,gBACA,oBACA,kBACA,eACA,mBACA,oBACA,kBACA,sBACA,eACA,mBACA,q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","file":"static/js/app.b027dbd7.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"2f1d393d\",\"main~workouts\":\"6afa0411\",\"main\":\"8ecc731b\",\"workouts\":\"1c155cb9\",\"profile\":\"62578012\",\"reset\":\"518e646f\",\"chunk-2d0c9189\":\"c81458cc\",\"chunk-2d0cf391\":\"020c75ea\",\"chunk-2d0da8f3\":\"c8c3e7e8\",\"chunk-2d2248b6\":\"d84473c1\",\"chunk-2d22523a\":\"4b710d99\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"admin\":1,\"main~workouts\":1,\"main\":1,\"workouts\":1,\"profile\":1,\"reset\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"babfd43e\",\"main~workouts\":\"0edb3403\",\"main\":\"4a1640fb\",\"workouts\":\"197ab953\",\"profile\":\"05400f70\",\"reset\":\"46776e72\",\"chunk-2d0c9189\":\"31d6cfe0\",\"chunk-2d0cf391\":\"31d6cfe0\",\"chunk-2d0da8f3\":\"31d6cfe0\",\"chunk-2d2248b6\":\"31d6cfe0\",\"chunk-2d22523a\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StatCard.vue?vue&type=style&index=0&id=9e52fc98&lang=scss\"","import { ISport, ITranslatedSport } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n onlyActive = false,\n userSports: number[] | null = null\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n onlyActive\n ? userSports === null\n ? sport.is_active_for_user\n : userSports.includes(sport.id) || sport.is_active\n : true\n )\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4e6eb0d2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(user).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4e6eb0d2\"]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer le compte de \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les drois d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les drois d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email : une adresse email valide doit être fournie.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur Réseau.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : 8 caractères minimum.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, cet utilisateur existe déjà.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur : 3 à 12 caractères requis.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Précédent\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de Bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Electrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir une adresse email\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisir un mot de passe\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation du mot de passe\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez votre boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances \"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-de4b01da\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination } from '@/types/api'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(page: number, cursor?: number): TWorkoutsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n event: _unref(pagination).has_prev ? 'click' : '',\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(() => [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')), 1)\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n event: _unref(pagination).has_next ? 'click' : '',\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ]),\n _: 1\n }, 8, [\"to\", \"event\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=de4b01da&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-de4b01da\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-deec58e4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"user-bio\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_4 = {\n key: 2,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, Ref, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { AUTH_USER_STORE, USERS_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n fromAdmin: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n let displayModal: Ref = ref(false)\n\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \"admin.CONFIRM_USER_ACCOUNT_DELETION\",\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteUserAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_2, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-deec58e4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserInfos.vue?vue&type=style&index=0&id=deec58e4&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a5d764a4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a5d764a4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./FilterSelects.vue?vue&type=style&index=0&id=a5d764a4&lang=scss&scoped=true\"","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"password: 8 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: 8 characters required.\"])},\n \"sorry, that user already exists\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that user already exists.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"username: 3 to 12 characters required\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username: 3 to 12 characters required.\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems encounter some issues.
Please try later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n }\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"ENTER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter an email address\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"ENTER_PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm the password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_CONFIRM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirm Password\"])},\n \"PASSWORD_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password confirmation\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farest distance\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=3c1d51f0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e60d9c5e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/_createStaticVNode(\"
•
•
\", 4)\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n version: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n }\n\n \n\n const { version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e60d9c5e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e60d9c5e\"]])\n\nexport default __exports__","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-53493688\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': _unref(isMenuOpen) }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !_unref(isMenuOpen) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=53493688&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-53493688\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./NoConfig.vue?vue&type=template&id=c1193208&scoped=true\"\nconst script = {}\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=c1193208&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c1193208\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6c3336ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1))\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG))\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value = bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : ''\n }, null, 8, [\"version\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=6c3336ff&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6c3336ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-03002a18\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"max_users\" }\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = { class: \"user-limit-help\" }\nconst _hoisted_6 = { class: \"info-box\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = { for: \"max_single_file_size\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = { for: \"max_zip_file_size\" }\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = { for: \"gpx_limit_import\" }\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_16 = [\"onClick\"]\nconst _hoisted_17 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n edition: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ;['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(appData).max_users) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_4), [\n [_vModelText, _unref(appData).max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(appData).max_single_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(appData).max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(appData).max_zip_file_size) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(appData).max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(appData).gpx_limit_import) = $event)),\n disabled: !__props.edition\n }, null, 8, _hoisted_13), [\n [_vModelText, _unref(appData).gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (__props.edition)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_16)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=03002a18&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-03002a18\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=b2712952&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=66f9fd1d\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=66f9fd1d&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7dad7915\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_4 = { class: \"registration-status\" }\n\nimport { capitalize, toRefs, withDefaults } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=7dad7915&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7dad7915\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7342d2cc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=7342d2cc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-7342d2cc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d3ec733\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"left-text\" }\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"cell-heading\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"text-center\" }\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-center\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-center\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_17)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=0d3ec733&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0d3ec733\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n tabs: null,\n selectedTab: null,\n edition: null,\n disabled: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab) === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-41d26a96\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-41d26a96\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_7 = [\"value\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"password\"\n}\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = {\n class: \"form-items\",\n for: \"passwordConfirmation\"\n}\nconst _hoisted_11 = [\"disabled\"]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1)\nconst _hoisted_13 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_16 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_19 = [\"disabled\"]\nconst _hoisted_20 = { class: \"form-items\" }\nconst _hoisted_21 = { class: \"form-buttons\" }\nconst _hoisted_22 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const userForm: IUserPayload = reactive({\n password: '',\n password_conf: '',\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"email\",\n value: _unref(user).email,\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_7)\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"password\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).password) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_9), [\n [_vModelText, _unref(userForm).password]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_10, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_CONFIRMATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"passwordConfirmation\",\n type: \"password\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(userForm).password_conf) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_11), [\n [_vModelText, _unref(userForm).password_conf]\n ])\n ]),\n _hoisted_12,\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(userForm).first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_14), [\n [_vModelText, _unref(userForm).first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(userForm).last_name) = $event))\n }, null, 512), [\n [_vModelText, _unref(userForm).last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_16, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(userForm).birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_17), [\n [_vModelText, _unref(userForm).birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_18, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(userForm).location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_19), [\n [_vModelText, _unref(userForm).location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_20, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: _unref(userForm).bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"button\", _hoisted_22, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[8] || (_cache[8] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[9] || (_cache[9] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=15042edb&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-239b9d46\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !_unref(pictureFile)\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=239b9d46&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-239b9d46\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d1c5cf04\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n input: null,\n disabled: { default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref: (_value, _refs) => {\n _refs['tzList'] = _value\n tzList.value = _value\n }\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-d1c5cf04\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const imperialUnits = [\n {\n label: 'IMPERIAL',\n value: true,\n },\n {\n label: 'METRIC',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(userForm).language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, _unref(userForm).language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: _unref(userForm).timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"weekm\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(userForm).weekm) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"option\", {\n value: start.value,\n key: start.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 9, _hoisted_10)\n }), 64))\n ], 8, _hoisted_9), [\n [_vModelSelect, _unref(userForm).weekm]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"imperial_units\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(userForm).imperial_units) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"option\", {\n value: unit.value,\n key: unit.value\n }, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 9, _hoisted_13)\n }), 64))\n ], 8, _hoisted_12), [\n [_vModelSelect, _unref(userForm).imperial_units]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bd7a47b2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_26 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n isEdition: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const sportColors = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, true, user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color ? sport.color : sportColors[sport.label]\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: _unref(sportPayload).color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && _unref(sportPayload).sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _unref(sportPayload).stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (_unref(sportPayload).sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_24)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bd7a47b2\"]])\n\nexport default __exports__","import axios from 'axios'\n\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | ActionContext,\n payload: IUserDeletionPayload\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`users/${payload.username}`, { admin: payload.admin })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n handleError(context, error)\n removeAuthUserData(context)\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n removeAuthUserData(context)\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserPasswordPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {\n statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, AUTH_USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n state.timeline_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport authUserModule from '@/store/modules/authUser'\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n sportsModule,\n statsModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/Dashboard.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'register' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n {\n path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n {\n path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/NotFoundView.vue'),\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n]\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n } else if (\n !store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1c7b89ce\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=1c7b89ce&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1c7b89ce\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, isRef as _isRef, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-129e44c0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string }\n\n \n\n \n\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(text) ? (text).value = $event : text = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, _unref(text)]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(_unref(text).length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-129e44c0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5d562b40\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: null,\n digits: { default: 2 },\n displayUnit: { default: true },\n speed: { default: false },\n strong: { default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=5d562b40&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5d562b40\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ca61364c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_unref(isOpen))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=ca61364c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ca61364c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4366d0e7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4366d0e7\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 10 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=436637e0&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=436637e0&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-436637e0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20a846ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=20a846ac&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20a846ac\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: 'SportImage' },\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ErrorMessage.vue?vue&type=style&index=0&id=4366d0e7&scoped=true&lang=scss\"","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./TimezoneDropdown.vue?vue&type=style&index=0&id=d1c5cf04&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserSportPreferences.vue?vue&type=style&index=0&id=bd7a47b2&lang=scss&scoped=true\"","var map = {\n\t\"./en/en.ts\": \"c142\",\n\t\"./fr/fr.ts\": \"663e\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e7b6\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./CustomTextArea.vue?vue&type=style&index=0&id=129e44c0&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=41d26a96&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserProfileTabs.vue?vue&type=style&index=0&id=5c62fcce&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./UserHeader.vue?vue&type=style&index=0&id=4e6eb0d2&lang=scss&scoped=true\""],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/workouts.ffc990d6.js b/fittrackee/dist/static/js/workouts.1c155cb9.js similarity index 80% rename from fittrackee/dist/static/js/workouts.ffc990d6.js rename to fittrackee/dist/static/js/workouts.1c155cb9.js index 265aa317..00354164 100644 --- a/fittrackee/dist/static/js/workouts.ffc990d6.js +++ b/fittrackee/dist/static/js/workouts.1c155cb9.js @@ -1,2 +1,2 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["workouts"],{"0385":function(e,t,n){"use strict";n.r(t);var o=n("7a23"),r=n("47e2"),c=(n("b0c0"),n("4de4"),n("d3b7"),n("caad"),n("2532"),n("6c02")),a=n("1119"),l=n("6284"),i=function(e){return Object(o["pushScopeId"])("data-v-06d30f25"),e=e(),Object(o["popScopeId"])(),e},u={class:"workouts-filters"},s={class:"box"},d={class:"form"},b={class:"form-items-group"},O={class:"form-item"},p=["value"],m={class:"form-item"},j=["value"],f={class:"form-items-group"},g={class:"form-item"},k=["value"],y=i((function(){return Object(o["createElementVNode"])("option",{value:""},null,-1)})),v=["value"],h={class:"form-items-group"},E={class:"form-item"},N={class:"form-inputs-group"},w=["value"],S=["value"],V={class:"form-items-group"},T={class:"form-item"},D={class:"form-inputs-group"},_=["value"],I=["value"],x={class:"form-items-group"},C={class:"form-item"},A={class:"form-inputs-group"},B=["value"],R=["value"],U={class:"form-items-group"},L={class:"form-item"},$={class:"form-inputs-group"},M=["value"],P=["value"],F={class:"form-button"},G=Object(o["defineComponent"])({props:{authUser:null,sports:null},emits:["filter"],setup:function(e,t){var n=t.emit,i=e,G=Object(r["b"])(),W=G.t,z=Object(c["c"])(),H=Object(c["d"])(),q=Object(o["toRefs"])(i),K=q.authUser,Z=K.value.imperial_units?l["c"]["km"].defaultTarget:"km",X=Object(o["computed"])((function(){return Object(a["e"])(i.sports,W)})),Y=Object.assign({},z.query);function J(e){""===e.target.value?delete Y[e.target.name]:Y[e.target.name]=e.target.value}function Q(){n("filter"),"page"in Y&&(Y["page"]="1"),H.push({path:"/workouts",query:Y})}function ee(){n("filter"),H.push({path:"/workouts",query:{}})}return Object(o["watch"])((function(){return z.query}),(function(e){Y=Object.assign({},e)})),function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",u,[Object(o["createElementVNode"])("div",s,[Object(o["createElementVNode"])("div",d,[Object(o["createElementVNode"])("div",b,[Object(o["createElementVNode"])("div",O,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.FROM"))+": ",1),Object(o["createElementVNode"])("input",{name:"from",type:"date",value:e.$route.query.from,onChange:J},null,40,p)]),Object(o["createElementVNode"])("div",m,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.TO"))+": ",1),Object(o["createElementVNode"])("input",{name:"to",type:"date",value:e.$route.query.to,onChange:J},null,40,j)])]),Object(o["createElementVNode"])("div",f,[Object(o["createElementVNode"])("div",g,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.SPORT",1))+":",1),Object(o["createElementVNode"])("select",{name:"sport_id",value:e.$route.query.sport_id,onChange:J},[y,(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(X).filter((function(e){return Object(o["unref"])(K).sports_list.includes(e.id)})),(function(e){return Object(o["openBlock"])(),Object(o["createElementBlock"])("option",{value:e.id,key:e.id},Object(o["toDisplayString"])(e.translatedLabel),9,v)})),128))],40,k)])]),Object(o["createElementVNode"])("div",h,[Object(o["createElementVNode"])("div",E,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.DISTANCE"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",N,[Object(o["createElementVNode"])("input",{name:"distance_from",type:"number",min:"0",step:"0.1",value:e.$route.query.distance_from,onChange:J},null,40,w),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{name:"distance_to",type:"number",min:"0",step:"0.1",value:e.$route.query.distance_to,onChange:J},null,40,S)])])]),Object(o["createElementVNode"])("div",V,[Object(o["createElementVNode"])("div",T,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.DURATION"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",D,[Object(o["createElementVNode"])("input",{name:"duration_from",value:e.$route.query.duration_from,onChange:J,pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,40,_),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{name:"duration_to",value:e.$route.query.duration_to,onChange:J,pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,40,I)])])]),Object(o["createElementVNode"])("div",x,[Object(o["createElementVNode"])("div",C,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.AVE_SPEED"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",A,[Object(o["createElementVNode"])("input",{min:"0",name:"ave_speed_from",value:e.$route.query.ave_speed_from,onChange:J,step:"0.1",type:"number"},null,40,B),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{min:"0",name:"ave_speed_to",value:e.$route.query.ave_speed_to,onChange:J,step:"0.1",type:"number"},null,40,R)])])]),Object(o["createElementVNode"])("div",U,[Object(o["createElementVNode"])("div",L,[Object(o["createElementVNode"])("label",null,Object(o["toDisplayString"])(e.$t("workouts.MAX_SPEED"))+" ("+Object(o["toDisplayString"])(Object(o["unref"])(Z))+"): ",1),Object(o["createElementVNode"])("div",$,[Object(o["createElementVNode"])("input",{min:"0",name:"max_speed_from",value:e.$route.query.max_speed_from,onChange:J,step:"0.1",type:"number"},null,40,M),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.TO")),1),Object(o["createElementVNode"])("input",{min:"0",name:"max_speed_to",value:e.$route.query.max_speed_to,onChange:J,step:"0.1",type:"number"},null,40,P)])])])]),Object(o["createElementVNode"])("div",F,[Object(o["createElementVNode"])("button",{class:"confirm",onClick:Q},Object(o["toDisplayString"])(e.$t("buttons.FILTER")),1),Object(o["createElementVNode"])("button",{class:"confirm",onClick:ee},Object(o["toDisplayString"])(e.$t("buttons.CLEAR_FILTER")),1)])])])}}}),W=(n("95b0"),n("6b0d")),z=n.n(W);const H=z()(G,[["__scopeId","data-v-06d30f25"]]);var q=H,K=n("1da1"),Z=n("5530"),X=(n("96cf"),n("d81d"),n("b64b"),n("4fad"),n("ac1f"),n("466d"),n("7db0"),n("b166")),Y=n("9176"),J=n("6d7d"),Q=n("68c6"),ee=n("1724"),te=n("dad5"),ne=n("2906"),oe=n("97e5"),re=n("5e65"),ce=n("9230"),ae=function(e){return Object(o["pushScopeId"])("data-v-1ba1a972"),e=e(),Object(o["popScopeId"])(),e},le={class:"workouts-list"},ie={class:"total"},ue={class:"total-label"},se={key:0},de={key:0,class:"workouts-table responsive-table"},be=ae((function(){return Object(o["createElementVNode"])("th",{class:"sport-col"},null,-1)})),Oe={class:"sport-col"},pe={class:"cell-heading"},me=["onMouseover"],je={class:"cell-heading"},fe={key:0,class:"fa fa-map-o","aria-hidden":"true"},ge={class:"cell-heading"},ke={class:"text-right"},ye={class:"cell-heading"},ve={class:"text-right"},he={class:"cell-heading"},Ee={class:"text-right"},Ne={class:"cell-heading"},we={class:"text-right"},Se={class:"cell-heading"},Ve={class:"text-right"},Te={class:"cell-heading"},De={class:"text-right"},_e={class:"cell-heading"},Ie=ae((function(){return Object(o["createElementVNode"])("div",{id:"bottom"},null,-1)})),xe=Object(o["defineComponent"])({props:{user:null,sports:null},setup:function(e){var t=e,n=Object(ne["a"])(),r=Object(c["c"])(),i=Object(c["d"])(),u=Object(o["toRefs"])(t),s=u.user,d=u.sports,b=["ave_speed","distance","duration","workout_date"],O=Object(o["computed"])((function(){return n.getters[te["f"].GETTERS.USER_WORKOUTS]})),p=Object(o["computed"])((function(){return n.getters[te["f"].GETTERS.WORKOUTS_PAGINATION]})),m=k(r.query),j=Object(o["ref"])(null);function f(e){n.dispatch(te["f"].ACTIONS.GET_USER_WORKOUTS,s.value.imperial_units?y(e):e)}function g(e,t){var n=Object.assign({},r.query);n[e]=t,"per_page"===e&&(n["page"]="1"),m=k(n),i.push({path:"/workouts",query:m})}function k(e){return m=Object(oe["a"])(e,b,ce["a"].order_by,{defaultSort:ce["a"].order}),Object.keys(e).filter((function(e){return oe["d"].includes(e)})).map((function(t){"string"===typeof e[t]&&(m[t]=e[t])})),m}function y(e){var t=Object(Z["a"])({},e);return Object.entries(t).map((function(e){e[0].match("speed|distance")&&(t[e[0]]=Object(l["a"])(+e[1],"mi","km"))})),t}function v(e){j.value=e}return Object(o["onBeforeMount"])((function(){f(m)})),Object(o["watch"])((function(){return r.query}),function(){var e=Object(K["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:m=k(t),f(m);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){var n=Object(o["resolveComponent"])("SportImage"),r=Object(o["resolveComponent"])("router-link"),c=Object(o["resolveComponent"])("Distance");return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",le,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["box",{"empty-table":0===Object(o["unref"])(O).length}])},[Object(o["createElementVNode"])("div",ie,[Object(o["createElementVNode"])("span",ue,Object(o["toDisplayString"])(e.$t("common.TOTAL").toLowerCase())+": ",1),null!==Object(o["unref"])(p).total?(Object(o["openBlock"])(),Object(o["createElementBlock"])("span",se,Object(o["toDisplayString"])(Object(o["unref"])(p).total)+" "+Object(o["toDisplayString"])(e.$t("workouts.WORKOUT",Object(o["unref"])(p).total)),1)):Object(o["createCommentVNode"])("",!0)]),Object(o["createVNode"])(Y["a"],{sort:Object(o["unref"])(oe["c"]),order_by:b,query:Object(o["unref"])(m),message:"workouts",onUpdateSelect:g},null,8,["sort","query"]),Object(o["unref"])(O).length>0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",de,[Object(o["createVNode"])(J["a"],{class:"top-pagination",pagination:Object(o["unref"])(p),path:"/workouts",query:Object(o["unref"])(m)},null,8,["pagination","query"]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[be,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DATE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DISTANCE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DURATION"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.AVE_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.MAX_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.ASCENT"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DESCENT"))),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(l){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:l.id},[Object(o["createElementVNode"])("td",Oe,[Object(o["createElementVNode"])("span",pe,Object(o["toDisplayString"])(e.$t("workouts.SPORT",1)),1),Object(o["unref"])(d).length>0?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:Object(o["unref"])(d).find((function(e){return e.id===l.sport_id})).translatedLabel,"sport-label":Object(o["unref"])(a["b"])(l,Object(o["unref"])(d)),color:Object(o["unref"])(a["a"])(l,Object(o["unref"])(d))},null,8,["title","sport-label","color"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",{class:"workout-title",onMouseover:function(e){return v(l.id)},onMouseleave:t[0]||(t[0]=function(e){return v(null)})},[Object(o["createElementVNode"])("span",je,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createVNode"])(r,{class:"nav-item",to:{name:"Workout",params:{workoutId:l.id}}},{default:Object(o["withCtx"])((function(){return[l.with_gpx?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",fe)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.title),1)]})),_:2},1032,["to"]),l.with_gpx&&j.value===l.id?(Object(o["openBlock"])(),Object(o["createBlock"])(Q["a"],{key:0,workout:l,"display-hover":!0},null,8,["workout"])):Object(o["createCommentVNode"])("",!0)],40,me),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",ge,Object(o["toDisplayString"])(e.$t("workouts.DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(X["a"])(Object(o["unref"])(re["c"])(l.workout_date,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",ke,[Object(o["createElementVNode"])("span",ye,Object(o["toDisplayString"])(e.$t("workouts.DISTANCE")),1),Object(o["createVNode"])(c,{distance:l.distance,unitFrom:"km",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",ve,[Object(o["createElementVNode"])("span",he,Object(o["toDisplayString"])(e.$t("workouts.DURATION")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.moving),1)]),Object(o["createElementVNode"])("td",Ee,[Object(o["createElementVNode"])("span",Ne,Object(o["toDisplayString"])(e.$t("workouts.AVE_SPEED")),1),Object(o["createVNode"])(c,{distance:l.ave_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",we,[Object(o["createElementVNode"])("span",Se,Object(o["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),Object(o["createVNode"])(c,{distance:l.max_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",Ve,[Object(o["createElementVNode"])("span",Te,Object(o["toDisplayString"])(e.$t("workouts.ASCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.ascent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",De,[Object(o["createElementVNode"])("span",_e,Object(o["toDisplayString"])(e.$t("workouts.DESCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.descent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)])])})),128))])]),Object(o["createVNode"])(J["a"],{pagination:Object(o["unref"])(p),path:"/workouts",query:Object(o["unref"])(m)},null,8,["pagination","query"])])):Object(o["createCommentVNode"])("",!0)],2),0===Object(o["unref"])(O).length?(Object(o["openBlock"])(),Object(o["createBlock"])(ee["a"],{key:0})):Object(o["createCommentVNode"])("",!0),Ie])}}});n("e358");const Ce=z()(xe,[["__scopeId","data-v-1ba1a972"]]);var Ae=Ce,Be={key:0,id:"workouts",class:"view"},Re={class:"container workouts-container"},Ue={class:"display-filters"},Le={class:"list-container"},$e=Object(o["defineComponent"])({setup:function(e){var t=Object(r["b"])(),n=t.t,c=Object(ne["a"])(),l=Object(o["computed"])((function(){return c.getters[te["a"].GETTERS.AUTH_USER_PROFILE]})),i=Object(o["computed"])((function(){return c.getters[te["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return Object(a["e"])(i.value,n)})),s=Object(o["ref"])(!0);function d(){s.value=!s.value}return function(e,t){return Object(o["unref"])(l).username?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Be,[Object(o["createElementVNode"])("div",Re,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["filters-container",{hidden:s.value}])},[Object(o["createVNode"])(q,{sports:Object(o["unref"])(u),authUser:Object(o["unref"])(l),onFilter:d},null,8,["sports","authUser"])],2),Object(o["createElementVNode"])("div",Ue,[Object(o["createElementVNode"])("div",{onClick:d},[Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa-caret-".concat(s.value?"down":"up")),"aria-hidden":"true"},null,2),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.".concat(s.value?"DISPLAY":"HIDE","_FILTERS"))),1)])]),Object(o["createElementVNode"])("div",Le,[Object(o["createVNode"])(Ae,{user:Object(o["unref"])(l),sports:Object(o["unref"])(u)},null,8,["user","sports"])])])])):Object(o["createCommentVNode"])("",!0)}}});n("0d8e");const Me=z()($e,[["__scopeId","data-v-ed6df5ba"]]);t["default"]=Me},"0d8e":function(e,t,n){"use strict";n("8f45")},1998:function(e,t,n){},"1bf3":function(e,t,n){},"1f58":function(e,t,n){},"304a":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("f7f9"),l=(n("7db0"),n("d3b7"),n("99af"),function(e){return Object(r["pushScopeId"])("data-v-21fe0e9a"),e=e(),Object(r["popScopeId"])(),e}),i={id:"workout-card-title"},u=["title"],s=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),d=[s],b={class:"workout-card-title"},O={class:"workout-title-date"},p={key:0,class:"workout-title"},m={key:1,class:"workout-title"},j={class:"workout-segment"},f=Object(r["createTextVNode"])(" — "),g=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-map-marker","aria-hidden":"true"},null,-1)})),k={class:"workout-date"},y={class:"workout-link"},v=["title"],h=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),E=[h],N=Object(r["defineComponent"])({props:{sport:null,workoutObject:null},emits:["displayModal"],setup:function(e,t){var n=t.emit,o=e,c=Object(r["toRefs"])(o),a=c.sport,l=c.workoutObject;return function(e,t){var o=Object(r["resolveComponent"])("SportImage"),c=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-previous workout-arrow",{inactive:!Object(r["unref"])(l).previousUrl}]),title:Object(r["unref"])(l).previousUrl?e.$t("workouts.PREVIOUS_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_PREVIOUS_".concat(Object(r["unref"])(l).type)),onClick:t[0]||(t[0]=function(t){return Object(r["unref"])(l).previousUrl?e.$router.push(Object(r["unref"])(l).previousUrl):null})},d,10,u),Object(r["createElementVNode"])("div",b,[Object(r["createVNode"])(o,{"sport-label":Object(r["unref"])(a).label,color:Object(r["unref"])(a).color},null,8,["sport-label","color"]),Object(r["createElementVNode"])("div",O,["WORKOUT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",p,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("i",{class:"fa fa-edit","aria-hidden":"true",onClick:t[1]||(t[1]=function(t){return e.$router.push({name:"EditWorkout",params:{workoutId:Object(r["unref"])(l).workoutId}})})}),Object(r["createElementVNode"])("i",{class:"fa fa-trash","aria-hidden":"true",onClick:t[2]||(t[2]=function(e){return n("displayModal",!0)})})])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",m,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("span",j,[f,g,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.SEGMENT"))+" "+Object(r["toDisplayString"])(Object(r["unref"])(l).segmentId+1),1)])])),Object(r["createElementVNode"])("div",k,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).workoutDate)+" - "+Object(r["toDisplayString"])(Object(r["unref"])(l).workoutTime)+" ",1),Object(r["createElementVNode"])("span",y,["SEGMENT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createBlock"])(c,{key:0,to:{name:"Workout",params:{workoutId:Object(r["unref"])(l).workoutId}}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(" > "+Object(r["toDisplayString"])(e.$t("workouts.BACK_TO_WORKOUT")),1)]})),_:1},8,["to"])):Object(r["createCommentVNode"])("",!0)])])])]),Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-next workout-arrow",{inactive:!Object(r["unref"])(l).nextUrl}]),title:Object(r["unref"])(l).nextUrl?e.$t("workouts.NEXT_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_NEXT_".concat(Object(r["unref"])(l).type)),onClick:t[3]||(t[3]=function(t){return Object(r["unref"])(l).nextUrl?e.$router.push(Object(r["unref"])(l).nextUrl):null})},E,10,v)])}}}),w=(n("cdd7"),n("6b0d")),S=n.n(w);const V=S()(N,[["__scopeId","data-v-21fe0e9a"]]);var T=V,D=function(e){return Object(r["pushScopeId"])("data-v-2e8c6844"),e=e(),Object(r["popScopeId"])(),e},_={key:0,class:"workout-record"},I=D((function(){return Object(r["createElementVNode"])("sup",null,[Object(r["createElementVNode"])("i",{class:"fa fa-trophy","aria-hidden":"true"})],-1)})),x=[I],C=Object(r["defineComponent"])({props:{recordType:null,workoutObject:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.recordType,c=n.workoutObject;return function(e,t){return Object(r["unref"])(c).records&&Object(r["unref"])(c).records.find((function(e){return e.record_type===Object(r["unref"])(o)}))?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",_,x)):Object(r["createCommentVNode"])("",!0)}}});n("4168");const A=S()(C,[["__scopeId","data-v-2e8c6844"]]);var B=A,R=(n("b680"),n("a9e3"),function(e){return Object(r["pushScopeId"])("data-v-07781815"),e=e(),Object(r["popScopeId"])(),e}),U={key:0,id:"workout-weather"},L={class:"weather-table"},$=R((function(){return Object(r["createElementVNode"])("th",null,null,-1)})),M={class:"weather-th"},P=["src","alt","title"],F={class:"weather-th"},G=["src","alt","title"],W=["alt","title"],z=["alt","title"],H=["alt","title"],q=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.useImperialUnits,c=n.workoutObject;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["unref"])(c).weatherStart&&Object(r["unref"])(c).weatherEnd?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",U,[Object(r["createElementVNode"])("table",L,[Object(r["createElementVNode"])("thead",null,[Object(r["createElementVNode"])("tr",null,[$,Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",M,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.START"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherStart.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon))},null,8,P)])]),Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",F,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.END"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherEnd.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon))},null,8,G)])])])]),Object(r["createElementVNode"])("tbody",null,[Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/temperature.svg",alt:e.$t("workouts.WEATHER.TEMPERATURE"),title:e.$t("workouts.WEATHER.TEMPERATURE")},null,8,W)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherStart.temperature).toFixed(1))+"°C ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherEnd.temperature).toFixed(1))+"°C ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/pour-rain.svg",alt:e.$t("workouts.WEATHER.HUMIDITY"),title:e.$t("workouts.WEATHER.HUMIDITY")},null,8,z)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherStart.humidity).toFixed(1))+"% ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherEnd.humidity).toFixed(1))+"% ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/breeze.svg",alt:e.$t("workouts.WEATHER.WIND"),title:e.$t("workouts.WEATHER.WIND")},null,8,H)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherStart.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherEnd.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)])])])])])):Object(r["createCommentVNode"])("",!0)}}});n("f54d");const K=S()(q,[["__scopeId","data-v-07781815"]]);var Z=K,X=function(e){return Object(r["pushScopeId"])("data-v-a7c2d728"),e=e(),Object(r["popScopeId"])(),e},Y={id:"workout-info"},J={class:"workout-data"},Q=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1)})),ee={class:"label"},te=Object(r["createTextVNode"])(": "),ne={class:"value"},oe={key:0},re={class:"value"},ce={class:"value"},ae={class:"workout-data"},le=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-road","aria-hidden":"true"},null,-1)})),ie={class:"label"},ue=Object(r["createTextVNode"])(": "),se={class:"workout-data"},de=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-tachometer","aria-hidden":"true"},null,-1)})),be={class:"label"},Oe=Object(r["createTextVNode"])(": "),pe=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),me={class:"label"},je=Object(r["createTextVNode"])(": "),fe={key:0,class:"workout-data"},ge=["alt"],ke={class:"label"},ye=Object(r["createTextVNode"])(": "),ve=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),he={class:"label"},Ee=Object(r["createTextVNode"])(": "),Ne={key:1,class:"workout-data"},we=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1)})),Se={class:"label"},Ve=Object(r["createTextVNode"])(": "),Te=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),De={class:"label"},_e=Object(r["createTextVNode"])(": "),Ie=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.workoutObject,c=n.useImperialUnits,a=Object(r["computed"])((function(){return"0:00:00"!==t.workoutObject.pauses&&null!==t.workoutObject.pauses}));return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Y,[Object(r["createElementVNode"])("div",J,[Q,Object(r["createElementVNode"])("span",ee,Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1),te,Object(r["createElementVNode"])("span",ne,Object(r["toDisplayString"])(Object(r["unref"])(o).moving),1),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"LD"},null,8,["workoutObject"]),Object(r["unref"])(a)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",oe,[Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.PAUSES"))+": ",1),Object(r["createElementVNode"])("span",re,Object(r["toDisplayString"])(Object(r["unref"])(o).pauses),1),Object(r["createTextVNode"])(" - "+Object(r["toDisplayString"])(e.$t("workouts.TOTAL_DURATION"))+": ",1),Object(r["createElementVNode"])("span",ce,Object(r["toDisplayString"])(Object(r["unref"])(o).duration)+")",1)])):Object(r["createCommentVNode"])("",!0)]),Object(r["createElementVNode"])("div",ae,[le,Object(r["createElementVNode"])("span",ie,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1),ue,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).distance,digits:3,unitFrom:"km",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"FD"},null,8,["workoutObject"])]),Object(r["createElementVNode"])("div",se,[de,Object(r["createElementVNode"])("span",be,Object(r["toDisplayString"])(e.$t("workouts.AVERAGE_SPEED")),1),Oe,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).aveSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"AS"},null,8,["workoutObject"]),pe,Object(r["createElementVNode"])("span",me,Object(r["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),je,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"MS"},null,8,["workoutObject"])]),null!==Object(r["unref"])(o).maxAlt&&null!==Object(r["unref"])(o).minAlt?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",fe,[Object(r["createElementVNode"])("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,ge),Object(r["createElementVNode"])("span",ke,Object(r["toDisplayString"])(e.$t("workouts.MIN_ALTITUDE")),1),ye,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).minAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),ve,Object(r["createElementVNode"])("span",he,Object(r["toDisplayString"])(e.$t("workouts.MAX_ALTITUDE")),1),Ee,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),null!==Object(r["unref"])(o).ascent&&null!==Object(r["unref"])(o).descent?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Ne,[we,Object(r["createElementVNode"])("span",Se,Object(r["toDisplayString"])(e.$t("workouts.ASCENT")),1),Ve,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).ascent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Te,Object(r["createElementVNode"])("span",De,Object(r["toDisplayString"])(e.$t("workouts.DESCENT")),1),_e,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).descent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])(Z,{workoutObject:Object(r["unref"])(o),useImperialUnits:Object(r["unref"])(c)},null,8,["workoutObject","useImperialUnits"])])}}});n("54c5");const xe=S()(Ie,[["__scopeId","data-v-a7c2d728"]]);var Ce=xe,Ae=n("e94f"),Be=n("5afd"),Re=n("dad5"),Ue=n("2906"),Le=n("d257"),$e={id:"workout-map"},Me={key:0,class:"leaflet-container"},Pe={key:1},Fe={key:0,class:"leaflet-container"},Ge={key:1,class:"no-map"},We=Object(r["defineComponent"])({props:{workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(Ue["a"])(),o=Object(r["toRefs"])(t),c=o.workoutData,a=o.markerCoordinates,l=Object(r["ref"])(null),i=Object(r["computed"])((function(){return t.workoutData?[[t.workoutData.workout.bounds[0],t.workoutData.workout.bounds[1]],[t.workoutData.workout.bounds[2],t.workoutData.workout.bounds[3]]]:[]})),u=Object(r["computed"])((function(){return n.getters[Re["b"].GETTERS.APP_CONFIG]})),s=Object(r["computed"])((function(){return O(i)})),d=Object(r["computed"])((function(){return t.workoutData&&t.workoutData.gpx?b(t.workoutData.gpx):{}}));function b(e){if(!e||""!==e)try{var t=Object(Ae["gpx"])((new DOMParser).parseFromString(e,"text/xml"));return{jsonData:t}}catch(n){return console.error("Invalid gpx content"),{}}return{}}function O(e){return[(e.value[0][0]+e.value[1][0])/2,(e.value[0][1]+e.value[1][1])/2]}function p(e){var t,n;null!==(t=l.value)&&void 0!==t&&t.leafletObject&&(null===(n=l.value)||void 0===n||n.leafletObject.fitBounds(e))}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",$e,[Object(r["unref"])(c).loading?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Me)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Pe,[Object(r["unref"])(c).workout.with_gpx?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Fe,[Object(r["unref"])(d).jsonData&&Object(r["unref"])(s)&&2===Object(r["unref"])(i).length?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Be["b"]),{key:0,zoom:13,center:Object(r["unref"])(s),bounds:Object(r["unref"])(i),ref:function(e,t){t["workoutMap"]=e,l.value=e},onReady:t[0]||(t[0]=function(e){return p(Object(r["unref"])(i))})},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(Object(r["unref"])(Be["d"]),{url:"".concat(Object(r["unref"])(Le["a"])(),"workouts/map_tile/{s}/{z}/{x}/{y}.png"),attribution:Object(r["unref"])(u).map_attribution,bounds:Object(r["unref"])(i)},null,8,["url","attribution","bounds"]),Object(r["createVNode"])(Object(r["unref"])(Be["a"]),{geojson:Object(r["unref"])(d).jsonData},null,8,["geojson"]),Object(r["unref"])(a).latitude?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Be["c"]),{key:0,"lat-lng":[Object(r["unref"])(a).latitude,Object(r["unref"])(a).longitude]},null,8,["lat-lng"])):Object(r["createCommentVNode"])("",!0)]})),_:1},8,["center","bounds"])):Object(r["createCommentVNode"])("",!0)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Ge,Object(r["toDisplayString"])(e.$t("workouts.NO_MAP")),1))]))])}}});n("ac79");const ze=S()(We,[["__scopeId","data-v-b4b3006a"]]);var He=ze,qe=n("5e65"),Ke={class:"workout-detail"},Ze=Object(r["defineComponent"])({props:{authUser:null,displaySegment:null,sports:null,workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["c"])(),a=Object(Ue["a"])(),l=Object(r["toRefs"])(t),i=l.authUser,u=l.markerCoordinates,s=l.workoutData,d=Object(r["computed"])((function(){return t.workoutData.workout})),b=Object(r["ref"])(n.params.workoutId?+n.params.segmentId:null),O=Object(r["computed"])((function(){return d.value.segments.length>0&&b.value?d.value.segments[+b.value-1]:null})),p=Object(r["ref"])(!1),m=Object(r["computed"])((function(){return t.sports?t.sports.find((function(e){return e.id===t.workoutData.workout.sport_id})):{}})),j=Object(r["computed"])((function(){return g(d.value,O.value)}));function f(e,t,n){var o=t&&n&&1!==n?"/workouts/".concat(e.id,"/segment/").concat(n-1):!t&&e.previous_workout?"/workouts/".concat(e.previous_workout):null,r=t&&n&&n0&&k(O.value[e[0].dataIndex]),0===e.length?"":l.value?"".concat(a("workouts.DISTANCE"),": ").concat(e[0].label," ").concat(s):"".concat(a("workouts.DURATION"),": ").concat(g(e[0].label.replace(",","")))}}},legend:{display:!1},htmlLegend:{containerID:"chart-legend"}}}})),m=Object(Qe["useLineChart"])({chartData:b,options:p,plugins:[nt]}),j=m.lineChartProps;function f(){l.value=!l.value}function g(e){return new Date(1e3*+e).toISOString().substr(11,8)}function k(e){n("getCoordinates",e)}function y(){k({latitude:null,longitude:null})}function v(e){return o.authUser.imperial_units?ot["c"][e].defaultTarget:e}return function(e,t){var n=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",at,[Object(r["createVNode"])(n,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.ANALYSIS")),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",lt,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"distance",checked:Object(r["unref"])(l),onClick:f},null,8,it),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1)]),Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"duration",checked:!Object(r["unref"])(l),onClick:f},null,8,ut),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1)])]),st,Object(r["createVNode"])(Object(r["unref"])(Qe["LineChart"]),Object(r["mergeProps"])(Object(r["unref"])(j),{class:"line-chart",onMouseleave:y}),null,16),Object(r["createElementVNode"])("div",dt,[Object(r["createElementVNode"])("div",bt,Object(r["toDisplayString"])(e.$t("workouts.NO_DATA_CLEANING")),1),Object(r["createElementVNode"])("div",Ot,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"checkbox",checked:Object(r["unref"])(i),onClick:t[0]||(t[0]=function(e){return Object(r["isRef"])(i)?i.value=!Object(r["unref"])(i):i=!Object(r["unref"])(i)})},null,8,pt),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.START_ELEVATION_AT_ZERO")),1)])])])]})),_:1})])}}});n("7e1c");const jt=S()(mt,[["__scopeId","data-v-82a367b0"]]);var ft=jt,gt={id:"workout-note"},kt=Object(r["defineComponent"])({props:{notes:{default:function(){return null}}},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.notes;return function(e,t){var n=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",gt,[Object(r["createVNode"])(n,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.NOTES")),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(o)&&""!==Object(r["unref"])(o)?Object(r["unref"])(o):e.$t("workouts.NO_NOTES")),1)]})),_:1})])}}});n("d25b");const yt=S()(kt,[["__scopeId","data-v-6dd0f3c4"]]);var vt=yt,ht={id:"workout-segments"},Et=Object(r["defineComponent"])({props:{segments:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.segments,c=n.useImperialUnits;return function(e,t){var n=Object(r["resolveComponent"])("router-link"),a=Object(r["resolveComponent"])("Distance"),l=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",ht,[Object(r["createVNode"])(l,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",2)),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("ul",null,[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(o),(function(t,o){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:t.segment_id},[Object(r["createVNode"])(n,{to:{name:"WorkoutSegment",params:{workoutId:t.workout_id,segmentId:o+1}}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",1))+" "+Object(r["toDisplayString"])(o+1),1)]})),_:2},1032,["to"]),Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+": ",1),Object(r["createVNode"])(a,{distance:t.distance,unitFrom:"km",useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(", "+Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+": "+Object(r["toDisplayString"])(t.duration)+") ",1)])})),128))])]})),_:1})])}}});n("f451");const Nt=S()(Et,[["__scopeId","data-v-73381f36"]]);var wt=Nt,St=function(e){return Object(r["pushScopeId"])("data-v-a8e74d78"),e=e(),Object(r["popScopeId"])(),e},Vt={id:"workout",class:"view"},Tt={class:"container"},Dt={key:0,class:"workout-container"},_t={key:0},It=St((function(){return Object(r["createElementVNode"])("div",{id:"bottom"},null,-1)})),xt={key:1},Ct=Object(r["defineComponent"])({props:{displaySegment:null},setup:function(e){var t=e,n=Object(c["c"])(),l=Object(Ue["a"])(),i=Object(r["toRefs"])(t),u=i.displaySegment,s=Object(r["computed"])((function(){return l.getters[Re["f"].GETTERS.WORKOUT_DATA]})),d=Object(r["computed"])((function(){return l.getters[Re["a"].GETTERS.AUTH_USER_PROFILE]})),b=Object(r["computed"])((function(){return l.getters[Re["c"].GETTERS.SPORTS]})),O=Object(r["ref"])({latitude:null,longitude:null});function p(e){O.value={latitude:e.latitude,longitude:e.longitude}}return Object(r["onBeforeMount"])((function(){var e={workoutId:n.params.workoutId};t.displaySegment&&(e.segmentId=n.params.segmentId),l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,e)})),Object(r["onUnmounted"])((function(){l.commit(Re["f"].MUTATIONS.EMPTY_WORKOUT)})),Object(r["watch"])((function(){return n.params.workoutId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t&&l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Object(r["watch"])((function(){return n.params.segmentId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){var o;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:n.params.workoutId&&(o={workoutId:n.params.workoutId},t&&(o.segmentId=t),l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,o));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Vt,[Object(r["createElementVNode"])("div",Tt,[Object(r["unref"])(b).length>0?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Dt,[Object(r["unref"])(s).workout.id?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",_t,[Object(r["createVNode"])(Ye,{workoutData:Object(r["unref"])(s),sports:Object(r["unref"])(b),authUser:Object(r["unref"])(d),markerCoordinates:Object(r["unref"])(O),displaySegment:Object(r["unref"])(u)},null,8,["workoutData","sports","authUser","markerCoordinates","displaySegment"]),Object(r["unref"])(s).workout.with_gpx&&Object(r["unref"])(s).chartData.length>0?(Object(r["openBlock"])(),Object(r["createBlock"])(ft,{key:0,workoutData:Object(r["unref"])(s),authUser:Object(r["unref"])(d),displaySegment:Object(r["unref"])(u),onGetCoordinates:p},null,8,["workoutData","authUser","displaySegment"])):Object(r["createCommentVNode"])("",!0),!Object(r["unref"])(u)&&Object(r["unref"])(s).workout.segments.length>1?(Object(r["openBlock"])(),Object(r["createBlock"])(wt,{key:1,segments:Object(r["unref"])(s).workout.segments,useImperialUnits:Object(r["unref"])(d).imperial_units},null,8,["segments","useImperialUnits"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(u)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(vt,{key:2,notes:Object(r["unref"])(s).workout.notes},null,8,["notes"])),It])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",xt,[Object(r["unref"])(s).loading?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(a["a"],{key:0,target:"WORKOUT"}))]))])):Object(r["createCommentVNode"])("",!0)])])}}});n("80ad");const At=S()(Ct,[["__scopeId","data-v-a8e74d78"]]);t["default"]=At},4168:function(e,t,n){"use strict";n("696e")},"423d":function(e,t,n){},"54c5":function(e,t,n){"use strict";n("1f58")},5618:function(e,t,n){},"5afd":function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return T})),n.d(t,"b",(function(){return x})),n.d(t,"c",(function(){return B})),n.d(t,"d",(function(){return P}));var o=n("7a23");const r=(e,t)=>{let n;return function(...o){const r=this;n&&clearTimeout(n),n=setTimeout(()=>{e.apply(r,o),n=null},t)}},c=e=>e&&"function"===typeof e.charAt?e.charAt(0).toUpperCase()+e.slice(1):e,a=(e,t,n)=>{for(const r in n){const a="set"+c(r);e[a]?Object(o["watch"])(()=>n[r],(t,n)=>{e[a](t,n)}):t[a]&&Object(o["watch"])(()=>n[r],e=>{t[a](e)})}},l=e=>{const t={};for(const n in e)if(n.startsWith("on")&&!n.startsWith("onUpdate")&&"onReady"!==n){const o=n.slice(2).toLocaleLowerCase();t[o]=e[n]}return t},i=async e=>{const t=await Promise.all([n.e("chunk-2d0c9189").then(n.t.bind(null,"584d",7)),n.e("chunk-2d0cf391").then(n.t.bind(null,"6397",7)),n.e("chunk-2d22523a").then(n.t.bind(null,"e2b9",7))]);delete e.Default.prototype._getIconUrl,e.Default.mergeOptions({iconRetinaUrl:t[0].default,iconUrl:t[1].default,shadowUrl:t[2].default})},u=e=>{const t=Object(o["ref"])(()=>console.warn(`Method ${e} has been invoked without being replaced`)),n=(...e)=>t.value(...e);return n.wrapped=t,Object(o["provide"])(e,n),n},s=(e,t)=>e.wrapped.value=t,d="object"===typeof self&&self.self===self&&self||"object"===typeof e&&e.global===e&&e||void 0,b="useGlobalLeaflet",O={options:{type:Object,default:()=>({})}},p=e=>({options:e.options,methods:{}}),m={...O,pane:{type:String,default:"overlayPane"},attribution:{type:String,default:null},name:{type:String,custom:!0,default:void 0},layerType:{type:String,custom:!0,default:void 0},visible:{type:Boolean,custom:!0,default:!0}},j=(e,t,n)=>{const r=Object(o["inject"])("addLayer"),c=Object(o["inject"])("removeLayer"),{options:a,methods:l}=p(e),i={...a,attribution:e.attribution,pane:e.pane},u=()=>r({leafletObject:t.value}),s=()=>c({leafletObject:t.value}),d={...l,setAttribution(e,t){const n=this.$parent.leafletObject.attributionControl;n.removeAttribution(t).addAttribution(e)},setName(){s(),e.visible&&u()},setLayerType(){s(),e.visible&&u()},setVisible(e){t.value&&(e?u():s())},bindPopup({leafletObject:e}){t.value.bindPopup(e)},bindTooltip({leafletObject:e}){t.value.bindTooltip(e)},unbindTooltip(){const e=t.value?t.value.getTooltip():null;e&&e.unbindTooltip()},unbindPopup(){const e=t.value?t.value.getPopup():null;e&&e.unbindPopup()},updateVisibleProp(e){n.emit("update:visible",e)}};return Object(o["provide"])("bindPopup",d.bindPopup),Object(o["provide"])("bindTooltip",d.bindTooltip),Object(o["provide"])("unbindTooltip",d.unbindTooltip),Object(o["provide"])("unbindPopup",d.unbindPopup),Object(o["onUnmounted"])(()=>{d.unbindPopup(),d.unbindTooltip(),s()}),{options:i,methods:d}},f=(e,t)=>{if(e&&t.default)return Object(o["h"])("div",{style:{display:"none"}},t.default())},g={...O,interactive:{type:Boolean,default:!0},bubblingMouseEvents:{type:Boolean,default:!0}},k={...m,...g,stroke:{type:Boolean,custom:!0,default:!0},color:{type:String,custom:!0,default:"#3388ff"},weight:{type:Number,custom:!0,default:3},opacity:{type:Number,custom:!0,default:1},lineCap:{type:String,custom:!0,default:"round"},lineJoin:{type:String,custom:!0,default:"round"},dashArray:{type:String,custom:!0,default:null},dashOffset:{type:String,custom:!0,default:null},fill:{type:Boolean,custom:!0,default:!1},fillColor:{type:String,custom:!0,default:"#3388ff"},fillOpacity:{type:Number,custom:!0,default:.2},fillRule:{type:String,custom:!0,default:"evenodd"},className:{type:String,custom:!0,default:null}},y={...k,latLng:{type:[Object,Array],custom:!0,default:null},radius:{type:Number,default:null}};const v={...O,position:{type:String,default:"topright"}},h=(e,t)=>{const{options:n,methods:r}=p(e),c={...n,position:e.position},a={...r,setPosition(e){t.value&&t.value.setPosition(e)}};return Object(o["onUnmounted"])(()=>{t.value&&t.value.remove()}),{options:c,methods:a}},E=e=>e.default?Object(o["h"])("div",{ref:"root"},e.default()):null;Boolean,Boolean;Boolean,Boolean,Boolean,Boolean;Boolean,Boolean,Boolean;const N={...m},w=(e,t,n)=>{const{options:r,methods:c}=j(e,t,n),a={...r},l={...c,addLayer(e){t.value.addLayer(e.leafletObject)},removeLayer(e){t.value.removeLayer(e.leafletObject)}};return Object(o["provide"])("addLayer",l.addLayer),Object(o["provide"])("removeLayer",l.removeLayer),{options:a,methods:l}};const S={...N,geojson:{type:[Object,Array],default:()=>({})}},V=(e,t)=>{const{options:n,methods:o}=w(e,t),r={...n,...e},c={...o,setGeojson(e){t.value.clearLayers(),t.value.addData(e)},getGeoJSONData(){return t.value.toGeoJSON()},getBounds(){return t.value.getBounds()}};return{options:r,methods:c}};var T={props:S,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["ref"])(!1),i=Object(o["inject"])(b),u=Object(o["inject"])("addLayer"),{methods:s,options:O}=V(e,r);return Object(o["onMounted"])(async()=>{const{geoJSON:b,DomEvent:p}=i?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.geojson,O);const m=l(t.attrs);p.on(r.value,m),a(s,r.value,e),u({...e,...s,leafletObject:r.value}),c.value=!0,Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{ready:c,leafletObject:r}},render(){return f(this.ready,this.$slots)},__file:"src/components/LGeoJson.vue"};const D={...m,pane:{type:String,default:"tilePane"},opacity:{type:Number,custom:!1,default:1},zIndex:{type:Number,default:1},tileSize:{type:Number,default:256},noWrap:{type:Boolean,default:!1},minZoom:{type:Number,default:0},maxZoom:{type:Number,default:void 0}},_=(e,t,n)=>{const{options:o,methods:r}=j(e,t,n),c={...o,pane:e.pane,opacity:e.opacity,zIndex:e.zIndex,tileSize:e.tileSize,noWrap:e.noWrap,minZoom:e.minZoom,maxZoom:e.maxZoom};return{options:c,methods:{...r}}};const I={iconUrl:{type:String,custom:!0,default:null},iconRetinaUrl:{type:String,custom:!0,default:null},iconSize:{type:[Object,Array],custom:!0,default:null},iconAnchor:{type:[Object,Array],custom:!0,default:null},popupAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},tooltipAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},shadowUrl:{type:String,custom:!0,default:null},shadowRetinaUrl:{type:String,custom:!0,default:null},shadowSize:{type:[Object,Array],custom:!0,default:null},shadowAnchor:{type:[Object,Array],custom:!0,default:null},bgPos:{type:[Object,Array],custom:!0,default:()=>[0,0]},className:{type:String,custom:!0,default:""},options:{type:Object,custom:!0,default:()=>({})}};Boolean,Boolean;var x={emits:["ready","update:zoom","update:center","update:bounds"],props:{...O,center:{type:[Object,Array],default:()=>[0,0]},bounds:{type:[Array,Object],default:void 0},maxBounds:{type:[Array,Object],default:void 0},zoom:{type:Number,default:0},minZoom:{type:Number,default:void 0},maxZoom:{type:Number,default:void 0},paddingBottomRight:{type:Array,default:void 0},paddingTopLeft:{type:Array,default:void 0},padding:{type:Array,default:void 0},worldCopyJump:{type:Boolean,default:!1},crs:{type:[String,Object],default:"EPSG3857"},maxBoundsViscosity:{type:Number,default:void 0},inertia:{type:Boolean,default:void 0},inertiaDeceleration:{type:Number,default:void 0},inertiaMaxSpeed:{type:Number,default:void 0},easeLinearity:{type:Number,default:void 0},zoomAnimation:{type:Boolean,default:void 0},zoomAnimationThreshold:{type:Number,default:void 0},fadeAnimation:{type:Boolean,default:void 0},markerZoomAnimation:{type:Boolean,default:void 0},noBlockingAnimations:{type:Boolean,default:!1},useGlobalLeaflet:{type:Boolean,default:!1}},setup(e,t){const c=Object(o["ref"])(null),O=Object(o["reactive"])({ready:!1,leafletRef:{},layersToAdd:[],layersInControl:[]}),{options:m}=p(e),j={...m,minZoom:e.minZoom,maxZoom:e.maxZoom,maxBounds:e.maxBounds,maxBoundsViscosity:e.maxBoundsViscosity,worldCopyJump:e.worldCopyJump,crs:e.crs,center:e.center,zoom:e.zoom,inertia:e.inertia,inertiaDeceleration:e.inertiaDeceleration,inertiaMaxSpeed:e.inertiaMaxSpeed,easeLinearity:e.easeLinearity,zoomAnimation:e.zoomAnimation,zoomAnimationThreshold:e.zoomAnimationThreshold,fadeAnimation:e.fadeAnimation,markerZoomAnimation:e.markerZoomAnimation},f=u("addLayer"),g=u("removeLayer"),k=u("registerControl"),y=u("registerLayerControl");Object(o["provide"])(b,e.useGlobalLeaflet);const v={moveEndHandler(){t.emit("update:zoom",O.leafletRef.getZoom()),t.emit("update:center",O.leafletRef.getCenter()),t.emit("update:bounds",O.leafletRef.getBounds())},overlayAddHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!0)},overlayRemoveHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!1)}};Object(o["onMounted"])(async()=>{e.useGlobalLeaflet&&(d.L=d.L||await n.e("chunk-2d2248b6").then(n.t.bind(null,"e11e",7)));const{map:u,CRS:b,Icon:p,latLngBounds:m,latLng:h,DomEvent:E}=e.useGlobalLeaflet?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));try{j.beforeMapMount&&await j.beforeMapMount()}catch(V){console.error("The following error occurred running the provided beforeMapMount hook "+V.message)}await i(p);const N="string"==typeof j.crs?b[j.crs]:j.crs;j.crs=N||b.EPSG3857;const w={addLayer(e){if(void 0!==e.layerType)if(void 0===O.layerControl)O.layersToAdd.push(e);else{const t=O.layersInControl.find(t=>t.leafletObject._leaflet_id===e.leafletObject._leaflet_id);t||(O.layerControl.addLayer(e),O.layersInControl.push(e))}!1!==e.visible&&O.leafletRef.addLayer(e.leafletObject)},removeLayer(e){void 0!==e.layerType&&(void 0===O.layerControl?O.layersToAdd=O.layersToAdd.filter(t=>t.name!==e.name):(O.layerControl.removeLayer(e.leafletObject),O.layersInControl=O.layersInControl.filter(t=>t.leafletObject._leaflet_id!==e.leafletObject._leaflet_id))),O.leafletRef.removeLayer(e.leafletObject)},registerLayerControl(e){O.layerControl=e,O.layersToAdd.forEach(e=>{O.layerControl.addLayer(e)}),O.layersToAdd=[],k(e)},registerControl(e){O.leafletRef.addControl(e.leafletObject)},setZoom(t){const n=O.leafletRef.getZoom();t!==n&&O.leafletRef.setZoom(t,{animate:!e.noBlockingAnimations&&null})},setPaddingBottomRight(e){O.paddingBottomRight=e},setPaddingTopLeft(e){O.paddingTopLeft=e},setPadding(e){O.padding=e},setCrs(e){const t=O.leafletRef.getBounds();O.leafletRef.options.crs=e,O.leafletRef.fitBounds(t,{animate:!1,padding:[0,0]})},fitBounds(e){O.leafletRef.fitBounds(e,{animate:!this.noBlockingAnimations&&null})},setBounds(e){if(!e)return;const t=m(e);if(!t.isValid())return;const n=O.lastSetBounds||O.leafletRef.getBounds(),o=!n.equals(t,0);o&&(O.lastSetBounds=t,O.leafletRef.fitBounds(t,this.fitBoundsOptions))},setCenter(e){if(null==e)return;const t=h(e),n=O.lastSetCenter||O.leafletRef.getCenter();n.lat===t.lat&&n.lng===t.lng||(O.lastSetCenter=t,O.leafletRef.panTo(t,{animate:!this.noBlockingAnimations&&null}))}};s(f,w.addLayer),s(g,w.removeLayer),s(k,w.registerControl),s(y,w.registerLayerControl),O.leafletRef=u(c.value,j),a(w,O.leafletRef,e);const S=l(t.attrs);O.leafletRef.on("moveend",r(v.moveEndHandler,100)),O.leafletRef.on("overlayadd",v.overlayAddHandler),O.leafletRef.on("overlayremove",v.overlayRemoveHandler),E.on(O.leafletRef,S),O.ready=!0,Object(o["nextTick"])(()=>t.emit("ready",O.leafletRef))}),Object(o["onBeforeUnmount"])(()=>{O.leafletRef&&O.leafletRef.remove()});const h=Object(o["computed"])(()=>O.leafletRef),E=Object(o["computed"])(()=>O.ready);return{root:c,ready:E,leafletObject:h}},render(){return Object(o["h"])("div",{style:{width:"100%",height:"100%"},ref:"root"},this.ready?this.$slots.default():{})},__file:"src/components/LMap.vue"};const C={...m,pane:{type:String,default:"markerPane"},draggable:{type:Boolean,custom:!0,default:!1},latLng:{type:[Object,Array],custom:!0,default:null},icon:{type:[Object],default:()=>{},custom:!1},zIndexOffset:{type:Number,custom:!1,default:null}},A=(e,t,n)=>{const{options:o,methods:r}=j(e,t,n),c={...o,...e},a={...r,setDraggable(e){t.value.dragging&&(e?t.value.dragging.enable():t.value.dragging.disable())},latLngSync(e){n.emit("update:latLng",e.latlng),n.emit("update:lat-lng",e.latlng)},setLatLng(e){if(null!=e&&t.value){const n=t.value.getLatLng();n&&n.equals(e)||t.value.setLatLng(e)}}};return{options:c,methods:a}};var B={name:"LMarker",props:C,setup(e,t){const c=Object(o["ref"])({}),i=Object(o["ref"])(!1),u=Object(o["inject"])(b),s=Object(o["inject"])("addLayer");Object(o["provide"])("canSetParentHtml",()=>!!c.value.getElement()),Object(o["provide"])("setParentHtml",e=>c.value.getElement().innerHTML=e),Object(o["provide"])("setIcon",e=>c.value.setIcon&&c.value.setIcon(e));const{options:O,methods:p}=A(e,c,t);return void 0===O.icon&&delete O.icon,Object(o["onMounted"])(async()=>{const{marker:b,DomEvent:m}=u?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));c.value=b(e.latLng,O);const j=l(t.attrs);m.on(c.value,j),c.value.on("move",r(p.latLngSync,100)),a(p,c.value,e),s({...e,...p,leafletObject:c.value}),i.value=!0,Object(o["nextTick"])(()=>t.emit("ready",c.value))}),{ready:i,leafletObject:c}},render(){return f(this.ready,this.$slots)},__file:"src/components/LMarker.vue"};const R={...k,latLngs:{type:Array,default:()=>[]},smoothFactor:{type:Number,custom:!0,default:1},noClip:{type:Boolean,custom:!0,default:!1}},U={...R};const L={...O,content:{type:String,default:null}};const $={...D,tms:{type:Boolean,default:!1},subdomains:{type:String,default:"abc"},detectRetina:{type:Boolean,default:!1},url:{type:String,default:null}},M=(e,t)=>{const{options:n,methods:o}=_(e,t),r={...n,tms:e.tms,subdomains:e.subdomains,detectRetina:e.detectRetina};return{options:r,methods:{...o}}};var P={props:$,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["inject"])(b),i=Object(o["inject"])("addLayer"),{options:u,methods:s}=M(e,r);return Object(o["onMounted"])(async()=>{const{tileLayer:b,DomEvent:O}=c?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.url,u);const p=l(t.attrs);O.on(r.value,p),a(s,r.value,e),i({...e,...s,leafletObject:r.value}),Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{leafletObject:r}},render(){return null},__file:"src/components/LTileLayer.vue"};Boolean,Boolean}).call(this,n("c8ba"))},"5c76":function(e,t,n){"use strict";var o=n("1da1"),r=(n("96cf"),n("ac1f"),n("1276"),n("b680"),n("99af"),n("7a23")),c=n("47e2"),a=n("6c02"),l=n("dad5"),i=n("2906"),u=n("5e65"),s=n("c364"),d=n("1119"),b=n("6284"),O={id:"workout-form"},p=["onSubmit"],m={class:"form-items"},j={key:0,class:"form-item-radio"},f=["checked","disabled"],g={for:"withGpx"},k=["checked","disabled"],y={for:"withoutGpx"},v={class:"form-item"},h=["disabled"],E=["value"],N={key:1,class:"form-item"},w={for:"gpxFile"},S=["disabled"],V={class:"files-help info-box"},T={key:2,class:"form-item"},D={for:"title"},_=["required","disabled"],I={key:3},x={class:"workout-date-duration"},C={class:"form-item"},A={class:"workout-date-time"},B=["disabled"],R=["disabled"],U={class:"form-item"},L=["disabled"],$=Object(r["createTextVNode"])(" : "),M=["disabled"],P=Object(r["createTextVNode"])(" : "),F=["disabled"],G={class:"form-item"},W=["disabled"],z={class:"form-item"},H={key:1},q={key:2,class:"form-buttons"},K=["disabled"],Z=["onClick"],X=Object(r["defineComponent"])({props:{authUser:null,sports:null,isCreation:{default:!1},loading:{default:!1},workout:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["b"])(),X=n.t,Y=Object(i["a"])(),J=Object(a["d"])(),Q=Object(r["toRefs"])(t),ee=Q.authUser,te=Q.workout,ne=Q.isCreation,oe=Q.loading,re=Object(r["computed"])((function(){return Object(d["e"])(t.sports,X,!0,te.value.id?[te.value.sport_id]:null)})),ce=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.APP_CONFIG]})),ae=ce.value.max_single_file_size?Object(s["b"])(ce.value.max_single_file_size):"",le=ce.value.gpx_limit_import,ie=ce.value.max_zip_file_size?Object(s["b"])(ce.value.max_zip_file_size):"",ue=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.ERROR_MESSAGES]})),se=Object(r["reactive"])({sport_id:"",title:"",notes:"",workoutDate:"",workoutTime:"",workoutDurationHour:"",workoutDurationMinutes:"",workoutDurationSeconds:"",workoutDistance:""}),de=Object(r["ref"])(t.workout.id?t.workout.with_gpx:t.isCreation),be=null,Oe=Object(r["ref"])(!1);function pe(e){se.notes=e}function me(){de.value=!de.value,Oe.value=!1}function je(e){e.target.files&&(be=e.target.files[0])}function fe(e){if(se.sport_id="".concat(e.sport_id),se.title=e.title,se.notes=e.notes,!e.with_gpx){var n=Object(u["a"])(Object(u["c"])(e.workout_date,t.authUser.timezone),"yyyy-MM-dd"),o=e.duration.split(":");se.workoutDistance="".concat(ee.value.imperial_units?Object(b["a"])(e.distance,"km","mi",2):parseFloat(e.distance.toFixed(2))),se.workoutDate=n.workout_date,se.workoutTime=n.workout_time,se.workoutDurationHour=o[0],se.workoutDurationMinutes=o[1],se.workoutDurationSeconds=o[2]}}function ge(e){e.title=se.title,e.distance=ee.value.imperial_units?Object(b["a"])(+se.workoutDistance,"mi","km",3):+se.workoutDistance,e.duration=3600*+se.workoutDurationHour+60*+se.workoutDurationMinutes+ +se.workoutDurationSeconds,e.workout_date="".concat(se.workoutDate," ").concat(se.workoutTime)}function ke(){var e={sport_id:+se.sport_id,notes:se.notes};if(t.workout.id)t.workout.with_gpx?e.title=se.title:ge(e),Y.dispatch(l["f"].ACTIONS.EDIT_WORKOUT,{workoutId:t.workout.id,data:e});else if(de.value){if(!be){var n="workouts.NO_FILE_PROVIDED";return void Y.commit(l["b"].MUTATIONS.SET_ERROR_MESSAGES,n)}e.file=be,Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT,e)}else ge(e),Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,e)}function ye(){t.workout.id?J.push({name:"Workout",params:{workoutId:t.workout.id}}):J.go(-1)}function ve(){Oe.value=!0}return Object(r["onMounted"])((function(){t.workout.id&&fe(t.workout)})),Object(r["onUnmounted"])((function(){return Y.commit(l["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),Object(r["watch"])((function(){return t.workout}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t!==n&&t&&t.id&&fe(t);case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),function(e,t){var n=Object(r["resolveComponent"])("CustomTextArea"),o=Object(r["resolveComponent"])("ErrorMessage"),c=Object(r["resolveComponent"])("Loader"),a=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",{id:"workout-edition",class:Object(r["normalizeClass"])(["center-card center-card with-margin",{"center-form":Object(r["unref"])(te)&&Object(r["unref"])(te).with_gpx}])},[Object(r["createVNode"])(a,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.".concat(Object(r["unref"])(ne)?"ADD":"EDIT","_WORKOUT"))),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",O,[Object(r["createElementVNode"])("form",{class:Object(r["normalizeClass"])({errors:Oe.value}),onSubmit:Object(r["withModifiers"])(ke,["prevent"])},[Object(r["createElementVNode"])("div",m,[Object(r["unref"])(ne)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",j,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withGpx",type:"radio",checked:Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:me},null,8,f),Object(r["createElementVNode"])("label",g,Object(r["toDisplayString"])(e.$t("workouts.WITH_GPX")),1)]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withoutGpx",type:"radio",checked:!Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:me},null,8,k),Object(r["createElementVNode"])("label",y,Object(r["toDisplayString"])(e.$t("workouts.WITHOUT_GPX")),1)])])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("div",v,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.SPORT",1))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("select",{id:"sport",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(r["unref"])(se).sport_id=e})},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(re),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:e.id,key:e.id},Object(r["toDisplayString"])(e.translatedLabel),9,E)})),128))],40,h),[[r["vModelSelect"],Object(r["unref"])(se).sport_id]])]),Object(r["unref"])(ne)&&Object(r["unref"])(de)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",N,[Object(r["createElementVNode"])("label",w,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+" "+Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE_DESCRIPTION"))+": ",1),Object(r["createElementVNode"])("input",{id:"gpxFile",name:"gpxFile",type:"file",accept:".gpx, .zip",disabled:Object(r["unref"])(oe),required:"",onInvalid:ve,onInput:je},null,40,S),Object(r["createElementVNode"])("div",V,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ae)),1)])]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.NO_FOLDER")),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_FILES"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(le)),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ie)),1)])])])])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",T,[Object(r["createElementVNode"])("label",D,Object(r["toDisplayString"])(e.$t("workouts.TITLE"))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"title",name:"title",type:"text",required:!Object(r["unref"])(ne),onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(r["unref"])(se).title=e})},null,40,_),[[r["vModelText"],Object(r["unref"])(se).title]])])),Object(r["unref"])(de)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",I,[Object(r["createElementVNode"])("div",x,[Object(r["createElementVNode"])("div",C,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT_DATE"))+":",1),Object(r["createElementVNode"])("div",A,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-date",name:"workout-date",type:"date",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(r["unref"])(se).workoutDate=e})},null,40,B),[[r["vModelText"],Object(r["unref"])(se).workoutDate]]),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-time",name:"workout-time",class:"workout-time",type:"time",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(r["unref"])(se).workoutTime=e})},null,40,R),[[r["vModelText"],Object(r["unref"])(se).workoutTime]])])]),Object(r["createElementVNode"])("div",U,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+":",1),Object(r["createElementVNode"])("div",null,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-hour",name:"workout-duration-hour",class:"workout-duration",type:"text",placeholder:"HH",pattern:"^([0-1]?[0-9]|2[0-3])$",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(r["unref"])(se).workoutDurationHour=e})},null,40,L),[[r["vModelText"],Object(r["unref"])(se).workoutDurationHour]]),$,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-minutes",name:"workout-duration-minutes",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"MM",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(r["unref"])(se).workoutDurationMinutes=e})},null,40,M),[[r["vModelText"],Object(r["unref"])(se).workoutDurationMinutes]]),P,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-seconds",name:"workout-duration-seconds",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"SS",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(r["unref"])(se).workoutDurationSeconds=e})},null,40,F),[[r["vModelText"],Object(r["unref"])(se).workoutDurationSeconds]])])])]),Object(r["createElementVNode"])("div",G,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+" ("+Object(r["toDisplayString"])(Object(r["unref"])(ee).imperial_units?"mi":"km")+"): ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{name:"workout-distance",type:"number",min:"0",step:"0.001",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(r["unref"])(se).workoutDistance=e})},null,40,W),[[r["vModelText"],Object(r["unref"])(se).workoutDistance]])])])),Object(r["createElementVNode"])("div",z,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.NOTES"))+": ",1),Object(r["createVNode"])(n,{name:"notes",input:Object(r["unref"])(se).notes,disabled:Object(r["unref"])(oe),onUpdateValue:pe},null,8,["input","disabled"])])]),Object(r["unref"])(ue)?(Object(r["openBlock"])(),Object(r["createBlock"])(o,{key:0,message:Object(r["unref"])(ue)},null,8,["message"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(oe)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",H,[Object(r["createVNode"])(c)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",q,[Object(r["createElementVNode"])("button",{class:"confirm",type:"submit",disabled:Object(r["unref"])(oe)},Object(r["toDisplayString"])(e.$t("buttons.SUBMIT")),9,K),Object(r["createElementVNode"])("button",{class:"cancel",onClick:Object(r["withModifiers"])(ye,["prevent"])},Object(r["toDisplayString"])(e.$t("buttons.CANCEL")),9,Z)]))],42,p)])]})),_:1})],2)}}}),Y=(n("fadc"),n("6b0d")),J=n.n(Y);const Q=J()(X,[["__scopeId","data-v-225fffcc"]]);t["a"]=Q},"692d":function(e,t,n){"use strict";n.r(t);var o=n("7a23"),r=n("5c76"),c=n("dad5"),a=n("2906"),l={id:"add-workout",class:"view"},i={class:"container"},u=Object(o["defineComponent"])({setup:function(e){var t=Object(a["a"])(),n=Object(o["computed"])((function(){return t.getters[c["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return t.getters[c["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return t.getters[c["f"].GETTERS.WORKOUT_DATA]}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",l,[Object(o["createElementVNode"])("div",i,[Object(o["createVNode"])(r["a"],{authUser:Object(o["unref"])(u),sports:Object(o["unref"])(n),isCreation:!0,loading:Object(o["unref"])(s).loading},null,8,["authUser","sports","loading"])])])}}});const s=u;t["default"]=s},"696e":function(e,t,n){},"6a0d":function(e,t,n){},7156:function(e,t,n){var o=n("1626"),r=n("861d"),c=n("d2bb");e.exports=function(e,t,n){var a,l;return c&&o(a=t.constructor)&&a!==n&&r(l=a.prototype)&&l!==n.prototype&&c(e,l),e}},"7e1c":function(e,t,n){"use strict";n("6a0d")},"80ad":function(e,t,n){"use strict";n("1bf3")},"8ce4":function(e,t,n){},"8ee9":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("5c76"),l=n("dad5"),i=n("2906"),u={id:"edit-workout",class:"view"},s={class:"container"},d=Object(r["defineComponent"])({setup:function(e){var t=Object(c["c"])(),n=Object(i["a"])(),d=Object(r["computed"])((function(){return n.getters[l["a"].GETTERS.AUTH_USER_PROFILE]})),b=Object(r["computed"])((function(){return n.getters[l["c"].GETTERS.SPORTS]})),O=Object(r["computed"])((function(){return n.getters[l["f"].GETTERS.WORKOUT_DATA]}));return Object(r["onBeforeMount"])((function(){n.dispatch(l["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.params.workoutId})})),Object(r["watch"])((function(){return t.params.workoutId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t||n.commit(l["f"].MUTATIONS.EMPTY_WORKOUT);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("div",s,[Object(r["createVNode"])(a["a"],{authUser:Object(r["unref"])(d),sports:Object(r["unref"])(b),workout:Object(r["unref"])(O).workout,loading:Object(r["unref"])(O).loading},null,8,["authUser","sports","workout","loading"])])])}}});const b=d;t["default"]=b},"8f45":function(e,t,n){},"94ed":function(e,t,n){},"95b0":function(e,t,n){"use strict";n("1998")},"97f1":function(e,t,n){},a9e3:function(e,t,n){"use strict";var o=n("83ab"),r=n("da84"),c=n("e330"),a=n("94ca"),l=n("6eeb"),i=n("1a2d"),u=n("7156"),s=n("3a9b"),d=n("d9b5"),b=n("c04e"),O=n("d039"),p=n("241c").f,m=n("06cf").f,j=n("9bf2").f,f=n("408a"),g=n("58a8").trim,k="Number",y=r[k],v=y.prototype,h=r.TypeError,E=c("".slice),N=c("".charCodeAt),w=function(e){var t=b(e,"number");return"bigint"==typeof t?t:S(t)},S=function(e){var t,n,o,r,c,a,l,i,u=b(e,"number");if(d(u))throw h("Cannot convert a Symbol value to a number");if("string"==typeof u&&u.length>2)if(u=g(u),t=N(u,0),43===t||45===t){if(n=N(u,2),88===n||120===n)return NaN}else if(48===t){switch(N(u,1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(c=E(u,2),a=c.length,l=0;lr)return NaN;return parseInt(c,o)}return+u};if(a(k,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var V,T=function(e){var t=arguments.length<1?0:y(w(e)),n=this;return s(v,n)&&O((function(){f(n)}))?u(Object(t),n,T):t},D=o?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),_=0;D.length>_;_++)i(y,V=D[_])&&!i(T,V)&&j(T,V,m(y,V));T.prototype=v,v.constructor=T,l(r,k,T)}},ac79:function(e,t,n){"use strict";n("8ce4")},bbf3:function(e,t,n){},c23a:function(e,t,n){},cdd7:function(e,t,n){"use strict";n("423d")},d25b:function(e,t,n){"use strict";n("5618")},d636:function(e,t,n){},d917:function(e,t,n){"use strict";n("c23a")},e358:function(e,t,n){"use strict";n("97f1")},e94f:function(e,t,n){!function(e,n){n(t)}(0,(function(e){"use strict";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||""}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const r=n(e,"line");if(r){const e=t(n(r,"color")),c=parseFloat(t(n(r,"opacity"))),a=parseFloat(t(n(r,"width")));e&&(o.stroke=e),isNaN(c)||(o["stroke-opacity"]=c),isNaN(a)||(o["stroke-width"]=96*a/25.4)}}return o}function r(e,o){const r={};let c,a;for(a=0;a1,s=Object.assign(c(e),o(n(e,"extensions")),{_gpxType:"trk"},a.length?{coordinateProperties:{times:u?a:a[0]}}:{});for(let n=0;nnew Array(e.line.length).fill(null))),e[t][n]=o):e[t]=o}}return{type:"Feature",properties:s,geometry:u?{type:"MultiLineString",coordinates:r}:{type:"LineString",coordinates:r[0]}}}function*s(e){const t=e.getElementsByTagName("trk"),n=e.getElementsByTagName("rte"),o=e.getElementsByTagName("wpt");for(let r=0;rArray(e.length).fill(null))),u[n][t]=e[n])}if(0!==r.length)return(c.length||a.length)&&(u.coordinateProperties=Object.assign(c.length?{times:1===r.length?c[0]:c}:{},a.length?{heart:1===r.length?a[0]:a}:{})),{type:"Feature",properties:u,geometry:{type:1===r.length?"LineString":"MultiLineString",coordinates:1===r.length?r[0]:r}}}function*f(e){const t=e.getElementsByTagName("Lap");for(let o=0;o0?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",de,[Object(o["createVNode"])(J["a"],{class:"top-pagination",pagination:Object(o["unref"])(p),path:"/workouts",query:Object(o["unref"])(m)},null,8,["pagination","query"]),Object(o["createElementVNode"])("table",null,[Object(o["createElementVNode"])("thead",null,[Object(o["createElementVNode"])("tr",null,[be,Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DATE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DISTANCE"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DURATION"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.AVE_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.MAX_SPEED"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.ASCENT"))),1),Object(o["createElementVNode"])("th",null,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.DESCENT"))),1)])]),Object(o["createElementVNode"])("tbody",null,[(Object(o["openBlock"])(!0),Object(o["createElementBlock"])(o["Fragment"],null,Object(o["renderList"])(Object(o["unref"])(O),(function(l){return Object(o["openBlock"])(),Object(o["createElementBlock"])("tr",{key:l.id},[Object(o["createElementVNode"])("td",Oe,[Object(o["createElementVNode"])("span",pe,Object(o["toDisplayString"])(e.$t("workouts.SPORT",1)),1),Object(o["unref"])(d).length>0?(Object(o["openBlock"])(),Object(o["createBlock"])(n,{key:0,title:Object(o["unref"])(d).find((function(e){return e.id===l.sport_id})).translatedLabel,"sport-label":Object(o["unref"])(a["b"])(l,Object(o["unref"])(d)),color:Object(o["unref"])(a["a"])(l,Object(o["unref"])(d))},null,8,["title","sport-label","color"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",{class:"workout-title",onMouseover:function(e){return v(l.id)},onMouseleave:t[0]||(t[0]=function(e){return v(null)})},[Object(o["createElementVNode"])("span",fe,Object(o["toDisplayString"])(Object(o["capitalize"])(e.$t("workouts.WORKOUT",1))),1),Object(o["createVNode"])(r,{class:"nav-item",to:{name:"Workout",params:{workoutId:l.id}}},{default:Object(o["withCtx"])((function(){return[l.with_gpx?(Object(o["openBlock"])(),Object(o["createElementBlock"])("i",je)):Object(o["createCommentVNode"])("",!0),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.title),1)]})),_:2},1032,["to"]),l.with_gpx&&f.value===l.id?(Object(o["openBlock"])(),Object(o["createBlock"])(Q["a"],{key:0,workout:l,"display-hover":!0},null,8,["workout"])):Object(o["createCommentVNode"])("",!0)],40,me),Object(o["createElementVNode"])("td",null,[Object(o["createElementVNode"])("span",ge,Object(o["toDisplayString"])(e.$t("workouts.DATE")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(Object(o["unref"])(X["a"])(Object(o["unref"])(re["c"])(l.workout_date,Object(o["unref"])(s).timezone),"dd/MM/yyyy HH:mm")),1)]),Object(o["createElementVNode"])("td",ke,[Object(o["createElementVNode"])("span",ye,Object(o["toDisplayString"])(e.$t("workouts.DISTANCE")),1),Object(o["createVNode"])(c,{distance:l.distance,unitFrom:"km",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",ve,[Object(o["createElementVNode"])("span",he,Object(o["toDisplayString"])(e.$t("workouts.DURATION")),1),Object(o["createTextVNode"])(" "+Object(o["toDisplayString"])(l.moving),1)]),Object(o["createElementVNode"])("td",Ee,[Object(o["createElementVNode"])("span",Ne,Object(o["toDisplayString"])(e.$t("workouts.AVE_SPEED")),1),Object(o["createVNode"])(c,{distance:l.ave_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",we,[Object(o["createElementVNode"])("span",Se,Object(o["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),Object(o["createVNode"])(c,{distance:l.max_speed,unitFrom:"km",speed:!0,useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])]),Object(o["createElementVNode"])("td",Ve,[Object(o["createElementVNode"])("span",Te,Object(o["toDisplayString"])(e.$t("workouts.ASCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.ascent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)]),Object(o["createElementVNode"])("td",De,[Object(o["createElementVNode"])("span",_e,Object(o["toDisplayString"])(e.$t("workouts.DESCENT")),1),l.with_gpx?(Object(o["openBlock"])(),Object(o["createBlock"])(c,{key:0,distance:l.descent,unitFrom:"m",useImperialUnits:Object(o["unref"])(s).imperial_units},null,8,["distance","useImperialUnits"])):Object(o["createCommentVNode"])("",!0)])])})),128))])]),Object(o["createVNode"])(J["a"],{pagination:Object(o["unref"])(p),path:"/workouts",query:Object(o["unref"])(m)},null,8,["pagination","query"])])):Object(o["createCommentVNode"])("",!0)],2),0===Object(o["unref"])(O).length?(Object(o["openBlock"])(),Object(o["createBlock"])(ee["a"],{key:0})):Object(o["createCommentVNode"])("",!0),Ie])}}});n("e358");const Ce=z()(xe,[["__scopeId","data-v-1ba1a972"]]);var Ae=Ce,Be={key:0,id:"workouts",class:"view"},Re={class:"container workouts-container"},Ue={class:"display-filters"},Le={class:"list-container"},$e=Object(o["defineComponent"])({setup:function(e){var t=Object(r["b"])(),n=t.t,c=Object(ne["a"])(),l=Object(o["computed"])((function(){return c.getters[te["a"].GETTERS.AUTH_USER_PROFILE]})),i=Object(o["computed"])((function(){return c.getters[te["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return Object(a["e"])(i.value,n)})),s=Object(o["ref"])(!0);function d(){s.value=!s.value}return function(e,t){return Object(o["unref"])(l).username?(Object(o["openBlock"])(),Object(o["createElementBlock"])("div",Be,[Object(o["createElementVNode"])("div",Re,[Object(o["createElementVNode"])("div",{class:Object(o["normalizeClass"])(["filters-container",{hidden:s.value}])},[Object(o["createVNode"])(q,{sports:Object(o["unref"])(u),authUser:Object(o["unref"])(l),onFilter:d},null,8,["sports","authUser"])],2),Object(o["createElementVNode"])("div",Ue,[Object(o["createElementVNode"])("div",{onClick:d},[Object(o["createElementVNode"])("i",{class:Object(o["normalizeClass"])("fa fa-caret-".concat(s.value?"down":"up")),"aria-hidden":"true"},null,2),Object(o["createElementVNode"])("span",null,Object(o["toDisplayString"])(e.$t("workouts.".concat(s.value?"DISPLAY":"HIDE","_FILTERS"))),1)])]),Object(o["createElementVNode"])("div",Le,[Object(o["createVNode"])(Ae,{user:Object(o["unref"])(l),sports:Object(o["unref"])(u)},null,8,["user","sports"])])])])):Object(o["createCommentVNode"])("",!0)}}});n("0d8e");const Me=z()($e,[["__scopeId","data-v-ed6df5ba"]]);t["default"]=Me},"0d8e":function(e,t,n){"use strict";n("8f45")},1998:function(e,t,n){},"1bf3":function(e,t,n){},"1f58":function(e,t,n){},"304a":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("f7f9"),l=(n("7db0"),n("d3b7"),n("99af"),function(e){return Object(r["pushScopeId"])("data-v-21fe0e9a"),e=e(),Object(r["popScopeId"])(),e}),i={id:"workout-card-title"},u=["title"],s=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1)})),d=[s],b={class:"workout-card-title"},O={class:"workout-title-date"},p={key:0,class:"workout-title"},m={key:1,class:"workout-title"},f={class:"workout-segment"},j=Object(r["createTextVNode"])(" — "),g=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-map-marker","aria-hidden":"true"},null,-1)})),k={class:"workout-date"},y={class:"workout-link"},v=["title"],h=l((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)})),E=[h],N=Object(r["defineComponent"])({props:{sport:null,workoutObject:null},emits:["displayModal"],setup:function(e,t){var n=t.emit,o=e,c=Object(r["toRefs"])(o),a=c.sport,l=c.workoutObject;return function(e,t){var o=Object(r["resolveComponent"])("SportImage"),c=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",i,[Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-previous workout-arrow",{inactive:!Object(r["unref"])(l).previousUrl}]),title:Object(r["unref"])(l).previousUrl?e.$t("workouts.PREVIOUS_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_PREVIOUS_".concat(Object(r["unref"])(l).type)),onClick:t[0]||(t[0]=function(t){return Object(r["unref"])(l).previousUrl?e.$router.push(Object(r["unref"])(l).previousUrl):null})},d,10,u),Object(r["createElementVNode"])("div",b,[Object(r["createVNode"])(o,{"sport-label":Object(r["unref"])(a).label,color:Object(r["unref"])(a).color},null,8,["sport-label","color"]),Object(r["createElementVNode"])("div",O,["WORKOUT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",p,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("i",{class:"fa fa-edit","aria-hidden":"true",onClick:t[1]||(t[1]=function(t){return e.$router.push({name:"EditWorkout",params:{workoutId:Object(r["unref"])(l).workoutId}})})}),Object(r["createElementVNode"])("i",{class:"fa fa-trash","aria-hidden":"true",onClick:t[2]||(t[2]=function(e){return n("displayModal",!0)})})])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",m,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).title)+" ",1),Object(r["createElementVNode"])("span",f,[j,g,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.SEGMENT"))+" "+Object(r["toDisplayString"])(Object(r["unref"])(l).segmentId+1),1)])])),Object(r["createElementVNode"])("div",k,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(l).workoutDate)+" - "+Object(r["toDisplayString"])(Object(r["unref"])(l).workoutTime)+" ",1),Object(r["createElementVNode"])("span",y,["SEGMENT"===Object(r["unref"])(l).type?(Object(r["openBlock"])(),Object(r["createBlock"])(c,{key:0,to:{name:"Workout",params:{workoutId:Object(r["unref"])(l).workoutId}}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(" > "+Object(r["toDisplayString"])(e.$t("workouts.BACK_TO_WORKOUT")),1)]})),_:1},8,["to"])):Object(r["createCommentVNode"])("",!0)])])])]),Object(r["createElementVNode"])("div",{class:Object(r["normalizeClass"])(["workout-next workout-arrow",{inactive:!Object(r["unref"])(l).nextUrl}]),title:Object(r["unref"])(l).nextUrl?e.$t("workouts.NEXT_".concat(Object(r["unref"])(l).type)):e.$t("workouts.NO_NEXT_".concat(Object(r["unref"])(l).type)),onClick:t[3]||(t[3]=function(t){return Object(r["unref"])(l).nextUrl?e.$router.push(Object(r["unref"])(l).nextUrl):null})},E,10,v)])}}}),w=(n("cdd7"),n("6b0d")),S=n.n(w);const V=S()(N,[["__scopeId","data-v-21fe0e9a"]]);var T=V,D=function(e){return Object(r["pushScopeId"])("data-v-2e8c6844"),e=e(),Object(r["popScopeId"])(),e},_={key:0,class:"workout-record"},I=D((function(){return Object(r["createElementVNode"])("sup",null,[Object(r["createElementVNode"])("i",{class:"fa fa-trophy","aria-hidden":"true"})],-1)})),x=[I],C=Object(r["defineComponent"])({props:{recordType:null,workoutObject:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.recordType,c=n.workoutObject;return function(e,t){return Object(r["unref"])(c).records&&Object(r["unref"])(c).records.find((function(e){return e.record_type===Object(r["unref"])(o)}))?(Object(r["openBlock"])(),Object(r["createElementBlock"])("span",_,x)):Object(r["createCommentVNode"])("",!0)}}});n("4168");const A=S()(C,[["__scopeId","data-v-2e8c6844"]]);var B=A,R=(n("b680"),n("a9e3"),function(e){return Object(r["pushScopeId"])("data-v-07781815"),e=e(),Object(r["popScopeId"])(),e}),U={key:0,id:"workout-weather"},L={class:"weather-table"},$=R((function(){return Object(r["createElementVNode"])("th",null,null,-1)})),M={class:"weather-th"},P=["src","alt","title"],F={class:"weather-th"},G=["src","alt","title"],W=["alt","title"],z=["alt","title"],H=["alt","title"],q=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.useImperialUnits,c=n.workoutObject;return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["unref"])(c).weatherStart&&Object(r["unref"])(c).weatherEnd?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",U,[Object(r["createElementVNode"])("table",L,[Object(r["createElementVNode"])("thead",null,[Object(r["createElementVNode"])("tr",null,[$,Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",M,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.START"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherStart.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherStart.icon))},null,8,P)])]),Object(r["createElementVNode"])("th",null,[Object(r["createElementVNode"])("div",F,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.END"))+" ",1),Object(r["createElementVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(Object(r["unref"])(c).weatherEnd.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(Object(r["unref"])(c).weatherEnd.icon))},null,8,G)])])])]),Object(r["createElementVNode"])("tbody",null,[Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/temperature.svg",alt:e.$t("workouts.WEATHER.TEMPERATURE"),title:e.$t("workouts.WEATHER.TEMPERATURE")},null,8,W)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherStart.temperature).toFixed(1))+"°C ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(Object(r["unref"])(c).weatherEnd.temperature).toFixed(1))+"°C ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/pour-rain.svg",alt:e.$t("workouts.WEATHER.HUMIDITY"),title:e.$t("workouts.WEATHER.HUMIDITY")},null,8,z)]),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherStart.humidity).toFixed(1))+"% ",1),Object(r["createElementVNode"])("td",null,Object(r["toDisplayString"])(Number(100*Object(r["unref"])(c).weatherEnd.humidity).toFixed(1))+"% ",1)]),Object(r["createElementVNode"])("tr",null,[Object(r["createElementVNode"])("td",null,[Object(r["createElementVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/breeze.svg",alt:e.$t("workouts.WEATHER.WIND"),title:e.$t("workouts.WEATHER.WIND")},null,8,H)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherStart.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)]),Object(r["createElementVNode"])("td",null,[Object(r["createVNode"])(n,{distance:Object(r["unref"])(c).weatherEnd.wind,unitFrom:"m",digits:1,displayUnit:!1,useImperialUnits:Object(r["unref"])(o)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Object(r["unref"])(o)?"ft":"m")+"/s ",1)])])])])])):Object(r["createCommentVNode"])("",!0)}}});n("f54d");const K=S()(q,[["__scopeId","data-v-07781815"]]);var Z=K,X=function(e){return Object(r["pushScopeId"])("data-v-a7c2d728"),e=e(),Object(r["popScopeId"])(),e},Y={id:"workout-info"},J={class:"workout-data"},Q=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1)})),ee={class:"label"},te=Object(r["createTextVNode"])(": "),ne={class:"value"},oe={key:0},re={class:"value"},ce={class:"value"},ae={class:"workout-data"},le=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-road","aria-hidden":"true"},null,-1)})),ie={class:"label"},ue=Object(r["createTextVNode"])(": "),se={class:"workout-data"},de=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-tachometer","aria-hidden":"true"},null,-1)})),be={class:"label"},Oe=Object(r["createTextVNode"])(": "),pe=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),me={class:"label"},fe=Object(r["createTextVNode"])(": "),je={key:0,class:"workout-data"},ge=["alt"],ke={class:"label"},ye=Object(r["createTextVNode"])(": "),ve=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),he={class:"label"},Ee=Object(r["createTextVNode"])(": "),Ne={key:1,class:"workout-data"},we=X((function(){return Object(r["createElementVNode"])("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1)})),Se={class:"label"},Ve=Object(r["createTextVNode"])(": "),Te=X((function(){return Object(r["createElementVNode"])("br",null,null,-1)})),De={class:"label"},_e=Object(r["createTextVNode"])(": "),Ie=Object(r["defineComponent"])({props:{workoutObject:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.workoutObject,c=n.useImperialUnits,a=Object(r["computed"])((function(){return"0:00:00"!==t.workoutObject.pauses&&null!==t.workoutObject.pauses}));return function(e,t){var n=Object(r["resolveComponent"])("Distance");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Y,[Object(r["createElementVNode"])("div",J,[Q,Object(r["createElementVNode"])("span",ee,Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1),te,Object(r["createElementVNode"])("span",ne,Object(r["toDisplayString"])(Object(r["unref"])(o).moving),1),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"LD"},null,8,["workoutObject"]),Object(r["unref"])(a)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",oe,[Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.PAUSES"))+": ",1),Object(r["createElementVNode"])("span",re,Object(r["toDisplayString"])(Object(r["unref"])(o).pauses),1),Object(r["createTextVNode"])(" - "+Object(r["toDisplayString"])(e.$t("workouts.TOTAL_DURATION"))+": ",1),Object(r["createElementVNode"])("span",ce,Object(r["toDisplayString"])(Object(r["unref"])(o).duration)+")",1)])):Object(r["createCommentVNode"])("",!0)]),Object(r["createElementVNode"])("div",ae,[le,Object(r["createElementVNode"])("span",ie,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1),ue,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).distance,digits:3,unitFrom:"km",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"FD"},null,8,["workoutObject"])]),Object(r["createElementVNode"])("div",se,[de,Object(r["createElementVNode"])("span",be,Object(r["toDisplayString"])(e.$t("workouts.AVERAGE_SPEED")),1),Oe,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).aveSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"AS"},null,8,["workoutObject"]),pe,Object(r["createElementVNode"])("span",me,Object(r["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),fe,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxSpeed,unitFrom:"km",speed:!0,strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createVNode"])(B,{workoutObject:Object(r["unref"])(o),recordType:"MS"},null,8,["workoutObject"])]),null!==Object(r["unref"])(o).maxAlt&&null!==Object(r["unref"])(o).minAlt?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",je,[Object(r["createElementVNode"])("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,ge),Object(r["createElementVNode"])("span",ke,Object(r["toDisplayString"])(e.$t("workouts.MIN_ALTITUDE")),1),ye,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).minAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),ve,Object(r["createElementVNode"])("span",he,Object(r["toDisplayString"])(e.$t("workouts.MAX_ALTITUDE")),1),Ee,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).maxAlt,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),null!==Object(r["unref"])(o).ascent&&null!==Object(r["unref"])(o).descent?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Ne,[we,Object(r["createElementVNode"])("span",Se,Object(r["toDisplayString"])(e.$t("workouts.ASCENT")),1),Ve,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).ascent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Te,Object(r["createElementVNode"])("span",De,Object(r["toDisplayString"])(e.$t("workouts.DESCENT")),1),_e,Object(r["createVNode"])(n,{distance:Object(r["unref"])(o).descent,unitFrom:"m",strong:!0,useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"])])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])(Z,{workoutObject:Object(r["unref"])(o),useImperialUnits:Object(r["unref"])(c)},null,8,["workoutObject","useImperialUnits"])])}}});n("54c5");const xe=S()(Ie,[["__scopeId","data-v-a7c2d728"]]);var Ce=xe,Ae=n("e94f"),Be=n("5afd"),Re=n("dad5"),Ue=n("2906"),Le=n("d257"),$e={id:"workout-map"},Me={key:0,class:"leaflet-container"},Pe={key:1},Fe={key:0,class:"leaflet-container"},Ge={key:1,class:"no-map"},We=Object(r["defineComponent"])({props:{workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(Ue["a"])(),o=Object(r["toRefs"])(t),c=o.workoutData,a=o.markerCoordinates,l=Object(r["ref"])(null),i=Object(r["computed"])((function(){return t.workoutData?[[t.workoutData.workout.bounds[0],t.workoutData.workout.bounds[1]],[t.workoutData.workout.bounds[2],t.workoutData.workout.bounds[3]]]:[]})),u=Object(r["computed"])((function(){return n.getters[Re["b"].GETTERS.APP_CONFIG]})),s=Object(r["computed"])((function(){return O(i)})),d=Object(r["computed"])((function(){return t.workoutData&&t.workoutData.gpx?b(t.workoutData.gpx):{}}));function b(e){if(!e||""!==e)try{var t=Object(Ae["gpx"])((new DOMParser).parseFromString(e,"text/xml"));return{jsonData:t}}catch(n){return console.error("Invalid gpx content"),{}}return{}}function O(e){return[(e.value[0][0]+e.value[1][0])/2,(e.value[0][1]+e.value[1][1])/2]}function p(e){var t,n;null!==(t=l.value)&&void 0!==t&&t.leafletObject&&(null===(n=l.value)||void 0===n||n.leafletObject.fitBounds(e))}return function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",$e,[Object(r["unref"])(c).loading?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Me)):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Pe,[Object(r["unref"])(c).workout.with_gpx?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Fe,[Object(r["unref"])(d).jsonData&&Object(r["unref"])(s)&&2===Object(r["unref"])(i).length?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Be["b"]),{key:0,zoom:13,center:Object(r["unref"])(s),bounds:Object(r["unref"])(i),ref:function(e,t){t["workoutMap"]=e,l.value=e},onReady:t[0]||(t[0]=function(e){return p(Object(r["unref"])(i))})},{default:Object(r["withCtx"])((function(){return[Object(r["createVNode"])(Object(r["unref"])(Be["d"]),{url:"".concat(Object(r["unref"])(Le["a"])(),"workouts/map_tile/{s}/{z}/{x}/{y}.png"),attribution:Object(r["unref"])(u).map_attribution,bounds:Object(r["unref"])(i)},null,8,["url","attribution","bounds"]),Object(r["createVNode"])(Object(r["unref"])(Be["a"]),{geojson:Object(r["unref"])(d).jsonData},null,8,["geojson"]),Object(r["unref"])(a).latitude?(Object(r["openBlock"])(),Object(r["createBlock"])(Object(r["unref"])(Be["c"]),{key:0,"lat-lng":[Object(r["unref"])(a).latitude,Object(r["unref"])(a).longitude]},null,8,["lat-lng"])):Object(r["createCommentVNode"])("",!0)]})),_:1},8,["center","bounds"])):Object(r["createCommentVNode"])("",!0)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Ge,Object(r["toDisplayString"])(e.$t("workouts.NO_MAP")),1))]))])}}});n("ac79");const ze=S()(We,[["__scopeId","data-v-b4b3006a"]]);var He=ze,qe=n("5e65"),Ke={class:"workout-detail"},Ze=Object(r["defineComponent"])({props:{authUser:null,displaySegment:null,sports:null,workoutData:null,markerCoordinates:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["c"])(),a=Object(Ue["a"])(),l=Object(r["toRefs"])(t),i=l.authUser,u=l.markerCoordinates,s=l.workoutData,d=Object(r["computed"])((function(){return t.workoutData.workout})),b=Object(r["ref"])(n.params.workoutId?+n.params.segmentId:null),O=Object(r["computed"])((function(){return d.value.segments.length>0&&b.value?d.value.segments[+b.value-1]:null})),p=Object(r["ref"])(!1),m=Object(r["computed"])((function(){return t.sports?t.sports.find((function(e){return e.id===t.workoutData.workout.sport_id})):{}})),f=Object(r["computed"])((function(){return g(d.value,O.value)}));function j(e,t,n){var o=t&&n&&1!==n?"/workouts/".concat(e.id,"/segment/").concat(n-1):!t&&e.previous_workout?"/workouts/".concat(e.previous_workout):null,r=t&&n&&n0&&k(O.value[e[0].dataIndex]),0===e.length?"":l.value?"".concat(a("workouts.DISTANCE"),": ").concat(e[0].label," ").concat(s):"".concat(a("workouts.DURATION"),": ").concat(g(e[0].label.replace(",","")))}}},legend:{display:!1},htmlLegend:{containerID:"chart-legend"}}}})),m=Object(Qe["useLineChart"])({chartData:b,options:p,plugins:[nt]}),f=m.lineChartProps;function j(){l.value=!l.value}function g(e){return new Date(1e3*+e).toISOString().substr(11,8)}function k(e){n("getCoordinates",e)}function y(){k({latitude:null,longitude:null})}function v(e){return o.authUser.imperial_units?ot["c"][e].defaultTarget:e}return function(e,t){var n=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",at,[Object(r["createVNode"])(n,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.ANALYSIS")),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",lt,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"distance",checked:Object(r["unref"])(l),onClick:j},null,8,it),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1)]),Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"radio",name:"duration",checked:!Object(r["unref"])(l),onClick:j},null,8,ut),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1)])]),st,Object(r["createVNode"])(Object(r["unref"])(Qe["LineChart"]),Object(r["mergeProps"])(Object(r["unref"])(f),{class:"line-chart",onMouseleave:y}),null,16),Object(r["createElementVNode"])("div",dt,[Object(r["createElementVNode"])("div",bt,Object(r["toDisplayString"])(e.$t("workouts.NO_DATA_CLEANING")),1),Object(r["createElementVNode"])("div",Ot,[Object(r["createElementVNode"])("label",null,[Object(r["createElementVNode"])("input",{type:"checkbox",checked:Object(r["unref"])(i),onClick:t[0]||(t[0]=function(e){return Object(r["isRef"])(i)?i.value=!Object(r["unref"])(i):i=!Object(r["unref"])(i)})},null,8,pt),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.START_ELEVATION_AT_ZERO")),1)])])])]})),_:1})])}}});n("e3fa");const ft=S()(mt,[["__scopeId","data-v-54dcb952"]]);var jt=ft,gt={id:"workout-note"},kt=Object(r["defineComponent"])({props:{notes:{default:function(){return null}}},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.notes;return function(e,t){var n=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",gt,[Object(r["createVNode"])(n,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.NOTES")),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(Object(r["unref"])(o)&&""!==Object(r["unref"])(o)?Object(r["unref"])(o):e.$t("workouts.NO_NOTES")),1)]})),_:1})])}}});n("d25b");const yt=S()(kt,[["__scopeId","data-v-6dd0f3c4"]]);var vt=yt,ht={id:"workout-segments"},Et=Object(r["defineComponent"])({props:{segments:null,useImperialUnits:null},setup:function(e){var t=e,n=Object(r["toRefs"])(t),o=n.segments,c=n.useImperialUnits;return function(e,t){var n=Object(r["resolveComponent"])("router-link"),a=Object(r["resolveComponent"])("Distance"),l=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",ht,[Object(r["createVNode"])(l,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",2)),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("ul",null,[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(o),(function(t,o){return Object(r["openBlock"])(),Object(r["createElementBlock"])("li",{key:t.segment_id},[Object(r["createVNode"])(n,{to:{name:"WorkoutSegment",params:{workoutId:t.workout_id,segmentId:o+1}}},{default:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",1))+" "+Object(r["toDisplayString"])(o+1),1)]})),_:2},1032,["to"]),Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+": ",1),Object(r["createVNode"])(a,{distance:t.distance,unitFrom:"km",useImperialUnits:Object(r["unref"])(c)},null,8,["distance","useImperialUnits"]),Object(r["createTextVNode"])(", "+Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+": "+Object(r["toDisplayString"])(t.duration)+") ",1)])})),128))])]})),_:1})])}}});n("f451");const Nt=S()(Et,[["__scopeId","data-v-73381f36"]]);var wt=Nt,St=function(e){return Object(r["pushScopeId"])("data-v-a8e74d78"),e=e(),Object(r["popScopeId"])(),e},Vt={id:"workout",class:"view"},Tt={class:"container"},Dt={key:0,class:"workout-container"},_t={key:0},It=St((function(){return Object(r["createElementVNode"])("div",{id:"bottom"},null,-1)})),xt={key:1},Ct=Object(r["defineComponent"])({props:{displaySegment:null},setup:function(e){var t=e,n=Object(c["c"])(),l=Object(Ue["a"])(),i=Object(r["toRefs"])(t),u=i.displaySegment,s=Object(r["computed"])((function(){return l.getters[Re["f"].GETTERS.WORKOUT_DATA]})),d=Object(r["computed"])((function(){return l.getters[Re["a"].GETTERS.AUTH_USER_PROFILE]})),b=Object(r["computed"])((function(){return l.getters[Re["c"].GETTERS.SPORTS]})),O=Object(r["ref"])({latitude:null,longitude:null});function p(e){O.value={latitude:e.latitude,longitude:e.longitude}}return Object(r["onBeforeMount"])((function(){var e={workoutId:n.params.workoutId};t.displaySegment&&(e.segmentId=n.params.segmentId),l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,e)})),Object(r["onUnmounted"])((function(){l.commit(Re["f"].MUTATIONS.EMPTY_WORKOUT)})),Object(r["watch"])((function(){return n.params.workoutId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t&&l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Object(r["watch"])((function(){return n.params.segmentId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){var o;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:n.params.workoutId&&(o={workoutId:n.params.workoutId},t&&(o.segmentId=t),l.dispatch(Re["f"].ACTIONS.GET_WORKOUT_DATA,o));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Vt,[Object(r["createElementVNode"])("div",Tt,[Object(r["unref"])(b).length>0?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",Dt,[Object(r["unref"])(s).workout.id?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",_t,[Object(r["createVNode"])(Ye,{workoutData:Object(r["unref"])(s),sports:Object(r["unref"])(b),authUser:Object(r["unref"])(d),markerCoordinates:Object(r["unref"])(O),displaySegment:Object(r["unref"])(u)},null,8,["workoutData","sports","authUser","markerCoordinates","displaySegment"]),Object(r["unref"])(s).workout.with_gpx&&Object(r["unref"])(s).chartData.length>0?(Object(r["openBlock"])(),Object(r["createBlock"])(jt,{key:0,workoutData:Object(r["unref"])(s),authUser:Object(r["unref"])(d),displaySegment:Object(r["unref"])(u),onGetCoordinates:p},null,8,["workoutData","authUser","displaySegment"])):Object(r["createCommentVNode"])("",!0),!Object(r["unref"])(u)&&Object(r["unref"])(s).workout.segments.length>1?(Object(r["openBlock"])(),Object(r["createBlock"])(wt,{key:1,segments:Object(r["unref"])(s).workout.segments,useImperialUnits:Object(r["unref"])(d).imperial_units},null,8,["segments","useImperialUnits"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(u)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(vt,{key:2,notes:Object(r["unref"])(s).workout.notes},null,8,["notes"])),It])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",xt,[Object(r["unref"])(s).loading?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(a["a"],{key:0,target:"WORKOUT"}))]))])):Object(r["createCommentVNode"])("",!0)])])}}});n("80ad");const At=S()(Ct,[["__scopeId","data-v-a8e74d78"]]);t["default"]=At},4168:function(e,t,n){"use strict";n("696e")},"423d":function(e,t,n){},"54c5":function(e,t,n){"use strict";n("1f58")},5618:function(e,t,n){},"5afd":function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return T})),n.d(t,"b",(function(){return x})),n.d(t,"c",(function(){return B})),n.d(t,"d",(function(){return P}));var o=n("7a23");const r=(e,t)=>{let n;return function(...o){const r=this;n&&clearTimeout(n),n=setTimeout(()=>{e.apply(r,o),n=null},t)}},c=e=>e&&"function"===typeof e.charAt?e.charAt(0).toUpperCase()+e.slice(1):e,a=(e,t,n)=>{for(const r in n){const a="set"+c(r);e[a]?Object(o["watch"])(()=>n[r],(t,n)=>{e[a](t,n)}):t[a]&&Object(o["watch"])(()=>n[r],e=>{t[a](e)})}},l=e=>{const t={};for(const n in e)if(n.startsWith("on")&&!n.startsWith("onUpdate")&&"onReady"!==n){const o=n.slice(2).toLocaleLowerCase();t[o]=e[n]}return t},i=async e=>{const t=await Promise.all([n.e("chunk-2d0c9189").then(n.t.bind(null,"584d",7)),n.e("chunk-2d0cf391").then(n.t.bind(null,"6397",7)),n.e("chunk-2d22523a").then(n.t.bind(null,"e2b9",7))]);delete e.Default.prototype._getIconUrl,e.Default.mergeOptions({iconRetinaUrl:t[0].default,iconUrl:t[1].default,shadowUrl:t[2].default})},u=e=>{const t=Object(o["ref"])(()=>console.warn(`Method ${e} has been invoked without being replaced`)),n=(...e)=>t.value(...e);return n.wrapped=t,Object(o["provide"])(e,n),n},s=(e,t)=>e.wrapped.value=t,d="object"===typeof self&&self.self===self&&self||"object"===typeof e&&e.global===e&&e||void 0,b="useGlobalLeaflet",O={options:{type:Object,default:()=>({})}},p=e=>({options:e.options,methods:{}}),m={...O,pane:{type:String,default:"overlayPane"},attribution:{type:String,default:null},name:{type:String,custom:!0,default:void 0},layerType:{type:String,custom:!0,default:void 0},visible:{type:Boolean,custom:!0,default:!0}},f=(e,t,n)=>{const r=Object(o["inject"])("addLayer"),c=Object(o["inject"])("removeLayer"),{options:a,methods:l}=p(e),i={...a,attribution:e.attribution,pane:e.pane},u=()=>r({leafletObject:t.value}),s=()=>c({leafletObject:t.value}),d={...l,setAttribution(e,t){const n=this.$parent.leafletObject.attributionControl;n.removeAttribution(t).addAttribution(e)},setName(){s(),e.visible&&u()},setLayerType(){s(),e.visible&&u()},setVisible(e){t.value&&(e?u():s())},bindPopup({leafletObject:e}){t.value.bindPopup(e)},bindTooltip({leafletObject:e}){t.value.bindTooltip(e)},unbindTooltip(){const e=t.value?t.value.getTooltip():null;e&&e.unbindTooltip()},unbindPopup(){const e=t.value?t.value.getPopup():null;e&&e.unbindPopup()},updateVisibleProp(e){n.emit("update:visible",e)}};return Object(o["provide"])("bindPopup",d.bindPopup),Object(o["provide"])("bindTooltip",d.bindTooltip),Object(o["provide"])("unbindTooltip",d.unbindTooltip),Object(o["provide"])("unbindPopup",d.unbindPopup),Object(o["onUnmounted"])(()=>{d.unbindPopup(),d.unbindTooltip(),s()}),{options:i,methods:d}},j=(e,t)=>{if(e&&t.default)return Object(o["h"])("div",{style:{display:"none"}},t.default())},g={...O,interactive:{type:Boolean,default:!0},bubblingMouseEvents:{type:Boolean,default:!0}},k={...m,...g,stroke:{type:Boolean,custom:!0,default:!0},color:{type:String,custom:!0,default:"#3388ff"},weight:{type:Number,custom:!0,default:3},opacity:{type:Number,custom:!0,default:1},lineCap:{type:String,custom:!0,default:"round"},lineJoin:{type:String,custom:!0,default:"round"},dashArray:{type:String,custom:!0,default:null},dashOffset:{type:String,custom:!0,default:null},fill:{type:Boolean,custom:!0,default:!1},fillColor:{type:String,custom:!0,default:"#3388ff"},fillOpacity:{type:Number,custom:!0,default:.2},fillRule:{type:String,custom:!0,default:"evenodd"},className:{type:String,custom:!0,default:null}},y={...k,latLng:{type:[Object,Array],custom:!0,default:null},radius:{type:Number,default:null}};const v={...O,position:{type:String,default:"topright"}},h=(e,t)=>{const{options:n,methods:r}=p(e),c={...n,position:e.position},a={...r,setPosition(e){t.value&&t.value.setPosition(e)}};return Object(o["onUnmounted"])(()=>{t.value&&t.value.remove()}),{options:c,methods:a}},E=e=>e.default?Object(o["h"])("div",{ref:"root"},e.default()):null;Boolean,Boolean;Boolean,Boolean,Boolean,Boolean;Boolean,Boolean,Boolean;const N={...m},w=(e,t,n)=>{const{options:r,methods:c}=f(e,t,n),a={...r},l={...c,addLayer(e){t.value.addLayer(e.leafletObject)},removeLayer(e){t.value.removeLayer(e.leafletObject)}};return Object(o["provide"])("addLayer",l.addLayer),Object(o["provide"])("removeLayer",l.removeLayer),{options:a,methods:l}};const S={...N,geojson:{type:[Object,Array],default:()=>({})}},V=(e,t)=>{const{options:n,methods:o}=w(e,t),r={...n,...e},c={...o,setGeojson(e){t.value.clearLayers(),t.value.addData(e)},getGeoJSONData(){return t.value.toGeoJSON()},getBounds(){return t.value.getBounds()}};return{options:r,methods:c}};var T={props:S,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["ref"])(!1),i=Object(o["inject"])(b),u=Object(o["inject"])("addLayer"),{methods:s,options:O}=V(e,r);return Object(o["onMounted"])(async()=>{const{geoJSON:b,DomEvent:p}=i?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.geojson,O);const m=l(t.attrs);p.on(r.value,m),a(s,r.value,e),u({...e,...s,leafletObject:r.value}),c.value=!0,Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{ready:c,leafletObject:r}},render(){return j(this.ready,this.$slots)},__file:"src/components/LGeoJson.vue"};const D={...m,pane:{type:String,default:"tilePane"},opacity:{type:Number,custom:!1,default:1},zIndex:{type:Number,default:1},tileSize:{type:Number,default:256},noWrap:{type:Boolean,default:!1},minZoom:{type:Number,default:0},maxZoom:{type:Number,default:void 0}},_=(e,t,n)=>{const{options:o,methods:r}=f(e,t,n),c={...o,pane:e.pane,opacity:e.opacity,zIndex:e.zIndex,tileSize:e.tileSize,noWrap:e.noWrap,minZoom:e.minZoom,maxZoom:e.maxZoom};return{options:c,methods:{...r}}};const I={iconUrl:{type:String,custom:!0,default:null},iconRetinaUrl:{type:String,custom:!0,default:null},iconSize:{type:[Object,Array],custom:!0,default:null},iconAnchor:{type:[Object,Array],custom:!0,default:null},popupAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},tooltipAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},shadowUrl:{type:String,custom:!0,default:null},shadowRetinaUrl:{type:String,custom:!0,default:null},shadowSize:{type:[Object,Array],custom:!0,default:null},shadowAnchor:{type:[Object,Array],custom:!0,default:null},bgPos:{type:[Object,Array],custom:!0,default:()=>[0,0]},className:{type:String,custom:!0,default:""},options:{type:Object,custom:!0,default:()=>({})}};Boolean,Boolean;var x={emits:["ready","update:zoom","update:center","update:bounds"],props:{...O,center:{type:[Object,Array],default:()=>[0,0]},bounds:{type:[Array,Object],default:void 0},maxBounds:{type:[Array,Object],default:void 0},zoom:{type:Number,default:0},minZoom:{type:Number,default:void 0},maxZoom:{type:Number,default:void 0},paddingBottomRight:{type:Array,default:void 0},paddingTopLeft:{type:Array,default:void 0},padding:{type:Array,default:void 0},worldCopyJump:{type:Boolean,default:!1},crs:{type:[String,Object],default:"EPSG3857"},maxBoundsViscosity:{type:Number,default:void 0},inertia:{type:Boolean,default:void 0},inertiaDeceleration:{type:Number,default:void 0},inertiaMaxSpeed:{type:Number,default:void 0},easeLinearity:{type:Number,default:void 0},zoomAnimation:{type:Boolean,default:void 0},zoomAnimationThreshold:{type:Number,default:void 0},fadeAnimation:{type:Boolean,default:void 0},markerZoomAnimation:{type:Boolean,default:void 0},noBlockingAnimations:{type:Boolean,default:!1},useGlobalLeaflet:{type:Boolean,default:!1}},setup(e,t){const c=Object(o["ref"])(null),O=Object(o["reactive"])({ready:!1,leafletRef:{},layersToAdd:[],layersInControl:[]}),{options:m}=p(e),f={...m,minZoom:e.minZoom,maxZoom:e.maxZoom,maxBounds:e.maxBounds,maxBoundsViscosity:e.maxBoundsViscosity,worldCopyJump:e.worldCopyJump,crs:e.crs,center:e.center,zoom:e.zoom,inertia:e.inertia,inertiaDeceleration:e.inertiaDeceleration,inertiaMaxSpeed:e.inertiaMaxSpeed,easeLinearity:e.easeLinearity,zoomAnimation:e.zoomAnimation,zoomAnimationThreshold:e.zoomAnimationThreshold,fadeAnimation:e.fadeAnimation,markerZoomAnimation:e.markerZoomAnimation},j=u("addLayer"),g=u("removeLayer"),k=u("registerControl"),y=u("registerLayerControl");Object(o["provide"])(b,e.useGlobalLeaflet);const v={moveEndHandler(){t.emit("update:zoom",O.leafletRef.getZoom()),t.emit("update:center",O.leafletRef.getCenter()),t.emit("update:bounds",O.leafletRef.getBounds())},overlayAddHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!0)},overlayRemoveHandler(e){const t=O.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!1)}};Object(o["onMounted"])(async()=>{e.useGlobalLeaflet&&(d.L=d.L||await n.e("chunk-2d2248b6").then(n.t.bind(null,"e11e",7)));const{map:u,CRS:b,Icon:p,latLngBounds:m,latLng:h,DomEvent:E}=e.useGlobalLeaflet?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));try{f.beforeMapMount&&await f.beforeMapMount()}catch(V){console.error("The following error occurred running the provided beforeMapMount hook "+V.message)}await i(p);const N="string"==typeof f.crs?b[f.crs]:f.crs;f.crs=N||b.EPSG3857;const w={addLayer(e){if(void 0!==e.layerType)if(void 0===O.layerControl)O.layersToAdd.push(e);else{const t=O.layersInControl.find(t=>t.leafletObject._leaflet_id===e.leafletObject._leaflet_id);t||(O.layerControl.addLayer(e),O.layersInControl.push(e))}!1!==e.visible&&O.leafletRef.addLayer(e.leafletObject)},removeLayer(e){void 0!==e.layerType&&(void 0===O.layerControl?O.layersToAdd=O.layersToAdd.filter(t=>t.name!==e.name):(O.layerControl.removeLayer(e.leafletObject),O.layersInControl=O.layersInControl.filter(t=>t.leafletObject._leaflet_id!==e.leafletObject._leaflet_id))),O.leafletRef.removeLayer(e.leafletObject)},registerLayerControl(e){O.layerControl=e,O.layersToAdd.forEach(e=>{O.layerControl.addLayer(e)}),O.layersToAdd=[],k(e)},registerControl(e){O.leafletRef.addControl(e.leafletObject)},setZoom(t){const n=O.leafletRef.getZoom();t!==n&&O.leafletRef.setZoom(t,{animate:!e.noBlockingAnimations&&null})},setPaddingBottomRight(e){O.paddingBottomRight=e},setPaddingTopLeft(e){O.paddingTopLeft=e},setPadding(e){O.padding=e},setCrs(e){const t=O.leafletRef.getBounds();O.leafletRef.options.crs=e,O.leafletRef.fitBounds(t,{animate:!1,padding:[0,0]})},fitBounds(e){O.leafletRef.fitBounds(e,{animate:!this.noBlockingAnimations&&null})},setBounds(e){if(!e)return;const t=m(e);if(!t.isValid())return;const n=O.lastSetBounds||O.leafletRef.getBounds(),o=!n.equals(t,0);o&&(O.lastSetBounds=t,O.leafletRef.fitBounds(t,this.fitBoundsOptions))},setCenter(e){if(null==e)return;const t=h(e),n=O.lastSetCenter||O.leafletRef.getCenter();n.lat===t.lat&&n.lng===t.lng||(O.lastSetCenter=t,O.leafletRef.panTo(t,{animate:!this.noBlockingAnimations&&null}))}};s(j,w.addLayer),s(g,w.removeLayer),s(k,w.registerControl),s(y,w.registerLayerControl),O.leafletRef=u(c.value,f),a(w,O.leafletRef,e);const S=l(t.attrs);O.leafletRef.on("moveend",r(v.moveEndHandler,100)),O.leafletRef.on("overlayadd",v.overlayAddHandler),O.leafletRef.on("overlayremove",v.overlayRemoveHandler),E.on(O.leafletRef,S),O.ready=!0,Object(o["nextTick"])(()=>t.emit("ready",O.leafletRef))}),Object(o["onBeforeUnmount"])(()=>{O.leafletRef&&O.leafletRef.remove()});const h=Object(o["computed"])(()=>O.leafletRef),E=Object(o["computed"])(()=>O.ready);return{root:c,ready:E,leafletObject:h}},render(){return Object(o["h"])("div",{style:{width:"100%",height:"100%"},ref:"root"},this.ready?this.$slots.default():{})},__file:"src/components/LMap.vue"};const C={...m,pane:{type:String,default:"markerPane"},draggable:{type:Boolean,custom:!0,default:!1},latLng:{type:[Object,Array],custom:!0,default:null},icon:{type:[Object],default:()=>{},custom:!1},zIndexOffset:{type:Number,custom:!1,default:null}},A=(e,t,n)=>{const{options:o,methods:r}=f(e,t,n),c={...o,...e},a={...r,setDraggable(e){t.value.dragging&&(e?t.value.dragging.enable():t.value.dragging.disable())},latLngSync(e){n.emit("update:latLng",e.latlng),n.emit("update:lat-lng",e.latlng)},setLatLng(e){if(null!=e&&t.value){const n=t.value.getLatLng();n&&n.equals(e)||t.value.setLatLng(e)}}};return{options:c,methods:a}};var B={name:"LMarker",props:C,setup(e,t){const c=Object(o["ref"])({}),i=Object(o["ref"])(!1),u=Object(o["inject"])(b),s=Object(o["inject"])("addLayer");Object(o["provide"])("canSetParentHtml",()=>!!c.value.getElement()),Object(o["provide"])("setParentHtml",e=>c.value.getElement().innerHTML=e),Object(o["provide"])("setIcon",e=>c.value.setIcon&&c.value.setIcon(e));const{options:O,methods:p}=A(e,c,t);return void 0===O.icon&&delete O.icon,Object(o["onMounted"])(async()=>{const{marker:b,DomEvent:m}=u?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));c.value=b(e.latLng,O);const f=l(t.attrs);m.on(c.value,f),c.value.on("move",r(p.latLngSync,100)),a(p,c.value,e),s({...e,...p,leafletObject:c.value}),i.value=!0,Object(o["nextTick"])(()=>t.emit("ready",c.value))}),{ready:i,leafletObject:c}},render(){return j(this.ready,this.$slots)},__file:"src/components/LMarker.vue"};const R={...k,latLngs:{type:Array,default:()=>[]},smoothFactor:{type:Number,custom:!0,default:1},noClip:{type:Boolean,custom:!0,default:!1}},U={...R};const L={...O,content:{type:String,default:null}};const $={...D,tms:{type:Boolean,default:!1},subdomains:{type:String,default:"abc"},detectRetina:{type:Boolean,default:!1},url:{type:String,default:null}},M=(e,t)=>{const{options:n,methods:o}=_(e,t),r={...n,tms:e.tms,subdomains:e.subdomains,detectRetina:e.detectRetina};return{options:r,methods:{...o}}};var P={props:$,setup(e,t){const r=Object(o["ref"])({}),c=Object(o["inject"])(b),i=Object(o["inject"])("addLayer"),{options:u,methods:s}=M(e,r);return Object(o["onMounted"])(async()=>{const{tileLayer:b,DomEvent:O}=c?d.L:await n.e("chunk-2d0da8f3").then(n.bind(null,"6bb3"));r.value=b(e.url,u);const p=l(t.attrs);O.on(r.value,p),a(s,r.value,e),i({...e,...s,leafletObject:r.value}),Object(o["nextTick"])(()=>t.emit("ready",r.value))}),{leafletObject:r}},render(){return null},__file:"src/components/LTileLayer.vue"};Boolean,Boolean}).call(this,n("c8ba"))},"5c76":function(e,t,n){"use strict";var o=n("1da1"),r=(n("96cf"),n("ac1f"),n("1276"),n("b680"),n("99af"),n("7a23")),c=n("47e2"),a=n("6c02"),l=n("dad5"),i=n("2906"),u=n("5e65"),s=n("c364"),d=n("1119"),b=n("6284"),O={id:"workout-form"},p=["onSubmit"],m={class:"form-items"},f={key:0,class:"form-item-radio"},j=["checked","disabled"],g={for:"withGpx"},k=["checked","disabled"],y={for:"withoutGpx"},v={class:"form-item"},h=["disabled"],E=["value"],N={key:1,class:"form-item"},w={for:"gpxFile"},S=["disabled"],V={class:"files-help info-box"},T={key:2,class:"form-item"},D={for:"title"},_=["required","disabled"],I={key:3},x={class:"workout-date-duration"},C={class:"form-item"},A={class:"workout-date-time"},B=["disabled"],R=["disabled"],U={class:"form-item"},L=["disabled"],$=Object(r["createTextVNode"])(" : "),M=["disabled"],P=Object(r["createTextVNode"])(" : "),F=["disabled"],G={class:"form-item"},W=["disabled"],z={class:"form-item"},H={key:1},q={key:2,class:"form-buttons"},K=["disabled"],Z=["onClick"],X=Object(r["defineComponent"])({props:{authUser:null,sports:null,isCreation:{default:!1},loading:{default:!1},workout:{default:function(){return{}}}},setup:function(e){var t=e,n=Object(c["b"])(),X=n.t,Y=Object(i["a"])(),J=Object(a["d"])(),Q=Object(r["toRefs"])(t),ee=Q.authUser,te=Q.workout,ne=Q.isCreation,oe=Q.loading,re=Object(r["computed"])((function(){return Object(d["e"])(t.sports,X,!0,te.value.id?[te.value.sport_id]:null)})),ce=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.APP_CONFIG]})),ae=ce.value.max_single_file_size?Object(s["b"])(ce.value.max_single_file_size):"",le=ce.value.gpx_limit_import,ie=ce.value.max_zip_file_size?Object(s["b"])(ce.value.max_zip_file_size):"",ue=Object(r["computed"])((function(){return Y.getters[l["b"].GETTERS.ERROR_MESSAGES]})),se=Object(r["reactive"])({sport_id:"",title:"",notes:"",workoutDate:"",workoutTime:"",workoutDurationHour:"",workoutDurationMinutes:"",workoutDurationSeconds:"",workoutDistance:""}),de=Object(r["ref"])(t.workout.id?t.workout.with_gpx:t.isCreation),be=null,Oe=Object(r["ref"])(!1);function pe(e){se.notes=e}function me(){de.value=!de.value,Oe.value=!1}function fe(e){e.target.files&&(be=e.target.files[0])}function je(e){if(se.sport_id="".concat(e.sport_id),se.title=e.title,se.notes=e.notes,!e.with_gpx){var n=Object(u["a"])(Object(u["c"])(e.workout_date,t.authUser.timezone),"yyyy-MM-dd"),o=e.duration.split(":");se.workoutDistance="".concat(ee.value.imperial_units?Object(b["a"])(e.distance,"km","mi",2):parseFloat(e.distance.toFixed(2))),se.workoutDate=n.workout_date,se.workoutTime=n.workout_time,se.workoutDurationHour=o[0],se.workoutDurationMinutes=o[1],se.workoutDurationSeconds=o[2]}}function ge(e){e.title=se.title,e.distance=ee.value.imperial_units?Object(b["a"])(+se.workoutDistance,"mi","km",3):+se.workoutDistance,e.duration=3600*+se.workoutDurationHour+60*+se.workoutDurationMinutes+ +se.workoutDurationSeconds,e.workout_date="".concat(se.workoutDate," ").concat(se.workoutTime)}function ke(){var e={sport_id:+se.sport_id,notes:se.notes};if(t.workout.id)t.workout.with_gpx?e.title=se.title:ge(e),Y.dispatch(l["f"].ACTIONS.EDIT_WORKOUT,{workoutId:t.workout.id,data:e});else if(de.value){if(!be){var n="workouts.NO_FILE_PROVIDED";return void Y.commit(l["b"].MUTATIONS.SET_ERROR_MESSAGES,n)}e.file=be,Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT,e)}else ge(e),Y.dispatch(l["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,e)}function ye(){t.workout.id?J.push({name:"Workout",params:{workoutId:t.workout.id}}):J.go(-1)}function ve(){Oe.value=!0}return Object(r["onMounted"])((function(){t.workout.id&&je(t.workout)})),Object(r["onUnmounted"])((function(){return Y.commit(l["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),Object(r["watch"])((function(){return t.workout}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t,n){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t!==n&&t&&t.id&&je(t);case 1:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()),function(e,t){var n=Object(r["resolveComponent"])("CustomTextArea"),o=Object(r["resolveComponent"])("ErrorMessage"),c=Object(r["resolveComponent"])("Loader"),a=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",{id:"workout-edition",class:Object(r["normalizeClass"])(["center-card center-card with-margin",{"center-form":Object(r["unref"])(te)&&Object(r["unref"])(te).with_gpx}])},[Object(r["createVNode"])(a,null,{title:Object(r["withCtx"])((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.".concat(Object(r["unref"])(ne)?"ADD":"EDIT","_WORKOUT"))),1)]})),content:Object(r["withCtx"])((function(){return[Object(r["createElementVNode"])("div",O,[Object(r["createElementVNode"])("form",{class:Object(r["normalizeClass"])({errors:Oe.value}),onSubmit:Object(r["withModifiers"])(ke,["prevent"])},[Object(r["createElementVNode"])("div",m,[Object(r["unref"])(ne)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",f,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withGpx",type:"radio",checked:Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:me},null,8,j),Object(r["createElementVNode"])("label",g,Object(r["toDisplayString"])(e.$t("workouts.WITH_GPX")),1)]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("input",{id:"withoutGpx",type:"radio",checked:!Object(r["unref"])(de),disabled:Object(r["unref"])(oe),onClick:me},null,8,k),Object(r["createElementVNode"])("label",y,Object(r["toDisplayString"])(e.$t("workouts.WITHOUT_GPX")),1)])])):Object(r["createCommentVNode"])("",!0),Object(r["createElementVNode"])("div",v,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.SPORT",1))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("select",{id:"sport",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[0]||(t[0]=function(e){return Object(r["unref"])(se).sport_id=e})},[(Object(r["openBlock"])(!0),Object(r["createElementBlock"])(r["Fragment"],null,Object(r["renderList"])(Object(r["unref"])(re),(function(e){return Object(r["openBlock"])(),Object(r["createElementBlock"])("option",{value:e.id,key:e.id},Object(r["toDisplayString"])(e.translatedLabel),9,E)})),128))],40,h),[[r["vModelSelect"],Object(r["unref"])(se).sport_id]])]),Object(r["unref"])(ne)&&Object(r["unref"])(de)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",N,[Object(r["createElementVNode"])("label",w,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+" "+Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE_DESCRIPTION"))+": ",1),Object(r["createElementVNode"])("input",{id:"gpxFile",name:"gpxFile",type:"file",accept:".gpx, .zip",disabled:Object(r["unref"])(oe),required:"",onInvalid:ve,onInput:fe},null,40,S),Object(r["createElementVNode"])("div",V,[Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ae)),1)])]),Object(r["createElementVNode"])("div",null,[Object(r["createElementVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE"))+":",1),Object(r["createElementVNode"])("ul",null,[Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.NO_FOLDER")),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_FILES"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(le)),1),Object(r["createElementVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(Object(r["unref"])(ie)),1)])])])])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",T,[Object(r["createElementVNode"])("label",D,Object(r["toDisplayString"])(e.$t("workouts.TITLE"))+": ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"title",name:"title",type:"text",required:!Object(r["unref"])(ne),onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[1]||(t[1]=function(e){return Object(r["unref"])(se).title=e})},null,40,_),[[r["vModelText"],Object(r["unref"])(se).title]])])),Object(r["unref"])(de)?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",I,[Object(r["createElementVNode"])("div",x,[Object(r["createElementVNode"])("div",C,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT_DATE"))+":",1),Object(r["createElementVNode"])("div",A,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-date",name:"workout-date",type:"date",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[2]||(t[2]=function(e){return Object(r["unref"])(se).workoutDate=e})},null,40,B),[[r["vModelText"],Object(r["unref"])(se).workoutDate]]),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-time",name:"workout-time",class:"workout-time",type:"time",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[3]||(t[3]=function(e){return Object(r["unref"])(se).workoutTime=e})},null,40,R),[[r["vModelText"],Object(r["unref"])(se).workoutTime]])])]),Object(r["createElementVNode"])("div",U,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+":",1),Object(r["createElementVNode"])("div",null,[Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-hour",name:"workout-duration-hour",class:"workout-duration",type:"text",placeholder:"HH",pattern:"^([0-1]?[0-9]|2[0-3])$",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[4]||(t[4]=function(e){return Object(r["unref"])(se).workoutDurationHour=e})},null,40,L),[[r["vModelText"],Object(r["unref"])(se).workoutDurationHour]]),$,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-minutes",name:"workout-duration-minutes",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"MM",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[5]||(t[5]=function(e){return Object(r["unref"])(se).workoutDurationMinutes=e})},null,40,M),[[r["vModelText"],Object(r["unref"])(se).workoutDurationMinutes]]),P,Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{id:"workout-duration-seconds",name:"workout-duration-seconds",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"SS",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[6]||(t[6]=function(e){return Object(r["unref"])(se).workoutDurationSeconds=e})},null,40,F),[[r["vModelText"],Object(r["unref"])(se).workoutDurationSeconds]])])])]),Object(r["createElementVNode"])("div",G,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+" ("+Object(r["toDisplayString"])(Object(r["unref"])(ee).imperial_units?"mi":"km")+"): ",1),Object(r["withDirectives"])(Object(r["createElementVNode"])("input",{name:"workout-distance",type:"number",min:"0",step:"0.001",required:"",onInvalid:ve,disabled:Object(r["unref"])(oe),"onUpdate:modelValue":t[7]||(t[7]=function(e){return Object(r["unref"])(se).workoutDistance=e})},null,40,W),[[r["vModelText"],Object(r["unref"])(se).workoutDistance]])])])),Object(r["createElementVNode"])("div",z,[Object(r["createElementVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.NOTES"))+": ",1),Object(r["createVNode"])(n,{name:"notes",input:Object(r["unref"])(se).notes,disabled:Object(r["unref"])(oe),onUpdateValue:pe},null,8,["input","disabled"])])]),Object(r["unref"])(ue)?(Object(r["openBlock"])(),Object(r["createBlock"])(o,{key:0,message:Object(r["unref"])(ue)},null,8,["message"])):Object(r["createCommentVNode"])("",!0),Object(r["unref"])(oe)?(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",H,[Object(r["createVNode"])(c)])):(Object(r["openBlock"])(),Object(r["createElementBlock"])("div",q,[Object(r["createElementVNode"])("button",{class:"confirm",type:"submit",disabled:Object(r["unref"])(oe)},Object(r["toDisplayString"])(e.$t("buttons.SUBMIT")),9,K),Object(r["createElementVNode"])("button",{class:"cancel",onClick:Object(r["withModifiers"])(ye,["prevent"])},Object(r["toDisplayString"])(e.$t("buttons.CANCEL")),9,Z)]))],42,p)])]})),_:1})],2)}}}),Y=(n("fadc"),n("6b0d")),J=n.n(Y);const Q=J()(X,[["__scopeId","data-v-225fffcc"]]);t["a"]=Q},"692d":function(e,t,n){"use strict";n.r(t);var o=n("7a23"),r=n("5c76"),c=n("dad5"),a=n("2906"),l={id:"add-workout",class:"view"},i={class:"container"},u=Object(o["defineComponent"])({setup:function(e){var t=Object(a["a"])(),n=Object(o["computed"])((function(){return t.getters[c["c"].GETTERS.SPORTS]})),u=Object(o["computed"])((function(){return t.getters[c["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(o["computed"])((function(){return t.getters[c["f"].GETTERS.WORKOUT_DATA]}));return function(e,t){return Object(o["openBlock"])(),Object(o["createElementBlock"])("div",l,[Object(o["createElementVNode"])("div",i,[Object(o["createVNode"])(r["a"],{authUser:Object(o["unref"])(u),sports:Object(o["unref"])(n),isCreation:!0,loading:Object(o["unref"])(s).loading},null,8,["authUser","sports","loading"])])])}}});const s=u;t["default"]=s},"696e":function(e,t,n){},7156:function(e,t,n){var o=n("1626"),r=n("861d"),c=n("d2bb");e.exports=function(e,t,n){var a,l;return c&&o(a=t.constructor)&&a!==n&&r(l=a.prototype)&&l!==n.prototype&&c(e,l),e}},"80ad":function(e,t,n){"use strict";n("1bf3")},"8ce4":function(e,t,n){},"8ee9":function(e,t,n){"use strict";n.r(t);var o=n("1da1"),r=(n("96cf"),n("7a23")),c=n("6c02"),a=n("5c76"),l=n("dad5"),i=n("2906"),u={id:"edit-workout",class:"view"},s={class:"container"},d=Object(r["defineComponent"])({setup:function(e){var t=Object(c["c"])(),n=Object(i["a"])(),d=Object(r["computed"])((function(){return n.getters[l["a"].GETTERS.AUTH_USER_PROFILE]})),b=Object(r["computed"])((function(){return n.getters[l["c"].GETTERS.SPORTS]})),O=Object(r["computed"])((function(){return n.getters[l["f"].GETTERS.WORKOUT_DATA]}));return Object(r["onBeforeMount"])((function(){n.dispatch(l["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.params.workoutId})})),Object(r["watch"])((function(){return t.params.workoutId}),function(){var e=Object(o["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t||n.commit(l["f"].MUTATIONS.EMPTY_WORKOUT);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),function(e,t){return Object(r["openBlock"])(),Object(r["createElementBlock"])("div",u,[Object(r["createElementVNode"])("div",s,[Object(r["createVNode"])(a["a"],{authUser:Object(r["unref"])(d),sports:Object(r["unref"])(b),workout:Object(r["unref"])(O).workout,loading:Object(r["unref"])(O).loading},null,8,["authUser","sports","workout","loading"])])])}}});const b=d;t["default"]=b},"8f45":function(e,t,n){},"94ed":function(e,t,n){},"95b0":function(e,t,n){"use strict";n("1998")},"97f1":function(e,t,n){},a9e3:function(e,t,n){"use strict";var o=n("83ab"),r=n("da84"),c=n("e330"),a=n("94ca"),l=n("6eeb"),i=n("1a2d"),u=n("7156"),s=n("3a9b"),d=n("d9b5"),b=n("c04e"),O=n("d039"),p=n("241c").f,m=n("06cf").f,f=n("9bf2").f,j=n("408a"),g=n("58a8").trim,k="Number",y=r[k],v=y.prototype,h=r.TypeError,E=c("".slice),N=c("".charCodeAt),w=function(e){var t=b(e,"number");return"bigint"==typeof t?t:S(t)},S=function(e){var t,n,o,r,c,a,l,i,u=b(e,"number");if(d(u))throw h("Cannot convert a Symbol value to a number");if("string"==typeof u&&u.length>2)if(u=g(u),t=N(u,0),43===t||45===t){if(n=N(u,2),88===n||120===n)return NaN}else if(48===t){switch(N(u,1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(c=E(u,2),a=c.length,l=0;lr)return NaN;return parseInt(c,o)}return+u};if(a(k,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var V,T=function(e){var t=arguments.length<1?0:y(w(e)),n=this;return s(v,n)&&O((function(){j(n)}))?u(Object(t),n,T):t},D=o?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),_=0;D.length>_;_++)i(y,V=D[_])&&!i(T,V)&&f(T,V,m(y,V));T.prototype=v,v.constructor=T,l(r,k,T)}},ac79:function(e,t,n){"use strict";n("8ce4")},bbf3:function(e,t,n){},c23a:function(e,t,n){},cdd7:function(e,t,n){"use strict";n("423d")},d25b:function(e,t,n){"use strict";n("5618")},d636:function(e,t,n){},d917:function(e,t,n){"use strict";n("c23a")},e358:function(e,t,n){"use strict";n("97f1")},e3fa:function(e,t,n){"use strict";n("ff14")},e94f:function(e,t,n){!function(e,n){n(t)}(0,(function(e){"use strict";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||""}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const r=n(e,"line");if(r){const e=t(n(r,"color")),c=parseFloat(t(n(r,"opacity"))),a=parseFloat(t(n(r,"width")));e&&(o.stroke=e),isNaN(c)||(o["stroke-opacity"]=c),isNaN(a)||(o["stroke-width"]=96*a/25.4)}}return o}function r(e,o){const r={};let c,a;for(a=0;a1,s=Object.assign(c(e),o(n(e,"extensions")),{_gpxType:"trk"},a.length?{coordinateProperties:{times:u?a:a[0]}}:{});for(let n=0;nnew Array(e.line.length).fill(null))),e[t][n]=o):e[t]=o}}return{type:"Feature",properties:s,geometry:u?{type:"MultiLineString",coordinates:r}:{type:"LineString",coordinates:r[0]}}}function*s(e){const t=e.getElementsByTagName("trk"),n=e.getElementsByTagName("rte"),o=e.getElementsByTagName("wpt");for(let r=0;rArray(e.length).fill(null))),u[n][t]=e[n])}if(0!==r.length)return(c.length||a.length)&&(u.coordinateProperties=Object.assign(c.length?{times:1===r.length?c[0]:c}:{},a.length?{heart:1===r.length?a[0]:a}:{})),{type:"Feature",properties:u,geometry:{type:1===r.length?"LineString":"MultiLineString",coordinates:1===r.length?r[0]:r}}}function*j(e){const t=e.getElementsByTagName("Lap");for(let o=0;o (_pushScopeId(\"data-v-06d30f25\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-filters\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"form\" }\nconst _hoisted_4 = { class: \"form-items-group\" }\nconst _hoisted_5 = { class: \"form-item\" }\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-item\" }\nconst _hoisted_8 = [\"value\"]\nconst _hoisted_9 = { class: \"form-items-group\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"\" }, null, -1))\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-items-group\" }\nconst _hoisted_15 = { class: \"form-item\" }\nconst _hoisted_16 = { class: \"form-inputs-group\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = [\"value\"]\nconst _hoisted_19 = { class: \"form-items-group\" }\nconst _hoisted_20 = { class: \"form-item\" }\nconst _hoisted_21 = { class: \"form-inputs-group\" }\nconst _hoisted_22 = [\"value\"]\nconst _hoisted_23 = [\"value\"]\nconst _hoisted_24 = { class: \"form-items-group\" }\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = { class: \"form-inputs-group\" }\nconst _hoisted_27 = [\"value\"]\nconst _hoisted_28 = [\"value\"]\nconst _hoisted_29 = { class: \"form-items-group\" }\nconst _hoisted_30 = { class: \"form-item\" }\nconst _hoisted_31 = { class: \"form-inputs-group\" }\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = [\"value\"]\nconst _hoisted_34 = { class: \"form-button\" }\n\nimport { ComputedRef, computed, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n import { units } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null\n },\n emits: ['filter'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n sports: ISport[]\n }\n\n \n\n \n\n const { t } = useI18n()\n const route = useRoute()\n const router = useRouter()\n\n const { authUser } = toRefs(props)\n\n const toUnit = authUser.value.imperial_units\n ? units['km'].defaultTarget\n : 'km'\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n let params: LocationQuery = Object.assign({}, route.query)\n\n function handleFilterChange(event: Event & { target: HTMLInputElement }) {\n if (event.target.value === '') {\n delete params[event.target.name]\n } else {\n params[event.target.name] = event.target.value\n }\n }\n function onFilter() {\n emit('filter')\n if ('page' in params) {\n params['page'] = '1'\n }\n router.push({ path: '/workouts', query: params })\n }\n function onClearFilter() {\n emit('filter')\n router.push({ path: '/workouts', query: {} })\n }\n\n watch(\n () => route.query,\n (newQuery) => {\n params = Object.assign({}, newQuery)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.FROM')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"from\",\n type: \"date\",\n value: _ctx.$route.query.from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_6)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.TO')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"to\",\n type: \"date\",\n value: _ctx.$route.query.to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_8)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \":\", 1),\n _createElementVNode(\"select\", {\n name: \"sport_id\",\n value: _ctx.$route.query.sport_id,\n onChange: handleFilterChange\n }, [\n _hoisted_12,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports).filter((s) =>\n _unref(authUser).sports_list.includes(s.id)\n ), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_13))\n }), 128))\n ], 40, _hoisted_11)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"input\", {\n name: \"distance_from\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_17),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"distance_to\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_18)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"input\", {\n name: \"duration_from\",\n value: _ctx.$route.query.duration_from,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_22),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"duration_to\",\n value: _ctx.$route.query.duration_to,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_23)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_from\",\n value: _ctx.$route.query.ave_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_27),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_to\",\n value: _ctx.$route.query.ave_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_28)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_from\",\n value: _ctx.$route.query.max_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_32),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_to\",\n value: _ctx.$route.query.max_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_33)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onFilter\n }, _toDisplayString(_ctx.$t('buttons.FILTER')), 1),\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onClearFilter\n }, _toDisplayString(_ctx.$t('buttons.CLEAR_FILTER')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-06d30f25\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1ba1a972\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-list\" }\nconst _hoisted_2 = { class: \"total\" }\nconst _hoisted_3 = { class: \"total-label\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 0,\n class: \"workouts-table responsive-table\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", { class: \"sport-col\" }, null, -1))\nconst _hoisted_7 = { class: \"sport-col\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"onMouseover\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-right\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-right\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = { class: \"text-right\" }\nconst _hoisted_18 = { class: \"cell-heading\" }\nconst _hoisted_19 = { class: \"text-right\" }\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = { class: \"text-right\" }\nconst _hoisted_22 = { class: \"cell-heading\" }\nconst _hoisted_23 = { class: \"text-right\" }\nconst _hoisted_24 = { class: \"cell-heading\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n capitalize,\n onBeforeMount,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import StaticMap from '@/components/Common/StaticMap.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList, workoutsPayloadKeys } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n\n \n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const { user, sports } = toRefs(props)\n const orderByList: string[] = [\n 'ave_speed',\n 'distance',\n 'duration',\n 'workout_date',\n ]\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.USER_WORKOUTS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]\n )\n let query: TWorkoutsPayload = getWorkoutsQuery(route.query)\n const hoverWorkoutId: Ref = ref(null)\n\n onBeforeMount(() => {\n loadWorkouts(query)\n })\n\n function loadWorkouts(payload: TWorkoutsPayload) {\n store.dispatch(\n WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS,\n user.value.imperial_units ? getConvertedPayload(payload) : payload\n )\n }\n function reloadWorkouts(queryParam: string, queryValue: string) {\n const newQuery: LocationQuery = Object.assign({}, route.query)\n newQuery[queryParam] = queryValue\n if (queryParam === 'per_page') {\n newQuery['page'] = '1'\n }\n query = getWorkoutsQuery(newQuery)\n router.push({ path: '/workouts', query })\n }\n\n function getWorkoutsQuery(newQuery: LocationQuery): TWorkoutsPayload {\n query = getQuery(newQuery, orderByList, defaultOrder.order_by, {\n defaultSort: defaultOrder.order,\n })\n Object.keys(newQuery)\n .filter((k) => workoutsPayloadKeys.includes(k))\n .map((k) => {\n if (typeof newQuery[k] === 'string') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n query[k] = newQuery[k]\n }\n })\n return query\n }\n\n function getConvertedPayload(payload: TWorkoutsPayload): TWorkoutsPayload {\n const convertedPayload: TWorkoutsPayload = {\n ...payload,\n }\n Object.entries(convertedPayload).map((entry) => {\n if (entry[0].match('speed|distance')) {\n convertedPayload[entry[0]] = convertDistance(+entry[1], 'mi', 'km')\n }\n })\n return convertedPayload\n }\n\n function onHover(workoutId: string | null) {\n hoverWorkoutId.value = workoutId\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getWorkoutsQuery(newQuery)\n loadWorkouts(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"box\", { 'empty-table': _unref(workouts).length === 0 }])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t('common.TOTAL').toLowerCase()) + \": \", 1),\n (_unref(pagination).total !== null)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_unref(pagination).total) + \" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(pagination).total)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"workouts\",\n onUpdateSelect: reloadWorkouts\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(Pagination, {\n class: \"top-pagination\",\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_6,\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DATE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DISTANCE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DURATION'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.AVE_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.MAX_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.ASCENT'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DESCENT'))), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: workout.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.SPORT', 1)), 1),\n (_unref(sports).length > 0)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n title: \n _unref(sports).find((s) => s.id === workout.sport_id)\n .translatedLabel\n ,\n \"sport-label\": _unref(getSportLabel)(workout, _unref(sports)),\n color: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", {\n class: \"workout-title\",\n onMouseover: ($event: any) => (onHover(workout.id)),\n onMouseleave: _cache[0] || (_cache[0] = ($event: any) => (onHover(null)))\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: { name: 'Workout', params: { workoutId: workout.id } }\n }, {\n default: _withCtx(() => [\n (workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(workout.title), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n (workout.with_gpx && hoverWorkoutId.value === workout.id)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: workout,\n \"display-hover\": true\n }, null, 8, [\"workout\"]))\n : _createCommentVNode(\"\", true)\n ], 40, _hoisted_9),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(workout.workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _createVNode(_component_Distance, {\n distance: workout.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _createTextVNode(\" \" + _toDisplayString(workout.moving), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_17, [\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.ave_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.max_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.ascent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_23, [\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n }), 128))\n ])\n ]),\n _createVNode(Pagination, {\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _hoisted_25\n ]))\n}\n}\n\n})","import script from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1ba1a972\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ed6df5ba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workouts\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container workouts-container\" }\nconst _hoisted_3 = { class: \"display-filters\" }\nconst _hoisted_4 = { class: \"list-container\" }\n\nimport { ComputedRef, computed, ref } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import WorkoutsFilters from '@/components/Workouts/WorkoutsFilters.vue'\n import WorkoutsList from '@/components/Workouts/WorkoutsList.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t)\n )\n const hiddenFilters = ref(true)\n\n function toggleFilters() {\n hiddenFilters.value = !hiddenFilters.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_unref(authUser).username)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"filters-container\", { hidden: hiddenFilters.value }])\n }, [\n _createVNode(WorkoutsFilters, {\n sports: _unref(translatedSports),\n authUser: _unref(authUser),\n onFilter: toggleFilters\n }, null, 8, [\"sports\", \"authUser\"])\n ], 2),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", { onClick: toggleFilters }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa-caret-${hiddenFilters.value ? 'down' : 'up'}`),\n \"aria-hidden\": \"true\"\n }, null, 2),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`workouts.${hiddenFilters.value ? 'DISPLAY' : 'HIDE'}_FILTERS`)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(WorkoutsList, {\n user: _unref(authUser),\n sports: _unref(translatedSports)\n }, null, 8, [\"user\", \"sports\"])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ed6df5ba\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21fe0e9a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-card-title\" }\nconst _hoisted_2 = [\"title\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = [\n _hoisted_3\n]\nconst _hoisted_5 = { class: \"workout-card-title\" }\nconst _hoisted_6 = { class: \"workout-title-date\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"workout-title\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"workout-title\"\n}\nconst _hoisted_9 = { class: \"workout-segment\" }\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\" — \")\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-marker\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"workout-date\" }\nconst _hoisted_13 = { class: \"workout-link\" }\nconst _hoisted_14 = [\"title\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\n\nimport { toRefs } from 'vue'\n\n import { ISport } from '@/types/sports'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sport: null,\n workoutObject: null\n },\n emits: ['displayModal'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n\n \n\n \n\n const { sport, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-previous workout-arrow\", { inactive: !_unref(workoutObject).previousUrl }]),\n title: \n _unref(workoutObject).previousUrl\n ? _ctx.$t(`workouts.PREVIOUS_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_PREVIOUS_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workoutObject).previousUrl\n ? _ctx.$router.push(_unref(workoutObject).previousUrl)\n : null\n ))\n }, _hoisted_4, 10, _hoisted_2),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createElementVNode(\"div\", _hoisted_6, [\n (_unref(workoutObject).type === 'WORKOUT')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"i\", {\n class: \"fa fa-edit\",\n \"aria-hidden\": \"true\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _ctx.$router.push({\n name: 'EditWorkout',\n params: { workoutId: _unref(workoutObject).workoutId },\n })\n ))\n }),\n _createElementVNode(\"i\", {\n class: \"fa fa-trash\",\n \"aria-hidden\": \"true\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (emit('displayModal', true)))\n })\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _hoisted_11,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.SEGMENT')) + \" \" + _toDisplayString(_unref(workoutObject).segmentId + 1), 1)\n ])\n ])),\n _createElementVNode(\"div\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).workoutDate) + \" - \" + _toDisplayString(_unref(workoutObject).workoutTime) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_13, [\n (_unref(workoutObject).type === 'SEGMENT')\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workoutObject).workoutId },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" > \" + _toDisplayString(_ctx.$t('workouts.BACK_TO_WORKOUT')), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-next workout-arrow\", { inactive: !_unref(workoutObject).nextUrl }]),\n title: \n _unref(workoutObject).nextUrl\n ? _ctx.$t(`workouts.NEXT_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_NEXT_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[3] || (_cache[3] = ($event: any) => (\n _unref(workoutObject).nextUrl ? _ctx.$router.push(_unref(workoutObject).nextUrl) : null\n ))\n }, _hoisted_16, 10, _hoisted_14)\n ]))\n}\n}\n\n})","import script from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21fe0e9a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2e8c6844\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"workout-record\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"sup\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n })\n], -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n recordType: string\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n recordType: null,\n workoutObject: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n recordType: string\n workoutObject: IWorkoutObject\n }\n\n \n\n const { recordType, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (\n _unref(workoutObject).records &&\n _unref(workoutObject).records.find((record) => record.record_type === _unref(recordType))\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _hoisted_3))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2e8c6844\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-07781815\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workout-weather\"\n}\nconst _hoisted_2 = { class: \"weather-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_4 = { class: \"weather-th\" }\nconst _hoisted_5 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_6 = { class: \"weather-th\" }\nconst _hoisted_7 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_8 = [\"alt\", \"title\"]\nconst _hoisted_9 = [\"alt\", \"title\"]\nconst _hoisted_10 = [\"alt\", \"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { useImperialUnits, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_unref(workoutObject).weatherStart && _unref(workoutObject).weatherEnd)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", _hoisted_2, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.START')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherStart.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n \n }, null, 8, _hoisted_5)\n ])\n ]),\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.END')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherEnd.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n \n }, null, 8, _hoisted_7)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/temperature.svg\",\n alt: _ctx.$t(`workouts.WEATHER.TEMPERATURE`),\n title: _ctx.$t(`workouts.WEATHER.TEMPERATURE`)\n }, null, 8, _hoisted_8)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.temperature).toFixed(1)) + \"°C \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.temperature).toFixed(1)) + \"°C \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/pour-rain.svg\",\n alt: _ctx.$t(`workouts.WEATHER.HUMIDITY`),\n title: _ctx.$t(`workouts.WEATHER.HUMIDITY`)\n }, null, 8, _hoisted_9)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.humidity * 100).toFixed(1)) + \"% \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.humidity * 100).toFixed(1)) + \"% \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/breeze.svg\",\n alt: _ctx.$t(`workouts.WEATHER.WIND`),\n title: _ctx.$t(`workouts.WEATHER.WIND`)\n }, null, 8, _hoisted_10)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherStart.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherEnd.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=07781815&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-07781815\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a7c2d728\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-info\" }\nconst _hoisted_2 = { class: \"workout-data\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"label\" }\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_6 = { class: \"value\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"value\" }\nconst _hoisted_9 = { class: \"value\" }\nconst _hoisted_10 = { class: \"workout-data\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"label\" }\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_14 = { class: \"workout-data\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-tachometer\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = { class: \"label\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_19 = { class: \"label\" }\nconst _hoisted_20 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_21 = {\n key: 0,\n class: \"workout-data\"\n}\nconst _hoisted_22 = [\"alt\"]\nconst _hoisted_23 = { class: \"label\" }\nconst _hoisted_24 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_26 = { class: \"label\" }\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_28 = {\n key: 1,\n class: \"workout-data\"\n}\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_30 = { class: \"label\" }\nconst _hoisted_31 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_33 = { class: \"label\" }\nconst _hoisted_34 = /*#__PURE__*/_createTextVNode(\": \")\n\nimport { computed, toRefs } from 'vue'\n\n import WorkoutRecord from '@/components/Workout/WorkoutDetail/WorkoutRecord.vue'\n import WorkoutWeather from '@/components/Workout/WorkoutDetail/WorkoutWeather.vue'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { workoutObject, useImperialUnits } = toRefs(props)\n const withPause = computed(\n () =>\n props.workoutObject.pauses !== '0:00:00' &&\n props.workoutObject.pauses !== null\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(workoutObject).moving), 1),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"LD\"\n }, null, 8, [\"workoutObject\"]),\n (_unref(withPause))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.PAUSES')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_unref(workoutObject).pauses), 1),\n _createTextVNode(\" - \" + _toDisplayString(_ctx.$t('workouts.TOTAL_DURATION')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(workoutObject).duration) + \")\", 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _hoisted_13,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).distance,\n digits: 3,\n unitFrom: \"km\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"FD\"\n }, null, 8, [\"workoutObject\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1),\n _hoisted_17,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).aveSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"AS\"\n }, null, 8, [\"workoutObject\"]),\n _hoisted_18,\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _hoisted_20,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"MS\"\n }, null, 8, [\"workoutObject\"])\n ]),\n (_unref(workoutObject).maxAlt !== null && _unref(workoutObject).minAlt !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_22),\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(_ctx.$t('workouts.MIN_ALTITUDE')), 1),\n _hoisted_24,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).minAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_25,\n _createElementVNode(\"span\", _hoisted_26, _toDisplayString(_ctx.$t('workouts.MAX_ALTITUDE')), 1),\n _hoisted_27,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workoutObject).ascent !== null && _unref(workoutObject).descent !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"span\", _hoisted_30, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n _hoisted_31,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).ascent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_32,\n _createElementVNode(\"span\", _hoisted_33, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n _hoisted_34,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).descent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(WorkoutWeather, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]))\n}\n}\n\n})","import script from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a7c2d728\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createBlock as _createBlock, withCtx as _withCtx, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b4b3006a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-map\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"no-map\"\n}\n\nimport { gpx } from '@tmcw/togeojson'\n import { LGeoJson, LMap, LMarker, LTileLayer } from '@vue-leaflet/vue-leaflet'\n import { ComputedRef, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { GeoJSONData } from '@/types/geojson'\n import { IWorkoutData, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const store = useStore()\n\n const { workoutData, markerCoordinates } = toRefs(props)\n const workoutMap = ref null }\n }>(null)\n const bounds = computed(() =>\n props.workoutData\n ? [\n [\n props.workoutData.workout.bounds[0],\n props.workoutData.workout.bounds[1],\n ],\n [\n props.workoutData.workout.bounds[2],\n props.workoutData.workout.bounds[3],\n ],\n ]\n : []\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const center = computed(() => getCenter(bounds))\n const geoJson = computed(() =>\n props.workoutData && props.workoutData.gpx\n ? getGeoJson(props.workoutData.gpx)\n : {}\n )\n\n function getGeoJson(gpxContent: string): GeoJSONData {\n if (!gpxContent || gpxContent !== '') {\n try {\n const jsonData = gpx(\n new DOMParser().parseFromString(gpxContent, 'text/xml')\n )\n return { jsonData }\n } catch (e) {\n console.error('Invalid gpx content')\n return {}\n }\n }\n return {}\n }\n function getCenter(bounds: ComputedRef): number[] {\n return [\n (bounds.value[0][0] + bounds.value[1][0]) / 2,\n (bounds.value[0][1] + bounds.value[1][1]) / 2,\n ]\n }\n function fitBounds(bounds: number[][]) {\n if (workoutMap.value?.leafletObject) {\n workoutMap.value?.leafletObject.fitBounds(bounds)\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(workoutData).loading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_unref(geoJson).jsonData && _unref(center) && _unref(bounds).length === 2)\n ? (_openBlock(), _createBlock(_unref(LMap), {\n key: 0,\n zoom: 13,\n center: _unref(center),\n bounds: _unref(bounds),\n ref: (_value, _refs) => {\n _refs['workoutMap'] = _value\n workoutMap.value = _value\n },\n onReady: _cache[0] || (_cache[0] = ($event: any) => (fitBounds(_unref(bounds))))\n }, {\n default: _withCtx(() => [\n _createVNode(_unref(LTileLayer), {\n url: `${_unref(getApiUrl)()}workouts/map_tile/{s}/{z}/{x}/{y}.png`,\n attribution: _unref(appConfig).map_attribution,\n bounds: _unref(bounds)\n }, null, 8, [\"url\", \"attribution\", \"bounds\"]),\n _createVNode(_unref(LGeoJson), {\n geojson: _unref(geoJson).jsonData\n }, null, 8, [\"geojson\"]),\n (_unref(markerCoordinates).latitude)\n ? (_openBlock(), _createBlock(_unref(LMarker), {\n key: 0,\n \"lat-lng\": [_unref(markerCoordinates).latitude, _unref(markerCoordinates).longitude]\n }, null, 8, [\"lat-lng\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"center\", \"bounds\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n ]))\n}\n}\n\n})","import script from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b4b3006a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withCtx as _withCtx, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2655acaa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workout-detail\" }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutCardTitle from '@/components/Workout/WorkoutDetail/WorkoutCardTitle.vue'\n import WorkoutData from '@/components/Workout/WorkoutDetail/WorkoutData.vue'\n import WorkoutMap from '@/components/Workout/WorkoutDetail/WorkoutMap.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkout,\n IWorkoutData,\n IWorkoutObject,\n IWorkoutSegment,\n TCoordinates,\n } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IUserProfile\n displaySegment: boolean\n sports: ISport[]\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n displaySegment: null,\n sports: null,\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, displaySegment: boolean, sports: ISport[], workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { authUser, markerCoordinates, workoutData } = toRefs(props)\n const workout: ComputedRef = computed(\n () => props.workoutData.workout\n )\n let segmentId: Ref = ref(\n route.params.workoutId ? +route.params.segmentId : null\n )\n const segment: ComputedRef = computed(() =>\n workout.value.segments.length > 0 && segmentId.value\n ? workout.value.segments[+segmentId.value - 1]\n : null\n )\n let displayModal: Ref = ref(false)\n const sport = computed(() =>\n props.sports\n ? props.sports.find(\n (sport) => sport.id === props.workoutData.workout.sport_id\n )\n : {}\n )\n const workoutObject = computed(() =>\n getWorkoutObject(workout.value, segment.value)\n )\n\n function getWorkoutObjectUrl(\n workout: IWorkout,\n displaySegment: boolean,\n segmentId: number | null\n ): Record {\n const previousUrl =\n displaySegment && segmentId && segmentId !== 1\n ? `/workouts/${workout.id}/segment/${segmentId - 1}`\n : !displaySegment && workout.previous_workout\n ? `/workouts/${workout.previous_workout}`\n : null\n const nextUrl =\n displaySegment && segmentId && segmentId < workout.segments.length\n ? `/workouts/${workout.id}/segment/${segmentId + 1}`\n : !displaySegment && workout.next_workout\n ? `/workouts/${workout.next_workout}`\n : null\n return {\n previousUrl,\n nextUrl,\n }\n }\n function getWorkoutObject(\n workout: IWorkout,\n segment: IWorkoutSegment | null\n ): IWorkoutObject {\n const urls = getWorkoutObjectUrl(\n workout,\n props.displaySegment,\n segmentId.value ? +segmentId.value : null\n )\n const workoutDate = formatWorkoutDate(\n getDateWithTZ(\n props.workoutData.workout.workout_date,\n props.authUser.timezone\n )\n )\n return {\n ascent: segment ? segment.ascent : workout.ascent,\n aveSpeed: segment ? segment.ave_speed : workout.ave_speed,\n distance: segment ? segment.distance : workout.distance,\n descent: segment ? segment.descent : workout.descent,\n duration: segment ? segment.duration : workout.duration,\n maxAlt: segment ? segment.max_alt : workout.max_alt,\n maxSpeed: segment ? segment.max_speed : workout.max_speed,\n minAlt: segment ? segment.min_alt : workout.min_alt,\n moving: segment ? segment.moving : workout.moving,\n nextUrl: urls.nextUrl,\n pauses: segment ? segment.pauses : workout.pauses,\n previousUrl: urls.previousUrl,\n records: segment ? [] : workout.records,\n segmentId: segment ? segment.segment_id : null,\n title: workout.title,\n type: props.displaySegment ? 'SEGMENT' : 'WORKOUT',\n workoutDate: workoutDate.workout_date,\n weatherEnd: segment ? null : workout.weather_end,\n workoutId: workout.id,\n weatherStart: segment ? null : workout.weather_start,\n workoutTime: workoutDate.workout_time,\n }\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteWorkout(workoutId: string) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT, {\n workoutId: workoutId,\n })\n }\n\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (newSegmentId) {\n segmentId.value = +newSegmentId\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('workouts.WORKOUT_DELETION_CONFIRMATION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteWorkout(_unref(workoutObject).workoutId))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(WorkoutCardTitle, {\n sport: _unref(sport),\n workoutObject: _unref(workoutObject),\n onDisplayModal: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayModal(true)))\n }, null, 8, [\"sport\", \"workoutObject\"])\n ]),\n content: _withCtx(() => [\n _createVNode(WorkoutMap, {\n workoutData: _unref(workoutData),\n markerCoordinates: _unref(markerCoordinates)\n }, null, 8, [\"workoutData\", \"markerCoordinates\"]),\n _createVNode(WorkoutData, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2655acaa\"]])\n\nexport default __exports__","import { Chart, LegendItem } from 'chart.js'\n\nconst getOrCreateLegendList = (id: string): HTMLUListElement => {\n const legendContainer = document.getElementById(id)\n if (legendContainer) {\n let listContainer = legendContainer.querySelector('ul')\n if (!listContainer) {\n listContainer = document.createElement('ul')\n legendContainer.appendChild(listContainer)\n }\n return listContainer\n }\n throw new Error('No legend container')\n}\n\nexport const htmlLegendPlugin = {\n id: 'htmlLegend',\n afterUpdate(\n chart: Chart,\n args: Record,\n options: Record\n ): void {\n const ul = getOrCreateLegendList(options.containerID)\n while (ul.firstChild) {\n ul.firstChild.remove()\n }\n\n const legendItems = chart.options.plugins?.legend?.labels?.generateLabels\n ? chart.options.plugins?.legend?.labels?.generateLabels(chart)\n : []\n\n legendItems.forEach((item: LegendItem) => {\n const li = document.createElement('li')\n li.onclick = () => {\n chart.setDatasetVisibility(\n item.datasetIndex,\n !chart.isDatasetVisible(item.datasetIndex)\n )\n chart.update()\n }\n\n const checkBox = document.createElement('input')\n if (checkBox) {\n checkBox.type = 'checkbox'\n checkBox.id = item.text\n checkBox.checked = !item.hidden\n }\n\n const text = document.createTextNode(item.text)\n\n const boxSpan = document.createElement('span')\n if (boxSpan) {\n boxSpan.style.background = String(item.fillStyle)\n boxSpan.style.borderColor = String(item.strokeStyle)\n }\n\n li.appendChild(checkBox)\n li.appendChild(text)\n li.appendChild(boxSpan)\n ul.appendChild(li)\n })\n },\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createElementVNode as _createElementVNode, mergeProps as _mergeProps, createVNode as _createVNode, isRef as _isRef, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-54dcb952\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-chart\" }\nconst _hoisted_2 = { class: \"chart-radio\" }\nconst _hoisted_3 = [\"checked\"]\nconst _hoisted_4 = [\"checked\"]\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"chart-legend\" }, null, -1))\nconst _hoisted_6 = { class: \"chart-info\" }\nconst _hoisted_7 = { class: \"no-data-cleaning\" }\nconst _hoisted_8 = { class: \"elevation-start\" }\nconst _hoisted_9 = [\"checked\"]\n\nimport { ChartData, ChartOptions } from 'chart.js'\n import { ComputedRef, computed, ref } from 'vue'\n import { LineChart, useLineChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { htmlLegendPlugin } from '@/components/Workout/WorkoutDetail/WorkoutChart/legend'\n import { TUnit } from '@/types/units'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkoutChartData,\n IWorkoutData,\n TCoordinates,\n } from '@/types/workouts'\n import { units } from '@/utils/units'\n import { getDatasets } from '@/utils/workouts'\n\n interface Props {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n workoutData: null\n },\n emits: ['getCoordinates'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n\n \n\n \n\n const { t } = useI18n()\n\n let displayDistance = ref(true)\n let beginElevationAtZero = ref(true)\n const datasets: ComputedRef = computed(() =>\n getDatasets(props.workoutData.chartData, t, props.authUser.imperial_units)\n )\n const fromKmUnit = getUnitTo('km')\n const fromMUnit = getUnitTo('m')\n let chartData: ComputedRef> = computed(() => ({\n labels: displayDistance.value\n ? datasets.value.distance_labels\n : datasets.value.duration_labels,\n datasets: JSON.parse(\n JSON.stringify([\n datasets.value.datasets.speed,\n datasets.value.datasets.elevation,\n ])\n ),\n }))\n const coordinates: ComputedRef = computed(\n () => datasets.value.coordinates\n )\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: 22,\n },\n },\n scales: {\n [displayDistance.value ? 'xDistance' : 'xDuration']: {\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n count: 10,\n callback: function (value) {\n return displayDistance.value\n ? Number(value).toFixed(2)\n : formatDuration(value)\n },\n },\n type: 'linear',\n bounds: 'data',\n title: {\n display: true,\n text: displayDistance.value\n ? t('workouts.DISTANCE') + ` (${fromKmUnit})`\n : t('workouts.DURATION'),\n },\n },\n ySpeed: {\n grid: {\n drawOnChartArea: false,\n },\n position: 'left',\n title: {\n display: true,\n text: t('workouts.SPEED') + ` (${fromKmUnit}/h)`,\n },\n },\n yElevation: {\n beginAtZero: beginElevationAtZero.value,\n grid: {\n drawOnChartArea: false,\n },\n position: 'right',\n title: {\n display: true,\n text: t('workouts.ELEVATION') + ` (${fromMUnit})`,\n },\n },\n },\n elements: {\n point: {\n pointStyle: 'circle',\n pointRadius: 0,\n },\n },\n plugins: {\n datalabels: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n callbacks: {\n label: function (context) {\n const label = ` ${context.dataset.label}: ${context.formattedValue}`\n return context.dataset.yAxisID === 'yElevation'\n ? label + ` ${fromMUnit}`\n : label + ` ${fromKmUnit}/h`\n },\n title: function (tooltipItems) {\n if (tooltipItems.length > 0) {\n emitCoordinates(coordinates.value[tooltipItems[0].dataIndex])\n }\n return tooltipItems.length === 0\n ? ''\n : displayDistance.value\n ? `${t('workouts.DISTANCE')}: ${\n tooltipItems[0].label\n } ${fromKmUnit}`\n : `${t('workouts.DURATION')}: ${formatDuration(\n tooltipItems[0].label.replace(',', '')\n )}`\n },\n },\n },\n legend: {\n display: false,\n },\n htmlLegend: {\n containerID: 'chart-legend',\n },\n },\n }))\n const { lineChartProps } = useLineChart({\n chartData,\n options,\n plugins: [htmlLegendPlugin],\n })\n\n function updateDisplayDistance() {\n displayDistance.value = !displayDistance.value\n }\n function formatDuration(duration: string | number): string {\n return new Date(+duration * 1000).toISOString().substr(11, 8)\n }\n function emitCoordinates(coordinates: TCoordinates) {\n emit('getCoordinates', coordinates)\n }\n function emitEmptyCoordinates() {\n emitCoordinates({ latitude: null, longitude: null })\n }\n function getUnitTo(unitFrom: TUnit): TUnit {\n return props.authUser.imperial_units\n ? units[unitFrom].defaultTarget\n : unitFrom\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ANALYSIS')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"distance\",\n checked: _unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_3),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"duration\",\n checked: !_unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_4),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ])\n ]),\n _hoisted_5,\n _createVNode(_unref(LineChart), _mergeProps(_unref(lineChartProps), {\n class: \"line-chart\",\n onMouseleave: emitEmptyCoordinates\n }), null, 16),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_DATA_CLEANING')), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n checked: _unref(beginElevationAtZero),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_isRef(beginElevationAtZero) //@ts-ignore\n ? beginElevationAtZero.value = !_unref(beginElevationAtZero) : beginElevationAtZero = !_unref(beginElevationAtZero)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.START_ELEVATION_AT_ZERO')), 1)\n ])\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=54dcb952&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-54dcb952\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6dd0f3c4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-note\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n notes?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n notes: { default: () => null }\n },\n setup(__props: any) {\n\nconst props = __props as { notes: string | null }\n\n \n\n const { notes } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.NOTES')), 1)\n ]),\n content: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(notes) && _unref(notes) !== '' ? _unref(notes) : _ctx.$t('workouts.NO_NOTES')), 1)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutNotes.vue?vue&type=style&index=0&id=6dd0f3c4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6dd0f3c4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-73381f36\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-segments\" }\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutSegment } from '@/types/workouts'\n\n interface Props {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n segments: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n\n \n\n const { segments, useImperialUnits } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 2)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(segments), (segment, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: segment.segment_id\n }, [\n _createVNode(_component_router_link, {\n to: {\n name: 'WorkoutSegment',\n params: {\n workoutId: segment.workout_id,\n segmentId: index + 1,\n },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 1)) + \" \" + _toDisplayString(index + 1), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \": \", 1),\n _createVNode(_component_Distance, {\n distance: segment.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\", \" + _toDisplayString(_ctx.$t('workouts.DURATION')) + \": \" + _toDisplayString(segment.duration) + \") \", 1)\n ]))\n }), 128))\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutSegments.vue?vue&type=style&index=0&id=73381f36&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-73381f36\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a8e74d78\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workout-container\"\n}\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_6 = { key: 1 }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import WorkoutDetail from '@/components/Workout/WorkoutDetail/index.vue'\n import WorkoutChart from '@/components/Workout/WorkoutDetail/WorkoutChart/index.vue'\n import WorkoutNotes from '@/components/Workout/WorkoutDetail/WorkoutNotes.vue'\n import WorkoutSegments from '@/components/Workout/WorkoutDetail/WorkoutSegments.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData, IWorkoutPayload, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n displaySegment: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n displaySegment: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displaySegment: boolean\n }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { displaySegment } = toRefs(props)\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n let markerCoordinates: Ref = ref({\n latitude: null,\n longitude: null,\n })\n\n onBeforeMount(() => {\n const payload: IWorkoutPayload = { workoutId: route.params.workoutId }\n if (props.displaySegment) {\n payload.segmentId = route.params.segmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n })\n\n onUnmounted(() => {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n })\n\n function updateCoordinates(coordinates: TCoordinates) {\n markerCoordinates.value = {\n latitude: coordinates.latitude,\n longitude: coordinates.longitude,\n }\n }\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (newWorkoutId) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: newWorkoutId,\n })\n }\n }\n )\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (route.params.workoutId) {\n const payload: IWorkoutPayload = {\n workoutId: route.params.workoutId,\n }\n if (newSegmentId) {\n payload.segmentId = newSegmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(WorkoutDetail, {\n workoutData: _unref(workoutData),\n sports: _unref(sports),\n authUser: _unref(authUser),\n markerCoordinates: _unref(markerCoordinates),\n displaySegment: _unref(displaySegment)\n }, null, 8, [\"workoutData\", \"sports\", \"authUser\", \"markerCoordinates\", \"displaySegment\"]),\n (\n _unref(workoutData).workout.with_gpx && _unref(workoutData).chartData.length > 0\n )\n ? (_openBlock(), _createBlock(WorkoutChart, {\n key: 0,\n workoutData: _unref(workoutData),\n authUser: _unref(authUser),\n displaySegment: _unref(displaySegment),\n onGetCoordinates: updateCoordinates\n }, null, 8, [\"workoutData\", \"authUser\", \"displaySegment\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment) && _unref(workoutData).workout.segments.length > 1)\n ? (_openBlock(), _createBlock(WorkoutSegments, {\n key: 1,\n segments: _unref(workoutData).workout.segments,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"segments\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment))\n ? (_openBlock(), _createBlock(WorkoutNotes, {\n key: 2,\n notes: _unref(workoutData).workout.notes\n }, null, 8, [\"notes\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_5\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (!_unref(workoutData).loading)\n ? (_openBlock(), _createBlock(NotFound, {\n key: 0,\n target: \"WORKOUT\"\n }))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Workout.vue?vue&type=style&index=0&id=a8e74d78&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a8e74d78\"]])\n\nexport default __exports__","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"","import { watch, ref, provide, h, inject, onUnmounted, onBeforeUnmount, onMounted, nextTick, render as render$3, reactive, computed } from 'vue';\n\nconst debounce = (fn, time) => {\n let timeout;\n\n return function (...args) {\n const context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nconst capitalizeFirstLetter = (string) => {\n if (!string || typeof string.charAt !== \"function\") {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nconst propsBinder = (methods, leafletElement, props) => {\n for (const key in props) {\n const setMethodName = \"set\" + capitalizeFirstLetter(key);\n if (methods[setMethodName]) {\n watch(\n () => props[key],\n (newVal, oldVal) => {\n methods[setMethodName](newVal, oldVal);\n }\n );\n } else if (leafletElement[setMethodName]) {\n watch(\n () => props[key],\n (newVal) => {\n leafletElement[setMethodName](newVal);\n }\n );\n }\n }\n};\n\nconst remapEvents = (contextAttrs) => {\n const result = {};\n for (const attrName in contextAttrs) {\n if (\n attrName.startsWith(\"on\") &&\n !attrName.startsWith(\"onUpdate\") &&\n attrName !== \"onReady\"\n ) {\n const eventName = attrName.slice(2).toLocaleLowerCase();\n result[eventName] = contextAttrs[attrName];\n }\n }\n return result;\n};\n\nconst resetWebpackIcon = async (Icon) => {\n const modules = await Promise.all([\n import('leaflet/dist/images/marker-icon-2x.png'),\n import('leaflet/dist/images/marker-icon.png'),\n import('leaflet/dist/images/marker-shadow.png'),\n ]);\n\n delete Icon.Default.prototype._getIconUrl;\n\n Icon.Default.mergeOptions({\n iconRetinaUrl: modules[0].default,\n iconUrl: modules[1].default,\n shadowUrl: modules[2].default,\n });\n};\n\n/**\n * Wraps a placeholder function and provides it with the given name.\n * The wrapper can later be updated with {@link updateLeafletWrapper}\n * to provide a different function.\n *\n * @param {String} methodName Key used to provide the wrapper function\n */\nconst provideLeafletWrapper = (methodName) => {\n const wrapped = ref(() =>\n console.warn(`Method ${methodName} has been invoked without being replaced`)\n );\n const wrapper = (...args) => wrapped.value(...args);\n // eslint-disable-next-line vue/no-ref-as-operand\n wrapper.wrapped = wrapped;\n provide(methodName, wrapper);\n\n return wrapper;\n};\n\n/**\n * Change the function that will be executed when an injected Leaflet wrapper\n * is invoked.\n *\n * @param {*} wrapper Provided wrapper whose wrapped function is to be updated\n * @param {function} leafletMethod New method to be wrapped by the wrapper\n */\nconst updateLeafletWrapper = (wrapper, leafletMethod) =>\n (wrapper.wrapped.value = leafletMethod);\n\nconst WINDOW_OR_GLOBAL =\n (typeof self === \"object\" && self.self === self && self) ||\n (typeof global === \"object\" && global.global === global && global) ||\n undefined;\n\nconst GLOBAL_LEAFLET_OPT = \"useGlobalLeaflet\";\n\nconst props = {\n options: {\n type: Object,\n default: () => ({}),\n },\n};\n\nconst setup = (props) => {\n return { options: props.options, methods: {} };\n};\n\nconst props$1 = {\n ...props,\n pane: {\n type: String,\n default: \"overlayPane\",\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n};\n\nconst setup$1 = (props, leafletRef, context) => {\n const addLayer = inject(\"addLayer\");\n const removeLayer = inject(\"removeLayer\");\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n\n const options = {\n ...componentOptions,\n attribution: props.attribution,\n pane: props.pane,\n };\n\n const addThisLayer = () => addLayer({ leafletObject: leafletRef.value });\n const removeThisLayer = () =>\n removeLayer({ leafletObject: leafletRef.value });\n\n const methods = {\n ...componentMethods,\n setAttribution(val, old) {\n const attributionControl = this.$parent.leafletObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setLayerType() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setVisible(isVisible) {\n if (leafletRef.value) {\n if (isVisible) {\n addThisLayer();\n } else {\n removeThisLayer();\n }\n }\n },\n bindPopup({ leafletObject }) {\n leafletRef.value.bindPopup(leafletObject);\n },\n bindTooltip({ leafletObject }) {\n leafletRef.value.bindTooltip(leafletObject);\n },\n unbindTooltip() {\n const tooltip = leafletRef.value ? leafletRef.value.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup() {\n const popup = leafletRef.value ? leafletRef.value.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n context.emit(\"update:visible\", value);\n },\n };\n\n provide(\"bindPopup\", methods.bindPopup);\n provide(\"bindTooltip\", methods.bindTooltip);\n provide(\"unbindTooltip\", methods.unbindTooltip);\n provide(\"unbindPopup\", methods.unbindPopup);\n\n onUnmounted(() => {\n methods.unbindPopup();\n methods.unbindTooltip();\n removeThisLayer();\n });\n\n return { options, methods };\n};\n\nconst render = (ready, slots) => {\n if (ready && slots.default) {\n return h(\"div\", { style: { display: \"none\" } }, slots.default());\n }\n};\n\nconst props$2 = {\n ...props,\n interactive: {\n type: Boolean,\n default: true,\n },\n bubblingMouseEvents: {\n type: Boolean,\n default: true,\n },\n};\n\nconst setup$2 = (props) => {\n const { options: componentOptions, methods } = setup(props);\n const options = {\n ...componentOptions,\n interactive: props.interactive,\n bubblingMouseEvents: props.bubblingMouseEvents,\n };\n\n return { options, methods };\n};\n\nconst props$3 = {\n ...props$1,\n ...props$2,\n stroke: {\n type: Boolean,\n custom: true,\n default: true,\n },\n color: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n weight: {\n type: Number,\n custom: true,\n default: 3,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n lineCap: {\n type: String,\n custom: true,\n default: \"round\",\n },\n lineJoin: {\n type: String,\n custom: true,\n default: \"round\",\n },\n dashArray: {\n type: String,\n custom: true,\n default: null,\n },\n dashOffset: {\n type: String,\n custom: true,\n default: null,\n },\n fill: {\n type: Boolean,\n custom: true,\n default: false,\n },\n fillColor: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n fillOpacity: {\n type: Number,\n custom: true,\n default: 0.2,\n },\n fillRule: {\n type: String,\n custom: true,\n default: \"evenodd\",\n },\n className: {\n type: String,\n custom: true,\n default: null,\n },\n};\n\nconst setup$3 = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const {\n options: interactiveLayerOptions,\n methods: interactiveLayerMethods,\n } = setup$2(props);\n\n const removeLayer = inject(\"removeLayer\");\n\n const options = {\n ...layerOptions,\n ...interactiveLayerOptions,\n stroke: props.stroke,\n color: props.color,\n weight: props.weight,\n opacity: props.opacity,\n lineCap: props.lineCap,\n lineJoin: props.lineJoin,\n dashArray: props.dashArray,\n dashOffset: props.dashOffset,\n fill: props.fill,\n fillColor: props.fillColor,\n fillOpacity: props.fillOpacity,\n fillRule: props.fillRule,\n className: props.className,\n };\n const methods = {\n ...layerMethods,\n ...interactiveLayerMethods,\n setStroke(stroke) {\n leafletRef.value.setStyle({ stroke });\n },\n setColor(color) {\n leafletRef.value.setStyle({ color });\n },\n setWeight(weight) {\n leafletRef.value.setStyle({ weight });\n },\n setOpacity(opacity) {\n leafletRef.value.setStyle({ opacity });\n },\n setLineCap(lineCap) {\n leafletRef.value.setStyle({ lineCap });\n },\n setLineJoin(lineJoin) {\n leafletRef.value.setStyle({ lineJoin });\n },\n setDashArray(dashArray) {\n leafletRef.value.setStyle({ dashArray });\n },\n setDashOffset(dashOffset) {\n leafletRef.value.setStyle({ dashOffset });\n },\n setFill(fill) {\n leafletRef.value.setStyle({ fill });\n },\n setFillColor(fillColor) {\n leafletRef.value.setStyle({ fillColor });\n },\n setFillOpacity(fillOpacity) {\n leafletRef.value.setStyle({ fillOpacity });\n },\n setFillRule(fillRule) {\n leafletRef.value.setStyle({ fillRule });\n },\n setClassName(className) {\n leafletRef.value.setStyle({ className });\n },\n };\n\n onBeforeUnmount(() => {\n removeLayer({ leafletObject: leafletRef.value });\n });\n\n return { options, methods };\n};\n\nconst props$4 = {\n ...props$3,\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n /**\n * Radius of the marker in pixels.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$4 = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n const methods = {\n ...pathMethods,\n setRadius(radius) {\n leafletRef.value.setRadius(radius);\n },\n setLatLng(latLng) {\n leafletRef.value.setLatLng(latLng);\n },\n };\n\n return { options, methods };\n};\n\nconst props$5 = {\n ...props$4,\n /**\n * Radius of the circle in meters.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$5 = (props, leafletRef, context) => {\n const {\n options: circleMarkerOptions,\n methods: circleMarkerMethods,\n } = setup$4(props, leafletRef, context);\n\n const options = {\n ...circleMarkerOptions,\n ...props,\n };\n\n const methods = {\n ...circleMarkerMethods,\n };\n\n return { options, methods };\n};\n\n/**\n * Circle component, lets you add and personalize circles on the map\n */\nvar script = {\n name: \"LCircle\",\n props: props$5,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$5(props, leafletRef, context);\n\n onMounted(async () => {\n const { circle, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circle(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript.__file = \"src/components/LCircle.vue\";\n\n/**\n * Circle Marker component, lets you add and personalize circle markers on the map\n */\nvar script$1 = {\n name: \"LCircleMarker\",\n props: props$4,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$4(props, leafletRef, context);\n\n onMounted(async () => {\n const { circleMarker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circleMarker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$1.__file = \"src/components/LCircleMarker.vue\";\n\nconst props$6 = {\n ...props,\n position: {\n type: String,\n default: \"topright\",\n },\n};\n\nconst setup$6 = (props, leafletRef) => {\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n const options = {\n ...componentOptions,\n position: props.position,\n };\n\n const methods = {\n ...componentMethods,\n setPosition(position) {\n if (leafletRef.value) {\n leafletRef.value.setPosition(position);\n }\n },\n };\n\n onUnmounted(() => {\n if (leafletRef.value) {\n leafletRef.value.remove();\n }\n });\n\n return { options, methods };\n};\n\nconst render$1 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nvar script$2 = {\n name: \"LControl\",\n props: {\n ...props$6,\n disableClickPropagation: {\n type: Boolean,\n custom: true,\n default: true,\n },\n disableScrollPropagation: {\n type: Boolean,\n custom: true,\n default: false,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$6(props, leafletRef);\n\n onMounted(async () => {\n const { Control, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const LControl = Control.extend({\n onAdd() {\n return root.value;\n },\n });\n\n leafletRef.value = new LControl(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n\n if (props.disableClickPropagation) {\n DomEvent.disableClickPropagation(root.value);\n }\n if (props.disableScrollPropagation) {\n DomEvent.disableScrollPropagation(root.value);\n }\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$1(this.$slots);\n },\n};\n\nscript$2.__file = \"src/components/LControl.vue\";\n\nconst props$7 = {\n ...props$6,\n prefix: {\n type: String,\n default: \"Vue-Leaflet\",\n custom: true,\n },\n};\n\nconst setup$7 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n prefix: props.prefix,\n };\n\n const methods = {\n ...controlMethods,\n setPrefix(prefix) {\n leafletRef.value.setPrefix(prefix);\n },\n };\n\n return { options, methods };\n};\n\nvar script$3 = {\n name: \"LControlAttribution\",\n props: props$7,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$7(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.attribution(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$3.__file = \"src/components/LControlAttribution.vue\";\n\nconst props$8 = {\n ...props$6,\n collapsed: {\n type: Boolean,\n default: true,\n },\n autoZIndex: {\n type: Boolean,\n default: true,\n },\n hideSingleBase: {\n type: Boolean,\n default: false,\n },\n sortLayers: {\n type: Boolean,\n default: false,\n },\n sortFunction: {\n type: Function,\n default: undefined,\n },\n};\n\nconst setup$8 = (props, leafletRef) => {\n const { options: controlOptions } = setup$6(props, leafletRef);\n const options = {\n ...controlOptions,\n collapsed: props.collapsed,\n autoZIndex: props.autoZIndex,\n hideSingleBase: props.hideSingleBase,\n sortLayers: props.sortLayers,\n sortFunction: props.sortFunction,\n };\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType === \"base\") {\n leafletRef.value.addBaseLayer(layer.leafletObject, layer.name);\n } else if (layer.layerType === \"overlay\") {\n leafletRef.value.addOverlay(layer.leafletObject, layer.name);\n }\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n return { options, methods };\n};\n\nvar script$4 = {\n name: \"LControlLayers\",\n props: props$8,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerLayerControl = inject(\"registerLayerControl\");\n\n const { options, methods } = setup$8(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.layers(null, null, options);\n\n propsBinder(methods, leafletRef.value, props);\n\n registerLayerControl({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$4.__file = \"src/components/LControlLayers.vue\";\n\nconst props$9 = {\n ...props$6,\n maxWidth: {\n type: Number,\n default: 100,\n },\n metric: {\n type: Boolean,\n default: true,\n },\n imperial: {\n type: Boolean,\n default: true,\n },\n updateWhenIdle: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$9 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n maxWidth: props.maxWidth,\n metric: props.metric,\n imperial: props.imperial,\n updateWhenIdle: props.updateWhenIdle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$5 = {\n name: \"LControlScale\",\n props: props$9,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$9(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.scale(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$5.__file = \"src/components/LControlScale.vue\";\n\nconst props$a = {\n ...props$6,\n zoomInText: {\n type: String,\n default: \"+\",\n },\n zoomInTitle: {\n type: String,\n default: \"Zoom in\",\n },\n zoomOutText: {\n type: String,\n default: \"-\",\n },\n zoomOutTitle: {\n type: String,\n default: \"Zoom out\",\n },\n};\n\nconst setup$a = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n zoomInText: props.zoomInText,\n zoomInTitle: props.zoomInTitle,\n zoomOutText: props.zoomOutText,\n zoomOutTitle: props.zoomOutTitle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$6 = {\n name: \"LControlZoom\",\n props: props$a,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$a(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.zoom(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$6.__file = \"src/components/LControlZoom.vue\";\n\nconst props$b = {\n ...props$1,\n};\n\nconst setup$b = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n\n const options = {\n ...layerOptions,\n };\n\n const methods = {\n ...layerMethods,\n addLayer(layer) {\n leafletRef.value.addLayer(layer.leafletObject);\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n\n provide(\"addLayer\", methods.addLayer);\n provide(\"removeLayer\", methods.removeLayer);\n\n return { options, methods };\n};\n\nconst props$c = {\n ...props$b,\n};\n\nconst setup$c = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n };\n\n return { options, methods };\n};\n\nvar script$7 = {\n props: props$c,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$c(props, leafletRef);\n\n onMounted(async () => {\n const { featureGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = featureGroup(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$7.__file = \"src/components/LFeatureGroup.vue\";\n\nconst props$d = {\n ...props$b,\n geojson: {\n type: [Object, Array],\n default: () => ({}),\n },\n};\n\nconst setup$d = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n setGeojson(newVal) {\n leafletRef.value.clearLayers();\n leafletRef.value.addData(newVal);\n },\n getGeoJSONData() {\n return leafletRef.value.toGeoJSON();\n },\n getBounds() {\n return leafletRef.value.getBounds();\n },\n };\n\n return { options, methods };\n};\n\nvar script$8 = {\n props: props$d,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$d(props, leafletRef);\n\n onMounted(async () => {\n const { geoJSON, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = geoJSON(props.geojson, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$8.__file = \"src/components/LGeoJson.vue\";\n\nconst props$e = {\n ...props$1,\n pane: {\n type: String,\n default: \"tilePane\",\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0,\n },\n zIndex: {\n type: Number,\n default: 1,\n },\n tileSize: {\n type: Number,\n default: 256,\n },\n noWrap: {\n type: Boolean,\n default: false,\n },\n minZoom: {\n type: Number,\n default: 0,\n },\n maxZoom: {\n type: Number,\n default: undefined,\n },\n};\n\nconst setup$e = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n pane: props.pane,\n opacity: props.opacity,\n zIndex: props.zIndex,\n tileSize: props.tileSize,\n noWrap: props.noWrap,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n };\n return { options, methods: { ...layerMethods } };\n};\n\nvar script$9 = {\n props: {\n ...props$e,\n childRender: {\n type: Function,\n required: true,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const tileComponents = ref({});\n const root = ref(null);\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$e(props, leafletRef, context);\n\n onMounted(async () => {\n const { GridLayer, DomEvent, DomUtil } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n methods.onUnload = (e) => {\n const key = leafletRef.value._tileCoordsToKey(e.coords);\n if (tileComponents[key]) {\n tileComponents[key].innerHTML = \"\";\n tileComponents[key] = undefined;\n }\n };\n\n methods.setTileComponent = () => {\n leafletRef.value.redraw();\n };\n\n const GLayer = GridLayer.extend({\n createTile(coords) {\n const key = leafletRef.value._tileCoordsToKey(coords);\n tileComponents[key] = DomUtil.create(\"div\");\n\n let vNode = h(\n { setup: props.childRender, props: [\"coords\"] },\n { coords }\n );\n render$3(vNode, tileComponents[key]);\n\n return tileComponents[key];\n },\n });\n\n leafletRef.value = new GLayer(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"tileunload\", methods.onUnload);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n onUnmounted(() => {\n leafletRef.value.off(\"tileunload\", methods.unLoad);\n });\n\n return { root, ready, leafletObject: leafletRef };\n },\n render() {\n if (this.ready) {\n return h(\"div\", { style: { display: \"none\" }, ref: \"root\" });\n }\n return null;\n },\n};\n\nscript$9.__file = \"src/components/LGridLayer.vue\";\n\nconst props$f = {\n iconUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n iconAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n popupAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n tooltipAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n shadowUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n shadowAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n bgPos: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n className: {\n type: String,\n custom: true,\n default: \"\",\n },\n options: {\n type: Object,\n custom: true,\n default: () => ({}),\n },\n};\n\n/**\n * Icon component, lets you add and custom icons to the map\n */\nvar script$a = {\n name: \"LIcon\",\n props: {\n ...props$f,\n ...props,\n },\n setup(props, context) {\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const canSetParentHtml = inject(\"canSetParentHtml\");\n const setParentHtml = inject(\"setParentHtml\");\n const setIcon = inject(\"setIcon\");\n\n let onDomEvent;\n let offDomEvent;\n let divIcon;\n let icon;\n let iconObject = undefined;\n\n const createIcon = (el, recreationNeeded, htmlSwapNeeded) => {\n const elHtml = el && el.innerHTML;\n if (!recreationNeeded) {\n if (htmlSwapNeeded && iconObject && canSetParentHtml()) {\n setParentHtml(elHtml);\n }\n return;\n }\n\n const listeners = remapEvents(context.attrs);\n if (iconObject) {\n offDomEvent(iconObject, listeners);\n }\n\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n iconUrl: props.iconUrl,\n iconRetinaUrl: props.iconRetinaUrl,\n iconSize: props.iconSize,\n iconAnchor: props.iconAnchor,\n popupAnchor: props.popupAnchor,\n tooltipAnchor: props.tooltipAnchor,\n shadowUrl: props.shadowUrl,\n shadowRetinaUrl: props.shadowRetinaUrl,\n shadowSize: props.shadowSize,\n shadowAnchor: props.shadowAnchor,\n bgPos: props.bgPos,\n className: props.className,\n html: elHtml || props.html,\n };\n\n iconObject = options.html ? divIcon(options) : icon(options);\n onDomEvent(iconObject, listeners);\n setIcon(iconObject);\n };\n\n const scheduleCreateIcon = () => {\n nextTick(() => createIcon(root.value, true, false));\n };\n\n const scheduleHtmlSwap = () => {\n nextTick(() => createIcon(root.value, false, true));\n };\n\n const methods = {\n setIconUrl: scheduleCreateIcon,\n setIconRetinaUrl: scheduleCreateIcon,\n setIconSize: scheduleCreateIcon,\n setIconAnchor: scheduleCreateIcon,\n setPopupAnchor: scheduleCreateIcon,\n setTooltipAnchor: scheduleCreateIcon,\n setShadowUrl: scheduleCreateIcon,\n setShadowRetinaUrl: scheduleCreateIcon,\n setShadowAnchor: scheduleCreateIcon,\n setBgPos: scheduleCreateIcon,\n setClassName: scheduleCreateIcon,\n setHtml: scheduleCreateIcon,\n };\n\n onMounted(async () => {\n const { DomEvent, divIcon: lDivIcon, icon: lIcon } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n onDomEvent = DomEvent.on;\n offDomEvent = DomEvent.off;\n divIcon = lDivIcon;\n icon = lIcon;\n\n propsBinder(methods, {}, props);\n\n const observer = new MutationObserver(scheduleHtmlSwap);\n observer.observe(root.value, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n scheduleCreateIcon();\n });\n\n return { root };\n },\n render() {\n const content = this.$slots.default ? this.$slots.default() : undefined;\n return h(\"div\", { ref: \"root\" }, content);\n },\n};\n\nscript$a.__file = \"src/components/LIcon.vue\";\n\n/**\n * @typedef {import('leaflet/dist/leaflet-src.esm.js').LatLngBounds} LatLngBounds\n */\n\nconst props$g = {\n ...props$1,\n url: {\n type: String,\n required: true,\n },\n bounds: {\n type: [Array, Object],\n required: true,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n alt: {\n type: String,\n default: \"\",\n },\n interactive: {\n type: Boolean,\n default: false,\n },\n crossOrigin: {\n type: Boolean,\n default: false,\n },\n errorOverlayUrl: {\n type: String,\n custom: true,\n default: \"\",\n },\n zIndex: {\n type: Number,\n custom: true,\n default: 1,\n },\n className: {\n type: String,\n default: \"\",\n },\n};\n\nconst setup$f = (setupProps, LeafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n setupProps,\n LeafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...setupProps,\n };\n\n const methods = {\n ...layerMethods,\n /**\n * Sets the opacity of the overlay.\n * @param {number} opacity\n */\n setOpacity(opacity) {\n return LeafletRef.value.setOpacity(opacity);\n },\n /**\n * Changes the URL of the image.\n * @param {string} url\n */\n setUrl(url) {\n return LeafletRef.value.setUrl(url);\n },\n /**\n * Update the bounds that this ImageOverlay covers\n * @param {LatLngBounds | Array>} bounds\n */\n setBounds(bounds) {\n return LeafletRef.value.setBounds(bounds);\n },\n /**\n * Get the bounds that this ImageOverlay covers\n * @returns {LatLngBounds}\n */\n getBounds() {\n return LeafletRef.value.getBounds();\n },\n /**\n * Returns the instance of HTMLImageElement used by this overlay.\n * @returns {HTMLElement}\n */\n getElement() {\n return LeafletRef.value.getElement();\n },\n /**\n * Brings the layer to the top of all overlays.\n */\n bringToFront() {\n return LeafletRef.value.bringToFront();\n },\n /**\n * Brings the layer to the bottom of all overlays.\n */\n bringToBack() {\n return LeafletRef.value.bringToBack();\n },\n /**\n * Changes the zIndex of the image overlay.\n * @param {number} zIndex\n */\n setZIndex(zIndex) {\n return LeafletRef.value.setZIndex(zIndex);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * ImageOverlay component, render a plain image instead of a geospatial map.\n */\nvar script$b = {\n name: \"LImageOverlay\",\n props: props$g,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$f(props, leafletRef, context);\n\n onMounted(async () => {\n const { imageOverlay, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = imageOverlay(props.url, props.bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$b.__file = \"src/components/LImageOverlay.vue\";\n\nvar script$c = {\n props: props$b,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods } = setup$b(props, leafletRef, context);\n\n onMounted(async () => {\n const { layerGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = layerGroup(props.options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$c.__file = \"src/components/LLayerGroup.vue\";\n\nvar script$d = {\n emits: [\"ready\", \"update:zoom\", \"update:center\", \"update:bounds\"],\n props: {\n ...props,\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n default: () => [0, 0],\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n default: undefined,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n default: undefined,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n default: undefined,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The CRS to use for the map. Can be an object that defines a coordinate reference\n * system for projecting geographical points into screen coordinates and back\n * (see https://leafletjs.com/reference-1.7.1.html#crs-l-crs-base), or a string\n * name identifying one of Leaflet's defined CRSs, such as \"EPSG4326\".\n */\n crs: {\n type: [String, Object],\n default: \"EPSG3857\",\n },\n maxBoundsViscosity: {\n type: Number,\n default: undefined,\n },\n inertia: {\n type: Boolean,\n default: undefined,\n },\n inertiaDeceleration: {\n type: Number,\n default: undefined,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: undefined,\n },\n easeLinearity: {\n type: Number,\n default: undefined,\n },\n zoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: undefined,\n },\n fadeAnimation: {\n type: Boolean,\n default: undefined,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n useGlobalLeaflet: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, context) {\n const root = ref(null);\n const blueprint = reactive({\n ready: false,\n leafletRef: {},\n layersToAdd: [],\n layersInControl: [],\n });\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n maxBounds: props.maxBounds,\n maxBoundsViscosity: props.maxBoundsViscosity,\n worldCopyJump: props.worldCopyJump,\n crs: props.crs,\n center: props.center,\n zoom: props.zoom,\n inertia: props.inertia,\n inertiaDeceleration: props.inertiaDeceleration,\n inertiaMaxSpeed: props.inertiaMaxSpeed,\n easeLinearity: props.easeLinearity,\n zoomAnimation: props.zoomAnimation,\n zoomAnimationThreshold: props.zoomAnimationThreshold,\n fadeAnimation: props.fadeAnimation,\n markerZoomAnimation: props.markerZoomAnimation,\n };\n\n const addLayer = provideLeafletWrapper(\"addLayer\");\n const removeLayer = provideLeafletWrapper(\"removeLayer\");\n const registerControl = provideLeafletWrapper(\"registerControl\");\n const registerLayerControl = provideLeafletWrapper(\"registerLayerControl\");\n provide(GLOBAL_LEAFLET_OPT, props.useGlobalLeaflet);\n\n const eventHandlers = {\n moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n context.emit(\"update:zoom\", blueprint.leafletRef.getZoom());\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n context.emit(\"update:center\", blueprint.leafletRef.getCenter());\n\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n context.emit(\"update:bounds\", blueprint.leafletRef.getBounds());\n },\n overlayAddHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n };\n\n onMounted(async () => {\n if (props.useGlobalLeaflet) {\n WINDOW_OR_GLOBAL.L = WINDOW_OR_GLOBAL.L || (await import('leaflet'));\n }\n const {\n map,\n CRS,\n Icon,\n latLngBounds,\n latLng,\n DomEvent,\n } = props.useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n try {\n options.beforeMapMount && (await options.beforeMapMount());\n } catch (error) {\n console.error(\n `The following error occurred running the provided beforeMapMount hook ${error.message}`\n );\n }\n\n await resetWebpackIcon(Icon);\n\n const optionsCrs =\n typeof options.crs == \"string\" ? CRS[options.crs] : options.crs;\n options.crs = optionsCrs || CRS.EPSG3857;\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd.push(layer);\n } else {\n const exist = blueprint.layersInControl.find(\n (l) =>\n l.leafletObject._leaflet_id ===\n layer.leafletObject._leaflet_id\n );\n if (!exist) {\n blueprint.layerControl.addLayer(layer);\n blueprint.layersInControl.push(layer);\n }\n }\n }\n if (layer.visible !== false) {\n blueprint.leafletRef.addLayer(layer.leafletObject);\n }\n },\n removeLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd = blueprint.layersToAdd.filter(\n (l) => l.name !== layer.name\n );\n } else {\n blueprint.layerControl.removeLayer(layer.leafletObject);\n blueprint.layersInControl = blueprint.layersInControl.filter(\n (l) =>\n l.leafletObject._leaflet_id !==\n layer.leafletObject._leaflet_id\n );\n }\n }\n blueprint.leafletRef.removeLayer(layer.leafletObject);\n },\n\n registerLayerControl(lControlLayer) {\n blueprint.layerControl = lControlLayer;\n blueprint.layersToAdd.forEach((layer) => {\n blueprint.layerControl.addLayer(layer);\n });\n blueprint.layersToAdd = [];\n\n registerControl(lControlLayer);\n },\n\n registerControl(lControl) {\n blueprint.leafletRef.addControl(lControl.leafletObject);\n },\n\n setZoom(newVal) {\n const zoom = blueprint.leafletRef.getZoom();\n if (newVal !== zoom) {\n blueprint.leafletRef.setZoom(newVal, {\n animate: props.noBlockingAnimations ? false : null,\n });\n }\n },\n\n setPaddingBottomRight(newVal) {\n blueprint.paddingBottomRight = newVal;\n },\n setPaddingTopLeft(newVal) {\n blueprint.paddingTopLeft = newVal;\n },\n setPadding(newVal) {\n blueprint.padding = newVal;\n },\n setCrs(newVal) {\n const prevBounds = blueprint.leafletRef.getBounds();\n blueprint.leafletRef.options.crs = newVal;\n blueprint.leafletRef.fitBounds(prevBounds, {\n animate: false,\n padding: [0, 0],\n });\n },\n fitBounds(bounds) {\n blueprint.leafletRef.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setBounds(newVal) {\n if (!newVal) {\n return;\n }\n const newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n const oldBounds =\n blueprint.lastSetBounds || blueprint.leafletRef.getBounds();\n const boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n blueprint.lastSetBounds = newBounds;\n blueprint.leafletRef.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n\n setCenter(newVal) {\n if (newVal == null) {\n return;\n }\n const newCenter = latLng(newVal);\n const oldCenter =\n blueprint.lastSetCenter || blueprint.leafletRef.getCenter();\n if (\n oldCenter.lat !== newCenter.lat ||\n oldCenter.lng !== newCenter.lng\n ) {\n blueprint.lastSetCenter = newCenter;\n blueprint.leafletRef.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n };\n\n updateLeafletWrapper(addLayer, methods.addLayer);\n updateLeafletWrapper(removeLayer, methods.removeLayer);\n updateLeafletWrapper(registerControl, methods.registerControl);\n updateLeafletWrapper(registerLayerControl, methods.registerLayerControl);\n\n blueprint.leafletRef = map(root.value, options);\n\n propsBinder(methods, blueprint.leafletRef, props);\n const listeners = remapEvents(context.attrs);\n\n blueprint.leafletRef.on(\n \"moveend\",\n debounce(eventHandlers.moveEndHandler, 100)\n );\n blueprint.leafletRef.on(\"overlayadd\", eventHandlers.overlayAddHandler);\n blueprint.leafletRef.on(\n \"overlayremove\",\n eventHandlers.overlayRemoveHandler\n );\n DomEvent.on(blueprint.leafletRef, listeners);\n blueprint.ready = true;\n nextTick(() => context.emit(\"ready\", blueprint.leafletRef));\n });\n\n onBeforeUnmount(() => {\n if (blueprint.leafletRef) {\n blueprint.leafletRef.remove();\n }\n });\n\n const leafletObject = computed(() => blueprint.leafletRef);\n const ready = computed(() => blueprint.ready);\n return { root, ready, leafletObject };\n },\n render() {\n return h(\n \"div\",\n { style: { width: \"100%\", height: \"100%\" }, ref: \"root\" },\n this.ready ? this.$slots.default() : {}\n );\n },\n};\n\nscript$d.__file = \"src/components/LMap.vue\";\n\nconst props$h = {\n ...props$1,\n pane: {\n type: String,\n default: \"markerPane\",\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n default: () => undefined,\n custom: false,\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n};\n\nconst setup$g = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerMethods,\n setDraggable(value) {\n if (leafletRef.value.dragging) {\n value\n ? leafletRef.value.dragging.enable()\n : leafletRef.value.dragging.disable();\n }\n },\n latLngSync(event) {\n context.emit(\"update:latLng\", event.latlng);\n context.emit(\"update:lat-lng\", event.latlng);\n },\n setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (leafletRef.value) {\n const oldLatLng = leafletRef.value.getLatLng();\n if (!oldLatLng || !oldLatLng.equals(newVal)) {\n leafletRef.value.setLatLng(newVal);\n }\n }\n },\n };\n return { options, methods };\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script$e = {\n name: \"LMarker\",\n props: props$h,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n provide(\"canSetParentHtml\", () => !!leafletRef.value.getElement());\n provide(\n \"setParentHtml\",\n (html) => (leafletRef.value.getElement().innerHTML = html)\n );\n provide(\n \"setIcon\",\n (newIcon) => leafletRef.value.setIcon && leafletRef.value.setIcon(newIcon)\n );\n const { options, methods } = setup$g(props, leafletRef, context);\n if (options.icon === undefined) {\n // If the options objection has a property named 'icon', then Leaflet will overwrite\n // the default icon with it for the marker, _even if it is undefined_.\n // This leads to the issue discussed in https://github.com/vue-leaflet/vue-leaflet/issues/130\n delete options.icon;\n }\n\n onMounted(async () => {\n const { marker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = marker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"move\", debounce(methods.latLngSync, 100));\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$e.__file = \"src/components/LMarker.vue\";\n\nconst props$i = {\n ...props$3,\n latLngs: {\n type: Array,\n default: () => [],\n },\n smoothFactor: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n noClip: {\n type: Boolean,\n custom: true,\n default: false,\n },\n};\n\nconst setup$h = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n\n const methods = {\n ...pathMethods,\n setSmoothFactor(smoothFactor) {\n leafletRef.value.setStyle({ smoothFactor });\n },\n setNoClip(noClip) {\n leafletRef.value.setStyle({ noClip });\n },\n addLatLng(latLng) {\n leafletRef.value.addLatLng(latLng);\n },\n };\n return { options, methods };\n};\n\nconst props$j = {\n ...props$i,\n};\n\nconst setup$i = (props, leafletRef, context) => {\n const { options: polylineOptions, methods: polylineMethods } = setup$h(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polylineOptions,\n ...props,\n };\n\n const methods = {\n ...polylineMethods,\n toGeoJSON(precision) {\n return leafletRef.value.toGeoJSON(precision);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Polygon component, lets you add and customize polygon regions on the map\n */\nvar script$f = {\n name: \"LPolygon\",\n props: props$j,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$i(props, leafletRef, context);\n\n onMounted(async () => {\n const { polygon, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polygon(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$f.__file = \"src/components/LPolygon.vue\";\n\n/**\n * Polyline component, lets you add and personalize polylines on the map\n */\nvar script$g = {\n name: \"LPolyline\",\n props: props$i,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$h(props, leafletRef, context);\n\n onMounted(async () => {\n const { polyline, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polyline(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$g.__file = \"src/components/LPolyline.vue\";\n\nconst props$k = {\n ...props,\n content: {\n type: String,\n default: null,\n },\n};\n\nconst setup$j = (props, leafletRef) => {\n const { options, methods: componentMethods } = setup(props);\n const methods = {\n ...componentMethods,\n setContent(newVal) {\n if (leafletRef.value && newVal !== null && newVal !== undefined) {\n leafletRef.value.setContent(newVal);\n }\n },\n };\n return { options, methods };\n};\n\nconst render$2 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nconst props$l = {\n ...props$k,\n latLng: {\n type: [Object, Array],\n default: () => [],\n },\n};\n\nconst setup$k = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindPopup = inject(\"unbindPopup\");\n\n onBeforeUnmount(() => {\n unbindPopup();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a popup on the map\n */\nvar script$h = {\n name: \"LPopup\",\n props: props$l,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindPopup = inject(\"bindPopup\");\n\n const { options, methods } = setup$k(props, leafletRef);\n\n onMounted(async () => {\n const { popup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = popup(options);\n\n if (props.latLng !== undefined) {\n leafletRef.value.setLatLng(props.latLng);\n }\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindPopup({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$h.__file = \"src/components/LPopup.vue\";\n\nconst props$m = {\n ...props$j,\n bounds: {\n type: Array,\n default: undefined,\n },\n};\n\nconst setup$l = (props, leafletRef, context) => {\n const { options: polygonOptions, methods: polygonMethods } = setup$i(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polygonOptions,\n ...props,\n };\n\n const methods = {\n ...polygonMethods,\n setBounds(latLngBounds) {\n leafletRef.value.setBounds(latLngBounds);\n },\n setLatLngs(latLngs) {\n // Calling setLatLngs on a Leaflet rectangle will convert it\n // to a polygon. So instead, we call setBounds here to ensure\n // that the rectangle remains a rectangle, defined by the\n // bounds of the points in the latLngs array.\n leafletRef.value.setBounds(latLngs);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Rectangle component, lets you add and customize rectangular regions on the map\n */\nvar script$i = {\n name: \"LRectangle\",\n props: props$m,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$l(props, leafletRef, context);\n\n onMounted(async () => {\n const { rectangle, latLngBounds, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const bounds =\n props.bounds && props.bounds.length\n ? latLngBounds(props.bounds)\n : latLngBounds(props.latLngs);\n leafletRef.value = rectangle(bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$i.__file = \"src/components/LRectangle.vue\";\n\nconst props$n = {\n ...props$e,\n tms: {\n type: Boolean,\n default: false,\n },\n subdomains: {\n type: String,\n default: \"abc\",\n },\n detectRetina: {\n type: Boolean,\n default: false,\n },\n url: {\n type: String,\n default: null,\n },\n};\n\nconst setup$m = (props, leafletRef) => {\n const {\n options: gridLayerOptions,\n methods: gridLayerMethods,\n } = setup$e(props, leafletRef);\n const options = {\n ...gridLayerOptions,\n tms: props.tms,\n subdomains: props.subdomains,\n detectRetina: props.detectRetina,\n };\n return {\n options,\n methods: {\n ...gridLayerMethods,\n },\n };\n};\n\nvar script$j = {\n props: props$n,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$m(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = tileLayer(props.url, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { leafletObject: leafletRef };\n },\n render() {\n return null;\n },\n};\n\nscript$j.__file = \"src/components/LTileLayer.vue\";\n\nconst props$o = {\n ...props$k,\n};\n\nconst setup$n = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindTooltip = inject(\"unbindTooltip\");\n\n onBeforeUnmount(() => {\n unbindTooltip();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a tooltip on the map\n */\nvar script$k = {\n name: \"LTooltip\",\n props: props$o,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindTooltip = inject(\"bindTooltip\");\n\n const { options, methods } = setup$n(props, leafletRef);\n\n onMounted(async () => {\n const { tooltip, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tooltip(options);\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindTooltip({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$k.__file = \"src/components/LTooltip.vue\";\n\nconst props$p = {\n ...props$n,\n baseUrl: {\n type: String,\n default: null,\n required: true,\n },\n layers: {\n type: String,\n default: \"\",\n },\n styles: {\n type: String,\n default: \"\",\n },\n format: {\n type: String,\n default: \"image/jpeg\",\n },\n transparent: {\n type: Boolean,\n custom: false,\n },\n version: {\n type: String,\n default: \"1.1.1\",\n },\n crs: {\n default: null,\n },\n upperCase: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$o = (props, leafletRef) => {\n const {\n options: tileLayerOptions,\n methods: tileLayerMethods,\n } = setup$m(props, leafletRef);\n const options = {\n ...tileLayerOptions,\n layers: props.layers,\n styles: props.styles,\n format: props.format,\n transparent: props.transparent,\n version: props.version,\n crs: props.crs,\n upperCase: props.upperCase,\n };\n return {\n options,\n methods: {\n ...tileLayerMethods,\n },\n };\n};\n\nvar script$l = {\n props: props$p,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$o(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tileLayer.wms(props.baseUrl, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$l.__file = \"src/components/LWmsTileLayer.vue\";\n\nexport { script as LCircle, script$1 as LCircleMarker, script$2 as LControl, script$3 as LControlAttribution, script$4 as LControlLayers, script$5 as LControlScale, script$6 as LControlZoom, script$7 as LFeatureGroup, script$8 as LGeoJson, script$9 as LGridLayer, script$a as LIcon, script$b as LImageOverlay, script$c as LLayerGroup, script$d as LMap, script$e as LMarker, script$f as LPolygon, script$g as LPolyline, script$h as LPopup, script$i as LRectangle, script$j as LTileLayer, script$k as LTooltip, script$l as LWmsTileLayer };\n//# sourceMappingURL=vue-leaflet.esm.js.map\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-225fffcc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-form\" }\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"form-item-radio\"\n}\nconst _hoisted_5 = [\"checked\", \"disabled\"]\nconst _hoisted_6 = { for: \"withGpx\" }\nconst _hoisted_7 = [\"checked\", \"disabled\"]\nconst _hoisted_8 = { for: \"withoutGpx\" }\nconst _hoisted_9 = { class: \"form-item\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = {\n key: 1,\n class: \"form-item\"\n}\nconst _hoisted_13 = { for: \"gpxFile\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { class: \"files-help info-box\" }\nconst _hoisted_16 = {\n key: 2,\n class: \"form-item\"\n}\nconst _hoisted_17 = { for: \"title\" }\nconst _hoisted_18 = [\"required\", \"disabled\"]\nconst _hoisted_19 = { key: 3 }\nconst _hoisted_20 = { class: \"workout-date-duration\" }\nconst _hoisted_21 = { class: \"form-item\" }\nconst _hoisted_22 = { class: \"workout-date-time\" }\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = [\"disabled\"]\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = { class: \"form-item\" }\nconst _hoisted_32 = [\"disabled\"]\nconst _hoisted_33 = { class: \"form-item\" }\nconst _hoisted_34 = { key: 1 }\nconst _hoisted_35 = {\n key: 2,\n class: \"form-buttons\"\n}\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = [\"onClick\"]\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n withDefaults,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, IWorkoutForm } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n import { getReadableFileSize } from '@/utils/files'\n import { translateSports } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n isCreation?: boolean\n loading?: boolean\n workout?: IWorkout\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null,\n isCreation: { default: false },\n loading: { default: false },\n workout: { default: () => ({} as IWorkout) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, sports: ISport[], isCreation: boolean, loading: boolean, workout: IWorkout }\n\n \n\n const { t } = useI18n()\n const store = useStore()\n const router = useRouter()\n\n const { authUser, workout, isCreation, loading } = toRefs(props)\n const translatedSports: ComputedRef = computed(() =>\n translateSports(\n props.sports,\n t,\n true,\n workout.value.id ? [workout.value.sport_id] : null\n )\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n const gpx_limit_import = appConfig.value.gpx_limit_import\n const zipSizeLimit = appConfig.value.max_zip_file_size\n ? getReadableFileSize(appConfig.value.max_zip_file_size)\n : ''\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const workoutForm = reactive({\n sport_id: '',\n title: '',\n notes: '',\n workoutDate: '',\n workoutTime: '',\n workoutDurationHour: '',\n workoutDurationMinutes: '',\n workoutDurationSeconds: '',\n workoutDistance: '',\n })\n let withGpx = ref(\n props.workout.id ? props.workout.with_gpx : props.isCreation\n )\n let gpxFile: File | null = null\n const formErrors = ref(false)\n\n onMounted(() => {\n if (props.workout.id) {\n formatWorkoutForm(props.workout)\n }\n })\n\n function updateNotes(value: string) {\n workoutForm.notes = value\n }\n function updateWithGpx() {\n withGpx.value = !withGpx.value\n formErrors.value = false\n }\n function updateFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n gpxFile = event.target.files[0]\n }\n }\n function formatWorkoutForm(workout: IWorkout) {\n workoutForm.sport_id = `${workout.sport_id}`\n workoutForm.title = workout.title\n workoutForm.notes = workout.notes\n if (!workout.with_gpx) {\n const workoutDateTime = formatWorkoutDate(\n getDateWithTZ(workout.workout_date, props.authUser.timezone),\n 'yyyy-MM-dd'\n )\n const duration = workout.duration.split(':')\n workoutForm.workoutDistance = `${\n authUser.value.imperial_units\n ? convertDistance(workout.distance, 'km', 'mi', 2)\n : parseFloat(workout.distance.toFixed(2))\n }`\n workoutForm.workoutDate = workoutDateTime.workout_date\n workoutForm.workoutTime = workoutDateTime.workout_time\n workoutForm.workoutDurationHour = duration[0]\n workoutForm.workoutDurationMinutes = duration[1]\n workoutForm.workoutDurationSeconds = duration[2]\n }\n }\n function formatPayload(payload: IWorkoutForm) {\n payload.title = workoutForm.title\n payload.distance = authUser.value.imperial_units\n ? convertDistance(+workoutForm.workoutDistance, 'mi', 'km', 3)\n : +workoutForm.workoutDistance\n payload.duration =\n +workoutForm.workoutDurationHour * 3600 +\n +workoutForm.workoutDurationMinutes * 60 +\n +workoutForm.workoutDurationSeconds\n payload.workout_date = `${workoutForm.workoutDate} ${workoutForm.workoutTime}`\n }\n function updateWorkout() {\n const payload: IWorkoutForm = {\n sport_id: +workoutForm.sport_id,\n notes: workoutForm.notes,\n }\n if (props.workout.id) {\n if (props.workout.with_gpx) {\n payload.title = workoutForm.title\n } else {\n formatPayload(payload)\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT, {\n workoutId: props.workout.id,\n data: payload,\n })\n } else {\n if (withGpx.value) {\n if (!gpxFile) {\n const errorMessage = 'workouts.NO_FILE_PROVIDED'\n store.commit(ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES, errorMessage)\n return\n }\n payload.file = gpxFile\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT, payload)\n } else {\n formatPayload(payload)\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX, payload)\n }\n }\n }\n function onCancel() {\n if (props.workout.id) {\n router.push({\n name: 'Workout',\n params: { workoutId: props.workout.id },\n })\n } else {\n router.go(-1)\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => props.workout,\n async (\n newWorkout: IWorkout | undefined,\n previousWorkout: IWorkout | undefined\n ) => {\n if (newWorkout !== previousWorkout && newWorkout && newWorkout.id) {\n formatWorkoutForm(newWorkout)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"workout-edition\",\n class: _normalizeClass([\"center-card center-card with-margin\", { 'center-form': _unref(workout) && _unref(workout).with_gpx }])\n }, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`workouts.${_unref(isCreation) ? 'ADD' : 'EDIT'}_WORKOUT`)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateWorkout, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isCreation))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withGpx\",\n type: \"radio\",\n checked: _unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_5),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.WITH_GPX')), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withoutGpx\",\n type: \"radio\",\n checked: !_unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_7),\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.WITHOUT_GPX')), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \": \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"sport\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(workoutForm).sport_id) = $event))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_11))\n }), 128))\n ], 40, _hoisted_10), [\n [_vModelSelect, _unref(workoutForm).sport_id]\n ])\n ]),\n (_unref(isCreation) && _unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \" \" + _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE_DESCRIPTION')) + \": \", 1),\n _createElementVNode(\"input\", {\n id: \"gpxFile\",\n name: \"gpxFile\",\n type: \"file\",\n accept: \".gpx, .zip\",\n disabled: _unref(loading),\n required: \"\",\n onInvalid: invalidateForm,\n onInput: updateFile\n }, null, 40, _hoisted_14),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.NO_FOLDER')), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_FILES')) + \": \" + _toDisplayString(_unref(gpx_limit_import)), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(zipSizeLimit)), 1)\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString(_ctx.$t('workouts.TITLE')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"title\",\n name: \"title\",\n type: \"text\",\n required: !_unref(isCreation),\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(workoutForm).title) = $event))\n }, null, 40, _hoisted_18), [\n [_vModelText, _unref(workoutForm).title]\n ])\n ])),\n (!_unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT_DATE')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_22, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-date\",\n name: \"workout-date\",\n type: \"date\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(workoutForm).workoutDate) = $event))\n }, null, 40, _hoisted_23), [\n [_vModelText, _unref(workoutForm).workoutDate]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-time\",\n name: \"workout-time\",\n class: \"workout-time\",\n type: \"time\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(workoutForm).workoutTime) = $event))\n }, null, 40, _hoisted_24), [\n [_vModelText, _unref(workoutForm).workoutTime]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \":\", 1),\n _createElementVNode(\"div\", null, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-hour\",\n name: \"workout-duration-hour\",\n class: \"workout-duration\",\n type: \"text\",\n placeholder: \"HH\",\n pattern: \"^([0-1]?[0-9]|2[0-3])$\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(workoutForm).workoutDurationHour) = $event))\n }, null, 40, _hoisted_26), [\n [_vModelText, _unref(workoutForm).workoutDurationHour]\n ]),\n _hoisted_27,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-minutes\",\n name: \"workout-duration-minutes\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"MM\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(workoutForm).workoutDurationMinutes) = $event))\n }, null, 40, _hoisted_28), [\n [_vModelText, _unref(workoutForm).workoutDurationMinutes]\n ]),\n _hoisted_29,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-seconds\",\n name: \"workout-duration-seconds\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"SS\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(workoutForm).workoutDurationSeconds) = $event))\n }, null, 40, _hoisted_30), [\n [_vModelText, _unref(workoutForm).workoutDurationSeconds]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(authUser).imperial_units ? 'mi' : 'km') + \"): \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n name: \"workout-distance\",\n type: \"number\",\n min: \"0\",\n step: \"0.001\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(workoutForm).workoutDistance) = $event))\n }, null, 40, _hoisted_32), [\n [_vModelText, _unref(workoutForm).workoutDistance]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.NOTES')) + \": \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"notes\",\n input: _unref(workoutForm).notes,\n disabled: _unref(loading),\n onUpdateValue: updateNotes\n }, null, 8, [\"input\", \"disabled\"])\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(loading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_Loader)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: _unref(loading)\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_36),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_37)\n ]))\n ], 42, _hoisted_2)\n ])\n ]),\n _: 1\n })\n ], 2))\n}\n}\n\n})","import script from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutEdition.vue?vue&type=style&index=0&id=225fffcc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-225fffcc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"add-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { ComputedRef, computed } from 'vue'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n isCreation: true,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Workout.vue?vue&type=style&index=0&id=a8e74d78&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"edit-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { computed, watch, onBeforeMount, ComputedRef } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\n onBeforeMount(() => {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: route.params.workoutId,\n })\n })\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (!newWorkoutId) {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n workout: _unref(workoutData).workout,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"workout\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = arraySlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n var dummy = this;\n // check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutNotes.vue?vue&type=style&index=0&id=6dd0f3c4&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=54dcb952&lang=scss&scoped=true\"","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).toGeoJSON={})}(this,(function(e){\"use strict\";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||\"\"}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const s=n(e,\"line\");if(s){const e=t(n(s,\"color\")),r=parseFloat(t(n(s,\"opacity\"))),i=parseFloat(t(n(s,\"width\")));e&&(o.stroke=e),isNaN(r)||(o[\"stroke-opacity\"]=r),isNaN(i)||(o[\"stroke-width\"]=96*i/25.4)}}return o}function s(e,o){const s={};let r,i;for(i=0;i1,g=Object.assign(r(e),o(n(e,\"extensions\")),{_gpxType:\"trk\"},i.length?{coordinateProperties:{times:c?i:i[0]}}:{});for(let e=0;enew Array(e.line.length).fill(null)))),t[n][e]=o):t[n]=o}}return{type:\"Feature\",properties:g,geometry:c?{type:\"MultiLineString\",coordinates:s}:{type:\"LineString\",coordinates:s[0]}}}function*g(e){const t=e.getElementsByTagName(\"trk\"),n=e.getElementsByTagName(\"rte\"),o=e.getElementsByTagName(\"wpt\");for(let e=0;eArray(e.length).fill(null)))),c[n][e]=t[n])}if(0!==s.length)return(r.length||i.length)&&(c.coordinateProperties=Object.assign(r.length?{times:1===s.length?r[0]:r}:{},i.length?{heart:1===s.length?i[0]:i}:{})),{type:\"Feature\",properties:c,geometry:{type:1===s.length?\"LineString\":\"MultiLineString\",coordinates:1===s.length?s[0]:s}}}function*y(e){const t=e.getElementsByTagName(\"Lap\");for(let e=0;e (_pushScopeId(\"data-v-06d30f25\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-filters\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"form\" }\nconst _hoisted_4 = { class: \"form-items-group\" }\nconst _hoisted_5 = { class: \"form-item\" }\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-item\" }\nconst _hoisted_8 = [\"value\"]\nconst _hoisted_9 = { class: \"form-items-group\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"option\", { value: \"\" }, null, -1))\nconst _hoisted_13 = [\"value\"]\nconst _hoisted_14 = { class: \"form-items-group\" }\nconst _hoisted_15 = { class: \"form-item\" }\nconst _hoisted_16 = { class: \"form-inputs-group\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = [\"value\"]\nconst _hoisted_19 = { class: \"form-items-group\" }\nconst _hoisted_20 = { class: \"form-item\" }\nconst _hoisted_21 = { class: \"form-inputs-group\" }\nconst _hoisted_22 = [\"value\"]\nconst _hoisted_23 = [\"value\"]\nconst _hoisted_24 = { class: \"form-items-group\" }\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = { class: \"form-inputs-group\" }\nconst _hoisted_27 = [\"value\"]\nconst _hoisted_28 = [\"value\"]\nconst _hoisted_29 = { class: \"form-items-group\" }\nconst _hoisted_30 = { class: \"form-item\" }\nconst _hoisted_31 = { class: \"form-inputs-group\" }\nconst _hoisted_32 = [\"value\"]\nconst _hoisted_33 = [\"value\"]\nconst _hoisted_34 = { class: \"form-button\" }\n\nimport { ComputedRef, computed, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n import { units } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null\n },\n emits: ['filter'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n sports: ISport[]\n }\n\n \n\n \n\n const { t } = useI18n()\n const route = useRoute()\n const router = useRouter()\n\n const { authUser } = toRefs(props)\n\n const toUnit = authUser.value.imperial_units\n ? units['km'].defaultTarget\n : 'km'\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n let params: LocationQuery = Object.assign({}, route.query)\n\n function handleFilterChange(event: Event & { target: HTMLInputElement }) {\n if (event.target.value === '') {\n delete params[event.target.name]\n } else {\n params[event.target.name] = event.target.value\n }\n }\n function onFilter() {\n emit('filter')\n if ('page' in params) {\n params['page'] = '1'\n }\n router.push({ path: '/workouts', query: params })\n }\n function onClearFilter() {\n emit('filter')\n router.push({ path: '/workouts', query: {} })\n }\n\n watch(\n () => route.query,\n (newQuery) => {\n params = Object.assign({}, newQuery)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.FROM')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"from\",\n type: \"date\",\n value: _ctx.$route.query.from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_6)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.TO')) + \": \", 1),\n _createElementVNode(\"input\", {\n name: \"to\",\n type: \"date\",\n value: _ctx.$route.query.to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_8)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \":\", 1),\n _createElementVNode(\"select\", {\n name: \"sport_id\",\n value: _ctx.$route.query.sport_id,\n onChange: handleFilterChange\n }, [\n _hoisted_12,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports).filter((s) =>\n _unref(authUser).sports_list.includes(s.id)\n ), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_13))\n }), 128))\n ], 40, _hoisted_11)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"input\", {\n name: \"distance_from\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_from,\n onChange: handleFilterChange\n }, null, 40, _hoisted_17),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"distance_to\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: _ctx.$route.query.distance_to,\n onChange: handleFilterChange\n }, null, 40, _hoisted_18)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"input\", {\n name: \"duration_from\",\n value: _ctx.$route.query.duration_from,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_22),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n name: \"duration_to\",\n value: _ctx.$route.query.duration_to,\n onChange: handleFilterChange,\n pattern: \"^([0-9]*[0-9]):([0-5][0-9])$\",\n placeholder: \"hh:mm\",\n type: \"text\"\n }, null, 40, _hoisted_23)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_from\",\n value: _ctx.$route.query.ave_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_27),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"ave_speed_to\",\n value: _ctx.$route.query.ave_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_28)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')) + \" (\" + _toDisplayString(_unref(toUnit)) + \"): \", 1),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_from\",\n value: _ctx.$route.query.max_speed_from,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_32),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('workouts.TO')), 1),\n _createElementVNode(\"input\", {\n min: \"0\",\n name: \"max_speed_to\",\n value: _ctx.$route.query.max_speed_to,\n onChange: handleFilterChange,\n step: \"0.1\",\n type: \"number\"\n }, null, 40, _hoisted_33)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onFilter\n }, _toDisplayString(_ctx.$t('buttons.FILTER')), 1),\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: onClearFilter\n }, _toDisplayString(_ctx.$t('buttons.CLEAR_FILTER')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-06d30f25\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1ba1a972\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workouts-list\" }\nconst _hoisted_2 = { class: \"total\" }\nconst _hoisted_3 = { class: \"total-label\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 0,\n class: \"workouts-table responsive-table\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", { class: \"sport-col\" }, null, -1))\nconst _hoisted_7 = { class: \"sport-col\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"onMouseover\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}\nconst _hoisted_12 = { class: \"cell-heading\" }\nconst _hoisted_13 = { class: \"text-right\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = { class: \"text-right\" }\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = { class: \"text-right\" }\nconst _hoisted_18 = { class: \"cell-heading\" }\nconst _hoisted_19 = { class: \"text-right\" }\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = { class: \"text-right\" }\nconst _hoisted_22 = { class: \"cell-heading\" }\nconst _hoisted_23 = { class: \"text-right\" }\nconst _hoisted_24 = { class: \"cell-heading\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n capitalize,\n onBeforeMount,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import StaticMap from '@/components/Common/StaticMap.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList, workoutsPayloadKeys } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n import { getSportColor, getSportLabel } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n import { defaultOrder } from '@/utils/workouts'\n\n interface Props {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n user: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n sports: ITranslatedSport[]\n }\n\n \n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const { user, sports } = toRefs(props)\n const orderByList: string[] = [\n 'ave_speed',\n 'distance',\n 'duration',\n 'workout_date',\n ]\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.USER_WORKOUTS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]\n )\n let query: TWorkoutsPayload = getWorkoutsQuery(route.query)\n const hoverWorkoutId: Ref = ref(null)\n\n onBeforeMount(() => {\n loadWorkouts(query)\n })\n\n function loadWorkouts(payload: TWorkoutsPayload) {\n store.dispatch(\n WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS,\n user.value.imperial_units ? getConvertedPayload(payload) : payload\n )\n }\n function reloadWorkouts(queryParam: string, queryValue: string) {\n const newQuery: LocationQuery = Object.assign({}, route.query)\n newQuery[queryParam] = queryValue\n if (queryParam === 'per_page') {\n newQuery['page'] = '1'\n }\n query = getWorkoutsQuery(newQuery)\n router.push({ path: '/workouts', query })\n }\n\n function getWorkoutsQuery(newQuery: LocationQuery): TWorkoutsPayload {\n query = getQuery(newQuery, orderByList, defaultOrder.order_by, {\n defaultSort: defaultOrder.order,\n })\n Object.keys(newQuery)\n .filter((k) => workoutsPayloadKeys.includes(k))\n .map((k) => {\n if (typeof newQuery[k] === 'string') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n query[k] = newQuery[k]\n }\n })\n return query\n }\n\n function getConvertedPayload(payload: TWorkoutsPayload): TWorkoutsPayload {\n const convertedPayload: TWorkoutsPayload = {\n ...payload,\n }\n Object.entries(convertedPayload).map((entry) => {\n if (entry[0].match('speed|distance')) {\n convertedPayload[entry[0]] = convertDistance(+entry[1], 'mi', 'km')\n }\n })\n return convertedPayload\n }\n\n function onHover(workoutId: string | null) {\n hoverWorkoutId.value = workoutId\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getWorkoutsQuery(newQuery)\n loadWorkouts(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"box\", { 'empty-table': _unref(workouts).length === 0 }])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t('common.TOTAL').toLowerCase()) + \": \", 1),\n (_unref(pagination).total !== null)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_unref(pagination).total) + \" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(pagination).total)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"workouts\",\n onUpdateSelect: reloadWorkouts\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(Pagination, {\n class: \"top-pagination\",\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_6,\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DATE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DISTANCE'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DURATION'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.AVE_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.MAX_SPEED'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.ASCENT'))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.DESCENT'))), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: workout.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.SPORT', 1)), 1),\n (_unref(sports).length > 0)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n title: \n _unref(sports).find((s) => s.id === workout.sport_id)\n .translatedLabel\n ,\n \"sport-label\": _unref(getSportLabel)(workout, _unref(sports)),\n color: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", {\n class: \"workout-title\",\n onMouseover: ($event: any) => (onHover(workout.id)),\n onMouseleave: _cache[0] || (_cache[0] = ($event: any) => (onHover(null)))\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 1))), 1),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: { name: 'Workout', params: { workoutId: workout.id } }\n }, {\n default: _withCtx(() => [\n (workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\" \" + _toDisplayString(workout.title), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n (workout.with_gpx && hoverWorkoutId.value === workout.id)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: workout,\n \"display-hover\": true\n }, null, 8, [\"workout\"]))\n : _createCommentVNode(\"\", true)\n ], 40, _hoisted_9),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(workout.workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _createVNode(_component_Distance, {\n distance: workout.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _createTextVNode(\" \" + _toDisplayString(workout.moving), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_17, [\n _createElementVNode(\"span\", _hoisted_18, _toDisplayString(_ctx.$t('workouts.AVE_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.ave_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _createVNode(_component_Distance, {\n distance: workout.max_speed,\n unitFrom: \"km\",\n speed: true,\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]),\n _createElementVNode(\"td\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.ascent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"td\", _hoisted_23, [\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n (workout.with_gpx)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: workout.descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(user).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n }), 128))\n ])\n ]),\n _createVNode(Pagination, {\n pagination: _unref(pagination),\n path: \"/workouts\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _hoisted_25\n ]))\n}\n}\n\n})","import script from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1ba1a972\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ed6df5ba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workouts\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container workouts-container\" }\nconst _hoisted_3 = { class: \"display-filters\" }\nconst _hoisted_4 = { class: \"list-container\" }\n\nimport { ComputedRef, computed, ref } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import WorkoutsFilters from '@/components/Workouts/WorkoutsFilters.vue'\n import WorkoutsList from '@/components/Workouts/WorkoutsList.vue'\n import { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t)\n )\n const hiddenFilters = ref(true)\n\n function toggleFilters() {\n hiddenFilters.value = !hiddenFilters.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_unref(authUser).username)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"filters-container\", { hidden: hiddenFilters.value }])\n }, [\n _createVNode(WorkoutsFilters, {\n sports: _unref(translatedSports),\n authUser: _unref(authUser),\n onFilter: toggleFilters\n }, null, 8, [\"sports\", \"authUser\"])\n ], 2),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", { onClick: toggleFilters }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa-caret-${hiddenFilters.value ? 'down' : 'up'}`),\n \"aria-hidden\": \"true\"\n }, null, 2),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`workouts.${hiddenFilters.value ? 'DISPLAY' : 'HIDE'}_FILTERS`)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(WorkoutsList, {\n user: _unref(authUser),\n sports: _unref(translatedSports)\n }, null, 8, [\"user\", \"sports\"])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-ed6df5ba\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsView.vue?vue&type=style&index=0&id=ed6df5ba&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21fe0e9a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-card-title\" }\nconst _hoisted_2 = [\"title\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = [\n _hoisted_3\n]\nconst _hoisted_5 = { class: \"workout-card-title\" }\nconst _hoisted_6 = { class: \"workout-title-date\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"workout-title\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"workout-title\"\n}\nconst _hoisted_9 = { class: \"workout-segment\" }\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\" — \")\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-marker\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"workout-date\" }\nconst _hoisted_13 = { class: \"workout-link\" }\nconst _hoisted_14 = [\"title\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = [\n _hoisted_15\n]\n\nimport { toRefs } from 'vue'\n\n import { ISport } from '@/types/sports'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n sport: null,\n workoutObject: null\n },\n emits: ['displayModal'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n sport: ISport\n workoutObject: IWorkoutObject\n }\n\n \n\n \n\n const { sport, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-previous workout-arrow\", { inactive: !_unref(workoutObject).previousUrl }]),\n title: \n _unref(workoutObject).previousUrl\n ? _ctx.$t(`workouts.PREVIOUS_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_PREVIOUS_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workoutObject).previousUrl\n ? _ctx.$router.push(_unref(workoutObject).previousUrl)\n : null\n ))\n }, _hoisted_4, 10, _hoisted_2),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createElementVNode(\"div\", _hoisted_6, [\n (_unref(workoutObject).type === 'WORKOUT')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"i\", {\n class: \"fa fa-edit\",\n \"aria-hidden\": \"true\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _ctx.$router.push({\n name: 'EditWorkout',\n params: { workoutId: _unref(workoutObject).workoutId },\n })\n ))\n }),\n _createElementVNode(\"i\", {\n class: \"fa fa-trash\",\n \"aria-hidden\": \"true\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (emit('displayModal', true)))\n })\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).title) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _hoisted_11,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.SEGMENT')) + \" \" + _toDisplayString(_unref(workoutObject).segmentId + 1), 1)\n ])\n ])),\n _createElementVNode(\"div\", _hoisted_12, [\n _createTextVNode(_toDisplayString(_unref(workoutObject).workoutDate) + \" - \" + _toDisplayString(_unref(workoutObject).workoutTime) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_13, [\n (_unref(workoutObject).type === 'SEGMENT')\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workoutObject).workoutId },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(\" > \" + _toDisplayString(_ctx.$t('workouts.BACK_TO_WORKOUT')), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-next workout-arrow\", { inactive: !_unref(workoutObject).nextUrl }]),\n title: \n _unref(workoutObject).nextUrl\n ? _ctx.$t(`workouts.NEXT_${_unref(workoutObject).type}`)\n : _ctx.$t(`workouts.NO_NEXT_${_unref(workoutObject).type}`)\n ,\n onClick: _cache[3] || (_cache[3] = ($event: any) => (\n _unref(workoutObject).nextUrl ? _ctx.$router.push(_unref(workoutObject).nextUrl) : null\n ))\n }, _hoisted_16, 10, _hoisted_14)\n ]))\n}\n}\n\n})","import script from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-21fe0e9a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2e8c6844\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"workout-record\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"sup\", null, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n })\n], -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n recordType: string\n workoutObject: IWorkoutObject\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n recordType: null,\n workoutObject: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n recordType: string\n workoutObject: IWorkoutObject\n }\n\n \n\n const { recordType, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (\n _unref(workoutObject).records &&\n _unref(workoutObject).records.find((record) => record.record_type === _unref(recordType))\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _hoisted_3))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2e8c6844\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-07781815\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"workout-weather\"\n}\nconst _hoisted_2 = { class: \"weather-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_4 = { class: \"weather-th\" }\nconst _hoisted_5 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_6 = { class: \"weather-th\" }\nconst _hoisted_7 = [\"src\", \"alt\", \"title\"]\nconst _hoisted_8 = [\"alt\", \"title\"]\nconst _hoisted_9 = [\"alt\", \"title\"]\nconst _hoisted_10 = [\"alt\", \"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { useImperialUnits, workoutObject } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_unref(workoutObject).weatherStart && _unref(workoutObject).weatherEnd)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", _hoisted_2, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.START')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherStart.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherStart.icon}`\n )\n \n }, null, 8, _hoisted_5)\n ])\n ]),\n _createElementVNode(\"th\", null, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.END')) + \" \", 1),\n _createElementVNode(\"img\", {\n class: \"weather-img\",\n src: `/img/weather/${_unref(workoutObject).weatherEnd.icon}.svg`,\n alt: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n ,\n title: \n _ctx.$t(\n `workouts.WEATHER.DARK_SKY.${_unref(workoutObject).weatherEnd.icon}`\n )\n \n }, null, 8, _hoisted_7)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/temperature.svg\",\n alt: _ctx.$t(`workouts.WEATHER.TEMPERATURE`),\n title: _ctx.$t(`workouts.WEATHER.TEMPERATURE`)\n }, null, 8, _hoisted_8)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.temperature).toFixed(1)) + \"°C \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.temperature).toFixed(1)) + \"°C \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/pour-rain.svg\",\n alt: _ctx.$t(`workouts.WEATHER.HUMIDITY`),\n title: _ctx.$t(`workouts.WEATHER.HUMIDITY`)\n }, null, 8, _hoisted_9)\n ]),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherStart.humidity * 100).toFixed(1)) + \"% \", 1),\n _createElementVNode(\"td\", null, _toDisplayString(Number(_unref(workoutObject).weatherEnd.humidity * 100).toFixed(1)) + \"% \", 1)\n ]),\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"img\", {\n class: \"weather-img weather-img-small\",\n src: \"/img/weather/breeze.svg\",\n alt: _ctx.$t(`workouts.WEATHER.WIND`),\n title: _ctx.$t(`workouts.WEATHER.WIND`)\n }, null, 8, _hoisted_10)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherStart.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).weatherEnd.wind,\n unitFrom: \"m\",\n digits: 1,\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(useImperialUnits) ? 'ft' : 'm') + \"/s \", 1)\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=07781815&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-07781815\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, createVNode as _createVNode, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a7c2d728\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-info\" }\nconst _hoisted_2 = { class: \"workout-data\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"label\" }\nconst _hoisted_5 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_6 = { class: \"value\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"value\" }\nconst _hoisted_9 = { class: \"value\" }\nconst _hoisted_10 = { class: \"workout-data\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_12 = { class: \"label\" }\nconst _hoisted_13 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_14 = { class: \"workout-data\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-tachometer\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_16 = { class: \"label\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_19 = { class: \"label\" }\nconst _hoisted_20 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_21 = {\n key: 0,\n class: \"workout-data\"\n}\nconst _hoisted_22 = [\"alt\"]\nconst _hoisted_23 = { class: \"label\" }\nconst _hoisted_24 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_26 = { class: \"label\" }\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_28 = {\n key: 1,\n class: \"workout-data\"\n}\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_30 = { class: \"label\" }\nconst _hoisted_31 = /*#__PURE__*/_createTextVNode(\": \")\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_33 = { class: \"label\" }\nconst _hoisted_34 = /*#__PURE__*/_createTextVNode(\": \")\n\nimport { computed, toRefs } from 'vue'\n\n import WorkoutRecord from '@/components/Workout/WorkoutDetail/WorkoutRecord.vue'\n import WorkoutWeather from '@/components/Workout/WorkoutDetail/WorkoutWeather.vue'\n import { IWorkoutObject } from '@/types/workouts'\n\n interface Props {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutObject: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n workoutObject: IWorkoutObject\n useImperialUnits: boolean\n }\n\n \n\n const { workoutObject, useImperialUnits } = toRefs(props)\n const withPause = computed(\n () =>\n props.workoutObject.pauses !== '0:00:00' &&\n props.workoutObject.pauses !== null\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('workouts.DURATION')), 1),\n _hoisted_5,\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(workoutObject).moving), 1),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"LD\"\n }, null, 8, [\"workoutObject\"]),\n (_unref(withPause))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.PAUSES')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_unref(workoutObject).pauses), 1),\n _createTextVNode(\" - \" + _toDisplayString(_ctx.$t('workouts.TOTAL_DURATION')) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(workoutObject).duration) + \")\", 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1),\n _hoisted_13,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).distance,\n digits: 3,\n unitFrom: \"km\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"FD\"\n }, null, 8, [\"workoutObject\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1),\n _hoisted_17,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).aveSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"AS\"\n }, null, 8, [\"workoutObject\"]),\n _hoisted_18,\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('workouts.MAX_SPEED')), 1),\n _hoisted_20,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxSpeed,\n unitFrom: \"km\",\n speed: true,\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createVNode(WorkoutRecord, {\n workoutObject: _unref(workoutObject),\n recordType: \"MS\"\n }, null, 8, [\"workoutObject\"])\n ]),\n (_unref(workoutObject).maxAlt !== null && _unref(workoutObject).minAlt !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_22),\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(_ctx.$t('workouts.MIN_ALTITUDE')), 1),\n _hoisted_24,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).minAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_25,\n _createElementVNode(\"span\", _hoisted_26, _toDisplayString(_ctx.$t('workouts.MAX_ALTITUDE')), 1),\n _hoisted_27,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).maxAlt,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workoutObject).ascent !== null && _unref(workoutObject).descent !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [\n _hoisted_29,\n _createElementVNode(\"span\", _hoisted_30, _toDisplayString(_ctx.$t('workouts.ASCENT')), 1),\n _hoisted_31,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).ascent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _hoisted_32,\n _createElementVNode(\"span\", _hoisted_33, _toDisplayString(_ctx.$t('workouts.DESCENT')), 1),\n _hoisted_34,\n _createVNode(_component_Distance, {\n distance: _unref(workoutObject).descent,\n unitFrom: \"m\",\n strong: true,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(WorkoutWeather, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]))\n}\n}\n\n})","import script from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a7c2d728\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createBlock as _createBlock, withCtx as _withCtx, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b4b3006a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-map\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = {\n key: 0,\n class: \"leaflet-container\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"no-map\"\n}\n\nimport { gpx } from '@tmcw/togeojson'\n import { LGeoJson, LMap, LMarker, LTileLayer } from '@vue-leaflet/vue-leaflet'\n import { ComputedRef, computed, ref, toRefs, withDefaults } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { GeoJSONData } from '@/types/geojson'\n import { IWorkoutData, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const store = useStore()\n\n const { workoutData, markerCoordinates } = toRefs(props)\n const workoutMap = ref null }\n }>(null)\n const bounds = computed(() =>\n props.workoutData\n ? [\n [\n props.workoutData.workout.bounds[0],\n props.workoutData.workout.bounds[1],\n ],\n [\n props.workoutData.workout.bounds[2],\n props.workoutData.workout.bounds[3],\n ],\n ]\n : []\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const center = computed(() => getCenter(bounds))\n const geoJson = computed(() =>\n props.workoutData && props.workoutData.gpx\n ? getGeoJson(props.workoutData.gpx)\n : {}\n )\n\n function getGeoJson(gpxContent: string): GeoJSONData {\n if (!gpxContent || gpxContent !== '') {\n try {\n const jsonData = gpx(\n new DOMParser().parseFromString(gpxContent, 'text/xml')\n )\n return { jsonData }\n } catch (e) {\n console.error('Invalid gpx content')\n return {}\n }\n }\n return {}\n }\n function getCenter(bounds: ComputedRef): number[] {\n return [\n (bounds.value[0][0] + bounds.value[1][0]) / 2,\n (bounds.value[0][1] + bounds.value[1][1]) / 2,\n ]\n }\n function fitBounds(bounds: number[][]) {\n if (workoutMap.value?.leafletObject) {\n workoutMap.value?.leafletObject.fitBounds(bounds)\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(workoutData).loading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_unref(geoJson).jsonData && _unref(center) && _unref(bounds).length === 2)\n ? (_openBlock(), _createBlock(_unref(LMap), {\n key: 0,\n zoom: 13,\n center: _unref(center),\n bounds: _unref(bounds),\n ref: (_value, _refs) => {\n _refs['workoutMap'] = _value\n workoutMap.value = _value\n },\n onReady: _cache[0] || (_cache[0] = ($event: any) => (fitBounds(_unref(bounds))))\n }, {\n default: _withCtx(() => [\n _createVNode(_unref(LTileLayer), {\n url: `${_unref(getApiUrl)()}workouts/map_tile/{s}/{z}/{x}/{y}.png`,\n attribution: _unref(appConfig).map_attribution,\n bounds: _unref(bounds)\n }, null, 8, [\"url\", \"attribution\", \"bounds\"]),\n _createVNode(_unref(LGeoJson), {\n geojson: _unref(geoJson).jsonData\n }, null, 8, [\"geojson\"]),\n (_unref(markerCoordinates).latitude)\n ? (_openBlock(), _createBlock(_unref(LMarker), {\n key: 0,\n \"lat-lng\": [_unref(markerCoordinates).latitude, _unref(markerCoordinates).longitude]\n }, null, 8, [\"lat-lng\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"center\", \"bounds\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n ]))\n}\n}\n\n})","import script from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b4b3006a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withCtx as _withCtx, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2655acaa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"workout-detail\" }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutCardTitle from '@/components/Workout/WorkoutDetail/WorkoutCardTitle.vue'\n import WorkoutData from '@/components/Workout/WorkoutDetail/WorkoutData.vue'\n import WorkoutMap from '@/components/Workout/WorkoutDetail/WorkoutMap.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkout,\n IWorkoutData,\n IWorkoutObject,\n IWorkoutSegment,\n TCoordinates,\n } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IUserProfile\n displaySegment: boolean\n sports: ISport[]\n workoutData: IWorkoutData\n markerCoordinates?: TCoordinates\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n displaySegment: null,\n sports: null,\n workoutData: null,\n markerCoordinates: { default: () => ({} as TCoordinates) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, displaySegment: boolean, sports: ISport[], workoutData: IWorkoutData, markerCoordinates: TCoordinates }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { authUser, markerCoordinates, workoutData } = toRefs(props)\n const workout: ComputedRef = computed(\n () => props.workoutData.workout\n )\n let segmentId: Ref = ref(\n route.params.workoutId ? +route.params.segmentId : null\n )\n const segment: ComputedRef = computed(() =>\n workout.value.segments.length > 0 && segmentId.value\n ? workout.value.segments[+segmentId.value - 1]\n : null\n )\n let displayModal: Ref = ref(false)\n const sport = computed(() =>\n props.sports\n ? props.sports.find(\n (sport) => sport.id === props.workoutData.workout.sport_id\n )\n : {}\n )\n const workoutObject = computed(() =>\n getWorkoutObject(workout.value, segment.value)\n )\n\n function getWorkoutObjectUrl(\n workout: IWorkout,\n displaySegment: boolean,\n segmentId: number | null\n ): Record {\n const previousUrl =\n displaySegment && segmentId && segmentId !== 1\n ? `/workouts/${workout.id}/segment/${segmentId - 1}`\n : !displaySegment && workout.previous_workout\n ? `/workouts/${workout.previous_workout}`\n : null\n const nextUrl =\n displaySegment && segmentId && segmentId < workout.segments.length\n ? `/workouts/${workout.id}/segment/${segmentId + 1}`\n : !displaySegment && workout.next_workout\n ? `/workouts/${workout.next_workout}`\n : null\n return {\n previousUrl,\n nextUrl,\n }\n }\n function getWorkoutObject(\n workout: IWorkout,\n segment: IWorkoutSegment | null\n ): IWorkoutObject {\n const urls = getWorkoutObjectUrl(\n workout,\n props.displaySegment,\n segmentId.value ? +segmentId.value : null\n )\n const workoutDate = formatWorkoutDate(\n getDateWithTZ(\n props.workoutData.workout.workout_date,\n props.authUser.timezone\n )\n )\n return {\n ascent: segment ? segment.ascent : workout.ascent,\n aveSpeed: segment ? segment.ave_speed : workout.ave_speed,\n distance: segment ? segment.distance : workout.distance,\n descent: segment ? segment.descent : workout.descent,\n duration: segment ? segment.duration : workout.duration,\n maxAlt: segment ? segment.max_alt : workout.max_alt,\n maxSpeed: segment ? segment.max_speed : workout.max_speed,\n minAlt: segment ? segment.min_alt : workout.min_alt,\n moving: segment ? segment.moving : workout.moving,\n nextUrl: urls.nextUrl,\n pauses: segment ? segment.pauses : workout.pauses,\n previousUrl: urls.previousUrl,\n records: segment ? [] : workout.records,\n segmentId: segment ? segment.segment_id : null,\n title: workout.title,\n type: props.displaySegment ? 'SEGMENT' : 'WORKOUT',\n workoutDate: workoutDate.workout_date,\n weatherEnd: segment ? null : workout.weather_end,\n workoutId: workout.id,\n weatherStart: segment ? null : workout.weather_start,\n workoutTime: workoutDate.workout_time,\n }\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteWorkout(workoutId: string) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT, {\n workoutId: workoutId,\n })\n }\n\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (newSegmentId) {\n segmentId.value = +newSegmentId\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(displayModal))\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('workouts.WORKOUT_DELETION_CONFIRMATION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteWorkout(_unref(workoutObject).workoutId))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(WorkoutCardTitle, {\n sport: _unref(sport),\n workoutObject: _unref(workoutObject),\n onDisplayModal: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayModal(true)))\n }, null, 8, [\"sport\", \"workoutObject\"])\n ]),\n content: _withCtx(() => [\n _createVNode(WorkoutMap, {\n workoutData: _unref(workoutData),\n markerCoordinates: _unref(markerCoordinates)\n }, null, 8, [\"workoutData\", \"markerCoordinates\"]),\n _createVNode(WorkoutData, {\n workoutObject: _unref(workoutObject),\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"workoutObject\", \"useImperialUnits\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2655acaa\"]])\n\nexport default __exports__","import { Chart, LegendItem } from 'chart.js'\n\nconst getOrCreateLegendList = (id: string): HTMLUListElement => {\n const legendContainer = document.getElementById(id)\n if (legendContainer) {\n let listContainer = legendContainer.querySelector('ul')\n if (!listContainer) {\n listContainer = document.createElement('ul')\n legendContainer.appendChild(listContainer)\n }\n return listContainer\n }\n throw new Error('No legend container')\n}\n\nexport const htmlLegendPlugin = {\n id: 'htmlLegend',\n afterUpdate(\n chart: Chart,\n args: Record,\n options: Record\n ): void {\n const ul = getOrCreateLegendList(options.containerID)\n while (ul.firstChild) {\n ul.firstChild.remove()\n }\n\n const legendItems = chart.options.plugins?.legend?.labels?.generateLabels\n ? chart.options.plugins?.legend?.labels?.generateLabels(chart)\n : []\n\n legendItems.forEach((item: LegendItem) => {\n const li = document.createElement('li')\n li.onclick = () => {\n chart.setDatasetVisibility(\n item.datasetIndex,\n !chart.isDatasetVisible(item.datasetIndex)\n )\n chart.update()\n }\n\n const checkBox = document.createElement('input')\n if (checkBox) {\n checkBox.type = 'checkbox'\n checkBox.id = item.text\n checkBox.checked = !item.hidden\n }\n\n const text = document.createTextNode(item.text)\n\n const boxSpan = document.createElement('span')\n if (boxSpan) {\n boxSpan.style.background = String(item.fillStyle)\n boxSpan.style.borderColor = String(item.strokeStyle)\n }\n\n li.appendChild(checkBox)\n li.appendChild(text)\n li.appendChild(boxSpan)\n ul.appendChild(li)\n })\n },\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createElementVNode as _createElementVNode, mergeProps as _mergeProps, createVNode as _createVNode, isRef as _isRef, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-82a367b0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-chart\" }\nconst _hoisted_2 = { class: \"chart-radio\" }\nconst _hoisted_3 = [\"checked\"]\nconst _hoisted_4 = [\"checked\"]\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"chart-legend\" }, null, -1))\nconst _hoisted_6 = { class: \"chart-info\" }\nconst _hoisted_7 = { class: \"no-data-cleaning\" }\nconst _hoisted_8 = { class: \"elevation-start\" }\nconst _hoisted_9 = [\"checked\"]\n\nimport { ChartData, ChartOptions } from 'chart.js'\n import { ComputedRef, computed, ref } from 'vue'\n import { LineChart, useLineChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { htmlLegendPlugin } from '@/components/Workout/WorkoutDetail/WorkoutChart/legend'\n import { TUnit } from '@/types/units'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkoutChartData,\n IWorkoutData,\n TCoordinates,\n } from '@/types/workouts'\n import { units } from '@/utils/units'\n import { getDatasets } from '@/utils/workouts'\n\n interface Props {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n workoutData: null\n },\n emits: ['getCoordinates'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n authUser: IUserProfile\n workoutData: IWorkoutData\n }\n\n \n\n \n\n const { t } = useI18n()\n\n let displayDistance = ref(true)\n let beginElevationAtZero = ref(true)\n const datasets: ComputedRef = computed(() =>\n getDatasets(props.workoutData.chartData, t, props.authUser.imperial_units)\n )\n const fromKmUnit = getUnitTo('km')\n const fromMUnit = getUnitTo('m')\n let chartData: ComputedRef> = computed(() => ({\n labels: displayDistance.value\n ? datasets.value.distance_labels\n : datasets.value.duration_labels,\n datasets: JSON.parse(\n JSON.stringify([\n datasets.value.datasets.speed,\n datasets.value.datasets.elevation,\n ])\n ),\n }))\n const coordinates: ComputedRef = computed(\n () => datasets.value.coordinates\n )\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: 22,\n },\n },\n scales: {\n [displayDistance.value ? 'xDistance' : 'xDuration']: {\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n count: 10,\n callback: function (value) {\n return displayDistance.value\n ? Number(value).toFixed(2)\n : formatDuration(value)\n },\n },\n type: 'linear',\n bounds: 'data',\n title: {\n display: true,\n text: displayDistance.value\n ? t('workouts.DISTANCE') + ` (${fromKmUnit})`\n : t('workouts.DURATION'),\n },\n },\n ySpeed: {\n grid: {\n drawOnChartArea: false,\n },\n position: 'left',\n title: {\n display: true,\n text: t('workouts.SPEED') + ` (${fromKmUnit}/h)`,\n },\n },\n yElevation: {\n beginAtZero: beginElevationAtZero.value,\n grid: {\n drawOnChartArea: false,\n },\n position: 'right',\n title: {\n display: true,\n text: t('workouts.ELEVATION') + ` (${fromMUnit})`,\n },\n },\n },\n elements: {\n point: {\n pointStyle: 'circle',\n pointRadius: 0,\n },\n },\n plugins: {\n datalabels: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n callbacks: {\n label: function (context) {\n const label = ` ${context.dataset.label}: ${context.formattedValue}`\n return context.dataset.yAxisID === 'yElevation'\n ? label + ` ${fromMUnit}`\n : label + ` ${fromKmUnit}/h`\n },\n title: function (tooltipItems) {\n if (tooltipItems.length > 0) {\n emitCoordinates(coordinates.value[tooltipItems[0].dataIndex])\n }\n return tooltipItems.length === 0\n ? ''\n : displayDistance.value\n ? `${t('workouts.DISTANCE')}: ${\n tooltipItems[0].label\n } ${fromKmUnit}`\n : `${t('workouts.DURATION')}: ${formatDuration(\n tooltipItems[0].label.replace(',', '')\n )}`\n },\n },\n },\n legend: {\n display: false,\n },\n htmlLegend: {\n containerID: 'chart-legend',\n },\n },\n }))\n const { lineChartProps } = useLineChart({\n chartData,\n options,\n plugins: [htmlLegendPlugin],\n })\n\n function updateDisplayDistance() {\n displayDistance.value = !displayDistance.value\n }\n function formatDuration(duration: string | number): string {\n return new Date(+duration * 1000).toISOString().substr(11, 8)\n }\n function emitCoordinates(coordinates: TCoordinates) {\n emit('getCoordinates', coordinates)\n }\n function emitEmptyCoordinates() {\n emitCoordinates({ latitude: null, longitude: null })\n }\n function getUnitTo(unitFrom: TUnit): TUnit {\n return props.authUser.imperial_units\n ? units[unitFrom].defaultTarget\n : unitFrom\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ANALYSIS')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"distance\",\n checked: _unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_3),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"duration\",\n checked: !_unref(displayDistance),\n onClick: updateDisplayDistance\n }, null, 8, _hoisted_4),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ])\n ]),\n _hoisted_5,\n _createVNode(_unref(LineChart), _mergeProps(_unref(lineChartProps), {\n class: \"line-chart\",\n onMouseleave: emitEmptyCoordinates\n }), null, 16),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_DATA_CLEANING')), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n checked: _unref(beginElevationAtZero),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_isRef(beginElevationAtZero) //@ts-ignore\n ? beginElevationAtZero.value = !_unref(beginElevationAtZero) : beginElevationAtZero = !_unref(beginElevationAtZero)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.START_ELEVATION_AT_ZERO')), 1)\n ])\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=82a367b0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-82a367b0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6dd0f3c4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-note\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n notes?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n notes: { default: () => null }\n },\n setup(__props: any) {\n\nconst props = __props as { notes: string | null }\n\n \n\n const { notes } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.NOTES')), 1)\n ]),\n content: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(notes) && _unref(notes) !== '' ? _unref(notes) : _ctx.$t('workouts.NO_NOTES')), 1)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutNotes.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutNotes.vue?vue&type=style&index=0&id=6dd0f3c4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6dd0f3c4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-73381f36\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-segments\" }\n\nimport { toRefs } from 'vue'\n\n import { IWorkoutSegment } from '@/types/workouts'\n\n interface Props {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n segments: null,\n useImperialUnits: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n segments: IWorkoutSegment[]\n useImperialUnits: boolean\n }\n\n \n\n const { segments, useImperialUnits } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 2)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(segments), (segment, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: segment.segment_id\n }, [\n _createVNode(_component_router_link, {\n to: {\n name: 'WorkoutSegment',\n params: {\n workoutId: segment.workout_id,\n segmentId: index + 1,\n },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.SEGMENT', 1)) + \" \" + _toDisplayString(index + 1), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createTextVNode(\" (\" + _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \": \", 1),\n _createVNode(_component_Distance, {\n distance: segment.distance,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createTextVNode(\", \" + _toDisplayString(_ctx.$t('workouts.DURATION')) + \": \" + _toDisplayString(segment.duration) + \") \", 1)\n ]))\n }), 128))\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutSegments.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutSegments.vue?vue&type=style&index=0&id=73381f36&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-73381f36\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a8e74d78\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workout-container\"\n}\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_6 = { key: 1 }\n\nimport {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n watch,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import WorkoutDetail from '@/components/Workout/WorkoutDetail/index.vue'\n import WorkoutChart from '@/components/Workout/WorkoutDetail/WorkoutChart/index.vue'\n import WorkoutNotes from '@/components/Workout/WorkoutDetail/WorkoutNotes.vue'\n import WorkoutSegments from '@/components/Workout/WorkoutDetail/WorkoutSegments.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData, IWorkoutPayload, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n displaySegment: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n displaySegment: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displaySegment: boolean\n }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { displaySegment } = toRefs(props)\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n let markerCoordinates: Ref = ref({\n latitude: null,\n longitude: null,\n })\n\n onBeforeMount(() => {\n const payload: IWorkoutPayload = { workoutId: route.params.workoutId }\n if (props.displaySegment) {\n payload.segmentId = route.params.segmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n })\n\n onUnmounted(() => {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n })\n\n function updateCoordinates(coordinates: TCoordinates) {\n markerCoordinates.value = {\n latitude: coordinates.latitude,\n longitude: coordinates.longitude,\n }\n }\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (newWorkoutId) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: newWorkoutId,\n })\n }\n }\n )\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (route.params.workoutId) {\n const payload: IWorkoutPayload = {\n workoutId: route.params.workoutId,\n }\n if (newSegmentId) {\n payload.segmentId = newSegmentId\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, payload)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_unref(workoutData).workout.id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(WorkoutDetail, {\n workoutData: _unref(workoutData),\n sports: _unref(sports),\n authUser: _unref(authUser),\n markerCoordinates: _unref(markerCoordinates),\n displaySegment: _unref(displaySegment)\n }, null, 8, [\"workoutData\", \"sports\", \"authUser\", \"markerCoordinates\", \"displaySegment\"]),\n (\n _unref(workoutData).workout.with_gpx && _unref(workoutData).chartData.length > 0\n )\n ? (_openBlock(), _createBlock(WorkoutChart, {\n key: 0,\n workoutData: _unref(workoutData),\n authUser: _unref(authUser),\n displaySegment: _unref(displaySegment),\n onGetCoordinates: updateCoordinates\n }, null, 8, [\"workoutData\", \"authUser\", \"displaySegment\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment) && _unref(workoutData).workout.segments.length > 1)\n ? (_openBlock(), _createBlock(WorkoutSegments, {\n key: 1,\n segments: _unref(workoutData).workout.segments,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"segments\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n (!_unref(displaySegment))\n ? (_openBlock(), _createBlock(WorkoutNotes, {\n key: 2,\n notes: _unref(workoutData).workout.notes\n }, null, 8, [\"notes\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_5\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (!_unref(workoutData).loading)\n ? (_openBlock(), _createBlock(NotFound, {\n key: 0,\n target: \"WORKOUT\"\n }))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Workout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Workout.vue?vue&type=style&index=0&id=a8e74d78&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a8e74d78\"]])\n\nexport default __exports__","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutRecord.vue?vue&type=style&index=0&id=2e8c6844&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutData.vue?vue&type=style&index=0&id=a7c2d728&lang=scss&scoped=true\"","import { watch, ref, provide, h, inject, onUnmounted, onBeforeUnmount, onMounted, nextTick, render as render$3, reactive, computed } from 'vue';\n\nconst debounce = (fn, time) => {\n let timeout;\n\n return function (...args) {\n const context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(() => {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nconst capitalizeFirstLetter = (string) => {\n if (!string || typeof string.charAt !== \"function\") {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nconst propsBinder = (methods, leafletElement, props) => {\n for (const key in props) {\n const setMethodName = \"set\" + capitalizeFirstLetter(key);\n if (methods[setMethodName]) {\n watch(\n () => props[key],\n (newVal, oldVal) => {\n methods[setMethodName](newVal, oldVal);\n }\n );\n } else if (leafletElement[setMethodName]) {\n watch(\n () => props[key],\n (newVal) => {\n leafletElement[setMethodName](newVal);\n }\n );\n }\n }\n};\n\nconst remapEvents = (contextAttrs) => {\n const result = {};\n for (const attrName in contextAttrs) {\n if (\n attrName.startsWith(\"on\") &&\n !attrName.startsWith(\"onUpdate\") &&\n attrName !== \"onReady\"\n ) {\n const eventName = attrName.slice(2).toLocaleLowerCase();\n result[eventName] = contextAttrs[attrName];\n }\n }\n return result;\n};\n\nconst resetWebpackIcon = async (Icon) => {\n const modules = await Promise.all([\n import('leaflet/dist/images/marker-icon-2x.png'),\n import('leaflet/dist/images/marker-icon.png'),\n import('leaflet/dist/images/marker-shadow.png'),\n ]);\n\n delete Icon.Default.prototype._getIconUrl;\n\n Icon.Default.mergeOptions({\n iconRetinaUrl: modules[0].default,\n iconUrl: modules[1].default,\n shadowUrl: modules[2].default,\n });\n};\n\n/**\n * Wraps a placeholder function and provides it with the given name.\n * The wrapper can later be updated with {@link updateLeafletWrapper}\n * to provide a different function.\n *\n * @param {String} methodName Key used to provide the wrapper function\n */\nconst provideLeafletWrapper = (methodName) => {\n const wrapped = ref(() =>\n console.warn(`Method ${methodName} has been invoked without being replaced`)\n );\n const wrapper = (...args) => wrapped.value(...args);\n // eslint-disable-next-line vue/no-ref-as-operand\n wrapper.wrapped = wrapped;\n provide(methodName, wrapper);\n\n return wrapper;\n};\n\n/**\n * Change the function that will be executed when an injected Leaflet wrapper\n * is invoked.\n *\n * @param {*} wrapper Provided wrapper whose wrapped function is to be updated\n * @param {function} leafletMethod New method to be wrapped by the wrapper\n */\nconst updateLeafletWrapper = (wrapper, leafletMethod) =>\n (wrapper.wrapped.value = leafletMethod);\n\nconst WINDOW_OR_GLOBAL =\n (typeof self === \"object\" && self.self === self && self) ||\n (typeof global === \"object\" && global.global === global && global) ||\n undefined;\n\nconst GLOBAL_LEAFLET_OPT = \"useGlobalLeaflet\";\n\nconst props = {\n options: {\n type: Object,\n default: () => ({}),\n },\n};\n\nconst setup = (props) => {\n return { options: props.options, methods: {} };\n};\n\nconst props$1 = {\n ...props,\n pane: {\n type: String,\n default: \"overlayPane\",\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n};\n\nconst setup$1 = (props, leafletRef, context) => {\n const addLayer = inject(\"addLayer\");\n const removeLayer = inject(\"removeLayer\");\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n\n const options = {\n ...componentOptions,\n attribution: props.attribution,\n pane: props.pane,\n };\n\n const addThisLayer = () => addLayer({ leafletObject: leafletRef.value });\n const removeThisLayer = () =>\n removeLayer({ leafletObject: leafletRef.value });\n\n const methods = {\n ...componentMethods,\n setAttribution(val, old) {\n const attributionControl = this.$parent.leafletObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setLayerType() {\n removeThisLayer();\n if (props.visible) {\n addThisLayer();\n }\n },\n setVisible(isVisible) {\n if (leafletRef.value) {\n if (isVisible) {\n addThisLayer();\n } else {\n removeThisLayer();\n }\n }\n },\n bindPopup({ leafletObject }) {\n leafletRef.value.bindPopup(leafletObject);\n },\n bindTooltip({ leafletObject }) {\n leafletRef.value.bindTooltip(leafletObject);\n },\n unbindTooltip() {\n const tooltip = leafletRef.value ? leafletRef.value.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup() {\n const popup = leafletRef.value ? leafletRef.value.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n context.emit(\"update:visible\", value);\n },\n };\n\n provide(\"bindPopup\", methods.bindPopup);\n provide(\"bindTooltip\", methods.bindTooltip);\n provide(\"unbindTooltip\", methods.unbindTooltip);\n provide(\"unbindPopup\", methods.unbindPopup);\n\n onUnmounted(() => {\n methods.unbindPopup();\n methods.unbindTooltip();\n removeThisLayer();\n });\n\n return { options, methods };\n};\n\nconst render = (ready, slots) => {\n if (ready && slots.default) {\n return h(\"div\", { style: { display: \"none\" } }, slots.default());\n }\n};\n\nconst props$2 = {\n ...props,\n interactive: {\n type: Boolean,\n default: true,\n },\n bubblingMouseEvents: {\n type: Boolean,\n default: true,\n },\n};\n\nconst setup$2 = (props) => {\n const { options: componentOptions, methods } = setup(props);\n const options = {\n ...componentOptions,\n interactive: props.interactive,\n bubblingMouseEvents: props.bubblingMouseEvents,\n };\n\n return { options, methods };\n};\n\nconst props$3 = {\n ...props$1,\n ...props$2,\n stroke: {\n type: Boolean,\n custom: true,\n default: true,\n },\n color: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n weight: {\n type: Number,\n custom: true,\n default: 3,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n lineCap: {\n type: String,\n custom: true,\n default: \"round\",\n },\n lineJoin: {\n type: String,\n custom: true,\n default: \"round\",\n },\n dashArray: {\n type: String,\n custom: true,\n default: null,\n },\n dashOffset: {\n type: String,\n custom: true,\n default: null,\n },\n fill: {\n type: Boolean,\n custom: true,\n default: false,\n },\n fillColor: {\n type: String,\n custom: true,\n default: \"#3388ff\",\n },\n fillOpacity: {\n type: Number,\n custom: true,\n default: 0.2,\n },\n fillRule: {\n type: String,\n custom: true,\n default: \"evenodd\",\n },\n className: {\n type: String,\n custom: true,\n default: null,\n },\n};\n\nconst setup$3 = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const {\n options: interactiveLayerOptions,\n methods: interactiveLayerMethods,\n } = setup$2(props);\n\n const removeLayer = inject(\"removeLayer\");\n\n const options = {\n ...layerOptions,\n ...interactiveLayerOptions,\n stroke: props.stroke,\n color: props.color,\n weight: props.weight,\n opacity: props.opacity,\n lineCap: props.lineCap,\n lineJoin: props.lineJoin,\n dashArray: props.dashArray,\n dashOffset: props.dashOffset,\n fill: props.fill,\n fillColor: props.fillColor,\n fillOpacity: props.fillOpacity,\n fillRule: props.fillRule,\n className: props.className,\n };\n const methods = {\n ...layerMethods,\n ...interactiveLayerMethods,\n setStroke(stroke) {\n leafletRef.value.setStyle({ stroke });\n },\n setColor(color) {\n leafletRef.value.setStyle({ color });\n },\n setWeight(weight) {\n leafletRef.value.setStyle({ weight });\n },\n setOpacity(opacity) {\n leafletRef.value.setStyle({ opacity });\n },\n setLineCap(lineCap) {\n leafletRef.value.setStyle({ lineCap });\n },\n setLineJoin(lineJoin) {\n leafletRef.value.setStyle({ lineJoin });\n },\n setDashArray(dashArray) {\n leafletRef.value.setStyle({ dashArray });\n },\n setDashOffset(dashOffset) {\n leafletRef.value.setStyle({ dashOffset });\n },\n setFill(fill) {\n leafletRef.value.setStyle({ fill });\n },\n setFillColor(fillColor) {\n leafletRef.value.setStyle({ fillColor });\n },\n setFillOpacity(fillOpacity) {\n leafletRef.value.setStyle({ fillOpacity });\n },\n setFillRule(fillRule) {\n leafletRef.value.setStyle({ fillRule });\n },\n setClassName(className) {\n leafletRef.value.setStyle({ className });\n },\n };\n\n onBeforeUnmount(() => {\n removeLayer({ leafletObject: leafletRef.value });\n });\n\n return { options, methods };\n};\n\nconst props$4 = {\n ...props$3,\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n /**\n * Radius of the marker in pixels.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$4 = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n const methods = {\n ...pathMethods,\n setRadius(radius) {\n leafletRef.value.setRadius(radius);\n },\n setLatLng(latLng) {\n leafletRef.value.setLatLng(latLng);\n },\n };\n\n return { options, methods };\n};\n\nconst props$5 = {\n ...props$4,\n /**\n * Radius of the circle in meters.\n */\n radius: {\n type: Number,\n default: null,\n },\n};\n\nconst setup$5 = (props, leafletRef, context) => {\n const {\n options: circleMarkerOptions,\n methods: circleMarkerMethods,\n } = setup$4(props, leafletRef, context);\n\n const options = {\n ...circleMarkerOptions,\n ...props,\n };\n\n const methods = {\n ...circleMarkerMethods,\n };\n\n return { options, methods };\n};\n\n/**\n * Circle component, lets you add and personalize circles on the map\n */\nvar script = {\n name: \"LCircle\",\n props: props$5,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$5(props, leafletRef, context);\n\n onMounted(async () => {\n const { circle, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circle(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript.__file = \"src/components/LCircle.vue\";\n\n/**\n * Circle Marker component, lets you add and personalize circle markers on the map\n */\nvar script$1 = {\n name: \"LCircleMarker\",\n props: props$4,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$4(props, leafletRef, context);\n\n onMounted(async () => {\n const { circleMarker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = circleMarker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$1.__file = \"src/components/LCircleMarker.vue\";\n\nconst props$6 = {\n ...props,\n position: {\n type: String,\n default: \"topright\",\n },\n};\n\nconst setup$6 = (props, leafletRef) => {\n const {\n options: componentOptions,\n methods: componentMethods,\n } = setup(props);\n const options = {\n ...componentOptions,\n position: props.position,\n };\n\n const methods = {\n ...componentMethods,\n setPosition(position) {\n if (leafletRef.value) {\n leafletRef.value.setPosition(position);\n }\n },\n };\n\n onUnmounted(() => {\n if (leafletRef.value) {\n leafletRef.value.remove();\n }\n });\n\n return { options, methods };\n};\n\nconst render$1 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nvar script$2 = {\n name: \"LControl\",\n props: {\n ...props$6,\n disableClickPropagation: {\n type: Boolean,\n custom: true,\n default: true,\n },\n disableScrollPropagation: {\n type: Boolean,\n custom: true,\n default: false,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$6(props, leafletRef);\n\n onMounted(async () => {\n const { Control, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const LControl = Control.extend({\n onAdd() {\n return root.value;\n },\n });\n\n leafletRef.value = new LControl(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n\n if (props.disableClickPropagation) {\n DomEvent.disableClickPropagation(root.value);\n }\n if (props.disableScrollPropagation) {\n DomEvent.disableScrollPropagation(root.value);\n }\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$1(this.$slots);\n },\n};\n\nscript$2.__file = \"src/components/LControl.vue\";\n\nconst props$7 = {\n ...props$6,\n prefix: {\n type: String,\n default: \"Vue-Leaflet\",\n custom: true,\n },\n};\n\nconst setup$7 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n prefix: props.prefix,\n };\n\n const methods = {\n ...controlMethods,\n setPrefix(prefix) {\n leafletRef.value.setPrefix(prefix);\n },\n };\n\n return { options, methods };\n};\n\nvar script$3 = {\n name: \"LControlAttribution\",\n props: props$7,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$7(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.attribution(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$3.__file = \"src/components/LControlAttribution.vue\";\n\nconst props$8 = {\n ...props$6,\n collapsed: {\n type: Boolean,\n default: true,\n },\n autoZIndex: {\n type: Boolean,\n default: true,\n },\n hideSingleBase: {\n type: Boolean,\n default: false,\n },\n sortLayers: {\n type: Boolean,\n default: false,\n },\n sortFunction: {\n type: Function,\n default: undefined,\n },\n};\n\nconst setup$8 = (props, leafletRef) => {\n const { options: controlOptions } = setup$6(props, leafletRef);\n const options = {\n ...controlOptions,\n collapsed: props.collapsed,\n autoZIndex: props.autoZIndex,\n hideSingleBase: props.hideSingleBase,\n sortLayers: props.sortLayers,\n sortFunction: props.sortFunction,\n };\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType === \"base\") {\n leafletRef.value.addBaseLayer(layer.leafletObject, layer.name);\n } else if (layer.layerType === \"overlay\") {\n leafletRef.value.addOverlay(layer.leafletObject, layer.name);\n }\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n return { options, methods };\n};\n\nvar script$4 = {\n name: \"LControlLayers\",\n props: props$8,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerLayerControl = inject(\"registerLayerControl\");\n\n const { options, methods } = setup$8(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.layers(null, null, options);\n\n propsBinder(methods, leafletRef.value, props);\n\n registerLayerControl({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$4.__file = \"src/components/LControlLayers.vue\";\n\nconst props$9 = {\n ...props$6,\n maxWidth: {\n type: Number,\n default: 100,\n },\n metric: {\n type: Boolean,\n default: true,\n },\n imperial: {\n type: Boolean,\n default: true,\n },\n updateWhenIdle: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$9 = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n maxWidth: props.maxWidth,\n metric: props.metric,\n imperial: props.imperial,\n updateWhenIdle: props.updateWhenIdle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$5 = {\n name: \"LControlScale\",\n props: props$9,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$9(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.scale(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$5.__file = \"src/components/LControlScale.vue\";\n\nconst props$a = {\n ...props$6,\n zoomInText: {\n type: String,\n default: \"+\",\n },\n zoomInTitle: {\n type: String,\n default: \"Zoom in\",\n },\n zoomOutText: {\n type: String,\n default: \"-\",\n },\n zoomOutTitle: {\n type: String,\n default: \"Zoom out\",\n },\n};\n\nconst setup$a = (props, leafletRef) => {\n const { options: controlOptions, methods: controlMethods } = setup$6(\n props,\n leafletRef\n );\n const options = {\n ...controlOptions,\n zoomInText: props.zoomInText,\n zoomInTitle: props.zoomInTitle,\n zoomOutText: props.zoomOutText,\n zoomOutTitle: props.zoomOutTitle,\n };\n\n return { options, methods: controlMethods };\n};\n\nvar script$6 = {\n name: \"LControlZoom\",\n props: props$a,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const registerControl = inject(\"registerControl\");\n\n const { options, methods } = setup$a(props, leafletRef);\n\n onMounted(async () => {\n const { control } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = control.zoom(options);\n propsBinder(methods, leafletRef.value, props);\n registerControl({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$6.__file = \"src/components/LControlZoom.vue\";\n\nconst props$b = {\n ...props$1,\n};\n\nconst setup$b = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n\n const options = {\n ...layerOptions,\n };\n\n const methods = {\n ...layerMethods,\n addLayer(layer) {\n leafletRef.value.addLayer(layer.leafletObject);\n },\n removeLayer(layer) {\n leafletRef.value.removeLayer(layer.leafletObject);\n },\n };\n\n provide(\"addLayer\", methods.addLayer);\n provide(\"removeLayer\", methods.removeLayer);\n\n return { options, methods };\n};\n\nconst props$c = {\n ...props$b,\n};\n\nconst setup$c = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n };\n\n return { options, methods };\n};\n\nvar script$7 = {\n props: props$c,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$c(props, leafletRef);\n\n onMounted(async () => {\n const { featureGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = featureGroup(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$7.__file = \"src/components/LFeatureGroup.vue\";\n\nconst props$d = {\n ...props$b,\n geojson: {\n type: [Object, Array],\n default: () => ({}),\n },\n};\n\nconst setup$d = (props, leafletRef) => {\n const { options: layerOptions, methods: layerGroupMethods } = setup$b(\n props,\n leafletRef\n );\n\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerGroupMethods,\n setGeojson(newVal) {\n leafletRef.value.clearLayers();\n leafletRef.value.addData(newVal);\n },\n getGeoJSONData() {\n return leafletRef.value.toGeoJSON();\n },\n getBounds() {\n return leafletRef.value.getBounds();\n },\n };\n\n return { options, methods };\n};\n\nvar script$8 = {\n props: props$d,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods, options } = setup$d(props, leafletRef);\n\n onMounted(async () => {\n const { geoJSON, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = geoJSON(props.geojson, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$8.__file = \"src/components/LGeoJson.vue\";\n\nconst props$e = {\n ...props$1,\n pane: {\n type: String,\n default: \"tilePane\",\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0,\n },\n zIndex: {\n type: Number,\n default: 1,\n },\n tileSize: {\n type: Number,\n default: 256,\n },\n noWrap: {\n type: Boolean,\n default: false,\n },\n minZoom: {\n type: Number,\n default: 0,\n },\n maxZoom: {\n type: Number,\n default: undefined,\n },\n};\n\nconst setup$e = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n pane: props.pane,\n opacity: props.opacity,\n zIndex: props.zIndex,\n tileSize: props.tileSize,\n noWrap: props.noWrap,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n };\n return { options, methods: { ...layerMethods } };\n};\n\nvar script$9 = {\n props: {\n ...props$e,\n childRender: {\n type: Function,\n required: true,\n },\n },\n setup(props, context) {\n const leafletRef = ref({});\n const tileComponents = ref({});\n const root = ref(null);\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$e(props, leafletRef, context);\n\n onMounted(async () => {\n const { GridLayer, DomEvent, DomUtil } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n methods.onUnload = (e) => {\n const key = leafletRef.value._tileCoordsToKey(e.coords);\n if (tileComponents[key]) {\n tileComponents[key].innerHTML = \"\";\n tileComponents[key] = undefined;\n }\n };\n\n methods.setTileComponent = () => {\n leafletRef.value.redraw();\n };\n\n const GLayer = GridLayer.extend({\n createTile(coords) {\n const key = leafletRef.value._tileCoordsToKey(coords);\n tileComponents[key] = DomUtil.create(\"div\");\n\n let vNode = h(\n { setup: props.childRender, props: [\"coords\"] },\n { coords }\n );\n render$3(vNode, tileComponents[key]);\n\n return tileComponents[key];\n },\n });\n\n leafletRef.value = new GLayer(options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"tileunload\", methods.onUnload);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n onUnmounted(() => {\n leafletRef.value.off(\"tileunload\", methods.unLoad);\n });\n\n return { root, ready, leafletObject: leafletRef };\n },\n render() {\n if (this.ready) {\n return h(\"div\", { style: { display: \"none\" }, ref: \"root\" });\n }\n return null;\n },\n};\n\nscript$9.__file = \"src/components/LGridLayer.vue\";\n\nconst props$f = {\n iconUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n iconSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n iconAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n popupAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n tooltipAnchor: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n shadowUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowRetinaUrl: {\n type: String,\n custom: true,\n default: null,\n },\n shadowSize: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n shadowAnchor: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n bgPos: {\n type: [Object, Array],\n custom: true,\n default: () => [0, 0],\n },\n className: {\n type: String,\n custom: true,\n default: \"\",\n },\n options: {\n type: Object,\n custom: true,\n default: () => ({}),\n },\n};\n\n/**\n * Icon component, lets you add and custom icons to the map\n */\nvar script$a = {\n name: \"LIcon\",\n props: {\n ...props$f,\n ...props,\n },\n setup(props, context) {\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const canSetParentHtml = inject(\"canSetParentHtml\");\n const setParentHtml = inject(\"setParentHtml\");\n const setIcon = inject(\"setIcon\");\n\n let onDomEvent;\n let offDomEvent;\n let divIcon;\n let icon;\n let iconObject = undefined;\n\n const createIcon = (el, recreationNeeded, htmlSwapNeeded) => {\n const elHtml = el && el.innerHTML;\n if (!recreationNeeded) {\n if (htmlSwapNeeded && iconObject && canSetParentHtml()) {\n setParentHtml(elHtml);\n }\n return;\n }\n\n const listeners = remapEvents(context.attrs);\n if (iconObject) {\n offDomEvent(iconObject, listeners);\n }\n\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n iconUrl: props.iconUrl,\n iconRetinaUrl: props.iconRetinaUrl,\n iconSize: props.iconSize,\n iconAnchor: props.iconAnchor,\n popupAnchor: props.popupAnchor,\n tooltipAnchor: props.tooltipAnchor,\n shadowUrl: props.shadowUrl,\n shadowRetinaUrl: props.shadowRetinaUrl,\n shadowSize: props.shadowSize,\n shadowAnchor: props.shadowAnchor,\n bgPos: props.bgPos,\n className: props.className,\n html: elHtml || props.html,\n };\n\n iconObject = options.html ? divIcon(options) : icon(options);\n onDomEvent(iconObject, listeners);\n setIcon(iconObject);\n };\n\n const scheduleCreateIcon = () => {\n nextTick(() => createIcon(root.value, true, false));\n };\n\n const scheduleHtmlSwap = () => {\n nextTick(() => createIcon(root.value, false, true));\n };\n\n const methods = {\n setIconUrl: scheduleCreateIcon,\n setIconRetinaUrl: scheduleCreateIcon,\n setIconSize: scheduleCreateIcon,\n setIconAnchor: scheduleCreateIcon,\n setPopupAnchor: scheduleCreateIcon,\n setTooltipAnchor: scheduleCreateIcon,\n setShadowUrl: scheduleCreateIcon,\n setShadowRetinaUrl: scheduleCreateIcon,\n setShadowAnchor: scheduleCreateIcon,\n setBgPos: scheduleCreateIcon,\n setClassName: scheduleCreateIcon,\n setHtml: scheduleCreateIcon,\n };\n\n onMounted(async () => {\n const { DomEvent, divIcon: lDivIcon, icon: lIcon } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n onDomEvent = DomEvent.on;\n offDomEvent = DomEvent.off;\n divIcon = lDivIcon;\n icon = lIcon;\n\n propsBinder(methods, {}, props);\n\n const observer = new MutationObserver(scheduleHtmlSwap);\n observer.observe(root.value, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n scheduleCreateIcon();\n });\n\n return { root };\n },\n render() {\n const content = this.$slots.default ? this.$slots.default() : undefined;\n return h(\"div\", { ref: \"root\" }, content);\n },\n};\n\nscript$a.__file = \"src/components/LIcon.vue\";\n\n/**\n * @typedef {import('leaflet/dist/leaflet-src.esm.js').LatLngBounds} LatLngBounds\n */\n\nconst props$g = {\n ...props$1,\n url: {\n type: String,\n required: true,\n },\n bounds: {\n type: [Array, Object],\n required: true,\n },\n opacity: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n alt: {\n type: String,\n default: \"\",\n },\n interactive: {\n type: Boolean,\n default: false,\n },\n crossOrigin: {\n type: Boolean,\n default: false,\n },\n errorOverlayUrl: {\n type: String,\n custom: true,\n default: \"\",\n },\n zIndex: {\n type: Number,\n custom: true,\n default: 1,\n },\n className: {\n type: String,\n default: \"\",\n },\n};\n\nconst setup$f = (setupProps, LeafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n setupProps,\n LeafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...setupProps,\n };\n\n const methods = {\n ...layerMethods,\n /**\n * Sets the opacity of the overlay.\n * @param {number} opacity\n */\n setOpacity(opacity) {\n return LeafletRef.value.setOpacity(opacity);\n },\n /**\n * Changes the URL of the image.\n * @param {string} url\n */\n setUrl(url) {\n return LeafletRef.value.setUrl(url);\n },\n /**\n * Update the bounds that this ImageOverlay covers\n * @param {LatLngBounds | Array>} bounds\n */\n setBounds(bounds) {\n return LeafletRef.value.setBounds(bounds);\n },\n /**\n * Get the bounds that this ImageOverlay covers\n * @returns {LatLngBounds}\n */\n getBounds() {\n return LeafletRef.value.getBounds();\n },\n /**\n * Returns the instance of HTMLImageElement used by this overlay.\n * @returns {HTMLElement}\n */\n getElement() {\n return LeafletRef.value.getElement();\n },\n /**\n * Brings the layer to the top of all overlays.\n */\n bringToFront() {\n return LeafletRef.value.bringToFront();\n },\n /**\n * Brings the layer to the bottom of all overlays.\n */\n bringToBack() {\n return LeafletRef.value.bringToBack();\n },\n /**\n * Changes the zIndex of the image overlay.\n * @param {number} zIndex\n */\n setZIndex(zIndex) {\n return LeafletRef.value.setZIndex(zIndex);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * ImageOverlay component, render a plain image instead of a geospatial map.\n */\nvar script$b = {\n name: \"LImageOverlay\",\n props: props$g,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$f(props, leafletRef, context);\n\n onMounted(async () => {\n const { imageOverlay, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = imageOverlay(props.url, props.bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$b.__file = \"src/components/LImageOverlay.vue\";\n\nvar script$c = {\n props: props$b,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { methods } = setup$b(props, leafletRef, context);\n\n onMounted(async () => {\n const { layerGroup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = layerGroup(props.options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$c.__file = \"src/components/LLayerGroup.vue\";\n\nvar script$d = {\n emits: [\"ready\", \"update:zoom\", \"update:center\", \"update:bounds\"],\n props: {\n ...props,\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n default: () => [0, 0],\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: undefined,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: undefined,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n default: undefined,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n default: undefined,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n default: undefined,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The CRS to use for the map. Can be an object that defines a coordinate reference\n * system for projecting geographical points into screen coordinates and back\n * (see https://leafletjs.com/reference-1.7.1.html#crs-l-crs-base), or a string\n * name identifying one of Leaflet's defined CRSs, such as \"EPSG4326\".\n */\n crs: {\n type: [String, Object],\n default: \"EPSG3857\",\n },\n maxBoundsViscosity: {\n type: Number,\n default: undefined,\n },\n inertia: {\n type: Boolean,\n default: undefined,\n },\n inertiaDeceleration: {\n type: Number,\n default: undefined,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: undefined,\n },\n easeLinearity: {\n type: Number,\n default: undefined,\n },\n zoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: undefined,\n },\n fadeAnimation: {\n type: Boolean,\n default: undefined,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: undefined,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n useGlobalLeaflet: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, context) {\n const root = ref(null);\n const blueprint = reactive({\n ready: false,\n leafletRef: {},\n layersToAdd: [],\n layersInControl: [],\n });\n const { options: componentOptions } = setup(props);\n const options = {\n ...componentOptions,\n minZoom: props.minZoom,\n maxZoom: props.maxZoom,\n maxBounds: props.maxBounds,\n maxBoundsViscosity: props.maxBoundsViscosity,\n worldCopyJump: props.worldCopyJump,\n crs: props.crs,\n center: props.center,\n zoom: props.zoom,\n inertia: props.inertia,\n inertiaDeceleration: props.inertiaDeceleration,\n inertiaMaxSpeed: props.inertiaMaxSpeed,\n easeLinearity: props.easeLinearity,\n zoomAnimation: props.zoomAnimation,\n zoomAnimationThreshold: props.zoomAnimationThreshold,\n fadeAnimation: props.fadeAnimation,\n markerZoomAnimation: props.markerZoomAnimation,\n };\n\n const addLayer = provideLeafletWrapper(\"addLayer\");\n const removeLayer = provideLeafletWrapper(\"removeLayer\");\n const registerControl = provideLeafletWrapper(\"registerControl\");\n const registerLayerControl = provideLeafletWrapper(\"registerLayerControl\");\n provide(GLOBAL_LEAFLET_OPT, props.useGlobalLeaflet);\n\n const eventHandlers = {\n moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n context.emit(\"update:zoom\", blueprint.leafletRef.getZoom());\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n context.emit(\"update:center\", blueprint.leafletRef.getCenter());\n\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n context.emit(\"update:bounds\", blueprint.leafletRef.getBounds());\n },\n overlayAddHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler(e) {\n const layer = blueprint.layersInControl.find((l) => l.name === e.name);\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n };\n\n onMounted(async () => {\n if (props.useGlobalLeaflet) {\n WINDOW_OR_GLOBAL.L = WINDOW_OR_GLOBAL.L || (await import('leaflet'));\n }\n const {\n map,\n CRS,\n Icon,\n latLngBounds,\n latLng,\n DomEvent,\n } = props.useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n try {\n options.beforeMapMount && (await options.beforeMapMount());\n } catch (error) {\n console.error(\n `The following error occurred running the provided beforeMapMount hook ${error.message}`\n );\n }\n\n await resetWebpackIcon(Icon);\n\n const optionsCrs =\n typeof options.crs == \"string\" ? CRS[options.crs] : options.crs;\n options.crs = optionsCrs || CRS.EPSG3857;\n\n const methods = {\n addLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd.push(layer);\n } else {\n const exist = blueprint.layersInControl.find(\n (l) =>\n l.leafletObject._leaflet_id ===\n layer.leafletObject._leaflet_id\n );\n if (!exist) {\n blueprint.layerControl.addLayer(layer);\n blueprint.layersInControl.push(layer);\n }\n }\n }\n if (layer.visible !== false) {\n blueprint.leafletRef.addLayer(layer.leafletObject);\n }\n },\n removeLayer(layer) {\n if (layer.layerType !== undefined) {\n if (blueprint.layerControl === undefined) {\n blueprint.layersToAdd = blueprint.layersToAdd.filter(\n (l) => l.name !== layer.name\n );\n } else {\n blueprint.layerControl.removeLayer(layer.leafletObject);\n blueprint.layersInControl = blueprint.layersInControl.filter(\n (l) =>\n l.leafletObject._leaflet_id !==\n layer.leafletObject._leaflet_id\n );\n }\n }\n blueprint.leafletRef.removeLayer(layer.leafletObject);\n },\n\n registerLayerControl(lControlLayer) {\n blueprint.layerControl = lControlLayer;\n blueprint.layersToAdd.forEach((layer) => {\n blueprint.layerControl.addLayer(layer);\n });\n blueprint.layersToAdd = [];\n\n registerControl(lControlLayer);\n },\n\n registerControl(lControl) {\n blueprint.leafletRef.addControl(lControl.leafletObject);\n },\n\n setZoom(newVal) {\n const zoom = blueprint.leafletRef.getZoom();\n if (newVal !== zoom) {\n blueprint.leafletRef.setZoom(newVal, {\n animate: props.noBlockingAnimations ? false : null,\n });\n }\n },\n\n setPaddingBottomRight(newVal) {\n blueprint.paddingBottomRight = newVal;\n },\n setPaddingTopLeft(newVal) {\n blueprint.paddingTopLeft = newVal;\n },\n setPadding(newVal) {\n blueprint.padding = newVal;\n },\n setCrs(newVal) {\n const prevBounds = blueprint.leafletRef.getBounds();\n blueprint.leafletRef.options.crs = newVal;\n blueprint.leafletRef.fitBounds(prevBounds, {\n animate: false,\n padding: [0, 0],\n });\n },\n fitBounds(bounds) {\n blueprint.leafletRef.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setBounds(newVal) {\n if (!newVal) {\n return;\n }\n const newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n const oldBounds =\n blueprint.lastSetBounds || blueprint.leafletRef.getBounds();\n const boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n blueprint.lastSetBounds = newBounds;\n blueprint.leafletRef.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n\n setCenter(newVal) {\n if (newVal == null) {\n return;\n }\n const newCenter = latLng(newVal);\n const oldCenter =\n blueprint.lastSetCenter || blueprint.leafletRef.getCenter();\n if (\n oldCenter.lat !== newCenter.lat ||\n oldCenter.lng !== newCenter.lng\n ) {\n blueprint.lastSetCenter = newCenter;\n blueprint.leafletRef.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n };\n\n updateLeafletWrapper(addLayer, methods.addLayer);\n updateLeafletWrapper(removeLayer, methods.removeLayer);\n updateLeafletWrapper(registerControl, methods.registerControl);\n updateLeafletWrapper(registerLayerControl, methods.registerLayerControl);\n\n blueprint.leafletRef = map(root.value, options);\n\n propsBinder(methods, blueprint.leafletRef, props);\n const listeners = remapEvents(context.attrs);\n\n blueprint.leafletRef.on(\n \"moveend\",\n debounce(eventHandlers.moveEndHandler, 100)\n );\n blueprint.leafletRef.on(\"overlayadd\", eventHandlers.overlayAddHandler);\n blueprint.leafletRef.on(\n \"overlayremove\",\n eventHandlers.overlayRemoveHandler\n );\n DomEvent.on(blueprint.leafletRef, listeners);\n blueprint.ready = true;\n nextTick(() => context.emit(\"ready\", blueprint.leafletRef));\n });\n\n onBeforeUnmount(() => {\n if (blueprint.leafletRef) {\n blueprint.leafletRef.remove();\n }\n });\n\n const leafletObject = computed(() => blueprint.leafletRef);\n const ready = computed(() => blueprint.ready);\n return { root, ready, leafletObject };\n },\n render() {\n return h(\n \"div\",\n { style: { width: \"100%\", height: \"100%\" }, ref: \"root\" },\n this.ready ? this.$slots.default() : {}\n );\n },\n};\n\nscript$d.__file = \"src/components/LMap.vue\";\n\nconst props$h = {\n ...props$1,\n pane: {\n type: String,\n default: \"markerPane\",\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n default: () => undefined,\n custom: false,\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n};\n\nconst setup$g = (props, leafletRef, context) => {\n const { options: layerOptions, methods: layerMethods } = setup$1(\n props,\n leafletRef,\n context\n );\n const options = {\n ...layerOptions,\n ...props,\n };\n\n const methods = {\n ...layerMethods,\n setDraggable(value) {\n if (leafletRef.value.dragging) {\n value\n ? leafletRef.value.dragging.enable()\n : leafletRef.value.dragging.disable();\n }\n },\n latLngSync(event) {\n context.emit(\"update:latLng\", event.latlng);\n context.emit(\"update:lat-lng\", event.latlng);\n },\n setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (leafletRef.value) {\n const oldLatLng = leafletRef.value.getLatLng();\n if (!oldLatLng || !oldLatLng.equals(newVal)) {\n leafletRef.value.setLatLng(newVal);\n }\n }\n },\n };\n return { options, methods };\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script$e = {\n name: \"LMarker\",\n props: props$h,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n provide(\"canSetParentHtml\", () => !!leafletRef.value.getElement());\n provide(\n \"setParentHtml\",\n (html) => (leafletRef.value.getElement().innerHTML = html)\n );\n provide(\n \"setIcon\",\n (newIcon) => leafletRef.value.setIcon && leafletRef.value.setIcon(newIcon)\n );\n const { options, methods } = setup$g(props, leafletRef, context);\n if (options.icon === undefined) {\n // If the options objection has a property named 'icon', then Leaflet will overwrite\n // the default icon with it for the marker, _even if it is undefined_.\n // This leads to the issue discussed in https://github.com/vue-leaflet/vue-leaflet/issues/130\n delete options.icon;\n }\n\n onMounted(async () => {\n const { marker, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = marker(props.latLng, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n leafletRef.value.on(\"move\", debounce(methods.latLngSync, 100));\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$e.__file = \"src/components/LMarker.vue\";\n\nconst props$i = {\n ...props$3,\n latLngs: {\n type: Array,\n default: () => [],\n },\n smoothFactor: {\n type: Number,\n custom: true,\n default: 1.0,\n },\n noClip: {\n type: Boolean,\n custom: true,\n default: false,\n },\n};\n\nconst setup$h = (props, leafletRef, context) => {\n const { options: pathOptions, methods: pathMethods } = setup$3(\n props,\n leafletRef,\n context\n );\n const options = {\n ...pathOptions,\n ...props,\n };\n\n const methods = {\n ...pathMethods,\n setSmoothFactor(smoothFactor) {\n leafletRef.value.setStyle({ smoothFactor });\n },\n setNoClip(noClip) {\n leafletRef.value.setStyle({ noClip });\n },\n addLatLng(latLng) {\n leafletRef.value.addLatLng(latLng);\n },\n };\n return { options, methods };\n};\n\nconst props$j = {\n ...props$i,\n};\n\nconst setup$i = (props, leafletRef, context) => {\n const { options: polylineOptions, methods: polylineMethods } = setup$h(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polylineOptions,\n ...props,\n };\n\n const methods = {\n ...polylineMethods,\n toGeoJSON(precision) {\n return leafletRef.value.toGeoJSON(precision);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Polygon component, lets you add and customize polygon regions on the map\n */\nvar script$f = {\n name: \"LPolygon\",\n props: props$j,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$i(props, leafletRef, context);\n\n onMounted(async () => {\n const { polygon, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polygon(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$f.__file = \"src/components/LPolygon.vue\";\n\n/**\n * Polyline component, lets you add and personalize polylines on the map\n */\nvar script$g = {\n name: \"LPolyline\",\n props: props$i,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$h(props, leafletRef, context);\n\n onMounted(async () => {\n const { polyline, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = polyline(props.latLngs, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$g.__file = \"src/components/LPolyline.vue\";\n\nconst props$k = {\n ...props,\n content: {\n type: String,\n default: null,\n },\n};\n\nconst setup$j = (props, leafletRef) => {\n const { options, methods: componentMethods } = setup(props);\n const methods = {\n ...componentMethods,\n setContent(newVal) {\n if (leafletRef.value && newVal !== null && newVal !== undefined) {\n leafletRef.value.setContent(newVal);\n }\n },\n };\n return { options, methods };\n};\n\nconst render$2 = (slots) => {\n if (slots.default) {\n return h(\"div\", { ref: \"root\" }, slots.default());\n }\n return null;\n};\n\nconst props$l = {\n ...props$k,\n latLng: {\n type: [Object, Array],\n default: () => [],\n },\n};\n\nconst setup$k = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindPopup = inject(\"unbindPopup\");\n\n onBeforeUnmount(() => {\n unbindPopup();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a popup on the map\n */\nvar script$h = {\n name: \"LPopup\",\n props: props$l,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindPopup = inject(\"bindPopup\");\n\n const { options, methods } = setup$k(props, leafletRef);\n\n onMounted(async () => {\n const { popup, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = popup(options);\n\n if (props.latLng !== undefined) {\n leafletRef.value.setLatLng(props.latLng);\n }\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindPopup({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$h.__file = \"src/components/LPopup.vue\";\n\nconst props$m = {\n ...props$j,\n bounds: {\n type: Array,\n default: undefined,\n },\n};\n\nconst setup$l = (props, leafletRef, context) => {\n const { options: polygonOptions, methods: polygonMethods } = setup$i(\n props,\n leafletRef,\n context\n );\n const options = {\n ...polygonOptions,\n ...props,\n };\n\n const methods = {\n ...polygonMethods,\n setBounds(latLngBounds) {\n leafletRef.value.setBounds(latLngBounds);\n },\n setLatLngs(latLngs) {\n // Calling setLatLngs on a Leaflet rectangle will convert it\n // to a polygon. So instead, we call setBounds here to ensure\n // that the rectangle remains a rectangle, defined by the\n // bounds of the points in the latLngs array.\n leafletRef.value.setBounds(latLngs);\n },\n };\n\n return { options, methods };\n};\n\n/**\n * Rectangle component, lets you add and customize rectangular regions on the map\n */\nvar script$i = {\n name: \"LRectangle\",\n props: props$m,\n setup(props, context) {\n const leafletRef = ref({});\n const ready = ref(false);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$l(props, leafletRef, context);\n\n onMounted(async () => {\n const { rectangle, latLngBounds, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n const bounds =\n props.bounds && props.bounds.length\n ? latLngBounds(props.bounds)\n : latLngBounds(props.latLngs);\n leafletRef.value = rectangle(bounds, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n ready.value = true;\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { ready, leafletObject: leafletRef };\n },\n render() {\n return render(this.ready, this.$slots);\n },\n};\n\nscript$i.__file = \"src/components/LRectangle.vue\";\n\nconst props$n = {\n ...props$e,\n tms: {\n type: Boolean,\n default: false,\n },\n subdomains: {\n type: String,\n default: \"abc\",\n },\n detectRetina: {\n type: Boolean,\n default: false,\n },\n url: {\n type: String,\n default: null,\n },\n};\n\nconst setup$m = (props, leafletRef) => {\n const {\n options: gridLayerOptions,\n methods: gridLayerMethods,\n } = setup$e(props, leafletRef);\n const options = {\n ...gridLayerOptions,\n tms: props.tms,\n subdomains: props.subdomains,\n detectRetina: props.detectRetina,\n };\n return {\n options,\n methods: {\n ...gridLayerMethods,\n },\n };\n};\n\nvar script$j = {\n props: props$n,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$m(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n leafletRef.value = tileLayer(props.url, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n\n return { leafletObject: leafletRef };\n },\n render() {\n return null;\n },\n};\n\nscript$j.__file = \"src/components/LTileLayer.vue\";\n\nconst props$o = {\n ...props$k,\n};\n\nconst setup$n = (props, leafletRef) => {\n const { options, methods } = setup$j(props, leafletRef);\n const unbindTooltip = inject(\"unbindTooltip\");\n\n onBeforeUnmount(() => {\n unbindTooltip();\n });\n\n return { options, methods };\n};\n\n/**\n * Display a tooltip on the map\n */\nvar script$k = {\n name: \"LTooltip\",\n props: props$o,\n setup(props, context) {\n const leafletRef = ref({});\n const root = ref(null);\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const bindTooltip = inject(\"bindTooltip\");\n\n const { options, methods } = setup$n(props, leafletRef);\n\n onMounted(async () => {\n const { tooltip, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tooltip(options);\n\n propsBinder(methods, leafletRef.value, props);\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n leafletRef.value.setContent(props.content || root.value);\n bindTooltip({ leafletObject: leafletRef.value });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { root, leafletObject: leafletRef };\n },\n render() {\n return render$2(this.$slots);\n },\n};\n\nscript$k.__file = \"src/components/LTooltip.vue\";\n\nconst props$p = {\n ...props$n,\n baseUrl: {\n type: String,\n default: null,\n required: true,\n },\n layers: {\n type: String,\n default: \"\",\n },\n styles: {\n type: String,\n default: \"\",\n },\n format: {\n type: String,\n default: \"image/jpeg\",\n },\n transparent: {\n type: Boolean,\n custom: false,\n },\n version: {\n type: String,\n default: \"1.1.1\",\n },\n crs: {\n default: null,\n },\n upperCase: {\n type: Boolean,\n default: false,\n },\n};\n\nconst setup$o = (props, leafletRef) => {\n const {\n options: tileLayerOptions,\n methods: tileLayerMethods,\n } = setup$m(props, leafletRef);\n const options = {\n ...tileLayerOptions,\n layers: props.layers,\n styles: props.styles,\n format: props.format,\n transparent: props.transparent,\n version: props.version,\n crs: props.crs,\n upperCase: props.upperCase,\n };\n return {\n options,\n methods: {\n ...tileLayerMethods,\n },\n };\n};\n\nvar script$l = {\n props: props$p,\n setup(props, context) {\n const leafletRef = ref({});\n\n const useGlobalLeaflet = inject(GLOBAL_LEAFLET_OPT);\n const addLayer = inject(\"addLayer\");\n\n const { options, methods } = setup$o(props, leafletRef);\n\n onMounted(async () => {\n const { tileLayer, DomEvent } = useGlobalLeaflet\n ? WINDOW_OR_GLOBAL.L\n : await import('leaflet/dist/leaflet-src.esm');\n\n leafletRef.value = tileLayer.wms(props.baseUrl, options);\n\n const listeners = remapEvents(context.attrs);\n DomEvent.on(leafletRef.value, listeners);\n\n propsBinder(methods, leafletRef.value, props);\n addLayer({\n ...props,\n ...methods,\n leafletObject: leafletRef.value,\n });\n nextTick(() => context.emit(\"ready\", leafletRef.value));\n });\n return { leafletObject: leafletRef.value };\n },\n render() {\n return null;\n },\n};\n\nscript$l.__file = \"src/components/LWmsTileLayer.vue\";\n\nexport { script as LCircle, script$1 as LCircleMarker, script$2 as LControl, script$3 as LControlAttribution, script$4 as LControlLayers, script$5 as LControlScale, script$6 as LControlZoom, script$7 as LFeatureGroup, script$8 as LGeoJson, script$9 as LGridLayer, script$a as LIcon, script$b as LImageOverlay, script$c as LLayerGroup, script$d as LMap, script$e as LMarker, script$f as LPolygon, script$g as LPolyline, script$h as LPopup, script$i as LRectangle, script$j as LTileLayer, script$k as LTooltip, script$l as LWmsTileLayer };\n//# sourceMappingURL=vue-leaflet.esm.js.map\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, vModelSelect as _vModelSelect, withDirectives as _withDirectives, vModelText as _vModelText, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-225fffcc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"workout-form\" }\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"form-item-radio\"\n}\nconst _hoisted_5 = [\"checked\", \"disabled\"]\nconst _hoisted_6 = { for: \"withGpx\" }\nconst _hoisted_7 = [\"checked\", \"disabled\"]\nconst _hoisted_8 = { for: \"withoutGpx\" }\nconst _hoisted_9 = { class: \"form-item\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = [\"value\"]\nconst _hoisted_12 = {\n key: 1,\n class: \"form-item\"\n}\nconst _hoisted_13 = { for: \"gpxFile\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { class: \"files-help info-box\" }\nconst _hoisted_16 = {\n key: 2,\n class: \"form-item\"\n}\nconst _hoisted_17 = { for: \"title\" }\nconst _hoisted_18 = [\"required\", \"disabled\"]\nconst _hoisted_19 = { key: 3 }\nconst _hoisted_20 = { class: \"workout-date-duration\" }\nconst _hoisted_21 = { class: \"form-item\" }\nconst _hoisted_22 = { class: \"workout-date-time\" }\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\"]\nconst _hoisted_25 = { class: \"form-item\" }\nconst _hoisted_26 = [\"disabled\"]\nconst _hoisted_27 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_28 = [\"disabled\"]\nconst _hoisted_29 = /*#__PURE__*/_createTextVNode(\" : \")\nconst _hoisted_30 = [\"disabled\"]\nconst _hoisted_31 = { class: \"form-item\" }\nconst _hoisted_32 = [\"disabled\"]\nconst _hoisted_33 = { class: \"form-item\" }\nconst _hoisted_34 = { key: 1 }\nconst _hoisted_35 = {\n key: 2,\n class: \"form-buttons\"\n}\nconst _hoisted_36 = [\"disabled\"]\nconst _hoisted_37 = [\"onClick\"]\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n onMounted,\n onUnmounted,\n withDefaults,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, IWorkoutForm } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n import { getReadableFileSize } from '@/utils/files'\n import { translateSports } from '@/utils/sports'\n import { convertDistance } from '@/utils/units'\n\n interface Props {\n authUser: IUserProfile\n sports: ISport[]\n isCreation?: boolean\n loading?: boolean\n workout?: IWorkout\n }\n \nexport default /*#__PURE__*/_defineComponent({\n props: {\n authUser: null,\n sports: null,\n isCreation: { default: false },\n loading: { default: false },\n workout: { default: () => ({} as IWorkout) }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IUserProfile, sports: ISport[], isCreation: boolean, loading: boolean, workout: IWorkout }\n\n \n\n const { t } = useI18n()\n const store = useStore()\n const router = useRouter()\n\n const { authUser, workout, isCreation, loading } = toRefs(props)\n const translatedSports: ComputedRef = computed(() =>\n translateSports(\n props.sports,\n t,\n true,\n workout.value.id ? [workout.value.sport_id] : null\n )\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n const gpx_limit_import = appConfig.value.gpx_limit_import\n const zipSizeLimit = appConfig.value.max_zip_file_size\n ? getReadableFileSize(appConfig.value.max_zip_file_size)\n : ''\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const workoutForm = reactive({\n sport_id: '',\n title: '',\n notes: '',\n workoutDate: '',\n workoutTime: '',\n workoutDurationHour: '',\n workoutDurationMinutes: '',\n workoutDurationSeconds: '',\n workoutDistance: '',\n })\n let withGpx = ref(\n props.workout.id ? props.workout.with_gpx : props.isCreation\n )\n let gpxFile: File | null = null\n const formErrors = ref(false)\n\n onMounted(() => {\n if (props.workout.id) {\n formatWorkoutForm(props.workout)\n }\n })\n\n function updateNotes(value: string) {\n workoutForm.notes = value\n }\n function updateWithGpx() {\n withGpx.value = !withGpx.value\n formErrors.value = false\n }\n function updateFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n gpxFile = event.target.files[0]\n }\n }\n function formatWorkoutForm(workout: IWorkout) {\n workoutForm.sport_id = `${workout.sport_id}`\n workoutForm.title = workout.title\n workoutForm.notes = workout.notes\n if (!workout.with_gpx) {\n const workoutDateTime = formatWorkoutDate(\n getDateWithTZ(workout.workout_date, props.authUser.timezone),\n 'yyyy-MM-dd'\n )\n const duration = workout.duration.split(':')\n workoutForm.workoutDistance = `${\n authUser.value.imperial_units\n ? convertDistance(workout.distance, 'km', 'mi', 2)\n : parseFloat(workout.distance.toFixed(2))\n }`\n workoutForm.workoutDate = workoutDateTime.workout_date\n workoutForm.workoutTime = workoutDateTime.workout_time\n workoutForm.workoutDurationHour = duration[0]\n workoutForm.workoutDurationMinutes = duration[1]\n workoutForm.workoutDurationSeconds = duration[2]\n }\n }\n function formatPayload(payload: IWorkoutForm) {\n payload.title = workoutForm.title\n payload.distance = authUser.value.imperial_units\n ? convertDistance(+workoutForm.workoutDistance, 'mi', 'km', 3)\n : +workoutForm.workoutDistance\n payload.duration =\n +workoutForm.workoutDurationHour * 3600 +\n +workoutForm.workoutDurationMinutes * 60 +\n +workoutForm.workoutDurationSeconds\n payload.workout_date = `${workoutForm.workoutDate} ${workoutForm.workoutTime}`\n }\n function updateWorkout() {\n const payload: IWorkoutForm = {\n sport_id: +workoutForm.sport_id,\n notes: workoutForm.notes,\n }\n if (props.workout.id) {\n if (props.workout.with_gpx) {\n payload.title = workoutForm.title\n } else {\n formatPayload(payload)\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT, {\n workoutId: props.workout.id,\n data: payload,\n })\n } else {\n if (withGpx.value) {\n if (!gpxFile) {\n const errorMessage = 'workouts.NO_FILE_PROVIDED'\n store.commit(ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES, errorMessage)\n return\n }\n payload.file = gpxFile\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT, payload)\n } else {\n formatPayload(payload)\n store.dispatch(WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX, payload)\n }\n }\n }\n function onCancel() {\n if (props.workout.id) {\n router.push({\n name: 'Workout',\n params: { workoutId: props.workout.id },\n })\n } else {\n router.go(-1)\n }\n }\n function invalidateForm() {\n formErrors.value = true\n }\n\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n\n watch(\n () => props.workout,\n async (\n newWorkout: IWorkout | undefined,\n previousWorkout: IWorkout | undefined\n ) => {\n if (newWorkout !== previousWorkout && newWorkout && newWorkout.id) {\n formatWorkoutForm(newWorkout)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"workout-edition\",\n class: _normalizeClass([\"center-card center-card with-margin\", { 'center-form': _unref(workout) && _unref(workout).with_gpx }])\n }, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`workouts.${_unref(isCreation) ? 'ADD' : 'EDIT'}_WORKOUT`)), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateWorkout, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isCreation))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withGpx\",\n type: \"radio\",\n checked: _unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_5),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.WITH_GPX')), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"input\", {\n id: \"withoutGpx\",\n type: \"radio\",\n checked: !_unref(withGpx),\n disabled: _unref(loading),\n onClick: updateWithGpx\n }, null, 8, _hoisted_7),\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t('workouts.WITHOUT_GPX')), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.SPORT', 1)) + \": \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"sport\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_unref(workoutForm).sport_id) = $event))\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: sport.id,\n key: sport.id\n }, _toDisplayString(sport.translatedLabel), 9, _hoisted_11))\n }), 128))\n ], 40, _hoisted_10), [\n [_vModelSelect, _unref(workoutForm).sport_id]\n ])\n ]),\n (_unref(isCreation) && _unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \" \" + _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE_DESCRIPTION')) + \": \", 1),\n _createElementVNode(\"input\", {\n id: \"gpxFile\",\n name: \"gpxFile\",\n type: \"file\",\n accept: \".gpx, .zip\",\n disabled: _unref(loading),\n required: \"\",\n onInvalid: invalidateForm,\n onInput: updateFile\n }, null, 40, _hoisted_14),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.GPX_FILE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.$t('workouts.ZIP_ARCHIVE')) + \":\", 1),\n _createElementVNode(\"ul\", null, [\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.NO_FOLDER')), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_FILES')) + \": \" + _toDisplayString(_unref(gpx_limit_import)), 1),\n _createElementVNode(\"li\", null, _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(zipSizeLimit)), 1)\n ])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString(_ctx.$t('workouts.TITLE')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"title\",\n name: \"title\",\n type: \"text\",\n required: !_unref(isCreation),\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_unref(workoutForm).title) = $event))\n }, null, 40, _hoisted_18), [\n [_vModelText, _unref(workoutForm).title]\n ])\n ])),\n (!_unref(withGpx))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT_DATE')) + \":\", 1),\n _createElementVNode(\"div\", _hoisted_22, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-date\",\n name: \"workout-date\",\n type: \"date\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(workoutForm).workoutDate) = $event))\n }, null, 40, _hoisted_23), [\n [_vModelText, _unref(workoutForm).workoutDate]\n ]),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-time\",\n name: \"workout-time\",\n class: \"workout-time\",\n type: \"time\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_unref(workoutForm).workoutTime) = $event))\n }, null, 40, _hoisted_24), [\n [_vModelText, _unref(workoutForm).workoutTime]\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DURATION')) + \":\", 1),\n _createElementVNode(\"div\", null, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-hour\",\n name: \"workout-duration-hour\",\n class: \"workout-duration\",\n type: \"text\",\n placeholder: \"HH\",\n pattern: \"^([0-1]?[0-9]|2[0-3])$\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_unref(workoutForm).workoutDurationHour) = $event))\n }, null, 40, _hoisted_26), [\n [_vModelText, _unref(workoutForm).workoutDurationHour]\n ]),\n _hoisted_27,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-minutes\",\n name: \"workout-duration-minutes\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"MM\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_unref(workoutForm).workoutDurationMinutes) = $event))\n }, null, 40, _hoisted_28), [\n [_vModelText, _unref(workoutForm).workoutDurationMinutes]\n ]),\n _hoisted_29,\n _withDirectives(_createElementVNode(\"input\", {\n id: \"workout-duration-seconds\",\n name: \"workout-duration-seconds\",\n class: \"workout-duration\",\n type: \"text\",\n pattern: \"^([0-5][0-9])$\",\n placeholder: \"SS\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_unref(workoutForm).workoutDurationSeconds) = $event))\n }, null, 40, _hoisted_30), [\n [_vModelText, _unref(workoutForm).workoutDurationSeconds]\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.DISTANCE')) + \" (\" + _toDisplayString(_unref(authUser).imperial_units ? 'mi' : 'km') + \"): \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n name: \"workout-distance\",\n type: \"number\",\n min: \"0\",\n step: \"0.001\",\n required: \"\",\n onInvalid: invalidateForm,\n disabled: _unref(loading),\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_unref(workoutForm).workoutDistance) = $event))\n }, null, 40, _hoisted_32), [\n [_vModelText, _unref(workoutForm).workoutDistance]\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t('workouts.NOTES')) + \": \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"notes\",\n input: _unref(workoutForm).notes,\n disabled: _unref(loading),\n onUpdateValue: updateNotes\n }, null, 8, [\"input\", \"disabled\"])\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(loading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_Loader)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: _unref(loading)\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_36),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_37)\n ]))\n ], 42, _hoisted_2)\n ])\n ]),\n _: 1\n })\n ], 2))\n}\n}\n\n})","import script from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutEdition.vue?vue&type=style&index=0&id=225fffcc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-225fffcc\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"add-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { ComputedRef, computed } from 'vue'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const store = useStore()\n\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n isCreation: true,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=82a367b0&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./Workout.vue?vue&type=style&index=0&id=a8e74d78&lang=scss&scoped=true\"","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"edit-workout\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\n\nimport { computed, watch, onBeforeMount, ComputedRef } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutEdition from '@/components/Workout/WorkoutEdition.vue'\n import {\n AUTH_USER_STORE,\n SPORTS_STORE,\n WORKOUTS_STORE,\n } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkoutData } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const workoutData: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUT_DATA]\n )\n\n onBeforeMount(() => {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: route.params.workoutId,\n })\n })\n\n watch(\n () => route.params.workoutId,\n async (newWorkoutId) => {\n if (!newWorkoutId) {\n store.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(WorkoutEdition, {\n authUser: _unref(authUser),\n sports: _unref(sports),\n workout: _unref(workoutData).workout,\n loading: _unref(workoutData).loading\n }, null, 8, [\"authUser\", \"sports\", \"workout\", \"loading\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./EditWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsFilters.vue?vue&type=style&index=0&id=06d30f25&lang=scss&scoped=true\"","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = arraySlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n var dummy = this;\n // check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutMap.vue?vue&type=style&index=0&id=b4b3006a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutCardTitle.vue?vue&type=style&index=0&id=21fe0e9a&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutNotes.vue?vue&type=style&index=0&id=6dd0f3c4&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=2655acaa&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./WorkoutsList.vue?vue&type=style&index=0&id=1ba1a972&lang=scss&scoped=true\"","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).toGeoJSON={})}(this,(function(e){\"use strict\";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||\"\"}function n(e,t){const n=e.getElementsByTagName(t);return n.length?n[0]:null}function o(e){const o={};if(e){const s=n(e,\"line\");if(s){const e=t(n(s,\"color\")),r=parseFloat(t(n(s,\"opacity\"))),i=parseFloat(t(n(s,\"width\")));e&&(o.stroke=e),isNaN(r)||(o[\"stroke-opacity\"]=r),isNaN(i)||(o[\"stroke-width\"]=96*i/25.4)}}return o}function s(e,o){const s={};let r,i;for(i=0;i1,g=Object.assign(r(e),o(n(e,\"extensions\")),{_gpxType:\"trk\"},i.length?{coordinateProperties:{times:c?i:i[0]}}:{});for(let e=0;enew Array(e.line.length).fill(null)))),t[n][e]=o):t[n]=o}}return{type:\"Feature\",properties:g,geometry:c?{type:\"MultiLineString\",coordinates:s}:{type:\"LineString\",coordinates:s[0]}}}function*g(e){const t=e.getElementsByTagName(\"trk\"),n=e.getElementsByTagName(\"rte\"),o=e.getElementsByTagName(\"wpt\");for(let e=0;eArray(e.length).fill(null)))),c[n][e]=t[n])}if(0!==s.length)return(r.length||i.length)&&(c.coordinateProperties=Object.assign(r.length?{times:1===s.length?r[0]:r}:{},i.length?{heart:1===s.length?i[0]:i}:{})),{type:\"Feature\",properties:c,geometry:{type:1===s.length?\"LineString\":\"MultiLineString\",coordinates:1===s.length?s[0]:s}}}function*y(e){const t=e.getElementsByTagName(\"Lap\");for(let e=0;e Date: Sun, 28 Nov 2021 15:39:06 +0100 Subject: [PATCH 5/5] update documentation --- CHANGELOG.md | 3 ++- docs/_images/fittrackee_screenshot-02.png | Bin 376003 -> 360735 bytes docs/_sources/changelog.md.txt | 3 ++- docs/changelog.html | 3 ++- docs/searchindex.js | 2 +- .../_images/fittrackee_screenshot-02.png | Bin 376003 -> 360735 bytes 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6492219..a2f75619 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,10 @@ #### New Features +* [#116](https://github.com/SamR1/FitTrackee/issues/116) - Better UI for Speed and Elevation buttons in the graph of the Workout screen * [#5](https://github.com/SamR1/FitTrackee/issues/5) - Display a chart with average speed -In this release 1 issue was closed. +In this release 2 issue were closed. ## Version 0.5.0 (2021/11/14) diff --git a/docs/_images/fittrackee_screenshot-02.png b/docs/_images/fittrackee_screenshot-02.png index e70cedf91b33662b49e30f10b2c8813d677bf02f..0bcac75297572bdb0a604068043a531748172786 100644 GIT binary patch delta 308359 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≥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%0Dodz-V1E|8#&mYC*UmFv&YY1vdTQst`NF!nX7$ot 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 z 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

E>Tdk*M*p}yk2-4qeAl0!@^n*c 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

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

cam0ixw{ym6ct4ZmxB4;v@g1yLP!*^B>VLI1s$B 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

kKdv`j0 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

R8&{q-CYkG+2tIbpPL&gUv*)D zW3xfV1%)eDt|-{s%Y(A}g@w+tppZ%r4GBrOyv!F=mVCSxoxgSEy_DJ)|Gu@Yg@jo> zDA3rdZ`XdyNjH$#Q1`dWXRg&$*4K>fe6mi*`(!UJcIR(@=Un}}z-3>bT~@oduU@sv=yx=v3l2_7T&+yo?-X&{{eEM-=ijf_C(fNawxjUz znQfk)o(FGj&0ZL^Qb0`X*rBhBX4TJ()iG2~~cpNli-w)eJMt^W~=LL^et1?-6{z z_xrq?X358T4jyXd78Dk4_ML6Ev0$%;g+;x@#*G_)oR0t3v|xckkF2%W&6_vVocqe( z+-MY3b~BMqb6WTQjc)utnfo=Lc|n60JaRTWZkpLveL1lCyj}OXxz^4~6CWIt&UeYn z(_6KAb)TP6Z-&PsFhX3w*Xr2Mb zzdxwtsr&U(J*NC_sZI#Lhp(?|M#hTBv?Y7LFWkCo(pSZw%4}LEm95I(^-P*1^!WVI zqenYBIx@B$iubf*9s$BrF0@1LlC{`yF#@Qdr~bE^d*#^q<&JDfJRA{`x8(B6 z4JjvuG^To;nQ6TIrdMCnn>RTrX=zgR(>zoJI$b7sEnUNJ`(pY0xyi zixR8d+mmZwSl+yO6Lc8zGXME~*W;>rdwY9l*wtEX+Pqoz7XNGK^K+#2GU>PMz{fNl9^7e_h$q zQu1&+Kl_C*&#aA&h1r@H9(~)!E8XVY&bM&UA|_K)(;M6K<=uKD4j%gY=;y1Oo7MYd zt=s zH-GM`_^32ZH@fZ7qa+C)wm*M9pFhT05g}jY=isd^YWWNvv^-SpU+r1FZuU{ z`t#zq+xIP8S{7efY01UK6?K;{W7e`|`S;xUzRrlwk zdxnYBox;vp6f6`|R;Tie>4R)#$4*57wvo^7>3)t8KQR?nY) z78Mm`ZFOq=`uch@q*Ye&<)Zt-pp_SPm*<0adV;b~-Os1uU*6r72JP-_zp(SBzy05q z`qk_ANoh@8wQ`=JWqi;|k-b%45A7;_y`l1Rnum&z&7Tj4kGU#+dw-vQrcaxqbK3@m zyDttjGF#OAFxZxJGwIv@jmgIs?bvanVqa2HlEPH4jd^#ia_;UDb#!#B_;8SYVSq-2 zd{sb6iOH+iuQw(hX8ZHwaesh@2)TM zbYs9>9d&i~`hP#w^Y(rX1INO&cZc)t?o!m(=Lg-ly)pUthYyGOoflu+kZ?P){*9`_ zBSE(6IPJ;Ne|FikD!cQfIYPTcf;$oFYIl6g5GKK}lrZ}K%C8n5^7T)2?&^mKi5x%#4_ zqS^cEGcz^yS(KEN7BL)mP^}jf6r3nO)2`Mk#VE4-wv2tYC=zxSJzk+Jc|tKsnr>$hwXk+mv0 zFt_|(=fP(7BVH8eCF;^O2^ojP@4u{-~r^82+M+}zHkrKX_a$etda6<4!BJt7Yu zpO&!IM}K{NJ#o^cCO%m!P%UtzLr{5^Y<+F5E$BwE$jxb{zi&4(vwt|uZ=dk&%uI`t z7Xn5`Mgb8K9o^#kNf#D4*1x#CoPS&1U9RSX4WN5#nc4YVQc_g1vaD z{S=Ihgp?+pc=P>uzx?rKzOz5vDL(JGG>DPm(xpovcH+G~m7qKe3Y4A2&y&8qxOih* z?(C2Eztz9Fd0AqLDkwP|I07EJn8?3!)hZ`HKRz|zSu86EzN zl`9+lmLHy|>|XGC?RF=vsYyRRJe*;a3M#$%WGou$KR!P0tT$cR$VkZ3(=)7j#d81o zd1X44m6Z|OawOG!XSICzQ1JLYJD&{4)~Mb-S?fjF*Vjo{7O5ObGGybCXxOyL=y91; z@3E|aDWLqp#NJ*9N~u35bc^dRN3XkD6SWC;MLXDXN^?Z`Q`4sxv^^1stcRb{Wss2wJc&e+|GZzPuAKX=?KST zJ14ojZ#!U11)QAD^f{i`BGPw!3y+qzc4Z@|n5kzqfMog_kK=u^g&!ZeW^9dmyvVY$ zva+MM*Yx(fJ$q!7-TRIl=@br(iRpQIdivuR7Z-yXOi6c^En36`+FF>ses9~07a5>D z`S4KdvHj6}XW3>MnZADY3e=n9nfC9?W&a(oR;^wTwDQBB&*v8hFZW|;xOC}KT4NwX zJqH)pp`+d6XY0%hAGzGAc-#wWxADnXB$Vczo)!`oHjC9CRQzdtD0l%HZk)&;s5SM) z#l`Gq`S*DC#`RBD_gAvF-+!~Lolo}Asj1q94-c_|<}QRfS$KJQkL@=%Gh4K36<5$o zP%dwXTYnr>=^Q(DOw2xBYiiPghI+;y58LGzTz_5o<3l2-<~VrpAn3mI4VjnKOiWA` zY}q2xEw1mDnVGq{*2UHJ;hUSA)Amn3nKHpc<;Uyz|6RS(=Cfp1+j@C<%}Q+n4FLuw zB!Y{|6UYDD|NmDWG#qxxTmRwj_xq3E*qA&!*Es8n#)%Xo(41cJvontM-{0Le%(-E} z;1Cof6j%M$G{Zy+bkoWV+iEj0ors2YvAdO&l$he{|CV;o|9^m)|G}A=#uXorif^p^ zoaQsvN>r$mWwN?|Tip8NYa%y)_;x%0@v_-@PDx2go9pkdkGB^Q6^*?6{lURzK}pHZ z`St&9E;O<%e#XPbBXOV`G@f3s(a_1m*4%jXf$aWw{s&J8Hb)A$xVVTEfRZVwJsi8c zEcf%itnBQM7v1F(kM&4~wXX)H@SBHjbk`@kfd?CR-dVf-Ue{df@?9zM)!*M8^)X3RHeQDSG(u;f{B^UdL=&e{XNKvYuXFs~5Y=tmP`@9>1U0_4B=6cKOrW3$7;Jxf?uj(yY9% z@1yJfvFe|TmHF`W!_{ZGGd{29zq{@K%k{cPR+ZlW)CL~f%{uyK%G@$`O~wTqwh0vn zmHmAC-F9w$Iool+IiGGkzk21GqVnf0=WFWYt>u)`4FhiSO$m>2S?t%o;zWnoc5O}D z{{OkRUR_DA*;l5VCs{7LZS8;lG{5RCcc*TQQ9HcFeYwKEY8{3Lzu)ejSZa0u$M-Eg zI$z#iy}We(%t^EQ?*8Wc8DhC4HDzJ^`-<&v|KGc<{@|8i{X^e+Ur^v*=~{G4tNnkk za-(nj=9Hh)Bfh`wm;1eEYPR{Kb;r{m)cjn3Neec~de~2GuIpUO-e31G z)!r}lxz$%m%}mK1Wj{n27+Rg~>7D+$ZMK_o$Wj)DKcAaLUtBS~@?$&5HNGXe3qF1R zU)z0am(_f&<}F`*zPzuW`(WGOc-s<#s*wQyKD2=-&q&3 zKE5d4yz%=1dB69MaG2+Lq&m8=( zp9nv{boKb>yWe6fzFpm3F?quA!oE`sTWhb|)ol4xzhc$8#%&t~%kNs9`%%ALzU~*R z_W$jI&rj<)s7+41_PPG>d-tG?d6&a9rYhdp{hwdw|99z*i!Mnw#b1AX+_!hdiWM$9 zb_q|@otHdq=FJ-`4liM!?^u^;IPd3grad2?IBTq5apdSJtv?^17iv5y+VlU~YKtNr z+3x9eZJVE;x?sDG``*m&Mpk73ipJ{v^Viq^7W;TN>0`B*)}~_a4<8rZ{PAVKbitn# zvo@YL%{PtbZTTfzZ(SlHzvhSjDZLn%`Fv^`&OU$qXOyzk-F+|v@SvU3ZpeVOys*zN8&gKPTr?12*n zSFBle>`1+)f8yP)a)HG!dv5Kry7TWs$(nyJ=HJ+tEnoDR`{Rq+$%XeP8wUnQxBs3u zqx1E;eM0r~|CukDf2!?Z!hyx-&$?Bm@#XD$D0QZCO~|LvC2|CPIM zZd{(4@@Q^<*un)XSW3Ts-SPb!XT`6H)f>wmhnbj}Ju3MpIY-l~`;YO_A2}y$=A1ft z_>%wigtzLx&R1T)mNxjfZ~2Ft)t@iwUaOfmt9xo_#GWt3f96f%S{v5g|IbwV?&Dn# zN*ood)JxbIUX)nr{H=de|D*7D+!gbTk8d6a7yNE9^pl;vtk}ZH$p7)wpYM|{ulml& zpnop5=XTyM#{0SVTMs?j9H8mEA?Kq^hl|pcE7uy%i@9xo4T60dFYjs-au>VL!NJv=H?{)RHKWtS+xBKs5 zbiZt5u%bSn!67$R_LBeHwg??3r+y0!=O#vzUV+zhFUVH19=%|eRroMTbl=a1>32*s zZNACbG_77Q!?JNlW!}`d_3l|!YEDhf6D}z8F$9FgH9p$>{KEaDlIu5%p9cm+G#&Zz zEyq?m3+mrjw3NQN@TQ{6%WGo!GKpCnrn~Bo zmu~zSS+$o@a;D{qm1|wM-_Yv_C_gm+xPQ{$?Y9MFmK?a(?0&)CP%d$<)r`Np?fd3B z_^z#dbmnR}Ut5F@6GO_}bMB?Sy1!J9N$+3%(lY;wsTA|+)}!fxF;#M%w!0md@;vOl zdCo9EvZ3r>m4JNxK0fW~dpbAx$$mJqn!88zK>f5Qwm&kS{@?KFueqS)!eg@iHvN9G zP9HyQao@ELuDl`Qi5vwHXM zwcx*f?LRxihhK-jgGyfsiBs0WE#hhax#j=9F8%Uaw*Td3v82b-=6|gJey?xK7oRu( zzLxvUD`1wZpIKy`x9hv-o}cg3E1t{iE3aR`vH4z9(pPIan)!~?Eem2I=Mdi*5cp~pQPU>cz=@fsr}%0$L=B9n%i4M`R|l!|NHl>y5jxW z@EkTxMg=V+ru6eu6}60*K;GwSmASc-wc}#Rv0J^-hI#d0JY3vXOq@2cQ!rdbG3v6U zzJE2#$!fj_bIs$}7*d{#E!ehB&i>sWQE#z7vguvtlV0^y&iMRj@`aZrGk!giu6S@R z`oq7b@Q+7-osHO4q&w~3=h8W+PC9Q{X6)3|tXI2UCpqoS{^$FftmUg2Z|hIpx%5tx zl8tGx-M!jmwRJLgT&vniQN=Ng|A06S=co{JgZ-QSy715 z`S{)Lu2WhiuLQbYZocRA{~qU$fBU@)7cLSqzyE)W;q9rQda0vfxzPF}FIK!;k&|;E z`M25azwfuHy+1m~Ro+Q)`oeA7-oi&Id}=*A*`gSW-bv;w_I2KeXtq4)n&|ZJwOuC$F zoTFg9S?*27oiS}c^Xq%k<@d`M#wLHba;E-4@65{=RHK?Ved6+|&sFqGeeSgU^1|@* zc|Sfau6I(J_#h=rFRr$jQ|R&IfU12ms_EyGZ-_GY{&n@Lxzw=kD&gLq( zZhl4CNw)0?@BBxHj(Y7eDK`wdWTYU}DR5u+TTo=j*>gXqoD{yWJ>36HeY&LC-yO^c z9UUilse=5Ww9eb4KL0{lkMn-!3%^hQ?~XkG|7^s>IcH9}{6#7tb7hvW)l1FH7j+3{BSd%f?mc($+X z3?X5m$@k7Izqry_9(8CxUv))~*M`7tl;_q|Db*o8VJ{OybMU6cexiX>f> z1nVzdGVXnD@w&ur()TyVy)Vl(9!xlp-`*$n|Jj+1k<;9NwswOO|7(34#@3j&SFfT@ zJT)re34M6I**zdOxLbT)4M)<(9V_ot9d}j{+E}Cj8b~P1{P*A@$JDrai?T~X%57%e zF!}!b&6K$(c2wMZSF0Pnm2dK~`2M~3*B;v^zpwtt-pT5Zt`%NS{&FHw!nQ~P+^n{> z7X?+vzvs&*9GlFa_a||?={rdZD87dw}ctg7L4S+cX;Qf zB9;2jn)@Pu$}xay(>>n~g{(Mi^=Rix{)F4V{y&&jcwJF_J;PPgt;g(cc7GOgUVd4z z^6>H-8;UrCE*pQW_FDDv2B@Ytyxw=<`uu;=!S80&cl4Z*S)F=2Xy#qJhin}#N;SV9 z`|bI2?6yFsOGWiPZ_u>e@!+ty#;ftQ?XJaX52ojbCtg1`HLQ8cRnx5%ucrQ#FxsI1 zt?oPPvwdGgM2aMZb{&6s*F24h!LB;rZrj@b{+kbg=FRl)uRC-wH{0;@O?O41&X2b~ z2QxD0$40r-mwjJ${^Qe2^-8+R!aG@8&z}1!%zwW(b@jE!%j4?~hil(E`p$R0vV{i6 z{k*#erMJyZUSM7ks950s+LcEB zzUN);$JzE~-nw1>_OR*U^*iRAojxyhYY}t9oIS=bZm!kj-dw+I8=tG{(qmk=6ATiL z-(%iUcqR1MTkbBe1v^C=e0=R&ABOX=FwD`^ay%X&nv}d~7E_J-<_p(P-I>MOs(M0O zf8X4{BG{m*p{D%em1MeLNo2?g$KxZN5~TdTgg~|6Ge!##%jgt;}``-VJUb|B_fXKJ}!R#T?TGiUpgmGwFxAR@mQwRd?B?s zbK85_YQ6{0q}OME`yDd*@$aYG4;x4{w9lW}>OQYpwzTwXMfSDgTr0E94!OTHdEQL# zSfJ4QG5@d7?52tKf4*?5^~&ekth4W*@A6;lR2QhW)R^G=>X!86U1~{3uTB=wn!32W zz2J=el`C;^Q?~J2cl%p!*}t#Tc4GaX(~L4UMLb-scW$KHOv}6H{xj#T8_#|v&T?O= z{5SeD)HGI1QJnGd%Hd-zP1k-|#OK~?yS1yTN7j^S|DQ66+1uY9*`UaL_7^il!2JbB zpTFLBwD)>!@1{>&Yks^pU$JiG(Fu&T7ng_oUop>^7#`5Vdq3Yj@TBFLicgAj&RF&C zWv}l`c<1fEFt|Nn$-InH7v9{rW_*5Hf5DG8mYb8keb2ir=UezfXsx4HmKER9C5hj9 z)E5S|Nw_P94W zT??OEUn;Chd0cyz8Hd$>l|3gi)kJ!e?u{L)lDxc8^=B$SdU~i#S~lar(!^WG{pL7% z6ihIjcyii(KG~zQ-`6#X&#MqHkFl1~T=~-C!*N59>3(z099y1k=5X0krZ9HV?75$R zvFU@$73{A8WaK4V<^t+VkI!{qpgo($jg5;d@cry_t(Pcf1x#{qr*;s_iUmWl_<2iS};uRQ@t!wx_GIvjRh7 znSE1s82;Gu|HJ$p4`)5RkR?5FZgfMO?QThVpJm0Z95V~16>)P3-c~*JL-zZ-|I8Z= z13CD(n&R>gtb7ymnCtfP&*vWeIH?n3{D(_|hi%Wk54E63tatC5dtm3LYvIn9OZpCM z6jl!mzu$0CxgFGb1$7kn}VQ9NeyDmh=VGJ4*`nJeG{~=y{*V<1yc2X6p~R!ei$BAMYj?TK(q_y0S*Z+YkO;+}|rx2N}U_WA1$exAO`;`^Kb%ySPP zHmGorPp;QC+$Sxyoi_xmkAYKQ0cpRIRD z^P6||)1B%E{4v?3%@O8ZC^7#Av>(=*fm~U2lU1FDZCbH$E@bL!^tMjt0+}(o| zr+R((_vwGq#rF9NgOBt5NP6jXLeEz;t?HcroE$6v#p`x`3cByx|Ht^~3n}5FvmsSR zOAE{5FEx@pY|LHf=N-Ou{+d*~d-u_#$Mv^6&&;u@`T6zxv4+53D`i}=l`by0x@coy z`nI>%p6tC*|HHpz=a#ig=j>rhUSMSUcS>Y{o{ELULM_$4WvLF!FDL%necIsNuhkb# z-I^!gTrPNB^;SgS%(N$*{1VyuSB@kZa&>tvxN7#O!c9y}H#YN*-u49oiF2($J%KMZ zmT`0Hznjggd6Cyr`ley&{I#yBp}cYPzHuDuk!sv}|4)KWw|(E-4ZrR#Qc~Vf{N8cT zr#FikX0@gLpEs$?^YMD~eS5vU&mU^==AU)>XKTQTrvYs&i+3#(tJ?eU63g*rji*lY zFI#bfL&n#eong)YGU-!#ArGEyT+G0b?tOl7a(lp)E7ub1|Lvadpd==JzinyyGli(j zl2=W)p6!cN5j&W`ptbt{{Jp>X)_<(|WBPB5zu{LY# zma^#0x~5UNy+NC^wwvzC$(r1uGRdPwpwlPv`JaCr?H&Su>rCwT%uvqRyK&!s zGFk}9p8WB6|NqsS-n_|?{2y0;%PjlErK_{g{I_R6GdFr&Y`?0iDerlung6fbmtE@L zvZX}p&Z`TB`NzAbTroKp&rzGue@gn}$1g7~wZ(_)KWhIu|I+qq_nh3^jy*+FU(AU3 z{65C~(PPFNTmMCy>HKV(DSXe|pF1rz)w5nxKELkH2HEvWtuHQUZJwT7@not_wz!N{ z*{vGg<$uowFKh9i7V!1VPKD1ukKgM!e<{20vHt$xQ`ct~Ev?yEY23PCLU)Kx`ReWI zURsWd;+5-azFq9%U%mPMzZ=KR?bj?%yesu*Pp)`o=1a?Y{0-?7oocMpmGah|TXXwQ zbl+D=x%$eZHEUXqsGPgERqc@G{s#7Y-7{`ju=UOKT3WPJ(tOYRxz!@#{!h75Z|=-9 z%oaQUsCi-Snf>ASs?X=2@2=eauI#<#k+V}oW|^&6YyQUA&+%#SvaF*;Q?z57*8O$c znDJ7I?c1xa%WGX-;?~89MoVW`@kpKirE6XB{48HYWaP~K^#S|-JY&Bn^@Xw1^W>K7 zn;rJw>azx=3d#dMW$UYe0@}>k!nrGx2pPUxi=lBcBP)J-)a3=-XkeV z$k*!Y!ruorZpptn<6eIKw)D&E_kTXV@9>#9AMC`$#7bV@=rWbAfBNjKh}imw^K)8H z7wy@m)Osi5@|MO*Rtt0S^qQ{9i(6y6cc1(1ci`ExS3P^@>iX{flKgj?YzznY@uNE# zSmzi$f9>Pz{n#mkYp>Fo|?Ms`-lD+CdH21ip$DQ`L|E&eQ8=^GdWFn$^Yos4cj)I+j#E$ z5B6EkVGTldu0Nk2iTqXezU01{*_wQFK6!iJzt^jbsy@jG2~FOx!60DI3iaGw{Lg9% zG~Py;97-{|xS=-x)_0j>3zL`s_kUiN-!Zd3_kMBtx3^cf%HG$Bci+yKtPy>RT|9j` zyWR}&lKD?MFZSjOKYz5yQe6D(hQs^+tTx*A=bJkFf6J36H#4%taV);D_I_ZK)1i&q zH$QcXV5#PlJ9_WjH5>7#oyO09Wc&(`h>*|-xzO9w!*h-`?u1ZFYg~_lt!;D55tnW6 zZ%uw&zp-|2_om-|NItj(>N`Tei-wOTBu&{hsUPmA?P~T*Yu> zp~$ZDyZHIOmBsYz@Nsz}+SdDf%9JZ2HeC02rY*jB;@y6JAz|t1PfK6El;rvOK{)T8 z&%?LZZx=m_nXvQvviy&W>VL4Ze7^p#-lFIakMX`=^Jd)GA@jbH^Zg_S^ER{Qh&hUpaEt|E(O{+}O_BhtKPG`*M7< zhoav+-h>A)G#S3Uz1aC~Zj^EL!=SL-AFTHu#qIfBCf?TnzbAS3wTI<)GtRy5d9d9y zezvuUii+CDXS)}7?kVd1wRN@O-^GGA`(*3uUUDTbJM%CmfFsV8>*CT}<6V2M&FP-5 zce(a}gi(*1*!g)LKaEs>CP7B_&C5IKEW5AOdoOHS zw`A#3l{*<;h`@9>+zR8O-ZAkhXHf`T0$xZw^fgmHzqTFQd)>n0iY$-&sf3?dJ=+v|XY* zt!B>B<1aM#f8KMkK4jXaS>~$_f9ZFdFl*Ye9sc{CoUe7)crazY+Sja$|JR;tagRG$ zc0T|5`EqUZ3G*iUwTG=YdNS9%DCR);&C{D*9aH71Cf(Ojo6OmK@BshoZ4bl+&RpSd z`;&g$u3E2SlHJh_Tel{jJyw5af5hFmsc+Xh%73`GJ3nw~(#@EuqLojzPG8FbrI3gS zo87WKy>7~misHW#JDgyP2_#K3%}($Cb;M@PU(d-?Y9?>!@HjQ~(^Iz?rhMLi4UKzu zrA2P=08K4Ei46EX{k^A$f9;a%6*rzgp6-^v>eG{zixzx3nY2`ELVf+?>-WDKrC%(P zk$v+s=~eyh=(pSLzi-U_bKl|Fg*P*W@39++`&o*MB*o29505|6dRNkR$9Lm;`|WT4 z%#P%q_TlLk{&_bh2pNU<&9})`3}5G#oSEpjds?q(5U3k^!uaLqSH6<Bk?wdel?& zBTHbw%=Ru(U8e$%9fx4HP5i&`#OdoCe4NW8E-J0+QSUgIVl*>^w^Civu(SK&^qq3T z%TIx4o&*I2f65n>7A}gosPv?`Bp}tsQ6vNuB4F=&%)5LcALMq>c6vcUvVGtRb2stc z4qMfFq)?TE9qK}sQAs{TF~Mj zXwxMU(uz>-61UH-z{4VRp7!DmpEwsSFyj9?m;2bxhRIHd(As$7^!1Ltg6=;zsfI}U zbDRyF*}m@h5zQr_<{!xamGwL}T_RUPs{JKcrz*j~q~|DM6&#=mlToVlb6g5@LdO$J ziZ#`fXVsbzR{!~@1Fz5c|5uCePw}Me>&Y4u?B!i;yDw~wEsip&a}@Bv#_qCfRp>^)DK&wr8a?dzRqgzu?yuHK*oSJoYchuqZ3rmJ?^!uhhzwWHj>w{~m{ri{|-%*}8Pel1+ub^X{gA zf)v!SUOu7e)bgH#2@DFhwsTixU)Ky;p}^MM_-Uzk%FX=q2N&x^ZJTz0J24_Msy=9S zm8cuCU?viR%j zuZ$UYYX!{nj(oo9{@$?opODibr4Jg9&b1$||MlqIGpF6#+h?8MpLMwJMnv@I^XE)i z;y98&y>b1)%95O(?QFPS>C5YjGsCm?u3&@i6;t}ua^b@Jp<$qJYeLc2) zhInB8^+h+UUr1a}&YyAm=Duux`~3T^cW3D*nauq0w!gOIt^K4$a;=)-x29kC;GuRd zhN0nPO45ZJEC1|BwEp?o^3n=FUOo5N$A>fHi=O;7i`TOwg&$_Ryohj+!H*aspV)gTng3r`Xesw-v>6@EP=F7}19#DjX zu)o096*af=R!mjBe{SZHC6U}WzkX-j_Wsu4Z?V-Gw-%TM+e>tE`t9+%f$DW zUQCUe(c?C&+XV2eX**z8Cbs1jmzc%^Bj2k+~jU;$#Y^#;# zwchpg^i95fZhw77#B#RHYJE?#N_cp0e^>f*Ni--Z$g)^(Lh|xInonP!-L&(vK}5uc ztixt$=i(2|b9P@Dwsq0YI}iU>Us#*0{pgYKip#s$!xtxS*t99>*m32GovG#w&-|pj zmo8Ohn6Br}cwup|bkyD`{u4ZIu+r+u$%P9(X+C)s)Np=zeUI7)Ckaqx_gH`T&#&M2 zMnpw@y7}WFOM4r$LDeUjgub7pVq#(uQ4s}tAD9?;Utg(sP{_l^Jg@aG;~D2;d-KmW zSN=A1DDvw1Iipeh(29FszUn-Uh)&II6FoJJ<$z|ros8@oPY<6*X^1o8F+z=k_^+P22Yuj5H+o#9f=bwF?Rl-xdyF5f$0JQ!Vlxr)UGWt#}zp(G{ zaZlgVa~5ArF)GwFD$XeRSJTJvqe`6h!KtgSL)Hbfof172u&;!(rn{Q)LEHt=hQ;dV znFNHT-IIzw{eL+pPu|$#i;`+>*UbLtJuB4n^v>(+?_^~C*@yS6c{`0 z-0WlQ&c7Kpe7|65TF(Nq9aLthcT|PgrS{GHwD|sS;f-6i9Jzb8^~jQxN5VpkFTT1} zGwdqQJNxkQ@|l}6B!BbCAHR2RT5vk^iwnO(*}lH=T5M(dCdmMq&?e)?0)*E&cQST87eGTYzlo6<~^FVUL} zrF^%%w40#Rdbe=H_QzLlG6V%(Uh(lzF_$Jh?`#YR(7bu4qx<;Tqce^FHLBeAS-4=e zv22uS;tA{gRYkC1dIDCr!@_!F$vu^fhU%%^#fAtA}Zbbjt-A` zn}bB3tli7rw^|79{F%!a81-LW7a2Mg9;Om2nr}>Yb>0sP3XB+Dm-m&BZ2VJxbCBqX%O_Hpnjb#={nlRU$d>inF6}5|ZTpt>=fdA! zH|4$U^=CfR-CY^9F=yNJ>pAs*rsjvQd4AnAo_PbPk2J$@zUXKBqsMQ*Ub*^t=KT7z z{nFdgZ$5jGa9)44_`^3-?2li6V_h@Hl6$(Kj8xxhZ$_(aSx)!m<{CUHIDF}{amDk! z{gp3&dhxvYX~j@1ru%&NRQuH1*AE>!uv1~|Idy2Xa7#CZSUWlcyf9~gv7tikK^`~%mle)qHy}gjoX$vzJ1jr zcW3sWpEAXF>c8J-m$Z6!S?BhwE31#b@mzeSpSj6thEcj;`k&^4k}b<44_ocAe~_EA zX6^sbnfd#yXH8CL-n4h!5`V+GxL>NwZvOQPy>F+PtciA(UkA##N=p3`o4hJlt+`V% z;r>6n!xOeke{@><==_lq9&*z4QIpWO5ItzK^B+j$G#KhNFG z!MT4*vd2%IS(f#jOKZA6MtydBmK&-)_3*J{&+K_MgM)%9(|;TfSsBr`_5PVhzj`f> z)f-LU7;K+@PhI}r_tHGQb2a~;ihNFXXRrRefBo@03yv?~ug|!@$#Ake|FfhgqINSr zS&FeSC%5hSy#CZ2!-us&K|!0}*r$F|lDbmK*#H`5$hwqc7N*g>dv>=J$+}{Hq41cC+$)CS@)cr%&Fr zv}T4uk;A%gdnF3%XHHIMnz!OtS#ja9vqxw4^zf+p{O@ur&Hj}2cl!I?|0i9w58fP= zT2-3M4jMh3!_AX;bJp3LO{eB>f1mVyp7WlFrAgD?>Yel3VPQQ}{(gsd!qc|gGyiku z++*1O#27>)Iu9l+s4(<*<9&71{ql3eCI03zZ{Eu7^f`a% zU8LN5%aR`B=S)A7UP&;#x>C^?wC`xd&&y$L-(D_b11~vN`ZPmhMa>~qHC5r#w^h?} zw{0`KS@-eW$xEfbZ|r%^@{!ZLUh~DQey`L$5;ylthD{S|iQRQ>k!bxRc@fV~XH8B` z(eT-C{wi=^NZJO0vX@rf^?$k_r|TCPtM>l+`R0R0NW;C@SD$KJ^V9VI^`5o%Hz-Z1 z4$HS}iBC|`^W)>Ge;#^{#bra`@xmTAVg3CPlP1>APRz~iyqNK5d3@idx8Ennbk*-_ zoV-}p_f^<}^69%GA|%eF`pJEinq5BcLCbwtnK!vFFYU65jS5|!JHPVCQFZ1I|E`!a z)R_MC)td6{Owrx4ZP#u@L>s+W+ZGWW`OIp?ojUuoyf!5rtv9% zr^y~UcJ%SPXNPVqd>`=nsMfR35j*R&PhZb{cIs-zoVlMqyZxTF=ki)+hSlc(4sE(R zdq;^XSGjq3J!oXF?%kuMr}vn?U~c>N^4o!jr{e22Gi6I>w|#&8?|_v}$rqEo_cNxa zM(>T%|8)1%{2e7vSM9tz@00cUFO~N{e_g|QCThcz#?*DU|4849lM7iNrFs4R?8VFf zys*u&;a=9i{8@MCjNKKi=D|TbXHGga|978&w7CD|s;w_BY~tKpFQ%jT=aQ(5%o|C| z4eGt|D`&1wPDx2I`2RaJ=g-sfb+P?N@1AYl(ZcfibE4qHEj7su(c$OJ*~`A?&E8$X z+Ua?+#Wm*H0ef``%MIeP(WZNx$iteA2-@S+6Ig*}0>$9Uhn*CZ*e-%`ol5Xn8w zDEna0Ewk(cQ#Lw-x~|{k>aC7-vChA{Q~tQ0VfsTOrY5Jt4cix2KHk;y;=kCoZDtH# zBuu7>^~OK!-`oDtzP@qGmlCNfm7w;OIsfK=UrryD`SD!k_5RtDb0hvPOkTbsY-`dq z#hd!J@to1o(xAzq+ozSU=f2r?p?kWm7a9|;=w&@olmQsnX|v;;NJUx{HvEjhD>a{MMCTzev`90*3qAyax-kF(@dR2 z7r(x_oXID5?Y(g;;$zX)Nq0KD)&3OmgiRAWa!l2*;19ow+R}ivoAj@RO_Q;ZIx^$@ zwalXV<-Fk9+3tZ2YzLRM4Us z*3X;tKR^63U*pX?m$|Q&-rRe=U$%b!(x_DVxV6y}-(P!^c=SBG#*=CDt*&|%eydT@ zHkUhc?O2zb?7J_Qr0rj)XN7!SS|u9)O~&s0A^Cp`u5qibjJw(X*S*=p%Wr9oCO_Ac z?e*&WlfT^yWovHKe4pNyI=f8fd}-`^`=U8fSKqbN8*VK8B5Tcz^2ees0Es(lRAQ z!_KIyt1m3CcK>8)wc+^%L$&i!4vWLH0#+=LW^nhfpLg`^Qig1?^M?-Jo7ca*{%HH< zXPdJBCMgupJ0tmdfBKaJaaUIUWHQ`XI3usr^6uB~jQf84Vpr>v@@O?uwRl=SZ)33i z@+JO;pc=xxy86_#PY3rdcwM{x<%y5RHTz$s-?Cm#ey|+# zndiJ;ZtmumouIDbrx}ht_3Q23{pUShdr-dU#S6`8=jOTvo=`8ckL28+i)@X#hqoE zm+fTSo=jcsGskfLj}{lZp9M22_eXM1`*d`Q;hvbip!vX;m%i7|TOZQLw{{i-Xg0{u z{L#h@C-#}$UV1vvCfx3|Nj<08wQC|Jr4Ng)m^R4Vj<~WlBQEQfsD8iGmh6iid9u+n zPnQ?!IXDz#Of!n*vPeu!R4~+h89%jhJ9nbs8~dUr{Fv#Y&M71moN;#tSM$C4Q*U}rK7Ky? z=C``Q{{tT9SmPhM)fkC-ReyTgvMwSj%HU=9*+2X4+utsnb#48T6?JDh_RBbbPwY0F z<>OPiUsiR`-Hlr|B%EF++!E8HW_$R=thMbMHyC_4+Olqkm9>yeS#P<0%(;V)#W%4` zEnPJ|?Ni5fh8MHddFS~p=I14T9xdU?lQwSOet7W)>ps43BKlS7FS7sD^hp?`NN##P z#Xf#oCEIPY+yh4>KXdl?7_m=fc$G)eUorlE zNT>c;-;nSIPX8gOz{Ca89&Pi_~e)EQ} zbNhVv6z>-)vw6O!pQp|~{r=fnONRHcAD(<$q@}63a>?@a5BGk&EXle&MXdLg-IsZ9 zeiYlU%*@=9@yBc3`^QISa)0>xZBhPrzsPOVb)P1$dtEQC6}}+AG5nTUwnyOkLkuQs zf}4NdUvKoiuV%uRFFe!M-aB$5vG$DfL)&hVL-)?Tn|M36)kt-d?xUh|{ey?zLhixVg2KyZH95>u0BgtXaFc{_KlhEhhUw*mS*M;~F@4pqM?nYbCw^88ERovK@XPe{ zrM0oTHe8|#I!aOvXRZA=R6g%q!+Y%1qyrN)7_#;T2zh&Vv&$Vnyw@SEAmG6{uKljI zM$U5K>BplJ-K3^3&YLi8+C<43o`1jQC8ycCN!~y7tX{mRSjj-8Ys!@`$D`uaCU?Hx zSh&MV+#sKuk9T>}%}M=Ry6V5omW|r<{et1F(wFYD(|BK8+{xQ|_wKvh^-)n)+|$>k zUBA!X37Xcva;D(;t9i**cegfudRy${wXbtFcS~H)g2=;jo~!Zfl{naG{I6zvQFG<& ziz!QLW=`6*;sDuq0T%>~C$u_4w?0srzr+{uY`%X>*Q${mxR~ zvTfVW{4G;eKgT8@C3kYWcHOS8HC)I2e{W8?>SiZ%Z~C^gQZwRzAKs-~l6P4oTKaX& z+}BfXc5`s;JaK8~fS!Hy!&Two!u`eCg&McRP=1Zn_K#}^+7uqKAf%*zRP9Wy@jB@M23l=RNYCL zkbAqWwy!Q`oHQx_*}B{twI{o41>@)XiNE%|H;~}j^C6~k%^IDLdar)2Keb0!&#uvT|G$HKGUcB{_&J)V zCne>-;C2BWr{?1F#4s@6XHQY_$>WDs-i_G$)4=-sywuz8ms=F*%y^&v#e|>x-JMld zU$atpqrAlQkK9`8ZY145)pcF}^vfPMZ{PM&oBVS|AKx|~`P+u4>->Jcm5*BYGH}|v zf8s_)JrcccYu3EmlR9Zq{-YNe|2>{oh?J%OEua7Sdt-gXzWOp@*=pYOpW*W#6wi0H zTUPte^mpH!2b1~RgLXPa23@|i;^La@zP(rScFP{PyKXYi;*a~Br}nA|FJ}LKPE6}x z^tEeY6_p~7qDp+WJ=f9I)qL~L4YY#fwtnnBu7>ID)_1M9E^}UeEOMT_aV6jRsrrX! z%SNYhcKQEiFM1ZEuvxvn_te*)mEvDhKIhke_utw*Z)@9P z@5laIY<4%-`hU`;HLX4}rW4vqvmYenyHDTu-hPAclZyAf|KHgrCnhS`9-gtf*4CCQ zb@zR@#hu#Wi$7`wX@sXv(S3Qit2BCZPW9SKWzf2st1n(#SXpfNw0vz!N`1-`s}1K? z`ZSbAmjzr|Y+xFnin^zHV2=Q2zJ z753XYSD7W94gaedbD{I~#!i;j*rT_NH@C+}xR^Zkt_)gO^330mKRhRQO+oQV_5+&# zITVaDI(xeQ+Q+&JerJk^j-E85eo9kotLwC6G2KU#ezVnTFX`^}{&oM_=BcWD-^%WE zberdY)(PsEuwf1N$0O=0&tA#A-W$_m+B$Eict%o?ky&|b30pJcV`rfN`TBf)zq!08gd%>;!ZCpth+g6?cch8IxDg&bnT4QM(5^mAKG5=P2qlm0jT{ZDJi)oV*Av-+_($`_5#-%mCfcN#a2N%}cr~Ul-?XxF; z?cIgK_2L=#>+O`6uS@+jefCZ%+5X9~Sc;!G_I9_SRBz0ll9^wl%O)i5sqbG6T3og7@Nv%lC9V6v z{XhJ4MfS6YtMphuO`bIA)WOBeEyN`bU40?pC8mFD9nx++e9!m12q?&~_{}E|DqY?Ee;Q`IG4T@7_qxnB^Rv;fx%|)W22SSS<7Hn^ zz5Lo7OYtLTetLIw>^anD|NZmbe(5u-d!C0~+4}m=x8rfUY!yOw&3`wyKI(JP*XNb> zhtB96e7HDjTbl6c>v`usTBa}mbEV>;rI=3S(W@^cdfb%b_2ZA9of1;~yP#OJAw99& z?Ef!zwaJ|;vM>6~|8Bc&n^}s@g6naf^OIOuS|7+)H17DpV)wtwQe0UtdCzN8J=QrE zWtaLpPH4}uk)BYzJEQrkV>)OpLA|GoW5{2vi-sG0W^V47uz{m*?x*x$d){YU+@ZHl zkF_Y4-~Qj0-iwo;Ke=&vi|gZEA_YZBM_MFV+S`gh zFS!u=0Cs}{EI{;BG}RZlA3NEdSMu}@Sx+Ff;FQ=#qWZ}q{?&h6)$FlCOA5dg5NG&1JXk=kWF{3Hj(0q8C49a^1t5 z&;C}6)b2{t>)2Gi-~M+$+rv5c=Y?lYIe52T_q*+kU0YXs-dLKkXx-7|os~iHpH?&yMSdtUIv$aogvwpSIR~dYZInugwgL zDg|Y`S&b)CP8Gf=IC0c_&HX>p;p<{SgY@TeXU}}zzb0s-jA>j&U*lr+;2V1t9^ZR? ze8s`N694N@#>^^v>He@O@5|eZoRd!;nVNmQSa!yi+-nU#T3n{B`8D&Wci6+g6Lb02 z8jCwsZvA(9$&zK89{j!v>gqVL-d*we(&r^hmOV z+Y8j%ihXZdccp%(6mxZ{>H1|d!qV;W2UwHxzq+iA*d|h}R^OlW?$OjWe=@b-<*nm+ zdAYYtSIRahI`Z%5GOa0^CySqY|6je$EcH!-)wjBS&CUDMUa>p>3zfWG{`c(6V#huI zqCU&C$DaT3qjuSuNSEK++mjMA9XGR;N_;32Uw1s^Tw#WR1ZW<4a=L!X=|20y^5WEp z`|sA=-_`u$^~PtGqVMak?(_}*bB_IT@d=BZoHd!3w=gnS?K?Mh_q&VIvQY+!ziL1h zM_pa@#KLCZhTYQM&-{{K&2ioG-js*E+FI(`%7ZH$_sXr5bJB}@6!Uo%r6UJn{{+0!ld@N}kp%Fj1H%~Stv$TOCW-d}b9;jiU?&nM^Re!VdD1!Rc- z$$jG)a^IiS6~$Nc%PcQDyUPDh=?ou(ggZrln)Qq`k7Qq28~1DFp7=V(gM04ftL$GF z=Q7cW^=iZXLc@)PC2wr!#J=8NADa5-IFo+M$GfL^P3o4a@xIzqa{s5x|LMo-t@ypY zxz&1P7D$7qKt8clMs1p&-dYuMYQNFX(`RFLiuGqRvL8}fFDxb3yLmEm=qb_Kto1u< zW(w_z*vaG_o}cpN!M!Y&^9GYo9y#H;S#Ia|g@5v=eEOPptKIqk=Et$Sil)le*S|}C zdg$e<8gP$s;&G4SkW>4UQZqe|OqKZdPuSy4uS!2iMETaCayE3}-!`S?lUzkO>L-mi4O+dtpu zU!%Cj)5pD2r!LiUej@px+-}Au)!P5{{>2}_V>}-B0=|7pxp*OeqI<}?DeJWypGXGn zE8z@n0@q(B>K&*u@l)v{DJi*%W#aNFCsUH%FHHVZzp1+a-e<_r|9?Z)sh>iOX3G8f zbMy0biN7bUqQ3r`B$i))uzGU1ut3ezg-@k=-KzNi&k#;O_w>h~S-tx&Z7Gib{8+aB z-SV>4?^;@1ZN8Syn>X*^ZRcZ#|9^+>tULQWUVr)X3x)k5&*r$Eu3Q(lJI6j$YRmIm zUvJ2qw)}9Ovwq&{>w4#zm;YM-HRbWQyOl+6&OfX3zAe{mDCPVA=f++)<@mbIP37*s zbuadvG|xB6yyo<3%R9fV;k!Sa`_Rv^N1!Y`QmyXRuE}Nj{7;V_o11xSr~dtQKVCMb zzWet(VcWM)_uMaUep~*sNCY(dadNYGYNj`{n}6c>`|Mv2YAGqzD=8^`ni08@>q+LO zqQ{PPzkl;M-^)9~J+LV_n`U4UBn^T%(WI!>*K2S1+Dw`|80M* zPW0wZEz#34A}+Hax<7e3UP@lTNNTiKb&Ej{~`)i$Iat&w^2 z*2CLB{r~?&>}$nekYUci0AvB?%HWl|M~Cq;4}TQvTruq$jb_! zzU_Q0@Nw%Y9odWW*{`kR`|nzBO}nz>X3m-bwsLcEQv+x|adBK~6I%BEv$~1RuSQ!f zUbY_z3EZEaZ(iI{%_t-k{Nmreq@;Y6hw?I>Tc6hy)x;uZKnx{{#J^3^eR{ZMB6HE! z_w`3RPS3Fs{@`-$_xao98>`PN#;pl54FAm@$MN{_%lM019CP*DW2=`K#m<>qP*`SU zzfW-bfm6JHs3PI4ft(u+Yec}8F6cCj>}cArxxNB4;TLa zzp0vk^}czIM>j2H_)&7F;MLaJ*>89MTjso4?MD5r2;<^Izn@(f`K)tjS^WP87dBqz z=h4#D)&2PO+phPY=htkU!IkP|RC#7W&iSh=KQb+?>E8Hh`C6X0mwkD`C$>X6Z!O+F zUTUvyebu?0lbicN=gq$h*Y#qz_n+PECosQYa?`q>D?*NSPy9POF*Vci#?se1Q6JU+ zIZjl$U+=Tnr}NO4>cw(Ty(<~0H_0*6a>?iEi*tVeRhhmh@4=G{_sP3NU))`)Cnm;L zJae-9o@3AEs#`oP7p!Nmj^4Fpo!|7ZtC_dcP*l; z!t>%SOD9CvCFQHwZrEq`|C_p8>)n+h>!wuR&iwC?rXO+2b3X$Q8?)cfPl>6O>29ru zkNaQFeo@i)CZc(5uW8{&&KiTa+ybRu^)>oO;omSN6F)aVc)i?j!^IKmdK0Pg7P~U&9B=86Rt^BF_a$lZt_&T@8Z>G#QzqS3z+&o!^h`k@hL8C`YwF7tT-g#-KZ}8`0 zasAk5YaQhcw)mUhx_7zzkr>P-TW$4`{}RR;xAL=_qO+@AN=z1O3g;DV)6A4(!8|HgM)q)-xo}J z{3tVMy_js2S>m-O)t2~OP0h`=%Ix2keAG5AF74^*;dxfSzpHoupL1JZZ``qar@-|3 z2?=#}I!cqK3khwpnl!t1XS_2T z_1LC1jvu=v)!@HB=1gO~-==@NEhD0$(pEMvl572$_Kn4By2iOVuBVIFEZ==QqRNf! zoZrv0imA_jUv7LpU;FsR%l}F;u0GjUI@f-Fa$oAb^>^>->L^XRTg~_B^s3hHcb6kg zZ=A1Q+Eov(-fXmKHNQbhxEkH8+cY*l^eXXpYjKvZN|i z{+m3nlBVU~5E?cp6iQuJc>v^DSL6)om4&A(m$#A55JyPW@%lIkD7 zuufw78o%z`48^@0w{A`S$p6~1SKd(FeP2TvhP z;o6Y)QAg&@+n*J`!fPyY^>$y=XESUuZcH?DJM=?e%;x4#UVemS;Y{z3Qp zdeAPH5RKrb;JW9M)?bUgeu*r0oIAZ>%l73tn(}wJcRj1Hy=b_RNB+O$<9n~Cs~*@Z zzxd*j6`q?{eoRWe_u_)l@t->KOV9N5@YLPe(A&6o*Rx-?!s7D}%s5&6;`-v^X$Ivt zXZiZb8FzfFfB*IQi<6u8nEr6)leIm1Y3F5)SCKPVy~B(PkJU(BT|05L+}6+geoy=w zU1pG1@vOAPJudOXjm-W(a`9h3>z|otG3jJ7TVi^4_tveVsouXXEc&Po%2$Gwt&Pdc zf*!Y?GRcmZec!ys|NO$o8P^t=#l~g#-CcX(V_e|%MUnaVF>hgTX@6EFh2JM?+)HZ!}xT?kzrPyEl&VQbIYNqqyN3OP=I|ch&UB7Ae^RgXw zZm+(7_t-znLbiUHe6U{ zCToATeE%caKGplzhJ=&#QvYsLbFf!ezq-Ee+=6?t8@HeS!?QASE!W1vk1Q*1}+i>lE{35~s z<083d&p$mcKGL9gdP3~-KR-8}F}|@alUeQD4F8IhDV8f(BrM-|V4S{Nk&I))Y<0!@Ep3)#vQqJv||@+}!Jzh_a57P_yFZ zzY&p9k6tAFKVWHnJ?~eq(!0DKnH$2*2OHLJ7hlZ&J?)44e8a2+{m&nMm7SITRP=Qf z185RttCpyxw15k{QS+&FZ=+}2zP7)xT>5tPi->7E72oeMm*LnsW7gx>#?LKv-LHB* zEz%J-az5sJ`gy(J{0S%i9X<|P*7)+}%P&=nZ5h(fu@>1`Oj*X8wK?P2@t8d&GyV5P z_{7vKs??}REH}RsGv^~WM;LTbI(UVL+uo3?;?tS>=J0ney4=8eWqstdyti2o16MF4 z3SMN$xmVeA*4jTM*C1>fOPdR0!0XmY5m9y(4=eb;*E7vL=-6m|*r>ZIrOjsDxtX`~ zmMtl?e8rZTIaAxHT=vgb+v8`ddW_0>Z|gmI=91tcqPgb{pH*Ed|h{d~rh8ewyBj=d6&o7*hU`$|+9 zHVLQy`I+~W?X%h9lc4=T@>ROU`(sabZf0z0bDtF+>*wkF@JD9-v^BR*v>*O`X%;{~|U4xkly0*NFFP`xB-F<0KpzIuO3)`TX_VsISJ3Tk^-MDq* zxzNA2fRYT=?KUMLSl>`~8JgQ%@zD%;MnP zpTej0UM{G1cde@G{TiM5-rvf$)vKtfrr(}7X;#*Fha`(@FbYNq`zWEm~+vw~lUS0p{ z%Ib-x8JdxM1hTiwoy@Tb6WeJQ=ck;SpKma5JnypnOv^mttQ_Pcx!@~(Tf zU97mj@RZx+&Wp{}pMPbamEZYqS9z9idsy%09BJf+di+4X1wJfb!}~9^IqB5U;F+aFq`;zulcNhSJT^DTN}UdJWl=@ z^GPSDLpyx&$rC3|d}43#p1%Ik(?E^W`!qFI_RRgonqQtdJJs*>9nhq{=<98>e8#pyURe=83_ssGIEC=oP74wC828T-8%M`Uu||x zznHPep{}~^OU{v5>wg9BSRi~oS(uY+ch~mxH2(b?Ix5`Fz zeKxb;^yK;%_t)C#hg5wqDAd;WmU;7bhoE@=y=Re21QZjeZ+as>f5ME_#cRG7nTnmC z>EdWEUiY{5{o1!;626hn6O`4@U)q&f8@D2cQCr(vNXU5o>u*kKJ0HG%dhnufdU4IU zpzP>0~F6!Gv;q;Xu`%KoxtxbQ&I%~$1p0lxgy?EJ}kF~2Tu)7yG z$4YvF>V_}Y@;wI=4D{c9u8&_GwpEF<)ANme(Q@_jpijPi^S_E>!zhfZTr5yYTmJ6|J`TGb{5xPoxJR+MtNQ#{}IMb z6IUuo-+cb(pF{tmgp6yRzxTxJ#~-y_S3LjqzV*yCJCB*Ji$8zv*4}6BTL05(zg>Gj zZ~O0rJ@0D1NbmjePHFGoqxz>Trs`WqOPj8EzgBVkmdShft}T=6xO}Ak{MCB<=ymM# z<}bZ&w@yax&f?%;&r9EG4XgguziqAhwpLz5a`wOWd+lr2Zq0jN->mZT=XUW|Ur%~} zeYCsV4s1zxmbUN_<>f1M_P?b|30f)6_WNo#;OK z%cbAlUqSfutG}kx?i#Gvm-Og-?CAsh?v^}>=$W?mmcrtTE0$a-`TOOyRj5SvyZXYd zWtYox?+Y(`az*&orsVmT{L{2n)IDXgoA+*=mZs*_b${DSbkrOrmv6diVG(eg+2U8l(0W&Q7cQK3S-5xyGN2DPimGYkBS}eksHtKKZ#zO~l>M!o3W>m4sFY`t5YabP0Z@6L4&0 zj%2T!@BIA{M^%?Tdw%%##v;7ua8Rhzr00QvdeznqCI`LA%zj_5sLx;i^?h+(-HrA8>i;?h7IIdlJ*xHc z@eBU*QABn5ycOGgRu+l=d~!wD%g5{L9{K67>+RQG_}qUd-|pYOK<5$*rKrjK=B>Ta zqLRyVcdcfz*o%J`51&0gWy%yS)xS^P>+!KLFfcIeDB}71uf1r?_R!C6rJ}`umUMNU zzG891UHI6SDbHu_RI&ec-Q#RT{RY>IAJwN!nYFa7vGmINYVVmoLC?SOetq*JdP~Mr zJK0{(;K>Q`TXQ4h9}1onKl{7fQf}YwBF8Db)=FEG>(|)C$X;DtZ2Yt0`abr{wdExj zKVAv8nmJS7+WK`?_0*;5PqJ>$%kaGP@rsVD|5>B=t6x73OTKBoEr0FbcBM1%3@E`QP6zxVp<_w_3qljSDH%jWy;sh{GbHrX#F?W&c5 zWL;4|;Pg-pk!JPMUD<&kO0^IUn}yx_4vUt%o1$?C#C_{It62 z`{m4C#eX&z6_o_+mz(?b(&WebtL20y1(oWk#knosc(mikE_qa+o`MRHL=l!^Dt);CWzWiIRN$n@;XK_bPU(dO+Wv9K@q<6J% zQj2#sGL~-r)UJ7Tnq}pw7}>s_X={6XXPM?LSZ`kwI@fyJ+M;)B&fmNAM6-Bn#?Ppo z7S^x+1s*9`TgOPNpkhM z`;?L|f4#=NeRcZsW!Inn?ds^d9NWKVg(>&)mFx0lN^b5_^Z1%Mr$9Mio#J)xZ=d`f`@Lc&Zr}gIRo&?G)2Hv2JkE^t^08CpH&@@9 z9a#T=SM7P-*``6qx2-iPe`vJ#&lMKArh0?PCzpudpH*{nFMnaKm+i!brL(uct`D|f zWCSw!f&USisXLU+u3hu8oVfNvt>LMYwrkJ5m43B2+%2}K_1)`(()xDmQdgV5IX>1-|LAM70+eZilP@&3Ocvj?P7r}@p(TZb;>KQP*wacP1V!#~F;vs@Qdkkoe40Sr%zwHxyIBxb7<*mY^aMp zs;VL!261SNYv#+DUEUsH34eEm95X$VU^LSwr1`0c$h@$iqFtLdeO|!>Hm70rfzy|L z8^69jb@XQEsU2+s2#>baff5%30|PccBfGAiOg~GnIWT_kPtJC}QWVIjx`#{UX`+P`!jMJuD zttQHA_OuCvLRiw_p%7AW}15&OCMUZ1Cx4y(@aMS&BoV0>aAV6d{pxVE%#q zd9urH?LLO&am*M-_ARDo>lvsJ!{6BdeFH5f0IelJNkT_dXZonYQdhlIlUGP~@{2s% z4^OmbS$%icVg}`ZP$2-8`To!OR=tMP)2C0N!O8Hi#4P0CS5;$e_uBUr0p{P|ERw#x z{n{S+>Dt=X?rWn>u2!$NSzGn5ZqkyD7Z$ZUd8j~&dRD6JI%M$`p@`Nv*)UUfkXA-z8Ck7#|35m^4ywt?}$tW+tttE z>(|MO)<>*gx2gD3$@^se?91P5v+gZfXjPuE8f4Uw)9*F(_dD$VCV$C%v$%%&euvs! z_f_ic*TguJ94+rtNU6j+uJo+2i25U zHZ)fKT**0UiTM3L5z@}(uLE4R_@$+JPLg81dVRLOot}8Qy4Yh#so}6zAS7=2nl)># zEb?^r42s=vHEGGCM?#)KF;0_IR{r)iKXK}mg6FHdZ{7ZGOI@BM+;=@9EhcG`O6J8+ zrcqn!Yka5HZrf(|s_ruHr*B^ZTuSETN&cL`_U-Mu&Sdvl)#;F&z+kGl;t#ulgx28` zo99aV8qNLr>r<8WJlpq;hKEfT_;1(xJ ztdn>2pFDhasuvP<4!tuLf0AEOSg=4P^K)PQ-c>7BOi*ck$2VEUG%H}|`BSStT|9B> zoay}Q1}pZdX#T6%

EVdOPgwm2IKMtk?M`?A<%J$8E9A-Me2-8S`h~T_nl%;d5YG zSYO{!m4KHJD|V<jrYoSd!38ZWPh9dS|~0OazFlJVdtkW1=sKB-@m#omi^18 z+w(P+qz2!-eN)p`Irv-IwyaAA6TH~LmL5>OxcHO&iOY9=xtI9{^`A4>FxGZIJ~{ZR z;*zDyYX7uV+MP_?{w?%)+1k|P+@+UYj}{e`Oz7WUzkFHUmtA=rnG1g`5y`!`G5nlg zpHzvr|4bh>OG~R2p_`9ciOpUx_xItedkURve|D!kDmmo1;;K?R@+9=xR#W{o0 z_m}2D3-=$w6ZXbLzX*iXFZfFzQ2wVv{Q@ZuiKw)02Cz;O-DTVZtp*R+%hfwBZ3Q_V zD)K}4g5w)d{R$3K21Gqc$RFfZll5d)zH!UBxcpb&pZhp8D5~t@zU%k?JH4;9YxaU< zmjn0N9G{lH3UJwCZ<#scd>BcX=BJ%!!oy8Y5>Q@$d{P=lz zAE-H;dvjy>=Y4hY-p}h6cC4^C8~?@o>{B9bdhKKRkva%BI#t9Q$JE`c-@zVX=mx&CFzOdqw}+qDkyXMV&@zF!kqeNE@W9Q}Kt9;cVx zNdO0U!)qSLr==Q(nxU1ftXY>gt(226j*(oxX=_#T3YC`+CMG{iyf5uso_+dU?XOqO z;i3oXBnbduTFSBhwf2e(Rb7}J@F0K*_ zBe&kB*QXNDe;!Gbw+WuCr# zw`}*j9ihh0^rv0Sxb(0iV{7hRpGoywa<01Z?pr#2kFD*Q=V{NMoIH7P;jN-xx5Y|} z9)Epsw|qwPv1G%Ko3?KcZa%=^dQ?qA$;vO;o!4~!;QQvFTAk|@(`o$Tyv+1{?H%XiQIQ?uvn?|!+}cb>g}uDo)Sd)n==vuA!QFM0&( zE9S<3oV!hD{_6Sr{)Xt=d~2{d_vONtty?cnuYbRPk^4LOrRnki9iq$LJZ6K2UOOoC z9=fk;YmA%sPRcfC!85&>b<292&g_-$?&^B_rexjsC(mT7Ln?N8IJ19Sx$O=pY2VU_ z_*S;hA5!+uiu3S3K*Lp0R!Jw>!#Jj~A~m{oK+1mR{Bq6W;~i+!kuQ_rne5s^UxLr%vk!^q-S8`F{HQnS<$<-43pL9qrD1%qL`Z zTCeH%)8$v!l@{AtK9t*QTG`d*?R9lc;0C!}`7J6h4?Ohnox3?;W~Ak(F9nw${M);F zj~&FF>*PTPDlL-IQ7%cJv8z1O-xVxg&+v!yMBF-Ep1+VlC$}CUvl?Lnwf~{rB<@e2 zN`j-R)I=dAX2H~@OVdxCzTDdd>RCkvB>dggUD=Zj zJ_l9fb=Q` zhJvL=o4G;S6+Blxe(9vj!0=BX3=wQ#<3M&2HVvthR1fV3Q?-6icNS$}_?Kg8X*tU> z`UB7-^sdVb}>C3NXU(--kbv<|P+^btlyPcezR@s&vJk;vt=Vw+g zDNg)BAKzMcnC_?^gM%`2M(rLS31~#)cYG{KMY%% z{^ZqF_4WYCbeTS{i>u}TuCbha{Pg9!Gr1TUVuV3yyI!*SphEid;{7^v|Nh^z$7br( zsVf(3*kH88qQv9(_xINyI5t0d{8+h~oqgwy9Uhaqy1PT;;`G?r*>Bzmsgt(;egE~r zOR1-yyneix@$oTDRaMvQYwM;?pFX|*)z#JEZ$JM1^)0lSjaS8U+qP|2<$?nO7N~kp zUlqPSF6+vMh2P%ZUOvD6U!<^nT|`+~nazwJw&rEzzdpn( zumADGYM$P!t2=kjk$Jl^fZ>2?^8z7;57R$>_;8`+<753>b{Q8GzP`MCTqfq&(PLW1 z#=&ZnJttjRo$mkj)y?2ZTauo7xw^PyIQ;*2_1nHZ(^Tu#)wRvd!@u7v?q9QZ?bC-3 z7w-5`AJ`1<<#b>6qPy(j(p_I7o0U|?5QSI}&;+zNw_ z+k*lVuUxwum?iUOb#8T1iFg0BXSKy*?WaziT5$gUp6G97rvD{gzkR6`pCA6SYWJzj zcRl;}f14Y0Y4iFW>{;~->Yr9}*WXn3l(KwrENXtXfkesav*yLgg^`iPNE`RQwWd*@X?n<;hv z?3puH=IkuKx;NU~RnB_ZoH;VK-(D<^+Mn1Q6ciK^5uu^3uD&(Mae z-`|gamzOtb2{Sw23x|jqpFVwh^77?MyV_qG78)zOX1Xm73|{URdVZemYM$rwzP{c5 z>e9~5TwL6u0s;!z+1a1>J$R7tw*Kz!@BCNuv$C?LW*bWIaB*=3MOFQpFBTFO5~880 z>6w?8w_ke6Kf(L@cUQ{S-(CEPYq1pDwTsf{c_#O7Uv0FR`^(9mt+&cG0{Om~?W#>+ z@0Gq8%hoJXX5#t2?&oST-^w#F=QjV3T~K#7DkI|mx2TPZF~^fGPn|PwZL|AiljoD` zIaj@Yye$7&?v?z7?xBHsA&(Q{Yd`&xxOpoo`)FH1?e>&*zf|#6fdR6%rtieI=7|No z{o3ZP_WJbA*Hb6V(d0K*x2-AH=Y4TCs=a^di*C!;qV+b;rF&w&-ne1+s`Tj$x~sPKc9qN0RMGlf3ri=&)ubeBb++A}e}CPZIWoL* zCMWj1eSC7V>A!>QPoF+rDyki>b>Mz{;KhrlPMnx9ckbN0ch~)UrOl^>+)OU~{q3!l zgxtDEj~;2+E>T^%VM9Rn^>v|-K0e;Gabw`?YiqAAFVC0cVOtxqGpKaW-qIf@1gB1$ z_G+WM{Mv1O-(gkJ)^dN?U38K{k*F4DQ;7~ZxdDKp3+=n zxT5CoW7VRP4VSh3`Ru~=FJE7ADC5fM{(EYkULJN!=ZC$&9G-tyyZPa#d6!pSUY7Y` zfg=|W&yRtWq-PDU2A#<%tO-fD(?A*00?$f-O z)4BHR7evgj-|c7p?dU0$lNS$$$vQWk{jGm>*{M_7t8&k~FACQGd2_;~d27q}M=gA3 zZgx?BziddM=ghXR`Rf-jhJV z>Fs+l{oCH^@2i$9af#hkGI8?c$=BAzu4Yb5EGjGv{9FI)>(mJo7EIL+_nO4l)}H;h zjTdD8Vz=HYlP51uJw0vZjvYH*na65tZ_T?K)y^kxmhbKFAMWVbILkDD-Jd@-J9q60 zvpjzFs4FWgtLeV?@!@MOe33NXl6hGT)K94PsjJ%;qqq5v{h<`2%!h|sqyAj>|5f(w z&8c1ggj1f2Wz|1xTKns~@nMt4&Fm(Rw)K4~D4wL^J8N51>Qm8KzwSls{q;mZH(q?% z{P6dyOK)nM%U-&B*!p$*dbz;AyXO7+c-@xkuJ~f}`LgR~%J*J=p*S}sJ9}-%3=`kK zd6VZ!m3Ke$ky{_;`}*bI_2D7WX@#CM<7RJhc^l38>URI}*Jq!%t**~>-hb+?ynf(u zvxC3NE;UOTZ<&1W*B|ktYV)S39F;wPVR!u63v;)ZUD)HV_Tnbz-_=ugXB>@_?eVz8 z{$Fb4%J;pYj)@!7bnlcM{kkjlbr`6U@wfZfa%+43deiLdv%a^=+N@}P_z+a#`%2jV zTl6zHe0`*{b#?V!`?588@^zIXlpy6To)r8$d0 zsrFs-$5YxXa@-{&f1c9T2=n+{HT`Sdq|2LBL;0H5o_tW3yR|ZW3Rkz+*~W9zVgseF zJiqgMwn^?*zxjF>>+NHg)wT<*-%)q^)Tu2cH;q_X*q6t=<}Ep8U-IV0&fvxFy_Y8Y+bD{sr{~@dtDNsY-)`;N z+uJf_q4KfkTJ)UPMqp1#CCZB5{>lQFfwj>XRUc#t{k;*I@T(Ysw{ zuUct)-Oa^k)}~_r*Y)v!SN6-vFZpTz{=%zz-*%JiOU<*szhue1ExmSw^6~7eX39yI zMCMOf`E$PAlK1;(tmwF5vi4??i>;OE)!+L46DBX7TQ}?1j(To6fo@^@>}G5_wP*jLLo0rImt}m) zPTrF9Ecnx>`httwxwn66=45!F@7nLha3EgI+B#a^e_qbNU(5XFURfQ!Uh8?7gaMem~~5Yp#urjmf`*?5U}tKh1Y^^4sU!+n)T~ueGgBOW8R1+_`gIeSOpR z?%k`_Bd@Qnt{xf^5~8_!#g2&T?{6pXo;^G7&5b};SJ$qdo+eN)ZE-$_V(UdS?e+lTid%f^-m%d6%}u7E?>WC^X8{7 zU#{#p;juO6qSH1rGcA4n{TcH-t*v)UF`sbUes|fVOF?sO3Y}(e&zZ=>_Vwl6--{lf zI(<4dIXCuo(f<`aJv>X7EuC4v->&AzhFNC0RafJeuh`+k*8C*=xG!U!9M^}>6I4>u zL^H}G_Wb*P)aB>zU8@rlWbc-{i?6*QuugD$>6*}+zS2Kd1>Y|Io_F<_vy}Ow**lM4 zyLlZ{$2#ZbEzgtHu9mSg*fe|Enw#tQ{88Gu(<)4}`1ZUEORF2NHvay7>QusnbM;?> ze&t5D$h^rl{W$NQk;IY%4Ek@ar>qc_=6m^)J^$LKt?XA82M2$Cq+eHhXVsM5NzOaw zNnQ8XogKnvs+{+F#ZLR&{g0}0FE8u;b6#i5m0h9Qxi>etwzjqwm6cs@3sWDf+uF zZ7RyWExh*pzvAh$Og@C(waUA->Gh1ZJ9qqAmwT&t>YbaqcYl(w@s`^7o}YJqzk3m- zYOs2RftK3GC3f?+xxI~Mo%KGlG%xGE$GdfWw|3Y%fkGpe{n3+m&sIzj`+D~Hp09u2 zp3>L3wrj0>{g+ej_L=vV^T(FxXDM5$xoz9F?bYSw{XA^VJKa-UTw3njy?gcLu~Ugp z-@SWxYj1l0rOTI}mMwc;wtZdf*}W0bTXI&uy{-MeI5Kjk%E_~5edXljK7IJG;;ZdW zvDUXcU#KzQH_7= zBb#TO-192k`Ts4|J#%MWz1(?bk5vEu3thYqch$R?Z_N(9x%vA}PUbHk_CM1w-|z7* z-ERFm`HN?5{=YhVH#+Oxqky`KdPasnOTitSncU)+H*ViwCH&|5$8TosQ-V^@ul?|$ zAT>30<(4g9a;g^2xpOK$g_()zjBVcRVg7zs0_IbI78-Una2s-Ca>h$(0Wew};mSZ`&B?=~?eN z^|7{=R#uG8i=2vw!OQ#B+b-R(-hFC)-|Qg&XD1Hc3;Vb4xtMvNN+0)X} z^3&(ftH14;Ge>5ok6P{Dv*yoo)h2tI-zjMRnVr4boB!F(o%Vimd45^9HheOzD$iW^ zb>Y;93nx3*KP?rVqc?T=?#+8_=7ik8AG}h%$fWpS*j?j2n|ID>kDI4FdF7|LJC`<3 zm6N~yebV~u)YJ=W_d0K>`kctSbLZS^?QSo&*@aejS5;e`zI{28|NdR?-~8%XzxT~J z9cB4v&7C-?pk-SL)|^;WZ(y~@kWx8~js zD}H`9c=a^ht4qDbckbMI_0_zX?p%9S+vu`w*Pc!I^k`dH@$6k8)$7)7=C+aKnY4HA z+L$?S&S%@3Y3b^&FTHKETWYV$&fQk8Qqtmj*UyfRSd)1_|JuCfkEhP+2SrA@u6^!p zTW#BWuKKT=qur)Wn}Tkgj42MNe_3hp2+fE$>g{z>J}CecXyZD zi|5VZT;iiPSw=>t@bLQZqsNbj zTW(vhz#&hZ=k~h3?bD}oonJGnPBA<@{PTyv&-!~f3EzWShLDxpRM(RlT(bs>i3*X zxpcVv`?VPh=hoS4tXRqOa?yoTDMmA$r#-5l^vRpw+jQoatJdFFRxaMP|9>1$+o_Xs z>l-d+Ou3k`N8^V5{r6`ze^*~?chh*A(#Lk^d#7cLp;YgwGkO#JWy3*bc|^`EroXmN zU%p$jFE)C`qC+cYaSKdp$qiXZ6oMYZt_2=KL z!)F=n{p(Yoio{*4Hkp}K$0uc)Q*rURM=tM+`|-KXPFu3C>z)1o&ibx>*_+Uv>h;IB z#m7YHMN7Z-HoZCP_7&AzpHu72=41w4H92`Ye|Gxp=c;k_pT3w{#fGdpe{V;0Y3-e_ zFVAejR=lj@3IA2d$Z$Y3xzCH?!2NSK>*Ec&ySmoB`181P>gVHI zGw((hFHCMCIu`&i7|*_0CIJBsAFA*i4x-XU&Zp5uXiCty!b< z^XD&6*R1sKpEJ&8wl+2)F)=#T*4C^)erq4NA3sk{&h%SE&b>W5y}Z4*mcNf{owI$0 zZ^QomLBYYRztq{xo3f<7p=!Uqdc2!k+fOTfuFyY!MSDM3c`z_=WPlbElshua3OQZ0 zK4km4*souL{a-fze!u?Xu65I%^}c%bRy;2}R^I$AS9h?jy}#)6DVi_O+-aF4GJi_u zyTr`&^u?E#d$0b(G;eNr@r#ty)Ct?CcPlNrtamGX{kr9g9$n5Zox88}PQ8d|xs#}9 z=;2RQb@RIV>=hqZiicG0o%;3J3eB-ZTM8sAM1b2`xAS6U;p&gT-{z%XV<^0c6s>nQqD&xVMtw}vwU$90#75`_<_~@Ig^_HZgT%TpCL`6l53JU`R0w$a~b=tK0 zTTZQY^|rKgvqDv6Hf-7y)GueN;(2>p?&QgnC(kmg&t3KBPtDnR#_p%5>0dt+xmlzt zt!_uz+gqNK>LNBcfCTsa{QULtB3IM6`MtfpQQLA>wzRNp&AWSR&)&Mfzdn8Wa^+O$ zYEWnG#0d{qH@8)PXMXzr?r!$H$?LXk33>VQ<*C!BgG)-bnC0G!S^E9b&*R(jF1txe zO5WO+++I{%T)#E-v{-0J$coI#YS+IM7bz+GXPe1~6-901ld)X)rN@T#N7ahH>D_r* z_XFmiiCFw&iBGG$+Uws-txcaiJ5|NA>bdUXlS^XRwZfVF{g`t-Z5eR`t_57gF*rV7JT|t^mkj` z-kjXr?7PRL%=6aRR@Z-9v0{bC(xpqS3LZ54j0q19H_f=2&iw!NJ!|dPg@Tiow7+|`v?usy)x)=~w>H{`ZS0i1 zwd3(8@wSuaEZ08Pj12uZb!uov!TxO^$?ad)TD`F@$?p-GWHfa`jo0Mm_3I}dObEE2 zr<;{?|LD=9r%s$%vu%3uWi{WBsHjz2UtiPwd_{BVvSnI!c5%M5O#&+`E1!Nl<1^Qy z(8;>&-I}YvPo6$~d7`rWl(}=)KKArHb^7$=_T9hb_o>&1AN;x}^!$0}V)6D>Yt}fO z%)EJP&*vFCegDLPI%DxC(+@9=@w>gJe!}k6i@Ul`msn`Iwku6eHJKT5{kn5>x%=uB zJA9(c+%sRl%P4+-;Z@)IcU8}H@2%Ug*wf3$a;bj$`tb9!XT_P!*JEIqcH}}ns4(Sy zdt2MkF!1NkpP#;b2`TjKtW^DQ>&10*>+!4+>F+nkE zZ&v+Op?>-Bz`%)8W;qoX4;kssGQa-r?(Wi0Pdr^++*Z~9|7Rq@)79S(8gcmZ=g$=d ziyJk2S%3bts(I3}lRfP=cbN0OfZG!UM8!mAJU=-_tNO?tyP6%>*2J#9S^Vt8(W9>0 z?^dm@bX@pmj*RGhP6;DpxLoO(2G-n>^A7q>@kt>SATh-{rPD^ z{^G{Hw_ki?ocj5brS+|sC)t0!Y}QiSLFwgvs3*7)jb{mz+Dro0!l{dq2Z`Ja37%m3WK+Is(9$)LXm1>x!JwO>wY_|Dts z#-DGiWG`QSw>~}G^2Y5~ldm6tad_qGttoFAe^%^#(b~?wqOjm;?fd(iw+8t=dGVBA zY~`LiD;#T`OT5pAf!aR{mKZwc2OWGVRBMqsRjbF%H2cN!&hKB=+0{SbUMwmwXxg%Ht+izR#sN_>gww0l}|H0rHm>zTw4>lSYBLr z(%iXoo0^)kOz$?SlzwlS+?f0FZ#Lw$17 z*Y<9;YBRa;AdHMJ6j(lIc*J-=`pQ%=DEU#~V{99_Fwe;9y z{ay1E=Y|ACthuhPADEfhYPB_c!E-g92km?e2kzIu{=Mhqku%Dmi967`)o#+4uu?R2 grv|bZd6DS%|HT@A|2z_5S`L!&boFyt=akR{0BZd9*8l(j diff --git a/docs/_sources/changelog.md.txt b/docs/_sources/changelog.md.txt index c6492219..a2f75619 100644 --- a/docs/_sources/changelog.md.txt +++ b/docs/_sources/changelog.md.txt @@ -6,9 +6,10 @@ #### New Features +* [#116](https://github.com/SamR1/FitTrackee/issues/116) - Better UI for Speed and Elevation buttons in the graph of the Workout screen * [#5](https://github.com/SamR1/FitTrackee/issues/5) - Display a chart with average speed -In this release 1 issue was closed. +In this release 2 issue were closed. ## Version 0.5.0 (2021/11/14) diff --git a/docs/changelog.html b/docs/changelog.html index 1fda419e..90cf0c3c 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -284,9 +284,10 @@

New Features¶

    +
  • #116 - Better UI for Speed and Elevation buttons in the graph of the Workout screen

  • #5 - Display a chart with average speed

-

In this release 1 issue was closed.

+

In this release 2 issue were closed.

diff --git a/docs/searchindex.js b/docs/searchindex.js index b052aadf..69b68c7d 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["api/auth","api/configuration","api/index","api/records","api/sports","api/stats","api/users","api/workouts","changelog","features","index","installation","troubleshooting/administrator","troubleshooting/index","troubleshooting/user"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/auth.rst","api/configuration.rst","api/index.rst","api/records.rst","api/sports.rst","api/stats.rst","api/users.rst","api/workouts.rst","changelog.md","features.rst","index.rst","installation.rst","troubleshooting/administrator.rst","troubleshooting/index.rst","troubleshooting/user.rst"],objects:{"":[[0,0,1,"post--api-auth-login","/api/auth/login"],[0,1,1,"get--api-auth-logout","/api/auth/logout"],[0,0,1,"post--api-auth-password-reset-request","/api/auth/password/reset-request"],[0,0,1,"post--api-auth-password-update","/api/auth/password/update"],[0,2,1,"delete--api-auth-picture","/api/auth/picture"],[0,0,1,"post--api-auth-picture","/api/auth/picture"],[0,1,1,"get--api-auth-profile","/api/auth/profile"],[0,0,1,"post--api-auth-profile-edit","/api/auth/profile/edit"],[0,0,1,"post--api-auth-profile-edit-preferences","/api/auth/profile/edit/preferences"],[0,0,1,"post--api-auth-profile-edit-sports","/api/auth/profile/edit/sports"],[0,0,1,"post--api-auth-register","/api/auth/register"],[1,1,1,"get--api-config","/api/config"],[1,3,1,"patch--api-config","/api/config"],[1,1,1,"get--api-ping","/api/ping"],[3,1,1,"get--api-records","/api/records"],[4,1,1,"get--api-sports","/api/sports"],[4,1,1,"get--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[4,3,1,"patch--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[5,1,1,"get--api-stats-(user_name)-by_sport","/api/stats/(user_name)/by_sport"],[5,1,1,"get--api-stats-(user_name)-by_time","/api/stats/(user_name)/by_time"],[5,1,1,"get--api-stats-all","/api/stats/all"],[6,1,1,"get--api-users","/api/users"],[6,2,1,"delete--api-users-(user_name)","/api/users/(user_name)"],[6,1,1,"get--api-users-(user_name)","/api/users/(user_name)"],[6,3,1,"patch--api-users-(user_name)","/api/users/(user_name)"],[6,1,1,"get--api-users-(user_name)-picture","/api/users/(user_name)/picture"],[7,1,1,"get--api-workouts","/api/workouts"],[7,0,1,"post--api-workouts","/api/workouts"],[7,2,1,"delete--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,3,1,"patch--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data","/api/workouts/(string:workout_short_id)/chart_data"],[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx","/api/workouts/(string:workout_short_id)/gpx"],[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"],[7,1,1,"get--api-workouts-map-(map_id)","/api/workouts/map/(map_id)"],[7,0,1,"post--api-workouts-no_gpx","/api/workouts/no_gpx"],[11,4,1,"-","APP_LOG"],[11,4,1,"-","APP_SECRET_KEY"],[11,4,1,"-","APP_SETTINGS"],[11,4,1,"-","APP_WORKERS"],[11,4,1,"-","DATABASE_DISABLE_POOLING"],[11,4,1,"-","DATABASE_URL"],[11,4,1,"envvar-DEFAULT_STATICMAP","DEFAULT_STATICMAP \ud83c\udd95"],[11,4,1,"-","EMAIL_URL"],[11,4,1,"-","FLASK_APP"],[11,4,1,"-","HOST"],[11,4,1,"-","MAP_ATTRIBUTION"],[11,4,1,"-","PORT"],[11,4,1,"-","REDIS_URL"],[11,4,1,"-","SENDER_EMAIL"],[11,4,1,"-","TILE_SERVER_URL"],[11,4,1,"-","UI_URL"],[11,4,1,"-","UPLOAD_FOLDER"],[11,4,1,"-","VUE_APP_API_URL"],[11,4,1,"-","WEATHER_API_KEY"],[11,4,1,"-","WORKERS_PROCESSES"]],"/api/workouts/map_tile/(s)/(z)/(x)/(y)":[[7,1,1,"get--api-workouts-map_tile-(s)-(z)-(x)-(y).png","png"]]},objnames:{"0":["http","post","HTTP post"],"1":["http","get","HTTP get"],"2":["http","delete","HTTP delete"],"3":["http","patch","HTTP patch"],"4":["std","envvar","environment variable"]},objtypes:{"0":"http:post","1":"http:get","2":"http:delete","3":"http:patch","4":"std:envvar"},terms:{"0":[0,1,3,4,5,6,7,9,10,11],"00":[0,3,6,7],"000000":0,"01":[0,3,5,6,7,10],"02":[7,10],"03":[6,7,10],"04":[7,10],"06":5,"07":[0,3,6,7,10],"08":[0,3,6],"09":[0,6,10],"0mb":[0,7],"1":[0,1,3,4,5,6,7,9,10,11],"10":[0,1,3,6,7,10,11],"100":[7,8,9],"1000":5,"101":8,"104":8,"1048576":1,"10485760":1,"109":8,"11":[0,3,6,9,10],"12":[0,3,6,7,10],"1232004":7,"12341":5,"1234538":7,"1267":5,"127":11,"13":[7,8],"14":[0,6,7,10],"15":[5,7,10],"150":5,"156":5,"1563529507772":7,"16":[5,7,10],"17":[7,10,11],"178":5,"18":[0,3,6,7,8],"19":10,"2":[0,1,3,4,5,6,7,10,11],"20":6,"200":[0,1,3,4,5,6,7],"201":[0,7],"2017":[5,7],"2018":[5,7,10],"2019":[0,3,5,6,7,10],"2020":10,"2021":10,"203":5,"204":[0,6,7],"21":10,"22":[7,8],"23":10,"24":8,"25":[8,11],"26":8,"27":[0,6],"279":7,"28":8,"280":7,"282":5,"29":10,"2930":7,"2e1ee2c":8,"3":[0,4,5,6,7,9,10,11],"30":[5,10],"3000":11,"301":11,"31":[7,10],"33":8,"34":8,"34614d5":8,"36":8,"37":8,"39":7,"4":[0,4,5,6,7,10,11],"40":8,"400":[0,1,4,7],"401":[0,1,3,4,5,6,7],"403":[0,1,4,5,6,7],"404":[0,4,5,6,7],"41":8,"4109":7,"413":[0,7],"43":8,"44":[7,8],"443":11,"45":7,"46":[5,8],"465":11,"47":[5,7,8],"48":5,"4c3fc34":8,"5":[1,4,5,6,7,9,10,11],"50":[0,6,8],"500":[0,1,4,6,7],"5000":11,"5078118":7,"5079733":7,"51":7,"53":8,"54":8,"5432":11,"57":[7,8],"58":[0,6,8],"587":11,"59":8,"6":[0,4,6,7,10],"613":5,"62":8,"63":7,"64":8,"66":8,"67":[0,6],"7":[7,10,11],"70":8,"71":8,"72":8,"7380":7,"75":8,"78":5,"79":8,"8":[0,7,10],"80":[8,11],"8025":11,"81":8,"82":8,"83":8,"84":8,"895":[0,6],"9":[0,3,6,10,11],"90":8,"91":8,"93":8,"95":[5,8],"98":8,"99":[5,8],"9960":5,"boolean":[0,1,6],"case":9,"default":[5,6,7,8,9,11],"do":[1,4,5,6,7],"export":10,"float":[0,7],"import":[8,11],"int":[4,7],"new":[0,9,11],"null":[0,4,6,7],"return":[3,7,11],"short":7,"static":[8,11],"switch":8,"true":[0,1,4,6,8,11],"try":[0,6,7],A:[6,8,9],AS:[0,3,6,7],For:[9,11],If:[9,11],In:[8,9],It:[8,9,10,12],NO:[0,6,7],NOT:[0,4,7],No:[0,6,7,8,10],Not:[4,5,6,7],OF:11,ON:11,On:11,One:11,TO:11,The:[8,9,11],There:11,To:11,WITH:11,With:11,_:8,__main__:11,_blank:11,access:11,account:[6,8],acit:7,activ:[4,8,9,10,11],ad:[0,8,9],adapt:11,add:[6,8,9,10],addit:11,address:11,admin:[0,1,3,4,5,6,7,8,9,11],administr:[0,6,7,10,13],after:[8,11],again:[0,1,3,4,5,6,7],agplv3:8,all:[3,4,5,6,11],allow:[0,1,7,8,10],along:7,alpin:9,alreadi:0,also:[8,10,11],altitud:8,alwai:11,an:[1,4,6,7,8,9,11],android:10,anoth:[6,11],anymor:8,apach:10,api:[0,1,3,4,5,6,7,8,9,10,11],apikei:11,app:10,app_log:11,app_secret_kei:11,app_set:11,app_work:11,appear:9,applic:[0,1,3,4,5,6,7,8,9,10,11],ar:[3,7,8,9,10,11,12],arch:11,archiv:[1,8,9,11],archlinux:11,asc:6,ascent:[7,9],attribut:11,auth:[0,1,3,4,5,6,7],auth_token:0,auth_user_id:[1,3,4,5,6,7],authent:[1,2,3,4,5,6,7,10],author:[0,1,3,4,5,6,7],avail:[0,3,9,10,11],ave_spe:7,ave_speed_from:7,ave_speed_to:7,averag:[3,7,8,9],average_spe:5,axi:7,b862a77:8,b:11,background:8,backup:11,bad:[0,1,4,7],bearer:[0,1,3,4,5,6,7],becom:8,been:8,befor:[8,11],begin:11,better:8,between:9,bike:[4,7,8,9],bin:11,bio:[0,6],biographi:0,birth:[0,8],birth_dat:[0,6],bound:7,build:11,by_sport:5,by_tim:5,c:7,calcul:8,calendar:[8,9],can:[6,8,9,10,11,12],cannot:8,cd:11,chang:[9,10,11],charact:[0,8],chart:[7,8,9,11],chart_data:7,check:[1,11,12],choos:[8,9],client:[8,11],client_max_body_s:11,clone:11,code:[0,1,3,4,5,6,7],color:[0,4,8,9],com:[0,6,11],complet:8,config:[1,11],configur:[2,8,9,10,11],confirm:0,contact:[0,6,7],contain:[8,9,11],content:[0,1,3,4,5,6,7],contributor:[1,8,11],control:8,coordin:11,copi:[1,11],copyright:[1,11],correctli:8,countri:9,cp:11,creat:[0,7,8,9,11],create_app:11,created_at:[0,6],creation:[8,9],creation_d:7,credenti:[0,11],criteria:6,cross:9,current:8,custom:11,cycl:[4,8,9],d:[0,5,7],dai:[8,9],dark:11,darkski:[8,9],dashboard:[8,10],data:[0,1,3,4,5,6,7,8,9,10,11],databas:[8,9,11,12],database_disable_pool:11,database_url:[8,11],date:[0,5,7,8,9],db:11,debian:11,default_staticmap:[8,11],defin:9,definit:8,delet:[0,6,7,8,9],depend:[8,11],deploy:10,desc:7,descent:[7,9],describ:11,descript:11,detail:[6,8,10],develop:[8,10],dialect:12,differ:8,directli:11,directori:[8,11],disabl:[0,8,9,11],displai:[7,8,9,10,11,12],distanc:[3,7,8,9],distance_from:7,distance_to:7,distribut:11,docker:[8,10],document:[8,10,11],doe:[0,5,6,7,8],don:0,down:8,download:11,dramatiq:11,drop:8,dropdown:9,due:8,durat:[3,7,8,9],duration_from:7,duration_to:7,dure:[0,7],easi:8,edit:[0,8,9],electr:9,elev:[7,8,9,11],els:11,email:[0,6,8],email_url:11,empti:8,en:[0,6],enabl:[1,9],encount:11,end:[5,7],endpoint:[1,8],engin:[8,11,12],english:9,enter:[8,9],entiti:[0,7],entri:11,env:11,environ:[8,10,12],error:[0,1,4,6,7,8,9,11,12],europ:[0,6],evalu:[8,11],even:[8,9],exampl:[0,1,3,4,5,6,7,10,11],exc:12,exce:[0,7],exceed:8,except:6,execstart:11,exhaust:10,exist:[0,5,6,7,9,10,11],expir:[0,1,3,4,5,6,7],extens:[0,7],fa33f4d996844a5c73ecd1ae24456ab8:7,fail:[8,13],fals:[0,1,4,6,7,11],farest:[3,8,9],fd:[0,3,6,7],featur:[10,11],fetch:11,file:[0,1,7,8,9,10,11],filter:[8,9],first:[0,9,10],first_nam:[0,6],fitotrack:10,fittracke:[9,11,13],fittrackee_cli:11,fittrackee_init_data:11,fittrackee_upgrade_db:11,fittrackee_work:11,fix:10,flask:11,flask_app:11,flaticon:11,fmstrat:8,follow:[3,9,11,12],forbidden:[0,1,4,5,6,7],forecast:11,form:[0,7],format:[0,5,7],former:11,forrunn:10,forward:11,found:[0,4,5,6,7],fr:6,frame:5,freepik:11,french:[9,10],fri:7,from:[1,3,4,5,6,7,8,10],full:8,fullchain:11,gener:[8,11],get:[0,1,3,4,5,6,7],gif:0,git:11,github:11,given:11,gmt:[0,3,6,7],gpl:10,gpx:[7,8,9,10,11],gpx_limit_import:1,gpxpy:[0,9,11],grant:11,greater:8,gunicorn:[11,12],gz:11,h:[7,9],ha:[6,9],handl:[0,9,11],has_workout:4,have:[1,4,5,6,7,8],he:6,header:[0,1,3,4,5,6,7],health:1,heavi:[10,11],hexadecim:0,hi:[6,8,9],hike:[4,8,9],home:11,host:11,href:[1,11],http:[0,1,3,4,5,6,7,11],hvybqybra7wwxpastwr4v2:[0,3,6],i18n:8,icon:11,id:[0,1,3,4,5,6,7],imag:[0,6,7,8,9,11],imperi:[8,9],imperial_unit:[0,6],improv:10,incorrect:8,index:7,info:0,inform:[8,10,11],init:11,initi:11,initialis:11,insid:11,instal:[8,10],instanc:[1,9,11],instead:9,integ:[1,3,4,5,6,7],interceptor:8,interfac:11,intern:[0,1,4,6,7],introduc:8,invalid:[0,1,3,4,5,6,7,8,11],io:11,ip:11,is_act:[0,4],is_active_for_us:4,is_registration_en:1,issu:[10,11],jan:7,javascript:8,john_do:6,jpeg:6,jpg:0,js:11,json:[0,1,3,4,5,6,7],jul:[0,3,6,7],keep:[8,10,11],kei:[8,9,11],kjxavsturjvoah2wvcegef:7,km:[7,9],label:4,languag:[0,6,9],larg:[0,7,9],larger:11,last:[0,11],last_nam:[0,6],latitud:7,layer:[8,11],ld:[0,3,6,7],leaflet:[7,11],least:7,less:8,librari:11,licens:[8,10],like:[9,11],limit:[8,9],link:11,linux:11,list:[8,10,11],listen:11,load:[8,12],local:[8,10,11],localhost:11,locat:[0,6,11],log:[0,1,3,4,5,6,7,10,11,12],logfil:11,login:0,logo:11,logout:[0,8],longer:[8,12],longest:[3,8,9],longitud:7,m:[0,5,7],made:11,mai:[9,10,11],mailhog:11,major:8,make:[8,11],makefil:11,manag:8,mandatori:[7,8,11],map:[7,8,9,10],map_attribut:[1,11],map_id:7,map_til:7,match:0,max:[1,6,7,8],max_alt:7,max_single_file_s:1,max_spe:7,max_speed_from:7,max_speed_to:7,max_us:1,max_zip_file_s:1,maxim:7,maximum:[3,8,9],messag:[0,1,7,8],method:11,metric:9,migrat:8,min:8,min_alt:7,minim:7,minor:10,miss:8,mobil:10,model:8,modifi:[6,8],modification_d:7,modul:11,mon:7,mondai:[0,5,9],montain:8,month:[5,8,9],more:[8,9,10,11],morn:7,mountain:[4,9],mous:8,move:[7,8],movement:8,mpwoadmin:11,ms:[0,3,6,7],multi:11,multipart:[0,7],must:[0,1,4,8,9,11,12],mv:11,n:0,name:[0,5,6,11],nano:11,nb_sport:[0,6],nb_workout:[0,5,6],necessari:[9,11],need:11,network:11,next:9,next_workout:7,nginx:[9,11],no_gpx:7,non:[4,10],noopen:11,noreferr:11,nosuchmoduleerror:12,note:[7,8,9,11],now:[8,9,11],number:[1,6,7,8,9,11],oauth:[0,1,3,4,5,6,7],object:[0,1,4,6,7],ok:[0,1,3,4,5,6,7],one:[6,7,9],onli:[6,7,8,9,11],open:[10,11],openstreetmap:[1,8,11],opentrack:10,option:11,order:[6,7,8],order_bi:6,org:[1,11],os:11,other:[6,11],out:0,outdoor:[8,10,11],over:8,overrid:9,overridden:9,overwrit:11,own:[6,10],owner:[8,9],packag:[8,11],paf38:8,page:[6,7],pagin:[6,7],par_pag:6,paramet:[0,1,3,4,5,6,7,8,9],pari:[0,6],pars:11,part:[0,7],pass:11,password:[0,8,9,11],password_conf:0,patch:[1,4,6,7],path:11,paus:[7,8],payload:[0,1,4,7],pem:11,per:[6,7,8],per_pag:[6,7],period:9,permiss:[1,4,5,6,7],pg_dump:11,pictur:[0,6,7],ping:1,pip:11,pipenv:8,pleas:[0,1,3,4,5,6,7,8],plugin:12,png:[0,7,11],poetri:[8,11],point:[8,11],pong:1,pool:11,port:11,possibl:[8,10],post:[0,7],postgr:[8,12],postgresql:[8,11,12],prefer:[0,8],prerequisit:10,previous_workout:7,privileg:11,privkei:11,process:[0,9,11],productionconfig:11,profil:0,project:11,provid:[0,1,3,4,5,6,7,8,9,11],proxi:11,proxy_add_x_forwarded_for:11,proxy_pass:11,proxy_redirect:11,proxy_set_head:11,pull:11,purpos:[8,11],pwd:11,py:11,pypi:10,python:[8,11],q:6,queri:[5,6,7],queue:11,r:11,rais:9,read:8,real:11,rebuild:8,rechart:7,recommend:11,record:[0,2,6,7,8,9,10],record_typ:[0,3,6,7],redi:[8,11],redis_url:11,refactor:8,regist:[0,1,11],registr:[0,1,8,9],rel:11,relat:[9,11],releas:[10,11],remain:8,remote_addr:11,remov:9,renam:8,replac:[8,11],repo:11,repositori:11,request:[0,1,3,4,5,6,7],request_uri:11,requir:0,reset:[0,8,9],respons:[0,1,3,4,5,6,7],restart:11,restartsec:11,right:[6,8,9],rout:8,row:9,run:[4,8,9,11],runner:10,s:[6,7,8,9,11],sam:[0,6],same:8,samr1:11,sat:6,save:[8,9],schema:11,search:8,second:7,secret:11,see:[8,9,10,11],seem:8,segment:[7,8,9],segment_id:7,select:[0,7],send:[8,11],sender:11,sender_email:11,serv:11,server:[0,1,4,6,7,8,9,10],server_nam:11,servic:11,set:[8,9],sever:[10,11],shell:11,should:11,show:8,shown:8,side:8,signatur:[0,1,3,4,5,6,7],simpl:11,simplifi:8,sinc:11,singl:[1,6],size:[0,1,7,8,9],ski:9,sky:11,slow:8,smtp:11,some:[6,7,8,10,11],sorri:0,sort:[6,7],sourc:10,spawn:11,speed:[0,3,7,8,9,11],spinner:8,sport:[0,2,5,7,8,9,10,11],sport_id:[0,3,4,5,6,7],sports_list:[0,6],sql:11,sqlalchemi:[8,11,12],ssl:11,ssl_certif:11,ssl_certificate_kei:11,standard:[8,11],standarderror:11,standardoutput:11,start:[0,5,7,8,9,11,13],startlimitintervalsec:11,starttl:11,stat:[5,8],staticmap:11,statist:[2,10],statu:[0,1,3,4,5,6,7],step:11,still:[9,10],stop:[0,8,9,11],stopped_speed_threshold:[0,4],store:[9,10],street:10,string:[0,4,5,6,7],subdomain:7,success:[0,1,3,4,5,6,7],successfulli:0,sun:[0,3,6,7],sundai:[5,7,9],support:[8,9,12],syslog:11,syslogidentifi:11,system:[9,11],systemd:11,t:[0,12],tar:11,target:11,task:11,term:[8,11],test:11,textarea:8,than:8,thank:8,thei:11,them:10,thi:[7,8,9,10,11],threshold:[0,8,9],thunderforest:[8,11],tile:[7,8],tile_server_url:11,time:[0,5,7,8,9],timezon:[0,6,8,9],titl:7,tl:11,todo:14,token:[0,1,3,4,5,6,7],too:[0,7],tool:11,tooltip:8,total:[8,9],total_asc:5,total_dist:[0,5,6],total_dur:[0,5,6],track:10,trail:9,transport:[4,8,9],troubleshoot:10,type:[0,1,3,4,5,6,7,11],typescript:11,u:11,ui:8,ui_url:11,unauthor:[0,1,3,4,5,6,7],under:[10,11],unencrypt:11,unit:[8,11],unreleas:10,unstabl:[10,11],up:[9,10],updat:[0,1,4,6,7,8,9,11],upload:[8,9,11],upload_fold:11,uploads_dir_s:5,url:[8,11,12],us:[0,6,7,8,9,10,11],user:[0,1,2,3,4,5,7,8,9,10,11,13],user_id:0,user_nam:[5,6],usernam:[0,6,11],uuid:[7,8],v0:11,v3:10,valid:[0,1,3,4,5,6,7,11],valu:[0,3,6,7],variabl:[8,10,12],venv:11,version:[1,10,11],view:8,virtualenv:11,vue3:11,vue:11,vue_app_api_url:11,vuex:11,wa:8,wai:11,walk:[4,8,9],wantedbi:11,warn:8,weather:[8,9,11],weather_api:11,weather_api_kei:11,weather_end:7,weather_start:7,web:[0,1,3,4,5,6,7,10,11],week:[0,5,8,9],weekend:8,weekm:[0,5],were:8,wget:11,when:[0,1,8,9,11],where:11,which:9,with_gpx:7,without:[5,6,7,8,9,10],worker:11,workers_process:11,workingdirectori:11,workout:[0,2,5,8,10],workout_d:[0,3,6,7],workout_id:[0,3,6,7],workout_short_id:7,workouts_count:6,written:11,www:[1,11],x:[7,11],xxxx:11,xzf:11,y:[0,5,7,11],yai:11,yarn:11,year:[5,9],yet:10,you:[1,4,5,6,7,10],your:[6,10,11],z:[7,11],zip:[1,7,8,9],zone:0,zoom:7},titles:["Authentication","Configuration","API documentation","Records","Sports","Statistics","Users","Workouts","Change log","Features","FitTrackee","Installation","Administrator","Troubleshooting","User"],titleterms:{"0":8,"01":8,"02":8,"03":8,"04":8,"07":8,"09":8,"1":8,"10":8,"11":8,"12":8,"14":8,"15":8,"16":8,"17":8,"19":8,"2":8,"2018":8,"2019":8,"2020":8,"2021":8,"21":8,"23":8,"29":8,"3":8,"30":8,"31":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"new":8,account:9,administr:[8,9,12],api:2,authent:0,avail:8,bug:8,chang:8,close:8,configur:1,content:10,dashboard:9,deploy:11,detail:9,dev:11,develop:11,docker:11,document:2,email:11,endpoint:[2,13],environ:11,fail:12,featur:[8,9],first:8,fittracke:[8,10,12],fix:8,french:8,from:11,improv:8,instal:11,issu:8,list:9,log:8,map:11,minor:8,misc:8,prefer:9,prerequisit:11,prod:11,product:11,pull:8,pypi:[8,11],record:3,releas:8,request:8,server:11,sourc:11,sport:4,start:12,statist:[5,8,9],tabl:10,tile:11,translat:9,troubleshoot:13,unreleas:8,upgrad:11,user:[6,14],variabl:11,version:8,workout:[7,9]}}) \ No newline at end of file +Search.setIndex({docnames:["api/auth","api/configuration","api/index","api/records","api/sports","api/stats","api/users","api/workouts","changelog","features","index","installation","troubleshooting/administrator","troubleshooting/index","troubleshooting/user"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/auth.rst","api/configuration.rst","api/index.rst","api/records.rst","api/sports.rst","api/stats.rst","api/users.rst","api/workouts.rst","changelog.md","features.rst","index.rst","installation.rst","troubleshooting/administrator.rst","troubleshooting/index.rst","troubleshooting/user.rst"],objects:{"":[[0,0,1,"post--api-auth-login","/api/auth/login"],[0,1,1,"get--api-auth-logout","/api/auth/logout"],[0,0,1,"post--api-auth-password-reset-request","/api/auth/password/reset-request"],[0,0,1,"post--api-auth-password-update","/api/auth/password/update"],[0,2,1,"delete--api-auth-picture","/api/auth/picture"],[0,0,1,"post--api-auth-picture","/api/auth/picture"],[0,1,1,"get--api-auth-profile","/api/auth/profile"],[0,0,1,"post--api-auth-profile-edit","/api/auth/profile/edit"],[0,0,1,"post--api-auth-profile-edit-preferences","/api/auth/profile/edit/preferences"],[0,0,1,"post--api-auth-profile-edit-sports","/api/auth/profile/edit/sports"],[0,0,1,"post--api-auth-register","/api/auth/register"],[1,1,1,"get--api-config","/api/config"],[1,3,1,"patch--api-config","/api/config"],[1,1,1,"get--api-ping","/api/ping"],[3,1,1,"get--api-records","/api/records"],[4,1,1,"get--api-sports","/api/sports"],[4,1,1,"get--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[4,3,1,"patch--api-sports-(int-sport_id)","/api/sports/(int:sport_id)"],[5,1,1,"get--api-stats-(user_name)-by_sport","/api/stats/(user_name)/by_sport"],[5,1,1,"get--api-stats-(user_name)-by_time","/api/stats/(user_name)/by_time"],[5,1,1,"get--api-stats-all","/api/stats/all"],[6,1,1,"get--api-users","/api/users"],[6,2,1,"delete--api-users-(user_name)","/api/users/(user_name)"],[6,1,1,"get--api-users-(user_name)","/api/users/(user_name)"],[6,3,1,"patch--api-users-(user_name)","/api/users/(user_name)"],[6,1,1,"get--api-users-(user_name)-picture","/api/users/(user_name)/picture"],[7,1,1,"get--api-workouts","/api/workouts"],[7,0,1,"post--api-workouts","/api/workouts"],[7,2,1,"delete--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,3,1,"patch--api-workouts-(string-workout_short_id)","/api/workouts/(string:workout_short_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data","/api/workouts/(string:workout_short_id)/chart_data"],[7,1,1,"get--api-workouts-(string-workout_short_id)-chart_data-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/chart_data/segment/(int:segment_id)"],[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx","/api/workouts/(string:workout_short_id)/gpx"],[7,1,1,"get--api-workouts-(string-workout_short_id)-gpx-segment-(int-segment_id)","/api/workouts/(string:workout_short_id)/gpx/segment/(int:segment_id)"],[7,1,1,"get--api-workouts-map-(map_id)","/api/workouts/map/(map_id)"],[7,0,1,"post--api-workouts-no_gpx","/api/workouts/no_gpx"],[11,4,1,"-","APP_LOG"],[11,4,1,"-","APP_SECRET_KEY"],[11,4,1,"-","APP_SETTINGS"],[11,4,1,"-","APP_WORKERS"],[11,4,1,"-","DATABASE_DISABLE_POOLING"],[11,4,1,"-","DATABASE_URL"],[11,4,1,"envvar-DEFAULT_STATICMAP","DEFAULT_STATICMAP \ud83c\udd95"],[11,4,1,"-","EMAIL_URL"],[11,4,1,"-","FLASK_APP"],[11,4,1,"-","HOST"],[11,4,1,"-","MAP_ATTRIBUTION"],[11,4,1,"-","PORT"],[11,4,1,"-","REDIS_URL"],[11,4,1,"-","SENDER_EMAIL"],[11,4,1,"-","TILE_SERVER_URL"],[11,4,1,"-","UI_URL"],[11,4,1,"-","UPLOAD_FOLDER"],[11,4,1,"-","VUE_APP_API_URL"],[11,4,1,"-","WEATHER_API_KEY"],[11,4,1,"-","WORKERS_PROCESSES"]],"/api/workouts/map_tile/(s)/(z)/(x)/(y)":[[7,1,1,"get--api-workouts-map_tile-(s)-(z)-(x)-(y).png","png"]]},objnames:{"0":["http","post","HTTP post"],"1":["http","get","HTTP get"],"2":["http","delete","HTTP delete"],"3":["http","patch","HTTP patch"],"4":["std","envvar","environment variable"]},objtypes:{"0":"http:post","1":"http:get","2":"http:delete","3":"http:patch","4":"std:envvar"},terms:{"0":[0,1,3,4,5,6,7,9,10,11],"00":[0,3,6,7],"000000":0,"01":[0,3,5,6,7,10],"02":[7,10],"03":[6,7,10],"04":[7,10],"06":5,"07":[0,3,6,7,10],"08":[0,3,6],"09":[0,6,10],"0mb":[0,7],"1":[0,1,3,4,5,6,7,9,10,11],"10":[0,1,3,6,7,10,11],"100":[7,8,9],"1000":5,"101":8,"104":8,"1048576":1,"10485760":1,"109":8,"11":[0,3,6,9,10],"116":8,"12":[0,3,6,7,10],"1232004":7,"12341":5,"1234538":7,"1267":5,"127":11,"13":[7,8],"14":[0,6,7,10],"15":[5,7,10],"150":5,"156":5,"1563529507772":7,"16":[5,7,10],"17":[7,10,11],"178":5,"18":[0,3,6,7,8],"19":10,"2":[0,1,3,4,5,6,7,10,11],"20":6,"200":[0,1,3,4,5,6,7],"201":[0,7],"2017":[5,7],"2018":[5,7,10],"2019":[0,3,5,6,7,10],"2020":10,"2021":10,"203":5,"204":[0,6,7],"21":10,"22":[7,8],"23":10,"24":8,"25":[8,11],"26":8,"27":[0,6],"279":7,"28":8,"280":7,"282":5,"29":10,"2930":7,"2e1ee2c":8,"3":[0,4,5,6,7,9,10,11],"30":[5,10],"3000":11,"301":11,"31":[7,10],"33":8,"34":8,"34614d5":8,"36":8,"37":8,"39":7,"4":[0,4,5,6,7,10,11],"40":8,"400":[0,1,4,7],"401":[0,1,3,4,5,6,7],"403":[0,1,4,5,6,7],"404":[0,4,5,6,7],"41":8,"4109":7,"413":[0,7],"43":8,"44":[7,8],"443":11,"45":7,"46":[5,8],"465":11,"47":[5,7,8],"48":5,"4c3fc34":8,"5":[1,4,5,6,7,9,10,11],"50":[0,6,8],"500":[0,1,4,6,7],"5000":11,"5078118":7,"5079733":7,"51":7,"53":8,"54":8,"5432":11,"57":[7,8],"58":[0,6,8],"587":11,"59":8,"6":[0,4,6,7,10],"613":5,"62":8,"63":7,"64":8,"66":8,"67":[0,6],"7":[7,10,11],"70":8,"71":8,"72":8,"7380":7,"75":8,"78":5,"79":8,"8":[0,7,10],"80":[8,11],"8025":11,"81":8,"82":8,"83":8,"84":8,"895":[0,6],"9":[0,3,6,10,11],"90":8,"91":8,"93":8,"95":[5,8],"98":8,"99":[5,8],"9960":5,"boolean":[0,1,6],"case":9,"default":[5,6,7,8,9,11],"do":[1,4,5,6,7],"export":10,"float":[0,7],"import":[8,11],"int":[4,7],"new":[0,9,11],"null":[0,4,6,7],"return":[3,7,11],"short":7,"static":[8,11],"switch":8,"true":[0,1,4,6,8,11],"try":[0,6,7],A:[6,8,9],AS:[0,3,6,7],For:[9,11],If:[9,11],In:[8,9],It:[8,9,10,12],NO:[0,6,7],NOT:[0,4,7],No:[0,6,7,8,10],Not:[4,5,6,7],OF:11,ON:11,On:11,One:11,TO:11,The:[8,9,11],There:11,To:11,WITH:11,With:11,_:8,__main__:11,_blank:11,access:11,account:[6,8],acit:7,activ:[4,8,9,10,11],ad:[0,8,9],adapt:11,add:[6,8,9,10],addit:11,address:11,admin:[0,1,3,4,5,6,7,8,9,11],administr:[0,6,7,10,13],after:[8,11],again:[0,1,3,4,5,6,7],agplv3:8,all:[3,4,5,6,11],allow:[0,1,7,8,10],along:7,alpin:9,alreadi:0,also:[8,10,11],altitud:8,alwai:11,an:[1,4,6,7,8,9,11],android:10,anoth:[6,11],anymor:8,apach:10,api:[0,1,3,4,5,6,7,8,9,10,11],apikei:11,app:10,app_log:11,app_secret_kei:11,app_set:11,app_work:11,appear:9,applic:[0,1,3,4,5,6,7,8,9,10,11],ar:[3,7,8,9,10,11,12],arch:11,archiv:[1,8,9,11],archlinux:11,asc:6,ascent:[7,9],attribut:11,auth:[0,1,3,4,5,6,7],auth_token:0,auth_user_id:[1,3,4,5,6,7],authent:[1,2,3,4,5,6,7,10],author:[0,1,3,4,5,6,7],avail:[0,3,9,10,11],ave_spe:7,ave_speed_from:7,ave_speed_to:7,averag:[3,7,8,9],average_spe:5,axi:7,b862a77:8,b:11,background:8,backup:11,bad:[0,1,4,7],bearer:[0,1,3,4,5,6,7],becom:8,been:8,befor:[8,11],begin:11,better:8,between:9,bike:[4,7,8,9],bin:11,bio:[0,6],biographi:0,birth:[0,8],birth_dat:[0,6],bound:7,build:11,button:8,by_sport:5,by_tim:5,c:7,calcul:8,calendar:[8,9],can:[6,8,9,10,11,12],cannot:8,cd:11,chang:[9,10,11],charact:[0,8],chart:[7,8,9,11],chart_data:7,check:[1,11,12],choos:[8,9],client:[8,11],client_max_body_s:11,clone:11,code:[0,1,3,4,5,6,7],color:[0,4,8,9],com:[0,6,11],complet:8,config:[1,11],configur:[2,8,9,10,11],confirm:0,contact:[0,6,7],contain:[8,9,11],content:[0,1,3,4,5,6,7],contributor:[1,8,11],control:8,coordin:11,copi:[1,11],copyright:[1,11],correctli:8,countri:9,cp:11,creat:[0,7,8,9,11],create_app:11,created_at:[0,6],creation:[8,9],creation_d:7,credenti:[0,11],criteria:6,cross:9,current:8,custom:11,cycl:[4,8,9],d:[0,5,7],dai:[8,9],dark:11,darkski:[8,9],dashboard:[8,10],data:[0,1,3,4,5,6,7,8,9,10,11],databas:[8,9,11,12],database_disable_pool:11,database_url:[8,11],date:[0,5,7,8,9],db:11,debian:11,default_staticmap:[8,11],defin:9,definit:8,delet:[0,6,7,8,9],depend:[8,11],deploy:10,desc:7,descent:[7,9],describ:11,descript:11,detail:[6,8,10],develop:[8,10],dialect:12,differ:8,directli:11,directori:[8,11],disabl:[0,8,9,11],displai:[7,8,9,10,11,12],distanc:[3,7,8,9],distance_from:7,distance_to:7,distribut:11,docker:[8,10],document:[8,10,11],doe:[0,5,6,7,8],don:0,down:8,download:11,dramatiq:11,drop:8,dropdown:9,due:8,durat:[3,7,8,9],duration_from:7,duration_to:7,dure:[0,7],easi:8,edit:[0,8,9],electr:9,elev:[7,8,9,11],els:11,email:[0,6,8],email_url:11,empti:8,en:[0,6],enabl:[1,9],encount:11,end:[5,7],endpoint:[1,8],engin:[8,11,12],english:9,enter:[8,9],entiti:[0,7],entri:11,env:11,environ:[8,10,12],error:[0,1,4,6,7,8,9,11,12],europ:[0,6],evalu:[8,11],even:[8,9],exampl:[0,1,3,4,5,6,7,10,11],exc:12,exce:[0,7],exceed:8,except:6,execstart:11,exhaust:10,exist:[0,5,6,7,9,10,11],expir:[0,1,3,4,5,6,7],extens:[0,7],fa33f4d996844a5c73ecd1ae24456ab8:7,fail:[8,13],fals:[0,1,4,6,7,11],farest:[3,8,9],fd:[0,3,6,7],featur:[10,11],fetch:11,file:[0,1,7,8,9,10,11],filter:[8,9],first:[0,9,10],first_nam:[0,6],fitotrack:10,fittracke:[9,11,13],fittrackee_cli:11,fittrackee_init_data:11,fittrackee_upgrade_db:11,fittrackee_work:11,fix:10,flask:11,flask_app:11,flaticon:11,fmstrat:8,follow:[3,9,11,12],forbidden:[0,1,4,5,6,7],forecast:11,form:[0,7],format:[0,5,7],former:11,forrunn:10,forward:11,found:[0,4,5,6,7],fr:6,frame:5,freepik:11,french:[9,10],fri:7,from:[1,3,4,5,6,7,8,10],full:8,fullchain:11,gener:[8,11],get:[0,1,3,4,5,6,7],gif:0,git:11,github:11,given:11,gmt:[0,3,6,7],gpl:10,gpx:[7,8,9,10,11],gpx_limit_import:1,gpxpy:[0,9,11],grant:11,graph:8,greater:8,gunicorn:[11,12],gz:11,h:[7,9],ha:[6,9],handl:[0,9,11],has_workout:4,have:[1,4,5,6,7,8],he:6,header:[0,1,3,4,5,6,7],health:1,heavi:[10,11],hexadecim:0,hi:[6,8,9],hike:[4,8,9],home:11,host:11,href:[1,11],http:[0,1,3,4,5,6,7,11],hvybqybra7wwxpastwr4v2:[0,3,6],i18n:8,icon:11,id:[0,1,3,4,5,6,7],imag:[0,6,7,8,9,11],imperi:[8,9],imperial_unit:[0,6],improv:10,incorrect:8,index:7,info:0,inform:[8,10,11],init:11,initi:11,initialis:11,insid:11,instal:[8,10],instanc:[1,9,11],instead:9,integ:[1,3,4,5,6,7],interceptor:8,interfac:11,intern:[0,1,4,6,7],introduc:8,invalid:[0,1,3,4,5,6,7,8,11],io:11,ip:11,is_act:[0,4],is_active_for_us:4,is_registration_en:1,issu:[10,11],jan:7,javascript:8,john_do:6,jpeg:6,jpg:0,js:11,json:[0,1,3,4,5,6,7],jul:[0,3,6,7],keep:[8,10,11],kei:[8,9,11],kjxavsturjvoah2wvcegef:7,km:[7,9],label:4,languag:[0,6,9],larg:[0,7,9],larger:11,last:[0,11],last_nam:[0,6],latitud:7,layer:[8,11],ld:[0,3,6,7],leaflet:[7,11],least:7,less:8,librari:11,licens:[8,10],like:[9,11],limit:[8,9],link:11,linux:11,list:[8,10,11],listen:11,load:[8,12],local:[8,10,11],localhost:11,locat:[0,6,11],log:[0,1,3,4,5,6,7,10,11,12],logfil:11,login:0,logo:11,logout:[0,8],longer:[8,12],longest:[3,8,9],longitud:7,m:[0,5,7],made:11,mai:[9,10,11],mailhog:11,major:8,make:[8,11],makefil:11,manag:8,mandatori:[7,8,11],map:[7,8,9,10],map_attribut:[1,11],map_id:7,map_til:7,match:0,max:[1,6,7,8],max_alt:7,max_single_file_s:1,max_spe:7,max_speed_from:7,max_speed_to:7,max_us:1,max_zip_file_s:1,maxim:7,maximum:[3,8,9],messag:[0,1,7,8],method:11,metric:9,migrat:8,min:8,min_alt:7,minim:7,minor:10,miss:8,mobil:10,model:8,modifi:[6,8],modification_d:7,modul:11,mon:7,mondai:[0,5,9],montain:8,month:[5,8,9],more:[8,9,10,11],morn:7,mountain:[4,9],mous:8,move:[7,8],movement:8,mpwoadmin:11,ms:[0,3,6,7],multi:11,multipart:[0,7],must:[0,1,4,8,9,11,12],mv:11,n:0,name:[0,5,6,11],nano:11,nb_sport:[0,6],nb_workout:[0,5,6],necessari:[9,11],need:11,network:11,next:9,next_workout:7,nginx:[9,11],no_gpx:7,non:[4,10],noopen:11,noreferr:11,nosuchmoduleerror:12,note:[7,8,9,11],now:[8,9,11],number:[1,6,7,8,9,11],oauth:[0,1,3,4,5,6,7],object:[0,1,4,6,7],ok:[0,1,3,4,5,6,7],one:[6,7,9],onli:[6,7,8,9,11],open:[10,11],openstreetmap:[1,8,11],opentrack:10,option:11,order:[6,7,8],order_bi:6,org:[1,11],os:11,other:[6,11],out:0,outdoor:[8,10,11],over:8,overrid:9,overridden:9,overwrit:11,own:[6,10],owner:[8,9],packag:[8,11],paf38:8,page:[6,7],pagin:[6,7],par_pag:6,paramet:[0,1,3,4,5,6,7,8,9],pari:[0,6],pars:11,part:[0,7],pass:11,password:[0,8,9,11],password_conf:0,patch:[1,4,6,7],path:11,paus:[7,8],payload:[0,1,4,7],pem:11,per:[6,7,8],per_pag:[6,7],period:9,permiss:[1,4,5,6,7],pg_dump:11,pictur:[0,6,7],ping:1,pip:11,pipenv:8,pleas:[0,1,3,4,5,6,7,8],plugin:12,png:[0,7,11],poetri:[8,11],point:[8,11],pong:1,pool:11,port:11,possibl:[8,10],post:[0,7],postgr:[8,12],postgresql:[8,11,12],prefer:[0,8],prerequisit:10,previous_workout:7,privileg:11,privkei:11,process:[0,9,11],productionconfig:11,profil:0,project:11,provid:[0,1,3,4,5,6,7,8,9,11],proxi:11,proxy_add_x_forwarded_for:11,proxy_pass:11,proxy_redirect:11,proxy_set_head:11,pull:11,purpos:[8,11],pwd:11,py:11,pypi:10,python:[8,11],q:6,queri:[5,6,7],queue:11,r:11,rais:9,read:8,real:11,rebuild:8,rechart:7,recommend:11,record:[0,2,6,7,8,9,10],record_typ:[0,3,6,7],redi:[8,11],redis_url:11,refactor:8,regist:[0,1,11],registr:[0,1,8,9],rel:11,relat:[9,11],releas:[10,11],remain:8,remote_addr:11,remov:9,renam:8,replac:[8,11],repo:11,repositori:11,request:[0,1,3,4,5,6,7],request_uri:11,requir:0,reset:[0,8,9],respons:[0,1,3,4,5,6,7],restart:11,restartsec:11,right:[6,8,9],rout:8,row:9,run:[4,8,9,11],runner:10,s:[6,7,8,9,11],sam:[0,6],same:8,samr1:11,sat:6,save:[8,9],schema:11,screen:8,search:8,second:7,secret:11,see:[8,9,10,11],seem:8,segment:[7,8,9],segment_id:7,select:[0,7],send:[8,11],sender:11,sender_email:11,serv:11,server:[0,1,4,6,7,8,9,10],server_nam:11,servic:11,set:[8,9],sever:[10,11],shell:11,should:11,show:8,shown:8,side:8,signatur:[0,1,3,4,5,6,7],simpl:11,simplifi:8,sinc:11,singl:[1,6],size:[0,1,7,8,9],ski:9,sky:11,slow:8,smtp:11,some:[6,7,8,10,11],sorri:0,sort:[6,7],sourc:10,spawn:11,speed:[0,3,7,8,9,11],spinner:8,sport:[0,2,5,7,8,9,10,11],sport_id:[0,3,4,5,6,7],sports_list:[0,6],sql:11,sqlalchemi:[8,11,12],ssl:11,ssl_certif:11,ssl_certificate_kei:11,standard:[8,11],standarderror:11,standardoutput:11,start:[0,5,7,8,9,11,13],startlimitintervalsec:11,starttl:11,stat:[5,8],staticmap:11,statist:[2,10],statu:[0,1,3,4,5,6,7],step:11,still:[9,10],stop:[0,8,9,11],stopped_speed_threshold:[0,4],store:[9,10],street:10,string:[0,4,5,6,7],subdomain:7,success:[0,1,3,4,5,6,7],successfulli:0,sun:[0,3,6,7],sundai:[5,7,9],support:[8,9,12],syslog:11,syslogidentifi:11,system:[9,11],systemd:11,t:[0,12],tar:11,target:11,task:11,term:[8,11],test:11,textarea:8,than:8,thank:8,thei:11,them:10,thi:[7,8,9,10,11],threshold:[0,8,9],thunderforest:[8,11],tile:[7,8],tile_server_url:11,time:[0,5,7,8,9],timezon:[0,6,8,9],titl:7,tl:11,todo:14,token:[0,1,3,4,5,6,7],too:[0,7],tool:11,tooltip:8,total:[8,9],total_asc:5,total_dist:[0,5,6],total_dur:[0,5,6],track:10,trail:9,transport:[4,8,9],troubleshoot:10,type:[0,1,3,4,5,6,7,11],typescript:11,u:11,ui:8,ui_url:11,unauthor:[0,1,3,4,5,6,7],under:[10,11],unencrypt:11,unit:[8,11],unreleas:10,unstabl:[10,11],up:[9,10],updat:[0,1,4,6,7,8,9,11],upload:[8,9,11],upload_fold:11,uploads_dir_s:5,url:[8,11,12],us:[0,6,7,8,9,10,11],user:[0,1,2,3,4,5,7,8,9,10,11,13],user_id:0,user_nam:[5,6],usernam:[0,6,11],uuid:[7,8],v0:11,v3:10,valid:[0,1,3,4,5,6,7,11],valu:[0,3,6,7],variabl:[8,10,12],venv:11,version:[1,10,11],view:8,virtualenv:11,vue3:11,vue:11,vue_app_api_url:11,vuex:11,wa:8,wai:11,walk:[4,8,9],wantedbi:11,warn:8,weather:[8,9,11],weather_api:11,weather_api_kei:11,weather_end:7,weather_start:7,web:[0,1,3,4,5,6,7,10,11],week:[0,5,8,9],weekend:8,weekm:[0,5],were:8,wget:11,when:[0,1,8,9,11],where:11,which:9,with_gpx:7,without:[5,6,7,8,9,10],worker:11,workers_process:11,workingdirectori:11,workout:[0,2,5,8,10],workout_d:[0,3,6,7],workout_id:[0,3,6,7],workout_short_id:7,workouts_count:6,written:11,www:[1,11],x:[7,11],xxxx:11,xzf:11,y:[0,5,7,11],yai:11,yarn:11,year:[5,9],yet:10,you:[1,4,5,6,7,10],your:[6,10,11],z:[7,11],zip:[1,7,8,9],zone:0,zoom:7},titles:["Authentication","Configuration","API documentation","Records","Sports","Statistics","Users","Workouts","Change log","Features","FitTrackee","Installation","Administrator","Troubleshooting","User"],titleterms:{"0":8,"01":8,"02":8,"03":8,"04":8,"07":8,"09":8,"1":8,"10":8,"11":8,"12":8,"14":8,"15":8,"16":8,"17":8,"19":8,"2":8,"2018":8,"2019":8,"2020":8,"2021":8,"21":8,"23":8,"29":8,"3":8,"30":8,"31":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"new":8,account:9,administr:[8,9,12],api:2,authent:0,avail:8,bug:8,chang:8,close:8,configur:1,content:10,dashboard:9,deploy:11,detail:9,dev:11,develop:11,docker:11,document:2,email:11,endpoint:[2,13],environ:11,fail:12,featur:[8,9],first:8,fittracke:[8,10,12],fix:8,french:8,from:11,improv:8,instal:11,issu:8,list:9,log:8,map:11,minor:8,misc:8,prefer:9,prerequisit:11,prod:11,product:11,pull:8,pypi:[8,11],record:3,releas:8,request:8,server:11,sourc:11,sport:4,start:12,statist:[5,8,9],tabl:10,tile:11,translat:9,troubleshoot:13,unreleas:8,upgrad:11,user:[6,14],variabl:11,version:8,workout:[7,9]}}) \ No newline at end of file diff --git a/docsrc/source/_images/fittrackee_screenshot-02.png b/docsrc/source/_images/fittrackee_screenshot-02.png index e70cedf91b33662b49e30f10b2c8813d677bf02f..0bcac75297572bdb0a604068043a531748172786 100644 GIT binary patch delta 308359 zcmX^7Q*3^d*aUGt9u77J1_txUHB%WF6sjhw%GZaNJ+av4`roiij%kl1-Q`l7vddSwn`5Z~y;(pYi|0@?Ud&eU?6(w)v@l&c>hTy0hln|NZwm zXV3q8_BHe3-q%&#zwz_efzM$N(ktv%{QUXy-o5(Thi{j^-s2_j7xMgd^T(gfV)4o= z;{Cqt3b@c=qhEjRwaeSmMGxll-+9gQcc<>`XkGdI#5d2Mzy9qnu_~{(-f8FaI{TB? z?Joqu4-{L~+k=FvB{$Ahj=H#%i`||Jk$2$7j zr1sms2oAd!UwiV}%lydSlh(e7Z*S3eJonyyf9?GpUuwhhUf9Q2UaP;Z{r~4*wPU^VJn`LPWpCW z_rF@5cX8WpX1=?s6&}~;y!UZR-}?GLU*kV-kGF7N``}J*>i&&MG554@@Ho%BykEx6 z?M@}D>0O5XfB*h+ujEZJ&^(nj(JkS4ao5B<{3;yg7aN&{?dO*jrtbA~=-5$`WKiN( zlG3}b;O5OowS|2SVM13Vcky53H+m5CsoU|F$MXr&R-N9Tr#^bO(5~{H*&hBG6FXh% z>qUz$JE=z+s=Zo%#EbWh;|0vU7KSmOXE{*DjxUWa60K2}-Bso8;SsBGmVdA=_oxW|C#9pK2b8bF++4V#+CFtC= z;A1Be?wnix_+C-^pUHu#@8X}Ho$^C7|KI=FmW!|aO?~!n=JxlSwzVAmoc89W6YEvB zUH!?s*594S`1h$(UH!4By;zwS$WymxYNRQ1}6cewt@ zrST=6FK~)aWXpSdChqH@JK@*b552t{W_oPztZadcYPWdGrp$c&s(9|Spx z?Gk59Pycv#YHib!lnbo|QFdqNO1^q_i09_{o4z@Vw?x#eG(H;q*|V>@AYY&1izAcN zP7A~B2ODk`EiRc|>#yoye)4GG=AWNjjkd<*{I__RfB*k%VbxP7<;@>O?t5SRV7X81 z%~@6)FaLNN1nF(L^h5A^#i`GK4^^AV*Kfb3ReC`)S*Tm6{Iz%L)8OL5Nv79_p6MbItLZYP2KXuVCBlq zCp_{tAMDtAZtF$sDXOOX*)`s>P2KeJ^>uFHM)s(j-$o`pR+(o{Zj>t(bc((##%H&( z|I6k2h{@(IE>&?B*8FGA>hiTsc+R%Y>s{^fZOl_ekI5~5dewjaT&_=?3=3T$mX3rk8r_!JDj<|dX(LBAzdSmrjS*s4i-yH#tDfJeLCHW4Q{Qhr$7hWD?tJS*s zospQ<(wmMtYwe4_?$JnaPYLgDJ)Jsh(?qA(%jTCE{;_rqZj_B*fd^R9m3I&^-8K-Xu_ zA3o{tZ=YyfW$R>FFR-cpM{AVV>Pt&rKl^d`X8oM6^3Ut%-mS6xYkR*xe7}9MHiLR= zTFGwtJ`VZ(MFHnSH%OJ)bsUJ7&Hnf70f;=SVJDY;kFT%uRCd{U%VMFku8Wx7`)v&9 zx*)K}zx7BVL;UI&D~y<)CNG?yaV7oz-)Y~L{R<8j-TL;hQ@l@Ay=7Fuy|bEJagBZp zGrX4HzP4uCKju!J+DBpU?=s$6-6{RTsw;=7X;S^Vw>^6P3mb##oVORQ^3{oW^6Fjj zqmxmwZaf#d7w^($W_YB%qq)pOcY)pu@s1}gW(R+E+!C?qQD}UqyhbYRKDYh$7hCTY zPmYNEuqa&qV7rIf52YU=Z@1N75RQ2D+09hcN^Hpn7cqs_AE%w>S2$&-oh)OUZ>`w2 zRecf5e@5Q7d^Zj`Kj|>*7F=*n)ac#e!gga`i@CuKWpx1`+D_y^YFWvvJZ236rg{`9c$^s5S;Xr$i=BWnrlGi!CVfgjf>d(o)^;7ov z&wD3QG0{gQ;f+c3sV#R{j`$0-J~YtXmi}JnkM&96Bvsxe8yl-SUq6_6tMQ`Zr`9>2 zm>DJ&+`4OiDm&PC@}0Jf3G-iwDjksKyrXWqd-|<|JFJ#yY6fLZE4sTlrA7XFX@I4` z+ebxwEz5(x8|F#s@b;tF2a?;!_vDp(IdwBvWCJM}n1zj{E5=PnFj;34In`-*&9@>X1JW}qQn=P0`g75@rMY39quL8;_gEg|>9ZvdUiZ3Lc|d{5 z=DM$%M9L&6YNI7k|nyVYAS(?OHDp zxk=oQi__O@e!s_Yc5A_J)oTg^mNt9OEcBTDyj!5m^_)vpy4j8}ZJtv-JhCGLGZz0h-_ z#+{Q!%R5XNHT|o1-demovQ=x+UhV!Z8;upkMgBPT1a_6mT5Sq?|3$YdC(g?FRZfu6 z<8N2?>M%>PN=Pn@VUnt!mR+`gr{ueO@3lX@`edb+Cx~(R9eF0(D}N<#k#m5+LGPl;Ln}P8~mY?Lbn{(rwUM&(_DW@fBYIsDNcMcPm z()C`(rNQQpCdPA#bWd3{Tl?G;4kfSf>@=moPj5PvTzJ0hs)}5B!nX2ez3PH<*XE{| z%J8U#c5)w0X_@slEO;Bs6u!s&o6ZYMCs;Bcs|=W(((kl-Qp&_v3j#S8E#G3fRQz3V zMxtM0;$aESkJh*05i?;~v|oK-JY&Ej44Wz}K1hgGXoWNz$f z{4Q};zC+sMqoOowCmYBH=!t{>>6QG%e@n>pd?&pRKK$z#p~j zyn58nJ1e(u-h8ER;j0~%EB-8alF9FzenKir@7b}9^)DJWi*_1*oSy7=U8P@<$LILL z_hOpvh4znPKFPhCeMxgc|Bj2*SJd7~#~nDztQe5YcJ67UVNUNRr``juml$K;d1N&0 zIpOTmV&7|GUHY1{eM{)xu>Z&X?UX-0X4LYl*OeB%c=q$5X6vUumYl0(b~L>T+A{Zb zwTM-sO2Lf}MSk^6UIyKQwrby<9L4*NughkV@@X(lm}{bS%1hn*lKF~$u4^kcD*9Jx ze`EgV`&C?ndqZU4RGwW2-|Oz!dQD3*5@Ry)|!9t;r;2`SMw!(eJ#k$UI}X{9?mV*I#a%>jN%idCt+wiu={% zsFT9GDe1|a2h|+BeCH&jj zcR^97{zctT&2@#{1&wc5&M9vXSRSBtUBf`niR0NimkC8nv$G9?A`4mHTcoJQPWm5~ zSFu?s^0pvr?&BXTE1L|TysGbNbH5qRlXB@wlvD%<)7>p)2lpxqru?W~aO_IYw7lN1 zHHQ-(O+9n<(mk=1KCbUf3xk=YHwerTFk8pOv2nqAzPZi5_n9Z>ZcZ`Zx;)BJC;hs? zi9D}0!kI=gJKc|Svf{r-3rqwGH!v$lnQ{r6w|2h28!i>R zZkGS-px8S>E~btA0?PBIPGWe~XQ#Z{UwLzjM2WD}^Js=d~v*y{|>uK7}~*S7V(6WMf# zXJy8&hJi z-^b>kst%J;Qn|IxtI;v4J<;Emb#k#>GkWbtW@K&+RCQeSmgeC@rj;} z!)`Wj^JKW}JSEpJ-FmF}fVg0)T!3r%)`JBvVlO;?rDP#EsmYN;{mT|jUHe~m(h@nn zC0@=;&DtgY@r6{YbYWz{T!E-viHb=R7M-Zv_h3Ph)`8t;=ekB!&E{fUc7X8<=d>>G zBIlP@empFK_b-{&OIP=LEvRho(LTp2?8z%LXYKK)H!`h)g1lLFYzW+9=e~2|^6bX$ z6)t8;`u(3+mKV(EVDFLOx>uB(S;5dzBKo1@-1~|84V@VZ0yBO*YF7OdP|&6K(KV27 zws6ljHCyh@IzH@2cOHnG<326vaO$Dk3b)iAvafBaDxVzmZF5Z1#CqRu2CYx&i{!Ho z3OwW%wB(Kv)_$K=rS@xw)1mP9Upm#A=PpocY!dda^7Lema?;_^F53|BeFBfij3rwG z8jqRp3O(Jf!np5}h^cOOw9B%dYkiCLW2S1lR(;-=rs}ERaLxU)jbvqT3uoDjW`-iw zQ1(Yj*^9U){bLmRPKtsjb0+Gj7Eme|$aQ z{f|E1?Fym{J3OrpX3Wph&k)LCVw(0qsbJ9_gKbI|tta^J2ykd$yg>PGf7q;mSWb2Z z$)kF6>mNR!rd-c(hNZsqgoK5Sz+(9f?ZnFZt#(`cx3RvtJN;#ZUNxt1aRbB0)+Ub| z)88dJtT?#neZdVuMu&+k9FsOJ`2FHwi*U4(<%jzL&K*K$t5YAf@wvFirxZ6gUfHN} zxy0&2)Qv+cz51gSrK z`_%mAzPnY=^GQp);np74+EXcPUFSlL5MBDLg= zq@r(hX!~h})Z`wp(|OAH@r-BxZVt({E2LAOUp0#8=rhm0R2`bT;aSieA$14yC0jMN zyPlt9{gC&*)1C+IThz8}@nKK6`0Q%J$HmJ6nX05>ruOb+Xm4Gz!*fc$VN&SkmQYVG zrU@mMQx;r$s?Xna!6~!8ad&#c!mF1B)mL$*@4R|$hjnY0NJhdbm-_5`e=QHED;Vn4 zGfrA_Qe#ooiG?lfuYNcxO<_%N4bPf2aZ;a4jS1KOdGB^zywhxEbTC0f!B_9%>ykxB z0ww4Bg)HnmFq3ah3-i)!E=IlJcgnK^RH~V_^DM~rbu8*`V)Z<1ys<&Wrv9g1V3zgK zis%+@=jyGww&&nw29DgbpD&s2Rrb-0d*C>k ztK?dB_>A+Pne*+fkLoK;UvqosRV%MEn)N$B?E{N-f~W^P^GU7>gJk72LDB=HQL?vDn~6MEHpE{MH$>i@>SFi6aZvuZ{B z=Sg95lqYx6Cc>Rnx4m0$H@=&j6jDYdqg31-%Opl1DO!`b!5>F52wPh6wXD)lEq9Is0!!BvTTXSAjMgNzp5A}XY zD|lzJS;g1nx;$IfR$1TZh?3IKf)n9!iypiamHg#=JGk(!p)#jwZfCvG*9HEK*V(KZ zvY$<3do{~g<;=%JiORDk2u3x#m@4d0_T;^idgr6U+!b9{ufCRLe!fBAhEj=T#^Ks8 z3oli>&dPdmLtNMW)^7KP8;ivDUgMuQ=b-A^?`wUs&)({}KP&ubTJb}@rSg(TE__?) z^;?l~>mQDkEFVs7Cr<^7Wn!DFwCX!5&RQg#G7a~R_S-LYD|elxT3-4N9}fYs6}zVX zc3bQ4{G?LZ9-E;hT@>e%;4+>f~ds6I)f!Nq=EbzPL(v z?w;9CLK#92MNQ0@JkQklnE&fz40UYJxc079J^WU1!9GE`Kh4e@MSA7$mQA{2nz~Sw zxqj!C_?-qvSU(K?ZJR*S6Pia6;#Mq+WR zzAg#od2lXM`#;yMZOb;SzjIb-vz>24R+jJVIT*N3l0{AyfQG9?O=8m6Mo5L@oC|7g-?YO#rT>fwm7$c>Gtg2 zaDJ(WVuSmR`)*rX3wd;BJMYW$%x2HHTByEYnVI1`YuBji$B*uC*G;|raC^)YUzb1| zj09Kb^P3RYlj~R)LF$yLB$3E|0IyhojvSFUKvhf7lwMwCv8E3GL2RDbWUjUz)G| z*>n6S=63E)Pr^DB3+jsioT1pAHTo$MKH?d`m&>+ z-2@Y~pE6Ir@^i_`=w;t7xG()!@4Dr9!^eXgL(R_d@$1D`?`_-9DrI85&F$uFo_A|+ zmfb52$$ehNnsY^|&gb+3710vqzgMq6G7T(z;M?w+<*{zzUqR6+rGB476Yd<<^5Oh{ zJ~3+ZtT&(TBouTUFg{kS>w7Kxzn1Ftelew;G9O$2N;+TfIGy*}Vaex*g%^ai*ZQ96)?#Penf_$eb-ysSR_V(^uN&tY z@f()j1i*ejY*i$C6a^Q?KHgnA=~&`%ozni{RIdf7$G|6}RdNT`pGpzMat8xFb+kt9bhci?0u3ZpL^t z#eTCXzBx%vc~ek?*hNp46Y(nx64=`(xBF(?al3XEFp1&(aEexy|mX+>QTMTh6fy_s-bDqnukE>>PT3>ER7u9XK~J z9-iI&jq$R2gV!A^ltMp%bE)6vN%r6kXJNXobBIl-g=0&<$XO<;)QE!JLIhOn6!8D zByDrheiEuTVfVJ51)N{sd{Bs6s;U@Oar1-z%7si@CbGY}JF%{1|CV~k+h@upJ+2>A z5Y%xklNVs**`^%Jwe*gZ&?y^32a(*8(v}n3&ObSo8SNCfkL~+prtNj6z9;(hnsy~s zggwaQfAac}lR|{)dk2A*dOO)}^=FGLxPLZVZ7C1+S$MN_yYZcFuKcJgI$w6L;p^@C zczb(t?bTN{hA)JFG<_4S>5#EvENMH*9nezHtX^`6dC%c_e%&{s3a-7HD#@rBw%SZ? z&dXD=iTcTGZxuKT9XS{ACd5WpnV2v4Jh=9~)no}RPVj92IF^=tp0 zIBi&I{5Dr*@`8-z3ynU^RMbDge~{DTcYR5LS>)^+iQhQFCiBcyT6Aj3-ieomYhA(; z-{-I%oWSp~`Smvr)11sg$J-kpcZN@4+ElgT*@KxW(ou1b`0kXRahrXqt!Cj>wLK+G zW}&ZcN-vjmo4TV+?d87`E$b6K&5tg=bDmtw%>Hnmj-%EeTW$$?= zUHRQ?{(~^VNHN`n)|I*&XL0#41b(>WwlVwg1a+O&(T_Dm7qnUJsqR@L#@e_rM)o-S z4rl+^1xvQb*lzhaum15?R-YZKBA>=xs@-!+MdxnEq@ug3zIB>YKG=B@p8Zo;o?dG>F$9MY|SO;LQX|LNh^-VTwgT|L~wqo)17-z_-V$>x7t zM7-?-_3Yo@ZoLrqJ)4pAKjSQOWzpXBw=Z|=+Z;FE#B=0CX!dWrUDq3=>t8>QKfs~5 z%j~5X?}FtM#Lg#c1nt@$yM;68^lE2+mjlY|UN$TahaUXh`t9_B6)PH7y#1VRvUcVp zr+{@;VdChjoO;WCvF_+Uw^RniQ&olw@y}EcY9Pc zzi#onkB%PO9_4d|Pu`w$`1TU^sQBy4>qRndeSi4ky7dC-wwDbasTKLT_g=q9wF>Ck zxWn3(-8EBkXJ+Pt<0%YQwj3wh^_ni1upZp~ui~W6qtlw-JC1ESF{jtY(Ojj&OyRA; z_9``3;dSShED`;*V6NhfmCqkCzS^8|c>5*i=}(I1i(Y)}s-e~$RDFxP*}XTRYsc}7 ztUdnqFP}|%m*)L;m)`xeiVN2~I7{=&ohmJLyW!;k8jqpms=mOexLa4$}hs{d()TQR5_=Sr*crmE?zO|>f)8cqn8`Y8ZF%fi0wY6<>P=Tkhwzm$j2muTxKd_c&GakMf@#K2aZI>N$?SHhX*N z%A1$JXFr=={`J6{PyTNAGX5~UIQxe`w=v=Q5(&*+3=E7dna<7up3cq+1x5L3nK`Kp z3>9-~C)#=(c91z5Z@*-bE?=3(B}M1bO$u6%R)lIewFYQ!d6iJ~QryH)MN_Y@Df{5T z{-dj!yEm`nTi2xUgYnU`XG>lvss5|i*WA+a@xc!H_wQ`q-DCWh*1IyTfG5E8^oeD` zPWv_}wZvWQw@~U()G!R5FM5>6=J<8nnwq`dpLE_A*Y|YJ_W z&Q;F0IHfhosm9MH>jG=1{7${ye~#^ZvtfR^TW?HRpM{ssl-&{UlEMr_9(g`$S(G*9 zef{~}YYOf?T668ynp*#VhYA9t;~rU^wYU^-H$RMO0hOw5zb&2-I7%oBA@k}ZsNEs{(Ubxn*+EmDjO49$`(EGGMFcySq7 zgczDwnHX4^PClTXt&(Pvlx&)0VWw+pl4_=Fl4fG8Ynf_js%wyFYGhz;nQWYDk_^(v z4bo?7Wo%|;Y_z#uGmnF%Kh8RK@=rq}4jDcb1@$P=!<&tb1ozZ?s9J1kv1pMxC2p5x zr{HkFK`4u(Md&~yLz%)d)~18oa!yau$-KI4`sSx!?B3SYpUGOf^;T4=?z4S*vA2xV z)6Px#K6mDK^Yfqo)a_yZ`%8Kz|LLB0vmdG3|1#9CzAHar^|@g4>?=K7tDYQH|E+2I zsr%*axSRg@1-kQpKM|iX^IZLA0$h7%1uk7AE`EJ+ zv{l?q_p>XKB6yvmrc86_`v2=%f5-M?FK*v*+-9|VM~$m~pt078CMO5pL^I!zz{QDI zSDJL4?%KB}_ww84e}BBSw>a{C|1;e`-_7kdACWk6^yty2P9LXzubCqM@5}U>AF=iM zkDjI5owZfaTlekJCZ$5>!+ORdt_Q_Zz06odFOnYwnX+t!}?+?yPe8h-7_*z-8Jc1vrO_pZc6l`LWL zg<@%bd z+Lh0E{h#v3|I=ca_x;SQ+?PYPYE;5sYs z5T>1Ra5DcA-PqSXt{yw{7uOA@UW-qD;#By!o}#Zy0JG*<2M zQM%Zx;d$nK|H5xNz0d4I|DNt{)vEk>+Hp$yf4=>8B@+%M%zMzJTyR4=z39J8?dxkr zOEyg3svExP^}^#3)mN+d&RGi<<}TFx_f&qrll$|ie?LmkA5&|KZ|g`iwAkF-yK?o- z{m&H+3m;zd>iyF7%jY)K3nl%Z*Q|0o$foMP-n_qe(k~jkw)wDHRz&D)^7EjeovR*O z$yFw(&)k`5mcN_J|A^88Hp@NbE$7zxmD%p;PB1tj8a@BegEPw0RYGh2&a&H5O#q;&P?$MK;-zk|}?GO_a6Q;8+pmOF#5taIHJm-To z%qzY<^DBux{`~XD$AA62&dksE|1_1|=+2B7NjtBq#eOS8mPP1HI{S3S_1q_KG#J;5 zFAY4Z?HST0cTApR^2(48t&3iKmFlwpvx9NAu|fY4p$e6$S(?6ELlkDdiZz#Wmfkkb@z(rpX84Jz~tsOBelnmfkA=6)5S5w{pRlP zhWmaTt$+IMcKkW}+IPk3e|-ZdWoGBwFP(Y$!}`O@Dp8MWem$Q5yf?qr^y592|9|-BFRqW3mp0Em@S6McwD5g% z)9>w(-MjAdWch#m`jt0xOIUXOxY2IssUo;Ey;NMj_W#^HpY-GXvT~*8|9>JLxw%d^ zdRy$tz2E<|oQY}cHRqc%J>$vdhq3vUy7eDsZU1ol{N7IOYu|RyJ$m%$)B2{5Z>#Hk zHfMg`xBc$JWwpC^>{yc#v+$GA;>=e|qMBr8#Jp14nVjDiZGQacDduzkXLjmreYLc> z=!!)vy?>XeyM0idQ-9+0r9Ub=Z)*BnUa&Nq!S$=%!e3LSGerj6 zi2Zd{I8JY=CDZJr)_^I=Ov`&dZ-4eNKBO@?Y|n|V?{ltSzGQmf&JRVcR+*_zeGXe% zBlfVK&-}JDP}jIBL4NJs>-9gnFr7B>Se}03?9$8|4^~<##V(FpY-sAVH)>JxS+PCb7iVrg*4Y%WW~=OJ z6V9zA3)%jj7M|s|Y2W3)$6l_O{!GxN)oZEG@m;zsOn&n(n(*E(xE8v`<4Dx)fE0I^ zj~z-)3WB~e!d10S6HHHutqSVQEPk?N<&nHw-){zA^k%tQZ?M+-`{g}ZypjDC*Gg4G zFTP}-rWBYha;LePGw?B2R?NXGx+2ruf}_eNJ1wpA+^)Z%t#g|0yZ=Xi!>O%Wiw_I$`Q^J_ zDSo!{gTJxw_Wn-Kx${GW=kSy7|DLqo*vEG8gYKU<`|FQgy=@-5>G6%rH;?VV^V9BE z_3pcF?;kxXa;&`lI_~7!^S9sa6Dce#jQqI6>1k?P?(H>Q?LVD%J-M=2=b1rC{qlW} zzssNfaA|gxq(@t&g1KwvLC23l0{+V~Uhyi;vzqzPIb@dEMc=;Hsay7TpJd+6Fk`lq z>(xCi(bgZ^7fsPlz4iOr<;%Bsr_^4ZrM&A{aO{+4YBT4`9T&GrYg#bdY}K>F>!t{} zWFGCF!m!CbHTXjn-_^1}%`pzh26?vcX4qzP*QnNTi5<_ExDz7wc`g!KaqZwEHB{n9+3q=iKO( zDd{sLZ+S0{OZ{^pFDQ1k=eBY||2gxm5*MjlzIfBqJzf22RrAf2g-mhsTig6DEH|<& zVpzZG0e^kloW^Q_XV0f|RV-iasp%=Su(j#mQ7_TUCY&rx8Qgly-LIE#$~>)l?WTWa znNa>B(a^$cf;_E1&cCmjExzxCncML`gW2=a6TV9Ez1egAXK%n1FGKg^yM%k|Yn&!r zJvB9CsZjA&!)I$Fzb~qlTOldRv%0a|%=^m;mY;nuBCk)qQlHZME#B5EZ$W!x{$1N0 z&pVf8HW!s$)K)isq&Y2XdP)7BP4e|S9hL2!Eu4Y zR>kgO{~T1+bLNbSV5M@C#-i|55>>f|zt$~H*PW!IFDRmYR3>iy{C$n}rrzv1N0n~Q z%*;7`=t6eMn!T@DIQBVcc=bcNw2?Iyl;(+y!`0HIIZTHMSSj#rCLi=88Mo53fmianw^%qW1HV9iC zT4N_aYuO|IIWa$YGqf7*o*(@1ZTkK>`~RE{7ryl8N&2ywr`dj-XtzJJ-0rL9o>iNc zh&b+za~ETEiCmZ%CGqvvq!q_jez91jFgeFJP}4H+eDKS{d;h+be_E>lPdhHu@v_Oj z+WPC;XUv-WuS2C>km1Q4zeOR97V}ATku8kQjptNRJ_guZ= zVRzo+0}mAV?YDHFoxT0S_Lo*tRkDE-IKsR;np#vmGiJ3ZalM$;stEnYl&%HkFu2#uuQLXdhZMn*Yb(h{`l|G*2 z9{g*n!o|7n0o!wzhplZ^ydeAbalO3Fv!2)Avs1WD!?u1cs3^!d`Kf8bqJaDjskg=I zKAf$8{8Rs4U*hW(w>JL1z`w6rfBx@d_KXET9(3|O+O_oZB%cq5cfWtiU#ssZl6vWK z=B?d9OKwf->96;BAna7q`uoS#KK7T9Pu+BO?SKFq$%58Xrv+lKb5?|&+U0Tm*6M(e z-t_VV;dORLe(&GeefBP+)#F62qmNYY9Ao>K!oEu1qfW0^LG#A4qfTW;|BhdMH2Zu? z#_Jc0Y`0!-nSFohGMJ)0Q2ZIq&oZfjutKQG#;elOO%oVs0uaA%fBE|D!<5|X7j9p6UK+B*_G;^0lRjPMn(yq&K_8{O+G>?;+?+zleqdl=Np4;{THsD z?-i{*N#Wttzv-z-DwT8oC9(a9n7Z@+iR4PfQvz3{+2VZdo_~!fn>;h;yEzv{BHX{S=qUoE*E!BGs~GPz3u*i=k`Bc!`8n%D$b#BQb?}9MaARE zYdNX3X8Y>D_dn>%|F6FHYx;YYi}kY>#H^VVQLz8srd;m#wXg3B@~}@lA{@Ua?2D50 zuj?1?-adPO@8kEJZOtaH{H`q3d$H$9>h_Q8w(sem7Sa^7@W||YpTn=5T~xiXpb!Eg zAA)ME4xPi#-ZA`En`5#(Uhc$)W6@zBC%v{3e=aGxR;bTK@21%`ZC5YLxhvS}yPhr1 z{d#QjvgF&_Jk7!r5)u*&o8D?{jq1JI|Msw6ddHV_^+8LD=YO?~70_;f)gNf4cgNv% zL8>`};L_HXJKG+)p5|S3bYI(vf^~;P1NE~M9KO%`TC%=zWlX2?QL9BOE-kDOIKy^V zdRyY{zTmv26Bf^!ebmG^s_L3m^XsbKnzH(NNs8S!S1iu3V+lNB!kgl|I80Ab^H$QV z1x~_unWEQUIMMSkc&|s*O!xoa+bg2OFHY*YIPcXVd5ev?Y>N$>E=us*{}I^raE<=_ z^Pdm$*G{+>y7$iycl(FT|KHo@?0S_I_jOhH$Hmp}SrZBh?8|FEOYiw)T7S@)-`>aW zwadA$-|D|4=(xDpeZRTA;JfYp=Y7}j9XyjW%jw=rXKT5dhW|hAZTC>SRr$U8-s$lD ze^gx}AFluZi&y1QVO4eY&9bw>m8YfS+_h#d3OFnD?P$es>w5?5@BHPBVp_ZB3;+KY zEwzCx{QoP@->v!oZuiZKr*3v-&*#=Wn{R*i#0w7j9}n1XZmWNrbxBzG&(+uQ{uU*V zO5HczjlTF(A^yDZSIe)}hoio5a!+k?Kcd_rQ+LofpM##5ei2L9+Rl4svO7F}O2x$LIH$BK!elBbPMTwnI{ z%k_6E;l*(ZvNP|Wmf!p9`vC#5`oo)e`cl|#mb|r^_pRr(ft1=NEyFq19!GjUck0*8 z*cG@qZA#?z{cYxZ9+&n!@7vLPrUYMGY$;)$^_gGs9VY_nXaY17>niFCWl-QLXZuiL#O z!$bSZ&fhgk)giyO^zsxY9`$P2W9J@MzG$VA7k6$E|E%NHP9=}L5}LCVyR4=u8qHWO zIMHT{d-E3exh8L7XL2oea1iVKJ@p17596t+PZ{;<9UtlDPU)`930A*)i>c|rgGNV& zYhS(!_E?n$-~Z9J-!VjnJ;6I)sIz6FXzPUg$A91dUMCW`V6W-P^=0?YFI&B?Y}@*% zMVcorlpKm@XJfmuqmcRb_Wb9+vgdg%jyh!G`|7LJ_B%Dk>uavA-tl;AdBOX=_Rpq? z+ekN@oxOcSiB;`alVg>?fCESdaY+=J-KA-(j9;O z=b1$pd)&FqWU+GRrWFYhr^UCqJdDWNbkk(|R-e6L%OkWBrPLO0;0c`omk_cQtP@{U3(XVzSvr{bt2SjG3i zW#Z~d2hP3xZI~C1oiX2pS=u`b1`bEjJ~IV|I^tTNqW zryrYbuJ7hFt*AIfZ4P6LzJ&6fTjyr+O8bkLE?Z_{vqOBdjl1`ChJzWW^Uv(G)e7sY z+Fj{Ek>R(J-zQ=p2+4|*GiQF~da7!}LQr%N$ zFXy-*rliHfSYYW(MsL0et7oSydwz45z{el_^1rLueqCoSc=4g`-tT$)odZS6-b+2< z{{Ja;k7Mi3mpanxZLa;B-PDu%V#;dXS8es3$1R>snKEylimg${nqM!Xszp0pn$Gp{ zeS3fZtnK$Zhv$~p@igS$|EgQ}?eu@eo0A@GJpOHC?e8*%Teog`s0c~yI(K1Wpxo{H zhW(YtturJ{t*ouYg17b`zwlMH-rwK<^SbZ*$_sB9Z_9ta^ZZ}kqR*9aA75Snuthrm z!PfOvrnBmo=|>-LZh!t380S8soLt9C||PRpf@jZuqz?yd?pJQX6f z^s<|$SCjIQ?p>W770135?p-+f{PRv1r4_53k{=fPbSzxKrT2XLvds8TbpoHaPLhyu z(+iuiBdu9ENUuQ4@Zy&K&UO%A zx~y>L98i0PC-%DLG_Q-ui>a_1K|vumcNU*IXWJhQucrD#`gM(J-X^Jy zZJ~=N=r33k>%VF9^qHN4ZDs#wZH>-*FfBUo+3Nq_OhbH^Zr;r7eEsM1^L2gy_dU;J ziF|lAzw)!^_x)RSUF-j6*?oH0ud}PIeNS9ZmN3(T+sBXG&syrZH?Vk-qqE|_Z~yAZQ}psw(tG%{m1R{J-vqW?|(1O+x2i+@^$Ua$0EKyIJL9R&a>5gztAD= z-*f9G_$JHT=)E+{>D3;&wI=T04_9kWw_;JEr+OO2N&-y3-;hwzNI#Cn#jg)_bzj#^k&VhshZ-H z*5=`@zIJc6-t5mh)giZ@%vTlF+mJK0$>h-0?b{mN@ZQ|%SQhV;-)NE6$ z$GRe1l}5IHS=%C3PF(Nfv}d+g_Wzgtj9TpOYMsAKz8u@wF~9NO)tXnA=P%g2yV<$A zU2?~vm66}KNasBOH80lO-_-Wkn*R~6mPXg~?Co*q_t(FEol;zxxASM(p^aK5xzE(v zZ*Kakb?^7S@1N_hneXRxE^oP2VRO#@&QDH;XV3ggTGw5F9aDcc_~-Za_08t{pPv1) z?v<*o;lXyhPY;h)PI(*@UR(FPLSoms_&vWu|NM;q!|K2LBipB)GW)AETiYS#ogs@a2N1owVtW#KR@J#Ny*%ZlFYM#^TQWU z(BEPHnESv{uitu8Pq)Zj=XWaWXt=I<-=O%coBI_#+l_BMS=Og&JnxvY=y>xDnPVHi zieCNizwQ3I5APm9KvChxdXw2_msLyX@qWMiU&B0R_s>Ot@BO$TAsl>JBdxQ&%%(xZ zYtN_B{Mc)o&ZbTFdU~c=X#V-_YoF1nTGmH`=kEmA|oT?0QRkpSB zS(PpN)2Z>^Jh@lCC(iX;zPwkep}D$zaXs7LFD2`jh3M!_%e}F?T>rt9WpifFjqS0p zE2*%rI=pQA^7g;K%Y$cFI9-2LsuDDpN8ZxMV6E3vsqzG~qQB zNcnOiv8uZ2#PiSHD{l%vcAm1DmyM0hW81PBGkq6pN#*8xmf7vy8rT=>BvyHKe?nWcg*4 z$!ojQJQ;j%r&U!wYqD^h&(G5DF@OK`#@+vBJL}iUIZvIa`tt6k6$?(<{V7T?d?j>X z{<(yz&@RT#n9{n=1kG-)l?mdL6dwAgXSDo1W2*h+b-nk|w<}L(-nuo(f7Rns&6i%T z=Xbd+T^a3jMqDq-KErpLmA-&2Q=O?x0I%?UYo3o5Py52uxRqaoCEtAghGTv5raOIG zKb*KJK2`GUo!yUq{lECv?w{T4xQz4Lb9dd%J)#E&>%KiI5-d>G(l3_!DwUl4_{`a} zil(1teAQBWQ2&*!LuL2$z4I(EfZ(p5vvd(Rj z=Ce;)FXyV~yZ>h>XFWzkrTt9iHRGO8!zk$O}4nVXxL^S!$o|CNep^&Kb*S+eHVQc?9FtG_=^e!q8aJ=?^r(oL^_Yg9|A zUs+(HBYXIg=GD&}auX*=slMt~o_=b}|4)K^_rCcA9rVj`YxOBDEBtrz5XakvdQXC8 zuA6_4U%yIBbmNXAbKI|ntlDZ-_utU`b=KOxRrM=(%z2(YIXC`F-2yME#QdIyH%E4s z|3A-Hvsuz@-hJPF(<+^mQm@Qjkn=6Ubndpt(^b2!y5ITt9#VikdQ=nynz&dxLEpgA z%tdeh;b8rQnQ9BKl`(ae{aL8Nntfh4TVs-o`|+8t*|ko6dS!7{+qJ8dx%8L9#_9W> zwS?r?H#}T;xJUMmcldp&l%w8iwtks;LPuY_PfQhYUC8CKsL)2^ikOR<7uI90CHZH4H_eX7Y*%hO7 zbvIw&XQO5EF%z$!RbTu;EKJ#?Mr(8QwcwTK=EQYmMm>4`88mBrSGWEN`@ClM<2K9F z-%A`UU44R+m+Pxe+fw6Dnd6&xP5*F#rD$i{l9S#orxFw#%x1fav>cr^Z)wuRh%>&E zZ6$p#v$@)=PUU_5h+}G<>XEi}VNPe!sO66*^igw4R&O<8~Ue`!_ezAt}&%zg$Z{6!n&ATwsntinYQ|o-%=)*0X{OV(jBM+rHDdm2yWUxDywaF!c_`uXrVkxT zZi~AVJYMu#6@Q-WAvrPRxYh(4KWW`_7wWfHs~?*hy}~5x#9B_RrCg%U%I4O-TekA9 z*Y_wZn^dqy^uy-#^Km9;cPGr+`eo0TuU{AcYOxl4J)^oWx>S&#KWGJ}wQpCNj$Md4jgkKVQ6?rJ?jG@O$ z(-;5G`Onyu$bE2L=#?I>Ww}b6LW|GuW^8cN+ni$CwMwA-=m~MI8IkF~lQwQPmizcZ zXyMD&Eg73VO;eM8=&%1>eAR$+?$UtFnb%r#e@C@UkaDaS44uSp=l14-LI2%fI!8A2 z2Q5C}*u~LnvuNv|x6@fVzr84H>nr~GuG6C@t!({^fBGDU7R~g#D0&at?T*p20?q0h znr`6_%ul$sx+Q6?%jCNqo0=A0zwo;B)Mvjhu~ilF(^8qXgWBAYd&SnDFK_aQTz$2o z=Cymze7pCl>uqwDf|H?j_r(mIX_6H-O&WEre9yDx1h`L@J;g0knjJw=x%bv*kPGO6H!o7~->3SFxn^0Hjit~8oz zGx1y85#uY_wR;vsuD>qh==m||)Y-*se>EnF2TtfH|0euCCQHG@+RQ`gs_)*QWih9O z-%BiT%ynH>qyO%6rO3T=?CC{{-%l%Eagy|&c!E=XS?zqz!Q|o#0VwG=JU# zuX(3?a~3w;Up=RE?kVoZ@NbhpEbs71H{4tL%5dtLsegU)-lgl!SFBCYuiEUWBI7n? z+I@Z%$3@D&eA%^$Ex_L8K77A_D_;)X~g*om|E_o)-pDAPe{BOsR$xoKKYt}#A+}FJ| z^-dE+wKL_ z9{swpViotffY(>#yYvJPK0n5`Ql$7qSG}8}ar>gIkS@zbon@zv>a@ij?^t_Cxhp_- zaa&Z!)-6dsJqu39J=0>VN)}rjcvQYq6k1WQUGgmyFDQDTC;H6T1UB7ct zOwpWrE4CT)ZCDy!@jm2sx42M|ax~uAUv*C`*R;n@a&u<5YKol9jV-;lf3rqJ7gu4t zcAUefj34T1AJe+euR=@21l5FPtDoysX(ME%fxzf8cbv^sP`f^q1atcqL7NS1+ zsv*z+m+#G&{h9sIV$o~0IN!QMr$x1%e~;4O6ymJss;>`T`r7^b;wh_p?r-T`mTTZIDOdo$$gDPc1=tC=2>pS5NjJEtCU`;+5KBmmkG0A0dl-pO< zb5(yA)vvj*waj>OdwFuCSZ|f+#=zv7yh#<&;s;%hv)bp`DHhzjR;tx#^en$%_xtNM ztBboj_sM;FDkG}hpD3xm=5XGv8^=2zuz5e{WRp{tX!x3Iw7tqnX5O3R_c_-6elp(c zrO%z*^O9Zj--A^``Zp&W-u70#bbrpvxc2=soF}P>#0%8#jY`UUWU%w6rq5wdVRK#X zn~xPIy*YGiv+&;a=V$8u)+}42K0&(4P1H5?qBQTJm2%7a-yD_i3e-${xo=bdLFVQy zr6m{VS%vk728wKp{T%Y`&BsadxBKly4sY`XwMc%y>iscIFf>N@$;;S!RrYW17Ft=m z+FW(b%lozEG|OVn`kIFv({dMh#63H6QuW*=z4T)jN|P=wRTZg;>vg(ksGb#J`lEIPN-sPwPlbr;iU1&Nq$ zd$Ge?d|3`FXt13~dv;J+A&MzMxx&T8(M2dlCD6^qNl4Yi(^)K3r9S%jh3Vz_R{LO%18HpIrMI_`+-A%JYGmG6(bK{r&naL}}?6y=U5) z+k;{0VaJ@GGcVb)OcxK2*;p9)+1JU_wXSBdx&}@VW%Uj9^H8?;3NJUG z+~iP|#&+4{!t2nG_t>|YHOtf6*6wR^y4A@OrlQ}uWBQ>t zB2$aXI;D3k(#W}4BWm6F=SJNGo0iAAXZmS(~EY z8})I?YeCkRJ(|zbADz_ln9G0eiPN2WgV!@0c`vUnw0mpUcWuL*^-DgUs{7+Lp+P3$ z$293cF4dOfu8+6dS$Ui?ko3LVpyE;TwpPMBcw+RTDN)T!qN+EDa0Z%xj8Iz^zBn^l zrCiqKtmsCQsViTbEB_KvTh^CgzP6Ra`}309<;$l0;68h?pq>Y zwJzZ0rbR2SW`$^rb{)038a3BxpTpuw?vq4<=Gwk!Gj>>WefqM=ygWPtT&-gE5yng-Z$_su)Ed41dC+jLW>&)5n7xx!RPf|&o)z=~H z_f^2IiYIsSp*temmM%8WS-0a+SMu|iDK|I$)RNm+$|dZsk@74fzV?~8^sY$dTa%P* zjh$=jgz7ci^d_s_GjvG%B+wbM{d4uzOPRe@QA_y#GzujDI#{1N`(;d)j!nTbKIu+KJYkY|^4xZmpFLA39ddYI`6!akZq%#mW|on#-XgS(Z`a(@y5SI6hlb z;icHLM`tc?(fzgWyRp_=-R_GsnieLqm}H#{bGf@jaN-7+QpHc#Y@V9ws;mBUn)qRP z2KTq3?|&^#BA?xio`2}x%zD|=>-eRvD4Fy~-E?Y=x~m}f<&-Qmv%hffP>1Rq~2J)c|gy@dYmvYvSPoo(}FZPd2h z-MYG!-Q6Va%apl4dN|FNtUIF4rr-TdpX<`3sQ#r{&1rk4GCY`QlJs_Niuk_j4LpjX zi)PikMTl`GCF@AsJ;Nt|U|UJnRHLZ8S;xz+-PrI_tEII}yTfSqx?6|(s$@4C96oZ; zy>t04KZ8S-^O6=i`G3!Hb8G9|wk1&W*@yN;EQ>jdE+6)D*{tue)}Y?ay>Pxj%G_;J zEi;QEmsw2@nh?b~=Ui)ym}rzu-LAS{!fx}6ZD;=aQ_p%|Zg=Kfv)X!#XcsZjDGhBh zT*{q7U7_w@JUp6?9K1cR^QMWRxXe-a$LCI~L<)bn_NqdM({sv09>&}0UY+{`zPSCm zm>pR6r(j-%$D@C>th=I^jx5qm7kM0V(mVZ$)UhrhJ6|O=?iGt#mq)5izVE(rp8A{X z7eXW>1ty5yIjCJfRmym?WJ&VF1s$(8DRIpfOYo>LasS}^Bbeo?!L(fCjel3BME_aB zefas)rp@$=Tr?Wcow`n)LoYhN<++kf`*cMo&l|G)9*`B~}f7cWkG@_7DF zqpP!m=a<;ce!O-2|9_d+jV)~t=l{JJpA^|w@a}tMZ8d_}d zb?>nDYq6H9+>u{l&JevlZ?DSj$kkyp{q%k9!&#*rr%X_pS#Y5}H|k8!o8??0DxCca ziP2(l`{ze3J#=HAZ1?F|%N(!o(ml~7e)>XZThkk9nH1muuT)F*A9u1`kE>UH`Gsd! z{kp}OT$5BTil~HmI!sEjIc~p!pGT*&XyY5TwsqEzo?Waz?poRwZ5?RBdwYx6rPItB ztET_#bT-NTJf}Z;an!PyGZ#&yRr-Xdr}TG)e+o916?7C!-P0u=Z``nL!mYXlGoQ!P zjqilsc9^xalv6lss(75?8PnIY%kN$+D!9q?w6*@xuB-f;R(&=2zqQ)>2_{gE1R45 zF3KudbGyiCRsFVQl{3#j`w;T{bg*V+3&D3TXtA))`V6{nPp2&UhWlYE9#xkYm$tl;rPwds0;x2_rMl`Wg{<8yC#*`nQ|k&mtS*UwnK?)IKv+i!QU z?)g*mU8cUu`_UGsr4Ix>+U6fUn8UhZj5hK z!NHriY~QZbA+&gM@##K|FKIbW+ng3NMpbif^b$6lzHm~PvHW!pakul{_7hlJzrFZ2 zxogVKTRS_Sx2+Sdjro6lkJQi2^>6+kb>zOt|4*;*=-2D%}J z7uG-9{8M;e_5b5`hwJbBRgMxiT(>VvdG|ND2ao6fH7{ya%CCESdanDieR6p_j%l7% z>SFqCzeU=0V&yU3+jkhdz>SjA!UsgP^v$bWp7q$YWhg`+@A}H_q8{tv<}8+?^o^@v z^A;bWk3SwAUwODXOxu*Hv)6HLkkYk#-KkPnx+7VRy05Rdy?jVxqQjJ*U8gdR`Tq)>JTa+Z z?%BmmmoA0eUs1pPSn)O4l;Z1&Qf0jp*KAxgt5|Es)AM;h%)ZOsJawKwFKW)e$;{FX zybLPNkx|Z)RZ5TVNa$aj98-IU`)=a-)Us2#GRbe2N{P(K)ru6H|9${?t^%`v#S154_J^ksq zXXBF3jPZrbVcVoT2CFDDc>UNe*W zY8BkvFZ5nQLBe-|N8GNZj6t7P{!Y@GxKLHVUF1pYSIf7Xw{LYaDac!SZdz`D!tOOE z&Uv3a8PlO0#S|GbbN{0LWw{gUHG6GW-rm{jxp29xr@8p$lm6OHa}-to>*p>$m=*uJd;JJ>D-@;&O89U7`E`;$`o0J)HV?d5_uKj+_*W@>d>L zc4Zn*+1zMRXL<5f%ejbe*Llt^&Gg=yplC2%*LGot)7E7ZUc6Yg@cM+kVz&Rk7OU0g z@0k^}xZs{oZpcY*t(wQIf|~tZZqFw_Xz)l}?-{%KVpN#l&j~dfkNDSpJTNJ9eck2V z{xkB^^bY^O_n*T&w*KqP_jA{B-U{w}v47kC>ABHnpN_Aum5%>^j{nEv`+s#A=6&yx zuDEBM7jez(-M#XLlV9FUem1M;Chn z{_($<{(V`hzaT*8bNc#vb-9Cw?dx9TM{eGAU3NZXY}tkpG_-v9|K#5j%-1>gE)`o| zS@yQnrGDM&>x>JomI%fF?ECz5+x>kiw_kq!nK8qA@mHU{eXD+csM@=`a!S_NDuy4^jZJn!~{`V-14uM~Zru`Jkrvw^jv z&b>qb)*QR>(4akSu}ze3pt0Zmt9GNC+^nC!KQ4NPrH3tB&VD>wS&FpJG;H@v|Icu zy3YKy|6w&rxiHrL{M|a)`+pDmi?^Pt|Mh5p@%?7& zpRere>p2?!vbR@!cmLOU*f}|4)~Rc&%|2}W{*PC`?x?h-&6_W6!#4O(r->&cPS{}Q(wZ1Ly!$$x5PWgXd?7W_G z?Y%2|=VN;P0podPybSh#Uh4n+?f;j1{@)k7U&ddpz4dqh_xifC4<8!NE52O1Mb-b` zqJI-@fB!sQ|I;cv?7Nbu(r-SQ$Uk`%IZbJsJ>&h=7cQ8*bkn+e(eO2I)6f5NmXVZ9 zzuacp@cGh{t@*X`lP??B)Ia#Y=O5?t;{Bg^|4(O^yLmYK-xt+C|G4uXO6u>L8$Iu< z$+a(EKVAL5V|LKaL%!GZAB)ykNWcI2!oIj7qi0)6)Bp4LX1BW+P5XYU{Q9-4zZXrr za%-t%Z`wtjZO64Gq~9c%3Cm0q5aMZ6X{mAGYjoaM{7G=z6E05zyK) zI3?PTN*H{*@p$IJ$2ZfLNWKm7epS16-KuqV^;51)a+_8Av0}yVT_wG{LW94CUHu() z_4n%Mm38v}4&)dAJ|}z5<-|b{5Y&=gXPZ^~x})}`y+O01R{sA`8-E#x6R8GlW_q?S zszoN{|6Q8B>F>@fI;@@tr8yE`Ntrq-)lWS8Ahtka-D*Xh&2CFWlFG7p)@}(oU9_`d zrvG_UCB0-{-=5w+flt*ReooJNVOw)TOo8#+T(JoyHDX;?xwC)&z5QUR^c(pNyfs!< z){@e>sei5rxZQ0n=;S*waT?#JS5?on;_3>V5;O9YlUqM)uaghy{$ir~qEk(Z=_z;T z(HHfnnuD3or2U?u*CN$s-R+Zd>*sy{J$={n{%bO?W!KC2o48ambV6X(LASTT3^P;r z>kHeipY|YgmYS(^eBvRM7gDP-H(gauZ2iN%XsOG+T>p-kt3r)WEY8|V?u}A4EadX9 z>I*Q~qqHj`P=t-0{p0T%9{F3R-@FJE+3w{XEnYmi{_vXpFZI;amtU9^?DIU0vt>5t z_U~pa&VdsIR6Bzfx-41C|9_L!Y=({7^n$i(U0$p%;L`c5LVeSsbp;Of`yzYZ^z3|m zX2#-_^-gP#dkbn>-zkhLf1Cd8*;h*HfOaonUj2+ZAWhOl!he3S#zVd z?wg_CcaZPWRBrJ}%Rfn}?z(Z!#$i>-lcw{%iO(}P{b+lhpYI-p zq-j1{qr5`sgM3PkS@F$ZM;9sRayT9KQLpc8+OlF72TzBH-<1zv8|$sL9th39|L_0T z_WBKviZvu$qAKQfny%dwX7}%l-LpxWQAxhyd*&YO{af?iefNs%uXn_(zP#7|>-YJK z_imlJ|Id$hjc^mcK0k#nrTM>S+dsSf|3jrvv8Ub7hu@X;?tE@ylrO)tsri1@hu$Bx zaq}vkMgDtn`TvQ%<#(@T+!x>f&!GN&{q^RWFRS-E?_Bh8+xLHr^`CF*e_SsA&z8aN z@67X`ZwT-HdF21^II}OM##V;D@%?|BUahzLT=~tmyk-BNBkdWTrXSzm|H&x->qq>D zz3c5nHqgIjw4?tPwW@a5?Gdg%p+W|B zLaux=mIsgje^ zv$D3<5IfB?Uq(%WqkfIRp>u901uSNLGMp7`X|uY(NHy?M?DN8$(x~RlU5hy%9Td6i z%NgRiU+>qCZGFNyuPqwm`GmNSSZ=zW6!G%u!{%6q5Z~7I|KG&ry|g{!ZT80g{oix1 zK6CH)oqzev)uC<({-G6FT`^Ur8 zE5kmiEOYDlntNQgQ^t0aeE)g>HB09{xnnZ(resoXtoP%x2gf#V+q-h}{DNxzt4WPJ zKPH#t?%Wa;+v+2fud!#YRMkWD z*^ams*Gztu%O^bB_I5|@t4QDKgtt?Ec&9EiIH~>q#-a56rsvN6^9zz>4i(gpw)`^d z+_tZd-}+N_{9dNE@6TV&yqhwKHpLw)XX)N3b={UcGdD$i6YHd?-l)H4uFHqt-S=#V z*qTlCOj*K{`}mhQQ|Gfa#L)N&uN$Sq53~1Sg#n^ zedSyB>9ngCKjVK!p4C3p#T{K~F_Wx+ek!g}Wyw6ff%WtykKRijyp|dZj>T##>1?g+ zzU0xnEc&VTt@q#G*`Imw!)v0oOjOlEDZX_k8k=>x^XqG#x9|D=c7M&o@5=%NPH(!f zD%9pxmh-ZprB31QbGBU*V>x)Vt<<*HtRjTfb)wWUqwYs{nb+^y{_$t&`U*+;|5xk{ zERC-VX#M`Z>t}C#_1?cZ&pv;e6~CkV|DSis-#*Vt{IE5@w!gpjh3%d%uHR}GE?&F! zkF7U#IWT?ikFc_L5-HF74i>-rzA*W)j73pX@87-I zdhzS8|NNl-zwPEvk@{~F`Axo6TmG%Rd#Cbtug%8ak#ZHk-y7{%Ie+qE;WKA$C0mF@ zRLRvIJso$(pzr!8_qlKLw#x=S{~pQzW1W8bsC&Kr4{ME2 zLHCPy#@KwBF28*5)|spFKAc$GUwnS<_Kz?7>pOmiv{lFb_fuP*zA~)z&U6bq83EWj22)328Z!w;b`1a)ZeVMe6h3;Z0DTn{1aH*BP+EFp@j+|@f!}R$Im##Sn@8J#% z6G&w>U+~)MV8CatiI?W>Si!@WSD*Ug2xm!beDH_KDl=DwrIl65Y|q-CDW2MzwDLy8 zvxVyV0Y@h2Rvp$>pA#MZrt{W2P5tDXOUuqYd2qV=?fgcuikA!xJS`1#&-9*u__1P| zy=rj$Hv=w%a1l$B*J;}->K4k~Z8TbYNM}3GkAuH;65n4by??#iZC;X9zsTkvN8=jn z*Dj2-`|e`D`G)XH+r`a3OKw+w{dT;wjQv0!Y%u}*rSP?}k+t)5xEDQ_YFh68?c&Nc z?rW>{J+`a~DLt}G>`DNO>Ewm?t~hPnab>yhWfxQ5yuP0|XX_+Jm41?)&FN#`t)La6 zU3q7o!twfV!A)mld3g91X?Wkx@82#|P=Ehmgx&)A+t0n^w#c5^)*;*ytHN$c0TkTSZjb}^JxE4?OV#8?K^K@71#W^Q;2JMOcS}Ahf@Qmr1 zt6ftwRUT@*R^DzD`az)g+a$mKTS}8Ix&+*4OL?OtV`aba(sGs+(PDaz3nKQGFt7S{ zfkAci`yQpIQy&y@U-~L_WsB9K>#n|=&o7_2-Qbe~`)du~dcB^Qxlud)3O-M*clmcK zQ_YIua;K%;hl%#=4_;hY8Cw7USh?KOSpI!4o96DCypktx`=(_coF5wR*GcdHKG8n? zexvfAPx||s%>O>BO^+!HjQD-#`Tj%v^}A;8Op%J+{(Ik+Gm$nA;w9fo^tMPnbGU3= zJR_}l?d)IS^35|Xc@96RFSq;RuDx%4q}ZmC#OF`BHm@J#XV}l&GWnW^k0U;Xu#n*L6H%gz5n^On^cjScnr@>`C&G_2Tt>aFkNEnS{&k!vzP4q(p)xA>nqcQ6Yf8*FONSP z%Y445__vM;7ay6B$ekdr6(!c~y5qN~w|IeP)QaStEungs1Oue`9$tE8t?{N_ zpS^< z=KgmsUez&EPOg3Jbb&V{lJV`U+-Nb;UyGP+N|!ij<$s#?+v>;e^}Pml!4rSyb$@*N z-hX56-1))Au62p&Gm<~sFHXC<;g#v5MnA4+&)nAD*!*zSdF3noiSv#sAKT*N7QDOT z=c6s#^U^tTHX50qwGrs8zvtz?Ml$q_;oQ6B*EBr$%OqS5-+%hT>-URmI1jDY(I|1r zOI!6|qwHz%7u`P!s=uul(%kxLYxI{Lv$lQM);(qU^q^ALtF1DHitI5NomPwZnf`|V zvzmTZyyA3G|^qNGDM+HBs(_uJpr-#NE9 z{=ZKDpAXAx-o@`fSuR&QNB_@X^>CMOy3hUp{ZcG@TifUVul|4U+i0^z(rnxJe$qX$ zsbpIA%+(X$1Z{qE;_=o?7uL46?)!DqfAhZWuNU=ytkF9Bz5b8N#DEVydH4O_SD&kk zv$j0dIeD@6zi)fxZ9VhL+27Y+Z)Rbxv-@uXRYP z<;>h|^8+v6{IhfZTd}x=|Cj&&)cSs}RQhgu!94rF6}tap)?Y6y0D&EH1udsu3w*u8 zbL!u71Gyd3Cz}eU?MeBy+2xMns*3^-(`)FoH_UQ zgoNx_zrH`qvTe<;4LZUbF0T{I{?~bFX7IW@uV%W=4bpSovw6DLQYM|wDcwhJPj?UA zx9qQk{{57P+tV``z-2rwdNqyD4ydYu!A*ZT0cfKJV1cyC8j0vS;c` z&QNKlS64b0vs@8qUDFr+@o~RNvXoU^|NlwbBiG;L->rA?YtxI*VRw~QpAQz=yyxjY zrr5`&`)U`=?owPd)9Ai^k#_LQyts{T+pmXk{VBRAl+c|2+tT&))2~{gp|OIYJH-?u zmz3U~>od1PtfV){(m6f7-hT38XBi8f%h&B4s`qT&xMxwthAcJ>xo7Ea3)fw|bIn)H z(pN8c^}9{x9Zy2_wR-<1dGg4s+`81}E#i6J=fb|c*Q%XUs&+O!;+^x;BKn!>V~%&l z>>NG5f-^h}Zp-a@=W^=k#(>@%!o^ot#cq9jjCrofZ!6E#tR5j5Gz?9_kR+f z-S4%9b{}6yf6&hBs+wAU_x>@LGKs~@E{ol2NLZV^X9;tg#?W)KL}vVfE_^S&DvXCK1Z^ZV42nlAa;&&AqGV$u5iUw+m7Ae1bA3pzQ6B~RM(cY&SRdE<7qMNtLgI& z@2Q-yX=$RHqR$q^Bro;j;l5kC%x`OIrFtLU@`f`wB%)$N@o9;$xkZ|;d-J-b76x=| z+h!KB{m_#qBGXdq8O6TNI@x6B_W#$v?pxoT(&~;rkBMBqeEWLEAie%&J(a$4J4{PX z9^XA-W_sBdi?tu)MAjcVeTYq8OZLIpzv>n-HycjxpE55>bNb2+WUw`tOzQ5_aZ+rquyS#YTgp~f- z)MQh1M@+@)_ll5ku5iiRtp%413zUyO5jlCpV)Ep}F0*cLSR3g^ z&Bf2pifqkYB4jLL!3j4^aY*P9y{^R3Gvt--?ZFhvq|IFcv zHz*35_%UY6XUS#9`5qVk?l@9?-Q>IG)#B?u`#+qlb6VbZGUwIe6p{7+t0ltiv`#E% zdC5^4e5ShMM?%}S8BWnY53lTSw0V=1y#2^@`PCm^{FB`F?W*VW$uhI;`&3SpxW#Q1 zsNc9}Tf&=F(+YNS2b^y-J)88@`L)umnHoMyJCiRV`xUzS}bF)VWC#!rq zy!>rEgZIQ4d$QG!dSzX$dfe!jqS>W!Lw}pg^q$CgFU|GWT!dP+Hcz!W9sgkEqyudo zo{=}UKI5CJb$wk&-t}c$F7Iz`js5zylXv2$tj{0#>+3c>`~G(A*$UgTQ(u$L9=rVW zWN@{nh&RiheOrH@jS*V!t~y(LL-zT)e?Q~*pOk*LzyEjKuSLe&p2z?HYn^j#))#M`ov zE}auUTqh^_F0py+`u2Q~z}^$z_enH7OArn!NEOczOk#0go=`LG&+B;4V<#?7x+dtY zc59c}j!fyc)POZN14Y_)Z0itJOu2rze$L$X+}aGi-F|`oIn19nZGU_E=tOSC`P(mN zJah9;m=${K_x8Y3=^noGRPNpE_AU$73c0bvXNiq$V8Ox@Lc0>CWfpA07t(sIBAK+mw1uKt(Y2@&pyh?d7E^Pj1fpemBlu zcQ12&#I)AvxsJSU6UDRm+>Vq9`NRjsZ+dl&d(rvhk5{V~iEeIrVt4L#{`{vaC*H1j zGeh?7EUleC->lnR@%CGsnTfnhsNR_#m(>|5#okO|79vhxSA?hRpXUC#w3>ZI%IcEi zZ)UBXwJed<=12M4LoaS~oNn=o{2HLA&&eHk@ahHOKO5`$Y%Yc^>$B|+(+e>6-L?IW z)5efTA08g&;aj(+`)T;yAJx@~iF1}s@^m}y_VG%I(?u~M;pH6LzZ;ns%~>|DG+gD- zra9*WPNiqOeRK3esn$`ZyWDLyN1upvnO7WKl&WUvwP!7V!<|1SCr>^+W+lG!8c(Uv z_MD|sypEOMcI_!=b*pE+qgU{JnP>Uj`pTYfea6>)L}QflJdbYS>6z8{K&Z27b|&|i zpbM;z6z%K3#UJlvNh$kwyXn08ev@OpudP=8WO;W-Y|(a4)!2CokzN8}$!E@W_W0N` zJ6yTlC$Z&pt49;}=~<42bB|2;+8wNVzDReTr|-gF^2^P)FfP7#afR^A`gJc>1o6L4 zmYuRneWtcw@>N}%P5h>Fox9t@mezhZ+uLz*jaP2ytQCcA_j9e9u z>SfH!S#Ohz4s3l?zFNy>{kr>|H=oS9|9jfbi1{Zqcg3xrJi~jPkd~{XgFwul_x1lc z6Qu9u+`DjG{%`;HPhHdZ{y1~qsO{wD`u4t$Gtbvgbz13?UOmVDXY>8sC3^c`-JAa5 z!}t0#(shr&zj*)lS-$;G_CNoA-#aN^_bI>f={Z(aEao+kK(}DNH9_=R4moiJN|7UZ8u=DZ5xW&o%Ptsye-W-`2kW{AJ(s7cX-j zf4}$F>|O22x7z)SGlh75SkydHi3@#t?snc2+xLI2n!YYr=Nezmo?rVo`{(rf-~9jn zy#F_|{#SRum9R9pH#grqrgZs&lb?@G_J9BU==S>sk=K9Le|7)YJ9mAA(HaT;Co^Yn zQU9nrmo;R*U$=nrhVK%sv&{|D*VY6~%Qh0Ubon5Cf9aQ1)+;KVPHg_%vj4Bd=lwsQ zg`S?@E2il7IemZAl=H!_-YR`Pu(#x8q0K&Tf8TrC^W{T~u6)s2^k`X>p1^x)6~iKl z?YEuxMI}G}79G|(CHZo_=DlA}4MZ=`n_2T=osxc*cU*}z*GbJ)QLSIj?66(Q;o4D} zr!e#6#=^(PMBkliODuSBfKlUI@Y=8yQ@kRU_1RzQ(csv!F8ZxouZ!Nz)^9a4=FM8Tckx=mOi5nz$D4RwHSJOQ8~x!| zWmR74l~{j|rDt^&Uqmfl_VlIF{JgLgVqQ5n_c1%#RKL2nC?PW?ePfnY(~5+U(=NAu zakwN+FWsL#%`@poLbCM7d%ha?7)(#6JgPq-$KvQTMWyL%?DMB=>t>4zsqM#DS!8N-Yb?uKRs_XN#8Ixxi6re{Zr-TCllR?UtO4&pU677+UVcG zvd?|(afeo(@iGi7+1bH<=f@JGuCS%grQ;vn(BD7l;+vqm&y2gLWIvv)dPuHQ%)e_- z_K%*^v3kqjXEUDOB&C`$?enjn^O0u%`puxPiM;~%2*S$%W|2?Bv zVxGL3ns7<^G5yz8Pj@-3o#o7PBmar6BlE(pu(HQmo)wFv?50m&R{vXVs`M{SFYUv2 zItQK1d0W;-uRLA0WX99)g1gRypn5LLES>7U6}!Qch3FPowsn;PWg+fi_X7h zX+GF}Z@<^lL!H9M4ePl*PyOWCc&$t%Qf z(Frq8xL6upJ|4V$oAJ!IOR`RJB=PRAPMzYmGr-|%)ki&-9UhxnPOBzlNxjn+3Eerz zX`zRLghKj~8OCZGk4UXrqBMgkEqCRz`uW~r9w9u_rVF1A^;Pq>GOm(!4CSl}+0)3O zcl}aIj7Un%rtZh?{K?m{G&U6-6Jm{9KmFUcGM4-fpM_2*-YW|5OrAS`QPio2+_82W zg9#mT~iw-S&Hv7lRVypiVEyPg9o*PWcro{Xe1mJ8N#sz6|M~tL}JASxV%LRgN zf7tD8^4r{SQmB;D(icU7A2nR|8aZxvxuARTO{w6=4wGu%njj`$`=02z2PU1bvHP@C z>*SlS!IKhni^Utx)~_|U;$LU~+(lV&)}qAc4i+GAtNXC%G0(sI&fPFDI1udrUhN)R zl4|??x2nCi598K^X8zzY;=hyc?k%-5^yTfgj0uKCE>8sZ$=^C>T)hAD=_@vhf2KLM zeV*+g_2|&1(3yDhOS~JfFWQ zYhL`$uhBAdq#j)PQ{|^RJKQy*Pi3~G=dG>lLQWS?Bcox>w=c>u;}o-FV1Ay4L)WC{x5!rR}b^A_5Y+A>lg&XNS$*IOo`nM~3x< z-Yy}X6Lf?QESfdrXzX>vB2T_PndQ&;g!)`MO^$Y$yNA0*Z95*F*}vV$)biw+GZtP; zM71i@{N$G9{(X>o_y1*O)8~_ed%xr|Ld!rCYt0PLpsA8gSu@_t`hQ+Ed-ex*?K_(^k95v7`ks@$e96@n z5^*Vkih(m!0%zo`S#SPJ$uBMUV|CyXmfd_yAI)EA6}(sL__Hq`^RMc<1@F$_=T-3D zn_?QixGuH6{6_zLvuDa{ds0?S;bDyMsa>ldbD!nWzDhMC_H(uF`kED2wk}@tdFd1y7%S z)DTMYRky4Z@;}k15F*05{(ATI*Gnh)CrV1`#YkM`n(D=RRb1iHt*xi-R!@AYq}rf# z%}}TDaB-RRq|}+!zs|{qM(T>6T$<+D$1m7h{-|uVPY;h^U-@HBmkYdeWv%lZri8uv zZ+!W(kB^_(HvQ`Qnh@{GqL-B=vF<^4rhJY(w07?5ZINfr1g@PT5Mz|3;iYk{O^RcE zM~ii`eSzndSS#1!tsK8=+}Z8sZ($40>Ei$V=qvk8iSxn}4z4==Wb0I>-ptN3&lb;_ z@%G`$;M+4#n?tJ z*~iZ(;mWI)!>bp2HXT%WD;vAxuH2@hN=>($Uwu@V<8HqSK(HYd$ykZ`db#M_1g7kzeZ2@R(SDAz|PVyv)24)*0)91r=ETK;b%?7 zUbz^(>9+q^8;f?{*`XGbn-Zv)qxoa`bB$l3UB8abZC>|*A^zt@o&6tQSqR@uY?^0q z!N+|`XL{e#%uL4qq)D0{bLOntu=%|Awj`x1u7}=PE!`#G;#XiQEMRUFyzzI)PK$2q z^ZP^i!v)+I%v&CzW2z*pAHuUZ?|;lG1I>`&CtB(Y?R;m)FVU897f>l$CGQ*RA@Vi! znu}fJqMODiQ>NGXG8(hrxU4MlzKV1D4qrya`Ym!ljkcc62=(+|!qGZi>2gye!_`Yc z(yzY$(%Q(Mvv7lfy=!o^c$bQywQXPMYN2>@kBuQJ_ik1BO)T2@?TU9bcg@oYciWha zpNoe^o=Ly($@3BS*0*WPk9ThQdO>8n>!rEY&@#6v3qtiSah0&Bc1@Z+Cs29uOl>7y@ssuCIos4J-sZ zlqHvWut$0Jtkj~SrhE7HiB7!OZE`fpOgypkwObs|y#$tggQmQ& z3!7hh7cs^!Nt<~_dh+#@dfrNdSdif%qX|1zeav*P)s z7C%1&(eJTWtWp9OF5q5~S1-7E-9^!N&%5nsBv)u1Wv}1b|5aAbulIVyc4McNlTz)L zCu{wNDb-8A!$(>cd4;_Cyr*-$HFG(ubljA;p zTs=!Pjr%Z%UUS3l$-A^0R>v(+f3qw~_+*$*R%!RQ29K*2M?>;{G+mp2Zt9Ae^`<44 z7X|Gto4Z#Q)UE{KxF4Va#ZwQao$WctFPPD*$b8X2!q;2SB1yIV`v;zvv#-ssb=s{{ z8@=viddbgy3poANobPWse=%dq#xFV@&kYW0JfCnkPsB6J#op|Dj*9?`$y%@D54;|x z?DWWtRQtU6xS{XdzDDWHk2CLVURQr6dHI{F*7(YE=a0YFOkA6|IX6dD^%bAV zNp{|b^N*VN?s^<6;_X^h9cCRPXII0)P+#!YBsVbZg+zqx!im0TC(V>RY*hNIe4mKp zi(M6l?mQOF4{KUx&thEiBGdPxxOm0eF#DTH(u;SRee-v*G!(b;6`5dZc>8SU%{;mK z=YCG}l$h5hm$(amF;P92b*k7>vg+~axAD_bPl;{OVXvIUyYDT_QPsvfCcYt;U09=1 zCoq>){a92GX_hsETXA~ncK(ZR7c)GFp7}1S{P&ERX9efaOf8N-&vkf(E7L@c=7}1+ z;u3Rerue9N8$8*qwC+LI6UWZdm}#X;*JfW1w61^FEj(90vC3zaqW#KGe^l3=-?Yw_ z-?smatFM1>@0@zxL?=Wilqn|#|TOQipe zvz70Pa24_TMce+!?b!16*CE>#+X9STT@)T|k3XQ=&DoW{^6ty>_7^v*d$KAfrPQkj z?-X3KYp>jVAr~>0V?pBbowKzwK}|0Rj>(i+_{mCDf+vZ`F?XHIhX-{#z8_7Qc6G7H zC#zTgo+r!<(7gVJW0P^`#OcmUSPWvcgO471C~&-_o_Y0*g;CoUOJzTM#WC4o4fEYC z9_M_6jeTcX{r;#c%*cD#VcOeT3)@MX;x=oD7O%L+(0azE(Ze|Z)}%a+sqATYpR8s0 zmwIvO(werJmFu&n!B|nB>s8ycw}#1E0}pTH0kWV+TR>( zOz9@dmi5xzhn~GG)zhC=cfYL7n?0;H{+ia0ntM~{-+ed#_r~O_x?OH^C+9BT|J364 zt=fpNj+;sR$K7gdti_cVuNApdBx+yn#(vW{>w4;&KD8S+tlYwbn<^A)kKWedQVPpm zy7N@PONO&W>V-RteH$-a&{}apK+m?0^|ES^u*)g#MZV|iR|J~tZd&HLFDt10_Qbr> z?fsH9DembU{XG}2U)z<|vUE|!jSKrFW3SJgBcndkE6(uXr=XRQYLA}^Uys?%lr!gx z_4Uurc{NSKPj*St6odNLQi}Ueto+GzvB6D4X2I&4=Nl*LSpTm5b3XpH;?$Lb-KE7w zbJKOo>mEhleVg4e^@+cNhuFmzr)JG-@;>sMPoSt>FiY&^-}{P%pEP}POSjbJe6X`J z+soPTv8VsY#q<+=H%%A19<|fITGe2gXl&qf;QpCy73SOTiMktmh4}U!sDB}nb8ns*$uNED18wl*k-#2wF(y>sZ`#J@+})gHF{uM^Nd zn!uqs-(4(4DU2g>LZEy4ik~VyVYhvb>|l62hubkz@MLOn@0a|*NrAPBtD^WkH>uZ# zuH6*nu*qjjjnH=UhTGy%iuFNm%8Gn477pIU#t*1<%A0NJ=J9%1#b=NCZLrbq6D@C_o_kX?XplEK_ zyl3xh4ejdUl$I_GzhKJiz5Q$-6L(!DS(g$-SiOkOQ}FYn1|?`K~kaM^X{M;CVG<#%Lsj%scS3X$_aF6n>UG~mvp za}G5<_cEGz*FFx{y(N@zZ$`?!88M=IYJ6reckbQQzxFNCSQCA{Kh$`}%$fD7hO-?)ZGY76%YJ4v{ngIwb?+-v!x>H{(<-EbN!ULoDTau&$-wbo@{?O%lOFbm9HeVUT)^zxM{@& zu@_Glwx@sC<=VC^_1zxDb1vUhJ|AUSzi;d0^)>Zf*Y_`Jj(jjNUFc4!bITet|3wCk zhuGB8^y>exI^BJ{*!13^Ge;C3>E>oEJ9KbmUe{HPt`!S9xF*kJNOeA3k~Bc)0u^--NpChsQR(d42RdzvYiSzF&T_51IAtJhQ9i?`5#(O`o3= z>n`My)pg*A?e>WpK5?67yakQQgYk!&ha6L{8|GcDZ=NXZ@&A@~XYG51$kPf+?I$EG zRZcelY>Pj>K3YUn^6M3z#^ZAA3kuH1X1u;Nfpw->lD3keK6}~RQ$IsXwLVW}*cGOD z>xz$_srT6nf~nCTHt2MpOg{gJ*G(gB63ZfO?uT4WE^AhD`d$`@U9*By^Hi5?HDXaZyQe-);ktlUy}^@bYt4UNc-E)L#q=<(I%uZvT+6eY;x-FBoqAX!{)G9R zz2}cz`S|?952lW;*+q8F3fCOZUXZljH9ewuPL7(Z=KO==JqeL&OJmsft_r-YB~jIx zQ2e}-bLOVgzA?G#3w5uq3c2IuyhbIR+vK9hlU=2M_Qiyp5fa^eq&}u-+S*#_9eeMe zx84&hGoSb4o0KWSn-$fJwU2IJwX&d~h?!m8oZ*6$$K|^whaFy9*j_xMx^?;Mjdy+S z@BBRHH1AZt3vXo=w6?^B?De>8lBjs9a%acR8BTG+f2ORpa&Fa9pJ(eZ{l0U)KmWeV zK5Z<4%NB2*+;`4znegT_KE4mc>JLcoGAh;4Z&_%%sE=_=*WX8nO?*@$l_WS8#IYXM zj10;6dehBb`1>8Vt;;5!>5ZLMs-4%GVd7;r{jksN-=$S053Z^_>wX-$q9rEg@%uwf zteZo(hwh#rm3qIRGxzl$o-LJ?Zyc6QjGL>YD)FM@=d%)1R_qf0= ztBbzLzU3dfms*7_-MhE;Wp~xw97T3F(f;%OnNmNLbvYK@efDzU--s803j{EPIN9YLlZ&&hKWUO(1a?-|@M^iQHXR&^YYMZe8z_)2S z-}5{_J0#f428mg&nxM7IaP3sFO{#Yfmuzco4wkM+E1B>zhTGIz<%zBm=hn}8&KG2r z>RyQKER{{kKHAn%tXAaK)next(WkguFTQJi>Z~igdmkFzlgmEz<=0FJdG*;|4=1YL znRhi={lWLk_wMz%hkB-NdQ#6_xhGD4l8Pb+Q>wq6n8DU;6}?&K$GuMH=BHdrmBJvbk_oAm8_NikiLO+|%LFK~r36 z?BrXWCRW`3Z2m7baG~>Cg*hHcEX^rjL|RizB~k+uy-%Or^21sq#CXQE#_*5z!5TkL zi2Ihwp8Pl~I;rJv9E-TfSDTq$T?>vMotD@7?3vZfrjs#tF21)MWdFNv4K`-&^PgSw z{6O!U+54Jr*05aOWpjLu>WpP4rz=0vT=yfBciGK5W=`cMjy6+LwX&y6tlW7=Mo@l% zR*T0{?+|9)Gt+A|f<(77oaqw^SZu;-9ax{LujlAszE$*5wAEzA>1Ts4nz%T+Oq%=s zTDtWAg#{hDA7{^LegrNvA7tqBg)=@s`NeAa+P!ntzuWumFn4#^*1Gq=y=0Hco?P#% z&0TkHvq~yDXrZpuUeMeB==9RCt2_3Dd|Jt3df8#hn~W*TB6=Pl?|&R8Aep_aGutu6 z!>^w2v5*Q=qe5$rlxNXpk^KhElCDA*wi>nONV#yX4Ntc03yrPIWcCI*3Ao;#8?k!9^kUxc z?+W%zzw*RjZJhlg6;maT+12L8d)^<{=xTcOG4X|HN`0uSfa{$&`>M$0%k*7Oi5PvJ zVq6@u)#zSAOGNtrRc2Pptit<_&YI?`+#ewN;n<&?yt74%%Q-UBdmpW1alULP_xa6} zg3707H)d(^2Fo?%&UNP5(zAJE>7PB@Z2#<6{m9Z>qG-l7v-=h@R(|c?B zLxD*uhDO%?g|9^F_uB4#ZgB77%$f7jv}P*BnhG#EzSJH1tnb#kJbG>(|uo;XbO=n6N?6ab;Bq zQ`iKjjUJPKpIYLn-!e=-RRJ&iiZVj!s zx61>K{chh^BYpf?y_={0h1*w-ZlCY*Y2WqIOCo}muRI#9x0OuNI-hu@q$q0EPcN44 zR>Sg%w`w-Mcy=?`u1~Edr043Pl+_hoYke25xTu%4$YXN7Sj60U@27qBUKhT5VQS0z z_q(UB%H02^%5As&4*9yOUz5r&)kofM_7?cK)3)UJpDks1i`0Md%vv__Y#L|#VU0Z2 zy{jglP3z>s?7x{j|e;AgSJ5!uamclXNFUG#qV%r_(U^Ay+Ko~g~I zO-^FdpMPB+6V)%XtEN=jwKvCXyVH(>)mlGSZfsk;ZG(c2OVsX}QdNCd>i4`oar@r> zw@v2a9iq*t zUzTZLZQ7P8)e^N!YMFIw2-E)a?i%%%j@&tOMDli}TCi;U>EkaKEp`9)c&G9KvzzD3 z9*U$U&w0Gr(QjT*McJm#oxe`4cyLtYK}_`>De-uw$*TYWArP7yyPq$8drp1bW+!~N%r z_inA9d0<)Z>TB0UK3@>&4%8Bpl$CbAyvaprb?}+e%}$%lwx|8(ja8T8T>s%fz# z>wRp!52_0BmpqKSani}3ee+Vuo>_IVed3WJ96Ows?6Nta^J(H@59w{|BGh8%rEl0h zomrWw|J~_Nlcd=s{N#?xuP*q!OyT~`$tqGID?+jz80znKH3~Sbj{hTF>{(Elqjuok zWJWdP)xo>(t`llrD7@!Wo6X$9?xd|QCo7(H&0jt*qv`veH`z6{_xJWn?MP3$RLXsY zk+;v6Y4V3tj^?)e^4AI659#;%z}5X;KZGY%z3A4D@&YK>@yWvJ>3PPxv3Gsu*fi$X z&ek=GQmA(q?J4HyYs)Z5SM5xg{nn)Zo3_Zio!nK)({;jj?anc7f9jOFW@YD}D@`29 zuXxMz0>fV1DN%m;GH}t`*LoGvOKaMaie~loT1!~(>0j4tZn8*9yz=d_8s`;%`jhM8 z_B*>z(%EfxpLLN2*D7?Vmww&7>LE`{ULIdH9+3REBZrG~Jivnci8k=j)u)5vARe z<}F|H+*7Z^$jeP<9{BwYRccEzuZmW`h-wOB-d`}E@ipPc+H$9nHJ z>D_)8FPpR|>CN5wCwiJKX}lwD{AWhuP0=J4302IuV&d`u!V~=`O}%_7goh@ zwNu^Ua;rJkqshg$@um3Pg1fU9nN&s>EHAz?E7vf<;Ed_9z}|;f9PgFXe>an>s%Z1j zIC1P<-KD20>-T+4J9bHuVcV7}OQYyxMY(%^uqz#O-R=JDzs=jk?>}CNhsrLr`TlKg z((hkP)21#>c{1}%Y^-49)RKEux9bZNikNS9&EM%Ha(2V<3pLSWYoMPS>&=tptbs)(uW(5 zGxq;{Hg(++@x~kC$?sNrn(^?M?CU-{OJWl93Zse|#x(bS^D{{-j#0)-f5u2uwa%Q} z&e@{$^riTS?h9fUYUIFhsQtdw2oa`T3MlY=))a9n@@b( z%Fh*7-{(9O7afy*f9w1!%j_oT*L|`Lu`+bne5Z4}jN&zs-J68}7fn34VERgj3AV+W ze>SI^-P?JmCUgDle7>8i%6;d=D)07cZgZJ_FPTxko=bK5|D6Jwsey_y>n?x4t8Vcz zdwuFM-5!Bko$g^DPwW%@9cSp(lh*%n-EZ@c;qmiTgt#`Y+c~{m&hCVC{5H<%Dj%-& zu*KB8D!QQiP)zjS&-Tr4ymejQRzHz4FI&2!I-#dS-SOm!$$Iwx1=roSZa??K{A|dK zv$yq+dR^71c4M!fdFs~V*R$L69`4`%GNQ*q{Auxnu)7(eyze)Cd=F`@Ja|y>w6NvW z{OWU0^VI#3Pd|L{JTlAC;ED3RD_#mkiJB{Rt()wV zt|5B)NwMmdqIui;@~Wz<1YBnBef;6S{mw0a7JAwzojtHe^Z2h1d~TO_Uz2OEv;Gt< z!g43CH7j)ag!96^arZ=SZje%*b+yyBe9FY@ch1HXK3ml}<*jV)dGG)HD+8U})#^`t zFPm^V=XzfM@%E659X}uWJar4d@>C}yGL38Tp11e(98t((TxytgoB(t!xS-AlHy z+!gZLdSLm!*NNMC8=C zX{Y|24mSU6T|RqC$?lMjveqNt#jUy@#|yA5udiF)3;~Bjj}-o`liNA#TySfWq#*C< z`j5A^1WjML_Wf3Mv#_s|Vh?EN@z0Byn_zI`M_yi?oDc8z+rB$zs9(8Lc=GqVkL{dC zZv`-?ueZD@ez7v=i2qFigI7xHVx~!NYcuqnT=n;iX2PyW=TO^!abo)E;n6su zrKP1su1oWni1Zz9y-8P>Ud`IN_uQFtb@pL#nYt%krxhlidwe1B{h2pY(&wd@J)8A= zpZ;P;ceR-c()@z_tQ{=BIDc1f*tO@y*JF~l`&Ug$RJl;^t~dSgtB<~~I`|Sqe0b7! z_pL0P;F-?R*E7LG#ZzUH#FsYnCCqDQomYImDP@X?*=2>z+T}%F&gM_~W+vQmO^cb5 z8fCU&=lzrW-JV^TzWQ+P=Ag%uF1+T|u&mtw?gHE1c^N8A2NN9Di=Rl_bYxNB9X;{H zQjW!OF714Z>(%Fn3)Yt$IwQY&RZ>6-Pgl>XRX5H)yZCW&vWm>Y?c3W6EPPDNoHRt{ zd^&G0v0(f5c83HG*J&GPtc_S3mcz&1{MXi_t0!aigIV^?Tl&S%1{`uynwai6*CFWL ztSx81u-Pus5b8bJ;rjSQSJUywGXpOkO4<^bxZY{~lMd6XMj2rp>4()z>f^;rstzZJXvyiIKWEZ<4UZ8@Dub6CsYJJKmfzyXDNu zr|!J{pqdhI{?ldZds#l|9)0QkYInuuCiRm~g^%x@II&M>v-aUVmqIP}MYySGMn*=- zD+=)o%F6zCKmGIXjJ=Nc(*Ml2`z^D!KF|aL-nu^ix`Y36%PI3?35K0Y(Z9+bt|;=W zmfbn0%Qb$*;*5*4J)Z?%j_Nl|cbR`ZSkQdJ`Bxt*jf=0W}xh}bisAy z7yR!S&*-gM^H!guPx|uIEmJg2rfZ-0bfY=TY^uVQ`>khV&DP}>?YR4H(qoA`dpYYx zBu(eLU*VpS!^gsKu;FCV?3@ zVZdu6MX57SPA*>YsZM_1chUQcK5;l^GVH(7Tp#}`(cpILBCQuJCnhS-4`#e8C}_Ys zw?U&TV(qnyx29UL%&og*zxZBAOj*v)jbA;y`nGMWta({ydv|f#=`!IxnR0KWzMhlx zig?la$|ApPnv0pq(ul;(H#?3ChlGZo%h<0oR~AuT>+`>L=H(Oz z^{*c{{|_^=S-0)!RPONNve&zWSDih3%)-vS@A{wCT_^quT9+xdoxaq5Htn(!+wxtW za_0X`7X~?l!R0uUIQcDC-kWozK7Fc@9o)XPuQqruzghj?+cUIX_^l4J_1xUJ!Z~#A zoi)ocA4Cr-&;U2`YUx7+T(PtocXGeZ4}liOP6C}vJL~$$-BY-qy{Y?qe&t@NXdCBisp{*W)qgnt%kM|s z8-v}2uXCO>_!xCBNi&G%D%F%#6OWwV*%;CnQC4&?Y-!iKj5N1PdoN42-rr-;pP2ZD z_1;wO@b}yQJ^pxR&MMtGmmVb7`ZF{9zgH%8J$@OxS*CadFBJ49v-z&5VSZ>RyD!i! zqA%&X_>p5PT~3{B@eGv}tyekDn#kGIpfdeh{gw`;RjU*@+}CHpBl4lNRclTU`I&paFSQYV*x_02;8Hhs?0nET6#6zD zTXDS=3G#7q(ww%v$gn|E_(!@?UnNky_=_nK#&Pc~kfR&qZmt7n3ZOMsMu!gtZjCxmx#WW}jY zpWYv#Rp}R6Z!r7Jmg9HU=>KTlut4Y7CNbNK88eLXS+#E^C|FHnlRH0UFwuD$vcE6M;^)i_`sWU z%G(zzk+F`yANZ}gc5;1cW$fp~-1{rJC!Ev#^JwKy*NK;MLUxqYAM94&p`!xv$O5%c@f=fQ=eVS zJR_;Tq~!h5`tNFM%-H?b^DmC`PuMVh)2d&br#)}-ELu6?*XyF)8SeuE4r%M$c*~8SpPz58{atqI^r>(9t4;|0s&%=Z5N~}mM8JcObR*ZyWx4d;45i6l3B^@>uYRogm8>3TIMs8yMZj{S%$#K>>(8%KTzYtp zkYEXu*g?mV6pqS1Kj}LT(W(5oQ*C2x>Unqn=`CqrCDB#Qc|@&z#XZpiM!h&m(NAaG zTC>7uRGnuK?NgX~P9V=a>6!cwW5Gu*%jV<@&yD!(r{ngzWlE97j*<^0R^FjYcc;u+ zbfSZe``|={lP*lN@16_SYf3M7R;uUTn<#uRMfK@6rx)9QDqTo zeo+$k$th9tQ((!@jnlPuS*2e+XBWfCDMx(I>nP0Df3yDRiVycv`vabG>`h!J zT7OsB?#?xpml+SgXI@`Vc*F3gZLS@?-1Ieue~O;xkt=BgiGIeVQYHOd2?-QRE6e>U1R?xd2`ahY}B zMW4>$V|R9Dd?hXAwe0KLim9hoskK#EcRMY;m!mkZoN(Sq_Mbco|;j?;yTel zVpDrb&Dw3QTh!~#<*)vG^|gYd_3#T;#?424)aEM6^*{dVQ2EvGui(V#;`I8daY z;mOuU`@WAWA2LX~rf57{TD@e}Ll;Zui$+Q>J1=HQ-i-dcZX;~TfJ6F*rgIM>>`f$9 zwB{;Goo37Y@M~pBn}PHaGQe{vuLOFFKx(w7kiAgSbk2){;aIk{J(G1 ze9Ou*dwWcXV`41NzY6{$KdW`WqvJvgSzLT3F}j8c_^PF(zS_jZWc6i|lb=bzyLAVa z-7;{U%p!h1`M~Q%i|h4!&ll@yElygpj%#j6`#F*Jnvy7`r494Byk}f5yH@ml+RqgC z>$!$nd+Kl2f85*Xaw>H9^bNcIKIt^xr1bUOv?R}tIja<&s%-M&at-af_0P}rUwnRA z(x3PIp3`=Izu*7yeEYlwo0rQ^zwDkJSIQKV3ez=E}F%+4uKzPR@AZ ze!ceJg#EkA4vX3Sd;0!TK=@(j`hQ;;r`Nwb8ou-0@$Cgqk3KK@D{gQ2w5We=%-QSp z1;VGN={-6ZU-Q31=DY3xnhy8*Rr9j#zt;=e{kZvBkfqW0{2%Y#nvkR|HY=dA>EgYM z=PoVvUOvZu^}=Z$=?t}>7w%sezO60rS5rzu8|(7vS7y)QS-yRa!*xCxKJ}X+Os3P7 zMP>E4`WY5!2uaB432JGtUL_%ymr}7~_Akq&=CfB;h`84pKRm!NX_1mt%cQSoP2??A z>s`WKmS_hFgx7y)>5aZO=U~brs9~}yW255pq7FCZE|ZHUP6BIFoLlEyO;Pgt zdq-8m^|Yew?TrbmlxH1T6ydpLfmY>l%YgUYIqCH#O+jk&wK=9(Z887x`*6;Lj4!`3 zzx+Bb_fK?U!lFry1+TJ=~BiwXtLhkv$S`1y}PpJeGjFj_V4B@ z1Z`X4e|eSNS=P|*!Y{K7`1uSfetEuV*(hJ3IbC&iipS}d*F$&6*#C2#9P#Ik=pOYc zH*d{*XJ_~S?EDLNqdR2svNIpuv#vXqz5DxzfB*MRJ2$VcuI#q_&i4z|e_ZWfzj)=t z1K({X>3n_>yn4mTZ*w;|J>{?eSpPp_f2MW(-!rBrSHgrlkKVj|)jN0U`yDp(0xV9M z*Hsv=s(LVe{i<2dzuDhCo&SDcf6c!a``4U(T6E|0`F77`mqMmggG%EI7c64H<#9p5 zf7Xw$XGPuEx_Y{EC-05yK4q8CIZy3WJe6c#%s1)X{iJ#ktL5y}4e9)0?bBaPtDkHT zsV;te(@Yb!V#kbPtGP4Iq^1mwX34bubZ1(;C9`3 zDZwDgWTwXI6)XyJ`ZFe;m>IIM)@5_+o;j`c7hiCOhI-#Rl(R9>pyLIPn%3-R6W#rl zW-3gU>|Rx3#r5*;#tNDB$4w6|coAWERnS){G<52Zzs@0{p>kiomsI&Kn4_20>@s)v zbgOdx<>umNVmB3uE}X*uzhiQ2bJ;H8cb-R2XWa5L$xXk0VaIgtJ^{Py9KLb(+}XF& zbL<~?vefe}FP0ClQ2*%CWHh<_)cZ+!2}iCvxQ9 z@Hx0${M>!q|Cw|8>+BmB z@0~pNP4C$jv$+L-E3bOL{_#lN?!eLKb0g<$do!i=_|uI~K3A^W|8V+|N1e>|%lwyL zlHB)a?*GTFTcsoRB=F7N_SWXr@BjCg$0rnI%;>LuAUnf14buMP6Zc(V!#FWj^0CNE zN5AF5ss#nhB!6FD7 zI;;KLx_D0c8C{N!#~W|I`O)6C;kK-*=8x*5rw)8Dc$%6j!K3uiqa(zq@9N8$7yQ&_ zcTe2M$MV>Bf>Gu5RyFDe*t~>gE!7x@pfWoGjPOR8KZ8{A}F`$Z~+e^ct| zv}t;_Q@_vUx?jJ=;O=~b&zJw}J=`?;R7BAJqDx<|@2VFUI2Ce9FmOZ4A&X<2rax6Y zn)+I@T;5yEWUnt4eqa6j_J-{%RL(GET6(Go*TkNGe{aS4hg*1~>zH%jIsHAZtNePo z?u=7;Qy)HbYP`IcDK#$iqO8IdyGfi)J7u0%K7UyG&Qd8o&dI{|vtX6lXSXMFjy&6U z(`L`pHIKezh4*})SO2fT^ZyneZiz!$oodXLftHHLf2_LeEg_Y@rS$B~w-LQuTXYW3 zmr}C5(tk3~wIE8txW_U5fYPlOJKo6XEYwIciv5#!J6V6i8Vzl(>6M|Xlf5TT5%%z! zwr0}2nXf0QJiM9yXSQyd(nR6I6EscYS@^X+4|S;bwVHr&<3y(|31ngpS%d z`)tYUb?=mKuK4gV{UdwR3>W3%sM$Y$rQ4tKEao=d!QR%k^W!z^$lZ0^ zKWpY4<$hN1_PL#x_vI(wXT|k*i^tzQ5js7-<)FdGrMFJMHY+@S_xr{_TP9aNIT_m1 zqO_%ct4ZNqaXYu{&o{ca?YI9B|L))KW*#2a6&jyEt=k@R=(yd7zUF!VPfT9Dg-Jzsmo3>w91O=DUiz|I>e0Ccb4`x9gA7zrQa|{hb%R z`DBZR)Xs0k@~$RQ%T+_x-QP2pzxLhi9dpX$etpi}vnS8EKK}nf-| zg{t<>0*W~K;g3E8~lT?IK9izGJe_j(;=XhHF_b+3Q8}s|>-=a&e&z*j)@bTJm zA&x$S^=n(@W4~8Qy+NyVl~<@A@*t-%*9o=*s#$KRTx<)|a_K*e2tde~bHzy0aWQ+p4;^V}aC7v@&& z{+q>c>Ar=H%Z|BC+GtP}E;>mk_@+t!r(M@L-==Kctuen;=-#o)2<`fG!M>xOD#A~S zwaV7_AB$Y86T555Qt#=T5)OKrn2BDB_%5p1xG3;qij4O%EB9GGR?YYAL;jpzVtk7= zS?EelUxk`e{u1WJd#5kc_TBTeizR-4g7E(8|J^meKl#@DI8!#wlsD+q-9? z3>H|?yi)PeOpdNq6Q(4wZeH!vQebt$Vax1wC-S~^)E8FOs9h?Wv}e_&`g1E)q>de7 z+q=l<_fpw2FTF1KNS?iC8DjbBL&PaVu1Bw}{`ITRi`(0F_ICNlTkH7#ef==`&$oBK zy`Igl|Mv3Er^DGdx8$n-uPagA|L^a8h8tUQ)z9zyacatISqZ7Mv%k*96#a{gDLNQw z^XZA!rl5sx$Jp2Hn^ZsdZS0!+Mq&3JZJc^Od3)rJAA5{BS=@ho*=qmjQ1P^n^LOVz zy(Yab{cW4>oqxxxyH9&>I&&&izwrE9^P>Cj>lqs^XFlH>9((TY_P;Id?|1fI7Sn&Q z+kW@nA9HX2E71R6@t|dJz8@$5KYUo7_xSYuUkcm*e$2PoT=mxRZ2iltzA^QO z^(#NCYXA5?KkwR9|=xrX(%zocy5ZPa)*yRKNgwwZC7Zmf&V#3$k9|61Sw`Ep$+ zdKbs~+ed%tuK)P|-7oi(zvAMycU~`h|L{}yxuuKF80T4Q&Hw+*-(aT8m700I(d7lN z-@m(n$-o(U&k4tyaCzi#h!jH{6rJ@-qwyo2@LL~ioRBJ{gO9|w3yAVEn@V|7g;%bw}_*F zT2B15OD}kjc`92h?>?Dz{N>k)9PF0&e`?(=vR&UR@@o0tKaus)`)i7&`e)1wT9cET zsoS|mM_YgSnmuz;l>9V89MvYzoUndmJQwzViMO~=(k!VZuqH8xdCP{46_tbO?>Jl`&RUl~-(ZJ?EX|tJ4tbnS%y{PK? z4eP?spHoZ^9IGd#FJ~-aTdsQW z+QRS;yXMq<%F)-p^`N?6A8e;PMGpYV^zJ++Sef| zHyh6>ObEXH^2X+=9%>~4wayn_t}Hp{q`&2o{CT4(=a^gDKeNiX_ zdBth^@A&eX>CelHs=h5hu$)7MjsMl1)Tt$&Qm0|$XHh|m`ld`#P*vyGymcwXY@%oShCb>4Gc)`CCr@;r7ZaMH@A<6y zvCH1Q^*Z)%Q_OPjduq*nXl<`+8dmwE^LfO^KU+Mn|DNw2ZdCqFCu+9ziZvRKkH!D% zn|gl#nWy6O4j-!A9BHz@xBCBIjpaHzE@A&)KUA;09<6^g;X?8KX8#Qde%kVt_ir<< zSikboEA#j>lh5x9+0^@e|Kn3a=ASAzryJ&fTl467ceu{;`hOQsIJllH{BAGzV0Qek z6hq(L%T9$S@q9UTZ0(zu?;g*)oqxpS*X%zh`S*4I|9PfVWztGd*L|0#>pavuO!ezxt?S^c`EpT$vL(|(_Ezt&3A z|8DTU{KwejuU=Seb7%a&7t#^B)0FSM|M&TZSKRHb?WxOko~)f78}O?pApY?C z{C{>;d*^ZA{}{-0P+Td#X?aq9WvxBPXE?&0|-%m0R?HHVMAabfM{{k9&HLMHu-wQyUg z5#{u7ZEi*ae`kTf>cidZSLV9i-m+(%=-m2)Eyu%8m+lnY_i4w>hfC%yS@gUueea(a zj}m=$T{5{|Q8D961(vN?W z4~9JVnC!c>pr`tW{uQf`lgonKV^`dnpLk|tlElPmlb1YIaogK*`pwexqbqk*wO`<@ z>Um*#esX<6W^Lcied#}6-+G!d^-!Jt{%X#<%2zM@v6kO>+v247r70k1c7;yc_1*t} zmCQWjVyL3;f6-ir)2uA#$r{z?2FKH%+mrnh>m$Qwju1VQb#9^8%OO1tw%cCWS86O>Ua;a1it3RG#J$2hDrz@vDR?NM% zDlmCn&V(GjUdQ|+nX3-1_`c{#Y>B(EL*|hMju!%RjW(28wB1fxa_w!3W2xk>hXxPN z*aY3Yvtq^0{~nJc!W5^4G6)CsUJmh}yIdj0EogT~>S5Kb`nqn?aoM$n_YX<7?yGQQ znfg?MSNeKDe);9-T&tY=%77E^m(;G9vwWMb`W(sK`{q5Wnc6+QeA0RK3!H~qqLyzm z_Sah@@a4P0{&OquyWcWMyFcaq_8axSPdAmzZ}G5vY4?1S$4;Hn-EEzJHTRu`pUvM`Vz~WI;rAPRJFcItzE>ux9ln01(cSRS&o&=!T&~FoF)6x{ zJ7@bJlXvw`H1+mxP>861@XEaSFYk5%9#;mM$^|I;Y`#}W1)FW3J+U>g5JZ2#}0-y==x-`HKqlNSE}YL)iI z*I#+qofqGJn|^tl?4O70|I1|`-g9ctwrS0?_AlSv&wVb=?5*90xAXsT)hnF1d3svG z^Z0+RYSBOH=koNm{JiF$_jHRYcjfD)&(BB9&%S^8@cFVo6JMR;s{6Kgz2A)Zr`qoJ zx9+9NnKveMwEdcu^uPJg=|g+p+`D|1JKMbA+a^`vOSf1ZHM(BrZsz*_t-9YIJm>B# ztaZO(M~t3ZljEsV%h%n_5Vm304G?4Xz1XyTm!Rj#q|afA^#*dkoTn&AT#)AJ;o)EC zA-QI;-;L_a`;T)^wTox9E_*j?%eJIWhKa!)txQ+UwiuXPa5kGd zXItH|-Y#xO;ca2FPse%V>}s=4JCl3<+~Vvd z3h&=4_Cx+e?PA{GJEO^EsSa_x1@s#t_&__$U z^30C68{Ck7$$PV7Nvhwff=iFKZC+Jh&XPLcB)WOQ;VhZxa<6l~5oz%cFDd98%DVR0 zP&`lfQ*Io+pq(*FgEmGD$rR$Wpbd}}S zSC%b%q)U=B?>^3+d&DNE@%8Opw7CiINj(hVT zta$c$M=W2MZNc>|w>B+1bzHyx3$NX;qwfo@-*8M*rR>Ac>40HMP_eY&bi`<*$eDaHn(NX6AwQPYR=^-mZK5O~y?rmI{nD_hd z{U6t++gpA;f5C29Z`B zM$J=4j!>JYSN4LO*XLU6-7a@NuP@6 z8h`!}HBolqvPmz~7N4=)Y+e-gIE?KV{~NEl>nt`1UYIEL-~E)qvyW?&Gw0eZocw+N z)~sW$r%nchu%>RwaS^Z=Tg*HAg@XO|nLXEg)5FD|<>=Z~n`YkhGh#m1%CGrcG=!F}UOqp+_T^-gKDYa-!J0kC4%I6kyC?GTdRh6UD*-$F zPo`{IVw|k6HtSUuhkH`VcV4+^H@nVeIi7sFY|j5n+Oq{%7G^xS91?!`*jnplB1-%w z`=6=u~M_V?~8T`|}gFSJq^7Z8lAKHuId*kw?C(>))8f%v`pu zRM0tgePZb@!Cp5VGxn1g6#70zojQH$#7Uv(ZDL9)I&O@MZ?dOue*pE1z*@&a(Q&@vq-hnDt2LN2o<<7tA=eD9k>ocIM>sG7qPP z`>W}S*JbgUi~dPCc|utE^N~3-bviZoPZk$t+GV@umZ`_$8$QXGb$raM!_Qn-e8D~O zLYAMJj9$m&?BCpvmgM*@zNKa-k?y%6nm6f8-t$dT($hn(eSTD+e7@A$Bc;^+X^rju z`pgGE{n#HQ9DU<-dSp4hqc z{JB$aTUQ*i*-$ViV&(~n%F_OJ)459}8O55#ms2NiL|Z9!$akN0`+2i_l4W2IY|(%r2OEp$!d=-C#o5M(S1!z4 zzDR!knR!=FIQ!e2cJ{Z4HmddW4*vMxTkM=J*VNtLOFmD1|Bol((yaE05p&YR)`JF# zW-DaW$Cmzd{qua|@}FN!-@6Kw#Qc3`4jS?`+`V(5itn$v`8!+e@BWrw_y42*&kMWn zcU?_-Hnlf;rv36%FUQlb%N`b5{(OIVb)-eU+1t6cpaG}At4@aO{ijb}I?BD{>$&O= zQ>!(;SN*ta`(H=u55t^oDT`L#-j?L+ z-B3DvTjBHgch9Zs<9~`=o!VX(|Lgevzq4=u`(S>@kNv!T$@dpq{%=V8oA#&i!3)EE zUjF;%Z=2?}@6Ss9x8=3!^G&8}>)Z9W&#Rawo&VPsG$eNU)&B2)J|~K(hU*wFfUI)k zoGQisy}&@vsxV$hjQdGy+qWELIo``PmtMB#^%(mWZE8{S7OrPGz4zt)vyYdBhK6sh z{rzpx0;xCI>P9gh@}ggy0w-*-v~~Ft>!Hb+AIbV}A79S8O-Z(=l@FSFyS?b?C~4*9 ze`jBJ?X>Rn(-k$QJZ0~WMBi;V9UQjeu%(vLtKLT}g%Oifgif+N418RCQ6tGff`jeX z1x8CvXB}bH*`DG@ub1T1vp6olWKqrdqJ*XW*TkhJZWo&lCb*bHceJ>F_>t9h+fG1z z)5^ZYes()sWi+5CzeZ-aW*-h-H z%$F9i3DXs(GRo9{SeLw;>BF6Omom@4)BD4?W(M!ob%%~hoSk=o*r0=HNeVI@oDin8*>yB6-REG(?GRWx2* z-s`G*^s*aI6Q8WxwfBV|≥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%0Dodz-V1E|8#&mYC*UmFv&YY1vdTQst`NF!nX7$ot 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 z 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

E>Tdk*M*p}yk2-4qeAl0!@^n*c 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

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

cam0ixw{ym6ct4ZmxB4;v@g1yLP!*^B>VLI1s$B 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

kKdv`j0 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

R8&{q-CYkG+2tIbpPL&gUv*)D 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

=4btx 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%0D%S*U0|G_o=vj!G6f2Q=@X{ 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

=4btx z4IU1kF=NJ>OV#To19z6KX z_P+$>>wn)k{$qOmFDdhTCBlyh_r$}dTb zo+1KkgG_~jydM{^pL;c9?mvZv7Z2YEu|9iuwz$iyvwl26v!x=o^45Kec7gk+o%6szuzzRK>Y1( zck|pervH5S?(Uu1@9Z6}%06;+Qzyl_ZCW*@$7KDRpR6}SCVlJkOWJHWujZF$Ud`>Z zQ@B$3_WhIk*T6pA`RPM>+f$;`+hcQm#d%i z>{(h!ID-Z1n%S3v9UkR%DA#JHNc+mRkjLpM0=-9u~LifRDwVMK8Rz3s@{S`LJ|? z7t_s|DwBMVisz)1)l8XS<9zY)!XUlJpPzBuFwK$vYm&3|;y%v2yB0^=+C=K7&eRcJ zTKRF`0&N-2@_>U*?g_cCzU&m?=ij$$>9^l=Z_nGg;J3Hxp$<_|GoN7{r|rglQt)YY@dGP%O}2rrM|gSxGcL`nQq2}a&Z5ceNx?Y-`C#t#sB|)FTNgI z{;@ND-}K+__sw1^?Ho+{by(IRQ=9vaSBa5oxA<=_OC`#x0_1J@((=!D%g46{m`Dbx%rE?Z=XIp zzuG$avM@u={x?S7-rjcKC6J!-LBMZ2|JAg|FX#WC6Me6eyVo}tr2O$$XJ(J%zLU7z zCLY_SV7-1PQ(*lR3AqZUS$_MhkP-@iu|b*s-hdyuW{&5g!oPs2qn z-qgxf$jGK&)@eRx?R0I;Av&!vz?3UZ*wmFn{DJ*{Ap1N#O-oMue)@E1Dk1;xQCAQaK@0AUw%;v0( zzFBboKX=&iO%q%5%WTZ-dDqJ=dUrrUb+Lnnt)q&xmHwhN&Rf^rsyyQww(i)E{wL?& zo>uYPvQR6J!RYlakNuwYUR*koiO@m6q@+z+Gn}4AGj#9yldAXR^PSHV`wRa6{XY3R z@2@JWn{_u+-_*S^oRCuWd)vaLLQ}Xbzc@|Y<A#s7Ys%g;Ej*jHInaoQK zm&<>CJe>dW$K!rsf1Q%tuNC4_qAzA0ySC4+&D}jf%Z#nf4dh~xQ>l+SE&T1in%LJo z5v==hLOJKnTh-ZTKON++6X-u&e|G!7ztw;Kw2E)kHu769zPI8ZFV~z#wKx0Rgp%7O zBxRpIXk_mG#prPV*;x}aGoem5f9)Cb^fz8oiZr;xROGkl$tr`@=R$sW)c*V%uBEyq zh;QwbWGl0_K*>k%WZQps?~Yq|+A7|;`1?QU@c+kh1U;WVyZk~rM!c>le{1B)=i>Ft zlAnG4$@=$aP2%LPJ9{5<=H2~bbS+ipdi;E@Pk-a@xLypn{$yXIme|IdVqL;!vwNNP z6$IXU{yA#i%$bqP)RxbjIa780TAQt5_Hw=%f-Wi#FZmQsb!F{8+E|}3~l7a`ao1l5b28K3CnSe{rGd zt;ecU*Y??c(s=$?!dtcXV`F&cyL&GCRtQT;FUo!V^u(u6Ol_g17jA5AO|kJ>IbpT# z{okjw>rD&azTJN3&{pg6PggGc8;i~}*W6k4oUe~JEL-ncDf8;HZqd%h%)i-RytsR+ zZJ+jyy0>dfa&I&#gtkvO{&c~F>tZgm?LHskuGkZ2_u(P`r+wD%4!yD{{gtyY#%=4( z7q4EV{BOK2At$?V^XAD#8#~TsJ^qwid#CRA+nO)?e*bt;TmSv)k*m@9`+NWYte&qt z(W4+GVaBs(rKXPGYJ#s{al5{4?iE(16{~vxw(}X9?%Z*0iM>EXVad~I82I^(YZJX}Z?ND?t0{43C}wowG&vZ>wjWKCCH!o@d><&Zf{!f@jb8Ps;t&DtATWwZ`a9wAuHxb;m>oddmw|_W!Pg~UTpZoFS`0{sYN*A}i`hM(cmw~Ok z2)CZtYc5Xl?%bHa>|=gXQc^vr#ay&9 zk!xx`h#taNsEVBaE*hlRH- zD;^v;)Y*5w{dAu7`^@8;);ucs?V+BeqBMESmoMvlI<%KKUSEB2>hYUf3YGQ0e`o&i z(!YLIbpGyM7o~&C?S6L7iqKrCb=UT;OMTk13!g&+KhG_{b0}Ef?(E}!`*RO2GP1F; zNl4B=l(oLAKXtE9)a467pVdU-w$BaFaIvvF9qe!KsaX9>WS7&{c9 zGIYAsH~stfFLkl@-Z=ew*TPF9XNV%%0GsaoI23fuWeP;qR=FZ(QUE@sB zRQ}@d_Zx3*y6VTcy;JMrojn5kr39yTg&utWeX`f`nX~4oP4#>H{deFR@vtpfB}acO z&8|B%buRn#KfA*w{kYb>{nMk3tHZzV+u0?!?D?sk%T{JDt(Q4k(s6;Ce}YUct82|? z*GY4=7Hv6rvn6!P!qsMzq^&%kJ)VB%bL>{n=dNpPuKtMEdQ{+=>@iJ{n{`5tc&^FQ znLVH$1h^YK`RYNF%aP7uix<3pcXxN?tDEUNex1_xw+%e|^hV{=sXk}VeAxT{bN!E3 z;rqD`aG$q7AOGiReEp}3zuzUlxMBF_cyEbI;IasvNhg6B zPWE-leDmVyvk&v?9?hMZT2&#yusGtt)AhUdXmvSl3|X{)|NMgo9pCMKZ?~t6-~4`& z@p;?dI^nUQy3^wCUpS!u?cL&aiVf>tU%AQ-N)I=E+9Fgum&Pnyy_{n@s4uPgS% z#jNU5;Osb2vOeBD*xQsVr^?3V{4u>-x2!UG%#x<2>MZie&endKB-pK? zS)`g!@1>i!x|CLCsJl#^moMUaFsnXPV(yFuAv$_qndLk0?zo$G?D+BQzv-Hr4l5p+ z#Htv%aLp9W`HgmAIwGCwLKd}J=Ne=^r+BDL*7$T&a{h~_Lbkn@e67(QPgk=W&CPi7 z>04vyPV+04QWdW}q!)&SuDNrqXv%`$hq|XOQh8Kh;j!G<#EdoktcjZt&$X-mLM6u~ z>SyI1)zH89-eXH+r;E1j!HJ=UHzyuhRoSQF>9NTr?(}3IwU1Rc;&W%7+bN|uRhx~` z-+E$g|H55OCk~cA`6`ny=9gL{@@30|^V|~0S-)rK`D~kE_x|{U?<=y){%ul8kPz)s z{oB;@-^um3uAaz?%Wj=6J3WHVPd4lF{%3OI^#+Ujy-%#7HC|YD?J5iWHvfx|Y2$pGVZ~4vO#pQCaux z$>clL=WVxa-9EYRc;&a}=QqB7CSCcs*Zf1(-mO)kvUBH_tbM&`?P6Y6ffW*L|Jc-9 za~ex(*mfWGO-^R+4B?u7+c!8^`0nfL55Hf3Shm}+WbUTKfcod3gVs6tT@GMr+}6i; z>ZsDk5UxOh7cbr%QS*HA$yIBSLq!qO?%Suo>4smpCgw6pRB57Q$nMGec%>uuuPkp& z$O#Pv%|QN<|EIV~V^is8wM#eOXx@Hv#LOz#uY_G*R{Hqcvc(#ouX_cG%rTP|4i5J2 zni`chtt4k!(n5#i-&XZn7j06!r-W5_Y@W!GH=X-xoG7*RFLHTlY6UX#wmOB}raI_UZq-Zy4H_jF7>-CNJibku8R$2{d+ z5zUa2Q&T@_ZomA5LrG?R<*bWIQ?!58uiE08VbyYZ>!;uUf}EZPJ^p{{-RraB;ouTY z7&NlS3K`k!xBI0r_nyts#s8abRUFPds=7DaZPxgdi&=g@qGt=-~TLUmj5pG^tIDFo=%JYam&7Ts{h|} z{}Y~@h8NyUoo;Ar)%$A7#t4_Lqe@YF;lEFcb3Nf^J=Nx*B&TRopL(WCGgn0PXT(bMZ8qI zRGUwHvFLo6SaX(FLjSLfvQ2k@yvu~AxBh`P`v{#BY3Jh)xTc-+=IzS2k6qH#**uS@ zX^0hB+-WS%s`gyx7VhWc7bNHsbMB`|?dnxYp(4wcEf?>cy6KUErFCoK#s?*pfw^Kq z^*_IKwVv`(>%RUrR^f_AlZ)AO+w6rx4jYbqyip@F^CN?SSoRXoNZ!{!u55EPu4MkS zk=x$BZKlnAt6jZ9S3Uo&n^$||$<^YdINgOsD?N79q_t`9KK8--b4ySi*Dt5U0R8Sa z^JCgot~?CNJ+Y`KRBMj-^JhzsbZzZ0uzg&nGqrvL!zLs9f2O{RnQpw*7QP^I((Uf9 z?7-Jn8zWeP@)v!1A*}56-T%vn8?Sdubd?F0On>+OV-DPcMx%X%+udS3eJ$9<7K zGLZBo99&;*xbuTYnsCf5pFWsok~&qTLZXSEN%?1GRJiqUVEm;OHIvb?iZJtOCx zg4jHVZM)C!e(CLadeKs$AIx$+O@2ByjoUXSH-79}_qtx>Q{}t=?fa8IykM|iw`&?` z$4K`2z0+>z?d}z?k1J)ozqi`F{7xbJ?(+9(uczrQzmp&9Y&vPwmmweZL<6HUF4>-M*%dW!YmjjkxvVv$K@fKh<1%`bcfwrm6KmLr!1qSr+3v zZOz(%k9d_6z=4W51P)~l`iRB-gjp9n=L;#-FTujw^6dEt1)lN ziU2$N?^AQM%jzF3+RLZ6d~$?Nn*ztyx+z{uKl~043lH7UVUhZr^Y6Wi;IE5?d;Q&# zKkF}0-RpDktwOAa(8;(R9vN5F;_FRv7v53{nJw(xzG$6r-&)_4HK9Qpk3QZJUomy% zZT%XRMbLSu8UKq4%G8?fzjWE6A75;mI-^trIuGrmX9g;w($(fI)DAfK@XN<@yX{Wj zOW*IBlq8>PUcW7^tH|hM2$$!i0t=ZVj|=}jw*Qyhm~ivXC8zp&`+Cu}S{iFzp3Isn zv4*STU>In}>kY4p9}2#<(S9%Q)h;`-%x%KjGACn0n|)a&bJs7-yjV5Uhpl}*U;F99 zd%xe~KJb0t@7P<`RyX!mo7ewZUVrLt`Teu9<#!x|o9BC&?DB|+HgPPumi+zcMopoG z8x^H)Ul)|JYdZdNg=GnI&h0JrD_?QM$-8)~8t~NK%-$$7^Tq%3_hz;q554~Tzv=IN zDQYKEHZ9McrS@{#l%Pz_)q5K@aVgDiI5ai;;j6tNPj)>J6`d$=owZl1yQ_iYgqABe zYo>SjCEMIt%WfJQpM3M%ZomDqnI3 zD!18me#ldiDVr=^qPI`Yml>c6BZFo*ons<5XH&w*QFI!Z{XmJX}8T zT4-p^Kjje4uI8=DxW3xyh!?}!uD6(nt`!Fvh)~O+0sT*ImbWF>d z$+lA6bIpzp7p<~C``1TxDoLLIdh*-vzZz3M9qyXK1Ow{oPOrXe_FaDIvRHQ3j`Q&~ z%9pi1W&XTf$|76M|8rl8k*ASR;(;ueT%XX< z>UngMgl?-!a^ak9?*w0WxjOx@(c?O$JyC;C#Z6v7J9n+Mx{2zZ4V%~+Hf3(^__2BN z+mfm;M}qR-*G)R9^1tr&+C3i*ajOUk>g{|Y^zYlF`IS$%UXR?CBgxSF`TT;tduwCn z&(GI&&fXRjVmGy+{(7(5@+C_ve{V=#q9yuSTKc1_&tQEYnYhh=iVB zn*TrV(ME}H>$Y*)|NC?{?G2y1USRD6$MlygCf7|>Q@_Kvtg&Bn%af<|5BXV&JojJp zFqs`S+uU%`)R=q6j&5%2dwX^5W_1G)9EV7`?vOA?6i5Gh0^_QcLhzG@ujek#b?c(y$#E+#~fR4|HDYTe7@bv%n$9h zZlXn8+}xY4A3W4l*gZvSCR?gfV{-jv?-golFVK_x z-+Lsf=3{q!%2Dh08y0Mw7|Gka^ZF4Z$!n90k~BZ?-ncMJx20C@$fGkIcI`nk=ag7E z-+1j-8F1cdV~CF$Gh=wY-qha_mKG)M*_#%e->x)O%PscW^KHsgHCL{kf715<@8r6l z_5Gg?oPYP&{@oA#5TTD7>iW5MO3XfM_^!UQKW446)HlI?x4@I4CAWWVjA~b_=bFmZ z>C(41nLly9_|j`0@vqIEXjvNlTzL8+dsS4R=2Vfd<%>U7e_Z**MTt>qBEw9dCI^c{ zsncWqwB!=+w)u*Ph!)>WonH9;`@a73)(0LHpI4sfA;8Hx;nb58Pm6k7Q&p4{g*Ivw zwQ_maKkebPWxJYX`j_u`N5kBYDviu9j;39j#In%kfq`%#XVFZV{_EZb5=v6tiL)*| zm~1jN&HDEn(I3e-A7?5B9k7>dS~MwB;}!qLm8SFGb`~+L(v9`eePOG*zR~@1bf9K; zaN@Sh0sGiDAM;;$&v)lZzt)=vuP}*UWsUo^)zIXV$-4RrAB%&JPAdAfr#0v0tb@n; zs$w4I$X`xzGg@ft(?3P|t$x%J?SmWNRX+Mxcj{bxm-a*TnRZ(^{+yh*N@yd?OU^P8 zKDPNeZ*vyh4X%0+<7Koy>22Z5*k7KXwn!bBKWTpLQ6a&sr96AxI)n7=pVduUym0F4 z3z|F~Pm-2o3jQnjUs(S?u59+)1Oty}4hQ_zCaX#C^xa%vv_)aA^W0#kelJEaaI6-b zA=7f{eejGFl_p2aUvDxuh}48%p8e+6Z~GZV-)vWGVLg0*zR#uWw@>?;-*wr4yZ8F* zrR(<1dp^IqFa6&K_ET$r+I;&_v`TB$i#Km=a@HTM$(G!yCwyti@^9J|FmNzkKD&&J>kH?eeupr1SsIJuX+va>9zC{C$n^ z>a7`fQg5*?y;@?LuO!(m%*CEzF12Eok?HrUN>|o{2@^W5yM3RhE5W71?zLfZ##v=q z-EG@qU-YPb3U)NH-uBq;eNt0gy}san@u~MZu4Np#wrldYwXZc+&vn(2T3U9DXPR#G zu`4TsBX^Z(GQ_Q)-gU~$%G&Be)>aRdpf$m-Id|pkJTI$rRexos#gp&8ODFBfeLG`K zXmX$DzMDSY-rT*t&Pm(d7B4)Jbnx}pKFNw;t+{q-k~?A)m#;X{bobqY6(@`yJ`Yx@ z7koDBr?vVPmOl?Bg);1n=(}|Hyxhe-cZ`;2)q7cNyVvEFIp^lmwe7KPY7?2+*qB&Z z7FF3O@>c)uZ4sUnbN*td!n7%y7cZYBYwLV{L(yc}W-EuKC(o^!RIC2<$LpzXN!#|a z+%lhhzrr$bW{<~-(i2bJU$1=iwaT#5ck-+@Ip0(Dg+F{tc6Jy1IBW4|nV{xJSGM;{ zI;Ko0)v3EB(CxajZraO|w!qIRd|c|%E-L3Hcyzp+n^&yp2#>35HO;=h=~1uwi`Va;A9R;bJv~jg z=J&V!O$i4jl@CSn9kbdxZ{0KB6(P4`I4v432AyySKW?xv$0#6^`-9c5moIOeO`RTp zZtL|p@3=TQx&HR_`E|2OrLSGyk}2E!dGnzwhmLY*-nw$6{>!bGk<*V^Tw0E?(Q8s_gc-WMeHCM$>6BXaQvR1u~iCb&xw2u4MIXMd29N)^fEHIumL1T%>ZrdN{ zETyBB9F4@5@5!^w2!hD--Nv&MQ@On*cnfw2{<3D^j%+GvN<-=U-@=Y~Ai?p<~ zUzVp-Z}(KWbmxY3?%jHovAK65rTWJqAMO12Ygjg^KDavV+v0cOKRg%mEvW9AclK=P z&eUbmR{l4$uWbAlCe!Vr#mAEn!k-Z0Jd-m`{>r0E(ib0fXS^&D?_YGWr~c1GcdcoP zlTUnXHQnK)_3fMdt;D-e^_a>9t*ci3+_1H=JAM7KLn-!|$KrG*B?QcR8S$ILXfNyI zHL72J?&jBjBct}`#2O1b)erYN#M)E_AE2rM!=bE}T!Sfx&ftHHZqzmf%+6Ed!R z^>8hkGLdJQ`Mt&ezpWPtx189s>5clt`X{G7jv61=iIC%Tn$Xt(0S8WYDum2CbR(zi zRcZ43N6mMq`dZ&#_U%u*`wneJ5ieE!{eO(k+x;~On##5O^wG)wb|<6r_qzJ}^48v+ zo7@$8?bXa1QRUB^N*RJSzB!^Y>(qj|PYkuztXa5!aqG(9SDb9kHow1IF1h_{$M5!f z`;_99{z%?-eqk-)mnLrB zmWk>5g8R+YfAF?F)d-P#B*-7sD%0sS>#qLi)dI(pFYL5`p0w3(t-6qm#J2mte*M;5 zzhc3{g^kPSRdvZ)mor9g{Iu}+{Dk_`a_@HhEvxVO$=YJ$C!)pM>B6#p@8m_FR(gm8 zP1u=w1Io!OY=GEQhTNW1;@NjW+zj(d% zX_bzjm|JMQz+$b65T-?5%N#WWANGj|a;(VAp1%2HXp^zorm2nki=OV}6%SnU-Dvfa zr%N~*QuR4G?2jrA_4lz>A865Ev(!Fe(dE>m56uO=PxV*b=kl@R z>g+3VYx=)ubLW!29C?o?N-95%jN~{y9bH5OAmGQDdL@pj%MG^aNxxWiZ10~1yNlj- z-JUqLzVj7pWO=HN(4o869koIa^P1l|;Qwy_d`VMNo6qg`8!9iWm1LQ2%$V|M6W1@< zZ-=cOrx=MY`xJF2cDJU+dKJ-656XTTOugQBdZEQdo@utf4=29+d-40vbKmP5yw*P2 z`#t>AX8F6v54m=8)VDhAyz*|dnBJ4G+vAsS(vaW3I{!@3R~IFx3$In>x&^shG_|DP zNtE(hC`>&R6xtr4<)#)a$jSGhEJgULcb3$Jr_&erFEiNt*Q!x^pQn|avW$O^0KdEN z^ysqOXX^GpIraB`u+iGu_51zq{@we(*Y2{qRr&4Z@}19iy{`CqHT-3Lms`QEm?x6F zB2)cUg*bx}*GiY}T^S-Y|F~;lA*)cUNOBG|Y<@Q){j0!ouO z6oo7erBvov#vc~CX?I7F`*#l8wfgNdUUcyA7jOFAd*d%RgTbo9KKgG`(q7)<6xBT* zylmB^%z%@do@X5uf2TIB>(Te#w|8tOeOSD41G^8;58oSqBbTR4|9!%%{IqWw*VnwR zl02SQ4Be}y{Q0%ks*H7WuDnjw^(8XwRlO6mY~S3NlyTC-)#de?BT2RHTloUxxC(>X z>MayFrok$S`K~OWN@DMR{&IuE?r)2-yn<#tP5%D+QpV>W+q?JAEe+rI&+OKt*@0Ol zGjx`I*_QLLJAO~s%iz^JKCjzd`F88|iZ>sRN9@nDO-)Umvok|bJg!2~ZvOWTNlU|4 zvwCN)3)#6~kI+V!5~t%@5+d?KNIl*E@3)^!nY8|%4^H1& z0#~kBHLLIXTL)#i>PvaqcR3pt9%wR`Ncg5+^`3W!jSIWg#TQdlg0vKzGz46i1uQn6 z)ltE2AkpJt8k96WrY}NEO+qfdDNAeWlI?qW*Ds#0A73pS?y`wd-gmb7$G5llAKgAp z_wdJhb@lJC#RTOFjC=MhYI=0Y>CZz0uHL?vRkHi5pGi*Bi}ebBUcl(AG%?69+3%WU zw%LMSy@W=*GOG2x4xLP)a~Xm@w93F z5u6qcK6>s_otJJIKRL15vi0;nf7MGfMHcRuUmtLX|HewqsmANQ{4FwFg%5Su2KdA9f2j?L`(dve|? zhKm^@twDu1zL)Ome(`-apM_efyNZ|Al0u!Ta=$4$COh~F=Y>9V@nYz%E0S3qw9>_b zk?s4`2<}DoZ|;9`vGOt!wtrRXxx^ukYtHfX=;OEN2RT4N!Y9F&Q^7MBcgyZ{I{EEe z-IbrbC9StIPe|XdF5atszm})+Ak&5#*{SzDF8?w$se9*hujaF_UDWPr_vXcMecl3E zr)B5lJee9E=eX{iKz9q@OC_JBn^fN#wMwnM*x{k-wn|Fq5tAH$ zW__4~#EVx7^Sl(Ndu#}~DmcNT?dvKZv5>U6Qyz=l?R zclyZ`flil04V-fd_I>Jof8ow0vqwKqeG+8y|JZ8#80Y;y%Y0_tY(1VW z4F^<|?j+7XR8qR-^XK1nZny9K-Sg#Ew2tL_n{7*sr)b>~$vD2x^ZeI!clJ&^SAVbG z>^XkIStkrDcn*X1#p->dBwa=b!f&ix;0Yy?)`s1%{N?J^s5s*m-JAJ@WcQn=H?? zhVSKDWXvr8R0x&a43Ok5u$+5jQQ*71{~52Xjhn9hldsk3N7KTXlb`-v_DjCs_qF8x z?Soq)=S!E)73vfzt>e6R@2`jGC&AQ5e*Lp6blU0{9&kGH-gWV{g~qcAwwN0yzjHE@ z-`lpRj?r_|x}_PF341x%;l4)>N743Az(KHZEH>#~}Tw%k+lTQ@pmZ@bO)IDWsRQ zoS`|-`@`p_m2baPoUTZI?X*Ym>yCTxIc8Mk9dAww}p` zx92|KDjw(I9`}*~^b5Cu`nzen8qryUkpt#Nut*2e5*FRVt|KFu2|$%vp9Q>tyGY^Y-6m_E&r2$JRwRB0%Lyyt@;7%nwS;YQqAG9P>|S`F>HOm) zzsHLb*Wb*EY@c#|^4q0h37SVBi)p$i8?61a(mvJurhVLR zJ*BCg$Bwz(t9&jSwl0RV!Aa}s>G0U2!Tz>K>vzB3$9*8S{H|+qvT|)--IO5C`@awJ z|M)aDJZbG3*Zgn2JMSk=6zKc*EN0e@rK|eZo%1`TtyOf|XTDME+uh~;+7ax2dm=0+ zsy-0f*t2!6^SXuSXU#6M*(>VL>eYK!$M(7Fw(lX2yI)P{T6#i-OGs1ncGaiCb~pXS z_bvvXjjLv@PY=yctV{hISi3DU*27B7NoQj4o)2j@g5PH_S{c|>{?2g9hpfv_EvI#(!8!1|0i@_%_q;OsHhbyHJug3 zg7eNk-*|j_@pt~Z1E1=jp634|E2C*8`PrMJ`b|dfv6uyZM|&(Ea|O@T;1fI7!|rmZ zabDP`FIDgMevezX_ghrin;QpN#bXZKn)+WNY#GnZgt_(WqFV1 z%zPFPX0_yaR_V-KvSY)9>UTTa+vRE|{QN9c@uf3KqCuX=Lfom$xwJ+30+V$Y7btqKYZ3F^9TY4A?ygRm~ROJcq2Y{~BuhCO@# z=Iq<|;;M37zvli)dFLnGu-@zO!oR*!%Xs&e(j&#`p{GB#tS#B?ed9{xtZeNG*8P); z!rsL-IL(sy`nP>=+v%@28DwX+WyV)FL}+~~f9v+kw+7XnQBvhdz0btdp1fg7 z{cU-khx{y>2G13zdd&!qXFf33{#X5)Ki91o>b}1@{pa1y=|9)!*GxS>|Ep!)&nutb z+_>9y`!#dI!#_L!eAu7A_`sawUEi;LxI5qG%=UkOtL$RF8{VEBy(9gm`OfbLpYA+A zulio-iBu!Iy6@``^$E-fVC&zX|Nl4djo)+EL~Lyp_xwE1 zU-4?^{)<<$o!4J|#Lw1xP*}hs@cXnw0&{jPIqJ11PM<;E-1O-@|6|E(B7X9zZSGvv z<+Y0^=vBANV=Z=lt+}3oFMZ11-aGN^`ML#v*37?H@k=Og=f|jdzbbTK)$10tQAKfo`zA@=ia&Ky z($bc1w_N^l)BpeUu1Q>S6<-AJRejc#l9H-;^ss&6s*o3-KCPH**xa!A^MusbtV^%5 zG&_c@dN_G?UHjYsi-s7bg=q&RcigG%P|e!1kb!e1*ZD1xCmtP+mG_ITH?M5H#wo47 zeXZwDtuJpmFvG*;#l6j~kWO@vB7bLu#cLVS(>He4+n0WIP7cq} zJn~vbqMXxWP6W8;boNjET$>;7BqJ9d&wq0G8r!*5_ljIz-@IvjC3Ex8pC+=rUc<|USU*xVJ!_?s_$(&)GjCJ-%x4xp#JYJ0F(qt9i*9^L?p) z!d4N6fOzBHXM2CY+-j+zzcDB>&L`4SFlz0rUSI1OQK4?RUq!yX$xgreiuZ*{R^7L~ z`A@I?Kk|P5;uQw-f6dDDS*?|R@g?t?yY(~n#z+0xS$QJWC{dk5#@O|9;yC8?T-8`CQC_uJ3kF*4F>)J{GyP=I15ui0zfq_xHd5c&Bil z-}1uBJ%<)>am-O@x&1nLO2hGH)$<4D{JOa!MC;ZqH#3Q{-FJ4x<}LG^+ohg%aFJNQ zwQS7_nfgD8-MQPSNA77IP0PTluCLpPsINJZWRW!&dP}Rxe6lU#U_$$QW{~ zN!Z8@I=0i4z;GnUkU=_Z@7d|=cXfU0;+m!tc}O%o=HRQ))fLa>-+%h?>8VciwjR(B zG-%~&__sF)jodc))!qBxz}bJj-ED5^1I;N~UiI49oonl)UBlU9_D?CXId|__e{roY zdsS5DkG(CnWv5<0lmA@4ed}8#L2lvxqZeL$-mvxEl6PNCFp06>WWrA!2jB-sNtq5t~>^kCK)1Khq)YAs;FGn%<;Rg`StGKKz$?68QoG_|71F!-Ee)@ zuC$5Ery1;C((9pQ@@yARmrc`L`OR6e4Ea}cOLm2P`6<>{9c@=HS+qEu-Sc<(T#={0 zq9Vf<+__!9A;7Y-X{El%v6O)NW#@xedh{KUcl-a)%tm~Ep-<-h#d7stmJb6Yem9nB z9v51p3{I%?PJI%p`+s8ZpC=3NZ`fUGU;pEDw$1-j_kTV+8~^Z{^tvb0Uhi+Y{Py8_ z{ryK!++< zn78Lw(7RoKvkwH!=xb;=z`0|;NZW%eOLnj4UmE23_>Y@UYg!K*b9Gb{N2{A(eb((; zw?42r9r5ZeY?*pSbDCVBWraq@aRvWRNAl;nD2fSlwHE!AWt^rLdrC5Wj^o=NNfA*| zL7Nk9^^07*PH<%``xN!&t@T82m5?)Y+I^NOiE#=RSWj5_^~;wp7bl9LzhptHq$D&h|Wi7e% zCRK5w-{)8H|4+%!ub=m=k8j=1XHrp7Q5iWoPny5mKbW<8eag*EsaLLEEd*`Lc;v1B z`M}?Ld-wHWo6G;#r3eN3?bzzK_V~4J+!8b2t-G4F(OO1ime1i+k5{i=m64nOKcr*o zOrNIB%kq+c*V)D{%vtsM{`UDtb-UxFum27;GWFfIuz2B}oZn~S53l*jCh}>cx{i>h z$AksfH9od4T7E@BC8+S!S?L{hb(5Z(@$T%qt0<~pYtvsJy8HFc586DUhsn&&`wagA zM0&jp*Cl@qaaFvi`1-4`c}C|FwS7M4ri6FI*&9CJ7Vu41!NANo-RJSq`}RlNXK(xT z<@5SYg{S%C{{NkCC{_P8ru5^ai~r+PC)s>I6%DHRt#QZGCbK=d3@MBr347_%VToua4$zUwk#I z@_#e`3N8I-hq(2ZtXR=utE;x%6Ywm`9-N&W&ExwwixoVc> znwZFimlj-k!BPF@%G^4=ew!}>6Lib>eazk-5E*$g|Nr~{8hV-wGcQ|7J)eJY-P^Mr zOEuZ5q6ANxw#?ldu{yo)RR%g;U^u73BlG5$}Ji_)Rg>G4P7<7*770|QsCSiN3dvQwbb?c&p? z^%t+-_D)PatLVM+a}V3L_xI*{OSI>3H`?^iPB8E|l6^R3t<}oQ2lj4cTxXxH|9$<5 zuB&|Ya<{8j9lz?m;dHEz%EZ5UZlOO~rd*h(^TO1NN9wEK^vhBvul$z=>|9(fb$3AX zoI65vl%vvF*Qh)`H@PahbyGfL<3~lI&WMsK=5D|I2k!iTy29_*_1CYxTjH_s)553q z4}R|dJD0V0b4C4=d%HLA@A&cXum6G&jh2HV7McBp4L)kj4jOYxlU7afN-SVu@oW3- zoyg(m`=-pgl0By8V#TawzP?w^t~$-7$i}SuR+hy!@71eU8F_ifQp`S{z5TCw|DGR8 z5C5q=*R`8`)=avs@x+eP2ibpz=SBThw&>}(dqF{;pysSyK7rk zf69>Xc`aAMDyLOiZPO!mD{1Ab#l_Fr7IDho-~U`L?cAJBzvYh~w#y|wT;yu<{#NVt z*H8cQ+b=5oCuuToV?$|nSmSY5t6RSFw(>;3_FHq+*xiDO`JsVYv0P%h#1bnXG1)wK z{;17UL$o~IU*|EHSf#$JuJ=^A#QFYVWI$B!+FbFI5q~B;eR49T=t}L^1Apy7t2#b) zv&%W88x&oOOy_-VTzUWe`^Rg|?=RZ4NoXt2ydP&L|JZZSnd^#Br^wtW&)@&dRxR^6 zYa0(5^H>|(ts=I(_V=&C_pgOj!&asK-dPbAxQ?af>%N_jg|xok@Gkzp&Y=Fb{pRbs zlO3Dmic2O-b(*|B^v7gsL;a0g2WHh4_gC7UTQSRh(es5>%AU?UXIrZNjNpxZk}aB1 z8+h+ldRqUhD2srvRaL3-=5ywiT67;3I?}nQMqdmh|(UVndFwf$Gq%L3i5 zN0JKXyvqsg_giiGq1<^+blHTj^7+gUw5P`(X{y{@nSOQFoBMo6A69Geuj4-O^kZQC zjC`T8rURS@vosUptHpOme-92fo|>T1V=p1Z=H~Fgg?EjuQhH@ zIGDL*+xEvFs{%Eqo>@1y@$kch`~Uvx#O##zTfP>|HJM#-=crq+B*Hy?RdL-*VtOy+P!;oZta;_eBQD>UyiwLdw;LjM(o(Vt8K?# z%bD)TXelUVI&#WG>CDp2yMC-#D^MQMsJ}?|a;WCy6F1YPU#$N6a;R`OIZ=Vd*U4trCXmTy_w)Hky)7+%rhEvYp5Q~dve#T*awPw6}3 zmug6*sjav&pY+ z@>(3W@ahWAwnH)1x62tTe*b)$%r%FJY4OLC2C{3z&PLb&`?}*^^~ImvKc7xM|M9{n z`wiRIPL9?6UG!H^eU(svgG0ifj#fnr)0f3NG`3F*iU~W|BWZkNL!vR;-dUhTWwY3@ zdU4{$f~aI=zINu;ke-VfPa4_f999Mu)?c4n{^;w^8{2ZF?bc84vt!MFe{th|W4rB> z4fi)(kN;&|nkogFO{m}ffJsEia{K*4cCV$A5)3@FN}q_=rq|2AjlRC{;`4>3X~Mf1 zZ*5;U`-7p3j^_K*4J&3j|8+cW3oix4na`iJYUS~eeRV#<2a-4Z-!aE;mzA|;@<*pB z>{C5$e!tml^X-K)!=4S2zn=8k6x^@f^XZg!PQ?DY5cby!KhunLb#)KVo4hK-#LO%x z=rTi;u;TvqbQJR{eOmw zCpra97JFLi*Vp_L+?&2@X?J(}+K1;<&liS1u8z6-BktY(&0gOYN-WiXEY&WUzpUWM z=lneV$M@$)pXk-rtABLo0sqhUC&G7@pMPGN@zh7|cA3=qlyi?=Z_C`f6L)NyobYbj zv~A0@`vaDodBic}#>L>Xvu}%kzB23dixP3)6B4IXid^oA?Em|G%AMk;YQJ~LoH@>2 zuhC^M@_4h0k#M^Y+h_TE4ojyjyrLDDwdKi7uMYk>F?`1oG%AAT{AXfPuQzV}sV0?v zRcZRk7v;MyW?q@I_k+p2xJSB|?S|Jwoh*O>Yg2H3uFq<%<*U=*%)5Ph+C86nf&K;}i;hG!=nDvxwHyeHdwzI_&Ao;H?>zQ@ zyYJ~P?HzBIt-hFPy64k1`#{a9e}1gXajS1U{aBbS+#z9-U@DumF^7*;_VxVKi_f3= zy|7|0e;yhhbI?^h-X}0nP;2QVN#pc~rF;q7Z_l(Y*IUQPu3LSpL-vKTShw5F%a;zV zxh1*fYgy2Q@Do?#e+gO7nqB$%?RHIVont|><|ag4krWG)jeBxJV-wS&EpKG(>My3& zynQyi{^sRNP7`k)`ZDWf&A&scEl!G7)>eGlF}y|*uXq!-q^RF>TrYmV;c>$$#idEd z=5UsV%Jo><&;K62?$IG`JN^U8{q~2F{r}85t-pWH)6>(RPs`5AQW7qFEM2fbXGO}x zMXrahUEY&@eaF7{%cmZk@@1-a_@`%lKTdY#{GTpV+VSOAz5J(R^W_(=-u!vPYY!Er zBS|Y0mp*CU5v%tt=f1O5ma<&8qWy~R7uB7s_|&FwZBXA*8Fb7+HQ4y9^27bt{z&)v zT+^)lxW=?yB%tiJ*r!+5a_TQcWy^=3`Fp%2umAK@x1}MA>^u%|w;ys@6nN&@U32exgT9faea(xhjy>6z>9y#HqAs2!61lX*x%|In9*dWSy0-mta)>%wW# z6HcX+ly6^P?`yC4^aJPfjh*xO>Ko+x|IRq~U;pgCSp|=^6u=-upJ{T#ljHXPKK8dJ zS{RmmzoDtGYo+)4-_!SUk2iI%QxM@4>~-VZv1f^qrc~PbWtpeNjs!{e7C(RRrd-hb z$ONyYBBG)f-X|n&%-^G7^{I-A8mtQ}7=2p`)D^?$WTQ>3JlJ>7F zEoVfixIABXcEwk=FF$VW}!r}A^aem}|;PJxyFJ0E! zm3lKTHIm#I(Zg^5N1*bh)3xpCt*0EE{4NwJ#`U+)oF=g{=H(Q%yV9bUfmiVX?O;Wxw4|4BV4xt>%_o)2 zX}6w#Zd`egjQK_vp~ZQR>QV%{kFp#-JU2IPKL1*`=2s54R)naz>WB$*wFmkqF}*zg zcB)C~d8;R{FYDIF&M{177e60)_RXZ)h%b3d9$ndSE%)MX%e_V7Y@r;x@4M(&+A%J> zlX83kR}y%f`%2VpP4kGOH>V|VqhWZfGwhfyi~>i+^)>I@xibKP_1}3-+}3%Z zC0BK`d#C=dm_K#3-2>_P)4N2hs;%8iU3UGp@=$;5^5GMb!BndD;C>!kF&xqi)o5(S0yb9Z*?{61ISrn@`gp;A>%j zoUm+?iK%H|Y-p=qetkvrm0iE8?yOV#wn2UO{l9T0ziilcSp~e@D>5alKO(*Hke83p zj45?fCq{H=PM0>=D|cAds${)aYskrK^Ay9AOB0W`&mA#A0uSi%fHO4ZLKml*NG_f(L3yzHhr7X?k!V63t;Q#3aW(Z2ECkj z=QUgChaJ}Zwt?zW&Z^J2yLX1%KYQlU-aVVPT3rt}o;Kz4vu{UpUax%ixm3Du#r719 zX~*TSUwJ98z+@EqjsaW-Ef7Cygr%$J@xDqAx{G8(4F2zY+ zGfmUQ=B~Z_W%sX-Y;FD_lTWH_jA$x8Z^gaS$x%Z@Nq}R5A8+|*i@S1FyS^tIJr_QE z;)bz;YP_zKvi!@62}js8v}PZR6pv~3T)%wz`hIu0%9iVK^>Z)#&-V1pWHrB2B3xOY zX8ie?NkXy31dk(!@03{uE57uZl%nIM#+*2Reua&1=GQkd`A1xoobpeH?a340xS)T+ zZ8wt_?&(@KRu@&K9(lWE@iiXHbB{h+WQ9sCzSrZlH0f&f`@+v>%|Fk5U(>#8*DgiD z0~t%!)Kr{s4Nq6E&AmO*TlK_M^=n7VEX*IfJgEQtbB1xTn(?bw6<^+E|NNNyeAE5q zM{5-<&WkqjS939}ILj|v6m2xqB&v7XynS{;A1&JaeT+i0OjDme<=Ii|QsZ|smga#X7w;uKl;Hfl^K-rw5nv0Ms&{2_g1r3Z@L|P{Mx&muANsOJnzxG ztyUBLsFOvh-a$=Xh+AnQhvbY9^@kA|Aw^3jbz15jP5Qv5boeM&J;T~C>obwFPNs0M zIWM;IF8|_}oL~RVrcdo@hUi4+x_f>1GQY6)iq_u@d|oQ@n0I`J(QddP$=+Qt{pjk)+_PTV4y#dG;?ic>e8+ z>z16Cvlx|*J(cTKd%9=m+nQg^H|1CKyy6HyTU~x<-Q|-?GrcDIHAiVa4smDESZbxR zkV9$bBo7-0wKLoP-dkROF4MB(`0JFP_H|Cc`7eEgA|vMb#2 zW@XLmzSle7a8IA$x#Z@)YV+RS-g*^f!CTh1+gZ=>SUuS_%Y5NEeZ~D7Dl&v7dtKUB zDqDHY$VW?eqKClZr4t(0_02i_semQcEaX_zoZb3joDVb3b9p&-a;&{MtGaH%>gG$Q zqSozt#KmK!x_-|eqob;-?ejOdDOvpf&9I?-YoOsl&Zq8&9Q?KSF|vyqKbO6p`{Bpm z`VQBkxVo>QP74M0Z?f9?<#)dD?5gCvnbT+a=4^ZUqyO?7ALFHNdCQNx9__JwGW+Zi zCB<2@X02GcQgRvxUu1b|u#TIS*zvb77Owbn;h~FA=M>3VmotiU)Cy&yTit|iPC2mt z-5>4sn)|!8S4mwB-MKseg~d7p>%P<5UTlfFlV_e(ztQ6Q?6dE`CmYT5TlIRHxxm4s zc{}EQI{78PHOSFKO7_}nW2xRn0etzAh7u*lQT!(te##K{ikwq4dG6Jhr41x}U|%_DaO&tJb&wd&D9;dA_HyORW`b4RTL8V6FJ_zPru8l`JPqK6RX{ z2XByIWMpglf}yQy1!M*e*%d zpX&7}#afAE?Sc(E4JRg=KJ!Bq=}hX(d*p%F3Yd? z@3i0c?nYzK9JkfRN)t~9zCP>zG{a}$#M$D%Wh2c^390f@BeM(6fc#Ey>Ux|G=pYN$x!J!|NL--lsmgZuwHl{jwhtr_#S@l*f#^XHj0>lH=%9&xjHs7}r>krL|6 z;i`W=>9c;q?{jaDEVkRCr5x*M7#PX*TK(DGMIjYli{eGWx;F9_O zzrR?2bIZ=o`G4L#FZuq(LGAEMZm|TTr}Abw$M0=ychO-I67_mJq1#U__`$2!3l@~T zTBv?uBS&4jJnPe`EO(eajwC(FlJ#0Em>$nB)hxI)sJ?sia^B7epZwQ)U0vKSGw=7S zODxSgHO27z(cSOYs62b6BFDQ}U&l3H&+65tZ1>-JS8lEGcrCv{nD=)<>2}5Gr;mmD z$#MVaZ22R>{kgNv$>Zswz~*!{spXf?h3~Hte!o7-Rpr9jsil%tIeT}wi0(`+`K_h2ZMx#A)gvq3i7p)l zkB%%!RKLtQMM^npy1c7`%a$D)+jXN{TW&7>ZLq?rWLI}l@_WAL7hlagYWKdT%u1@T zz5V+NQ*GrtQF}U%S>9EDQ!UF`|F1w~uUn@_$*ZoZSt}=2gc^3Z90^WzaWi~X#QKTp zW?=UehM6Mnsv+NwF)OcYJpQY>S0RK8vXk*v_kkx0Vr>tu9KLqdyU}$1W-+}ZQ6VjN z^OhIZDQ|wA&6trhWA^K}8Jll|X5Bti>^&0n@y=(iPMKDhb9Z(YPxN$obFcnp*Tsw{ zTaLMPb#H#U>a&#eMD3{^sY&nl{m#>I6*bAd?Vux-`m3iq;{B=w1&gYa(YLnEd;j-( zZpyCkiPN$o_mYceey^rCeg1Fdsh3wp?kdsrp00N`uiwqxz@o@0D$ZPf?n$Qu zZxuwPh32YoXEm1VyH0mqeDT>J(yRFC6L)7NK}8Y11(Q-QNcEn$Ql(U< z@A@=&WBJzJY+0?x0i1izWh5ot zB@C7~m=vVWue&}W-7VL;?vSI3pxVS!R=@P-8h?omm)9tNTgX4P_Il*+7H;vIU*2~n zZAp;Z>ExG~_{~B?N9RPRh_v;q$h%f5P8v%J*TrwBZ}LuC|E!Hwd&lED(|`PPJ^$gW zalCy>oSFX1e&Y zm2fc|oh&HKD9hB|KL7Wn4I6vaMGxOu#Zc@Od#ChVSzX~%u{3?Ttc@Qs4?OOlbLn}W zlCbpWKeKgWPF}2!W|VpLM_fR_qOEiP;d8e8BkW$;?rJ!2^3eSFy58&eD#Il>7#sZs zn*u7iE~UO+cqims-`cYwey6|9%DHvLML{ODE?L=Zw(RPwUZJ6)UH(22i!bK zY+WK>^|tql6HgUXa3p0dbUYF=Ft0jm2L0;o#&7EdvCu%hG~V3 zoLtQZ$9X>w%WG~ENjjr{;AK(ojFRZ(*A^Q`ZYbaS^vKbW6V3UZDT=g1$2IhB=9kj16SyibyqE&oWAXOBuV?Am8SnjoXRI!f>4IseD;}Bqe>#2tZ&&gDkJj5NPrK>-K2l{|yU|7`v~-88Ez90GrMh~3 zRnxODE!*LOLy8Tt2?%9mn5D1fBxR=2Kk$twT-7f}Dm<%ZuJ0qe#ypFdtu?lYM+^L)CU z@vQUN_uhZ!Uc9fv&UE+Ymj$~-e9I^AVV%CRBu{o_=+4FeGk(9GbNE#&_lf8J>lM3B z+imW6XnxJ2=Krqa%hyQ0G*DBESoY{&2ki8k4N2 z*#*(4vM;|L+^p|9{dAV-!6OT%Z;*fEJbl_pv2!`R$4m4)k8o@}HpwDBJNLi}bAKx~ zbDjE$+0k+fK1r|_c+P*kX`AA{y;aKP?saF{{+(q=5t*4{_HCNv?T=G@qR#DKdpwaA1_O{ym57TS=*_|)Ahmnr5`>l6Ti|I z5Ll^wH+j3>~mrGP+{}rb7h-*+sx|$=a(Iq zKmPb*!R@!(jZL0Bzv$clV8f02h>LZS)$B|#PoMT#RIEet$U z#=b~Jke4U1F!byy?j2#P-LtnCS0t#f>&mkGv9N!`Uh~86HlD1VsLvrIae4DX)&9e8 zRRpDu-`-Sm=*5fP*S&q;Ci|S+Ve7uw)iv-){j&nY8`pbJ=BQ5gTO{b^_sME+$I;Nv z_384iy&k@=g#@})ia$nXR{Nb)c-a#o^J((Amp65%w@9^H9 zk#vl2dwP?TBVGb}ib}+8AK!|JJ%*Y46TcHV4kGE^?&%E+T+dB+cdZwDs;C!d;xTpYfmg>g zbrlPX&-C-9M?-x1-9E-_uTY4w#r#^ zo?YRd39~9+eXp=H&A#qv`Zd}$)kyhYpqbrAo9!{18P{(QdMhw>^Q7L{^Ozq@%hn6F zcD@>SrLUrUfm_Hv-j(at)gMdMb^UYoc6P>!RmtDi)!xWed#0c9?Cae1mv^R{zkT~w z=1#ppgX!w<>1x~g*u~fEm)L#N!|miH>j%lt*TsS+xA(o%J2WvvbLpRglBI_qCL~5n zE7#eZZEruv%>Lt~f8C)rUg?VeZ{?qSTt4ri`2WAjdvs58N=^5XjO7e?@yE12d|mDX z?)g70^!NNRivRm6yz;uP`R4=q^}dRxeV2YqFr2sh%wzxWrN2S++a9(*cRt=cpJ+Ta z#zy;9RA$T$ru^4IQex{hi`m+PrYyOapd{FtV3~8wC^YNG#)#EY7p+%C?#>g{+g^R? zxvZ?L%H)%e*Cp4Tc3LDQz3_m*%Of{tTh(u4TRijDwy8^!1+}DREi2vLHtFKIgztH4 z#B9r!&;B^^VCR=IRY^4=3D-D0*Rr4bwW02z*PhSQr)*o8 zIq&K=_Tc)(J?nBF|9KI3xj(#G-0x59_@x2&qHU14)-mwm|DcMqp^{*T|9@p{VZ$hhmFVxg7-tDYTQH+9dAtwoE@ zEp?p!w5yW;Y*zd$7FlQU^=gkdP4-dka8bIkCM+v!?~OHKN)zijZu*q@^}h|+GCiPH zHMx71;1nCa$+M-ZmHkdOACKuh9^?CZk6D%s@0~|{1(k0()N1GTC~d9}m1Y)YYg=4< zN@rE;lFmXc|}>}N)sRa zYd2dpcZJdFlG5)V&pcbZy#CMMbhG@Wt9Sdq^$?x9nZtC^Cmy5dRsU|>kZA2`^0dl2 z_h8%Z6H7(EeJz=EGIc_#a~fS7Pu)gY;8 zmrjknUA~Cpl#9qRzvanKKOJ>B6xi0@&e`geb8}N`gpQkqjGCDL=Hln8E8d9K@6d|A zS)3uW+V#K^U4OyLX~#6$tTJ==PkD7q?Opu?M!WAf_a9u-qWL1n=Hnqgxta%YcE2|I zf111d-J|~gfAiMYywr9{Qgmom;8^-%Z*t6``yD6WDLr}ZJV{4FMfqQ&T+F>T&FQlI zY#%FZbTYD?FHB!=Jkw{>^R2Q=jIlLc;Y*iSuXu=ALj0bTp8VTorj}n)Bqvyn1hWVKgt z>MbVaT05OX7$)YTdOz75}Z*n9oEM{}pgcW6vYx2@Pa z^-jTCRh^ufe=e9$^!PB*`rl0ZoT^6tyT8tP-VY75jIH^*ZvLmo)%EVaTeDAXthoBi zG^YHgYjEGe-r4h>b^rf0|AlMk*X-~Wb5~~RYo&9p3ixSe6M5{|F%QYdH|kqIO-TsU z4|=`Qaj{^B%AzNqmu}$moTT>8t|-~i#GvQ$+mxG^ma-gHJ-BY&y1v@=Q+<4uK4#q9 z)$3*~zCPYx@I;Eyk;jFH9xi@3`DaYyJLkJU+I|^IyybCm|%G_z0jIx#`7PV@Bhau$~Q5*-nuL}`u2fd^Ls6)pB~hbOxKyQ^ zIsU)nrj;zFYfq~$t$SXSd1#_UZf@?5;L;+U2U^cI7Xnu-N{4D_^8qnVZoetSuvrdFI`t_%K zN)DEtX}e-sEj#6MQKZ+VyLm?y{UYFljtMvBwiTdoDy4(GBo;m1l?zg1=dVJ;G zhlPe)Jpy0LB(GmT(O8lzB6f*~lJw$$ z5QCSxFD^?iDVVaS{;0>T$BQ&PQ*y(8Nw2n;!gIm?Ubo++Gnun~ zv(6^Yy#Zaz&S+PDI(j)>P9?)srCIaLvq?K@*I3NdoL5uvYGq$#=!y_a@xt9QS3-9G zxGO*Z+0yXxkK*S0k}ny3%j9`@@Apgn!VSykum68|dBnbog|}vEZ9ev^{`2k1!quMM-DoY0OXWTx7A-HoY$FNeN$eX8TMyzJoZ$uSp? zPe`7!>Q2y?lb^oaYg=U%6Q;g*aczsTU`nLhq$QiIrb?=w{&&vrPo4eSw{Kk*3x0ch z@AxXy)gONUb+JC}%j5Q^?$AUI?eO)9^>M+%=l}ma|An7#;`wRfTlsrhIgSUPS)cvH z^bU{8XPs<@?Gbh__0|4P_%i+IIgd##=Q318d^V<@7L)t`SpMgw>HE*Tc%UdFYI>*i zdTdEaNrI{8ao-`Mi9@ZRTp-(|ngh^hG4YV-Y1aLCMO@3w5-vA2cE*@bDb#VReycUBE&W1A0V zq~)yWei6a2`RvIb2Nd^wo_^-nKNTU)qMatnvDGJzC`sh-5C3c#0*q#&2(d$_sBrItB7hpOu`Ofm`S4+=pg#Mp&ZLUR6=ce~oJ)G07m!56R zP)T~P@5+&`#UsL%ULP-#TTNmIPvQ*J z{*B4c1A`B1>qQ-I&)eGV_4kRaRS@WP^;~{hS$j&&ypI7B*37Yy zid}jAp{Spt6>Rl@iJ$z!5D^}os7k@||Ifewd}hAy;PrjKLbv7JK32Q`SAN}xX8B1z zCwqE&3SKUqKFMd91V7uxn>jOl)VNxiTAeCiZHP0OzSKtBYhHkbPjIrb>DKzKlefup zu~}ZY+j}+ZVA8e)8j^FiuAQOlXSCA7YVyPqD{t4QUs{j!stNy_$lztxdGpzvYe$}M z>DCux-&iQWGNYyImYUDDpd*O|F9de_NcC@TOfl)WmN9>_dS}#Hxr-V?Uw9Q>xtdrp zvv0FM>ApVqsp$O4bBcVdmV_;_PI;34zrIFVe#hIpNBV>LucVY4T3zr}3Vv|(BHO;N zOWJhzN_|;$V$v#|m4fzV`DY8ipN-k__&o0!uicxy+9qZQFMM*bD%*Rn@|pEEB_%Ox z+)uV1-E?C6cH@Z|B|%=B&St62?MU40TYq>*b@Ix6kAJ`WefG%x{GJUqhc=#;>0DtW z$CupXP=CkQAaYk4U(22wzMY*@KBS#D=*|0o=7?x?huil0N1>_KuhML1PwWwE?tQf` zF({8cS&Y}yvXSjV_peR&JC)94zWT0GxO#=c^WYOdMP}~t@jE#||A~f(_kPy&-9InS zR-Jh+!PJA}*7kot*Imun`1X798#$G$FBHQ)=HKJZP?$BL{(Oe?)ef(z#WP!V&&CuV ztzy{s>8yOw`SWrL^E`?_&JvBO{wb9sCLJAr`+Rf1&B>1XIj66$e>h9~n*YqU)r*Xz zI~JWV4PUc-=fb{q@9ggV?bQGDYaesPYVDohy1XOz?daVYFvItJ?$d+r^Bzvx`gToT z{3+A$HQ~ydpwcvF&-VI|)>GT>pG-27xKW*;er{HfN^0C}1vOsf6q$}G@g2UCChl4l zwdtlzXGzo1+_fpim0dfT%yx^ezwWIfbWp?d2V1R%YpaXW!4nJmQ?;ipy#Bh=MJZoE z{?U)Wb$Suo`?|WgKE2eL=+e{_r03!#X8pIhSz@cw#imY&9?k6VX=x?(b}{d?*6n@z zS0`>uhqvC|Dfu;@Xa9Ni@Bh<(zu!MM-~W?$``t3>xb@<@4>w+ao%;RV-ICJs%>@sg zeAI+rUb*seYo|+7jotZAqS^+t)MlS9DSf9b=Kr9;LhXp}=CigR7pqB~J>e+d{;PJ& z)-67((kpeQhK9beEMS=A_(pW=@|vD{QC0tq5iJ zKuYMv=Zl&7YAlWi-V{vc_+qpwWW(9;u2pX(TBeq=&Uwb8w)*dm->Mu;9}C(V6Zkt_ zgzD#pmEQ{T>lUf3-O=jt>V?Gaq>FWLjs@-7X%~6mjkw^a3HI)CuZ}Ic=&5;9)Q@}O zM-9L4Uyi@(_>gfiMdFoB#hqN4-DiASyc(W$C0enGEfU$1@=57nOYNbxyAM8{zcHY4 zS;0)3C$@4zSM!vL1bW$&CURKCX4;(2oS9+LbvSQ+z3KIjmk-8pPtDhHHV{AeV&jya zvpRd9z7Bn5qQvIflq9(GQqiqeuU&|IzDMbKt)ZM~aUKZ;E>F|Fq}A)w{>r?SJcwbi3BoJ-0799$z=% zYj*gCy0=_;yX#+OU0WM*X7TxbXO5}=J7c{r!aVmSlW1slpylQjPET)tND=%}^{u?@ z;TrAv2`4Yzm~wGyfYI&3+jm&pjz{iF(o~!5p(3(m)1kwURJ}p{+>4W3MYvgoI$68| z6EiY6BBz~JGFT`wwen=E_@?~-|0a1a2wQONvFdE^Mz;k^H_rT6A26Z(ZjJEtxEjOg z^1Y{SypRxcS8ZC_7ouU6`qnEqt>@8?JgwEQ1&R!dnp$J6%Rl`*Upue-UV(D%=d6HV z^PLK|6}{HoZXm^#Ea1BD@7nx_B|9T_mSje{+?%N3)qmXi^PiJx7AI3C*;ao`FzMoG zm~`G(l6B?fZkOXV5+;>Q8|zKJ@?M^u(Xq%wMP}&?&k0?w6V_atypDG!N1s7ShW*hR zw#{qzw56%dP03lneKBKRibQeF?&f`Rj}|*e*oIoHUUf06WXa@>mcm*KQ`RMa4-tNG z*WXI=`Q!Rh_O)O2#9mleKKjbSdeL&@8vE2IC*`#LzlLwHUy!O3=dhlA`bLYF^$}0H zq+-lu`^)9mhW>oDq0>9dZNqtoFCQXoEOhfGxpcTJ?x^~>rPFfamZfX*9t!z)9P0LOgsXM5svCp9m+*irAMEO6T80>{#9e-klfsm_U~pBGxq?P%L< z-ISo$dMZcF+d}48-uA~OmKV9AlqPzdoRU55=$#O)=E$0C_pnzcN>$;kKeNmOR2HlF z{WsfUHR{hF5ObY)T0ide!F6$<1iB`A zqeT7s?LluXrdmEN{{JiX7kk^!v;F%HUQ*>&t9|!1tmx&fvVYGP+F!hR`TW`IG0Vzk zt=hX{PAf;2_#WGjv$6s=P3B*}Mn3VxM=j2?Peh`+Px@pZuBqbxGAX!gPW?aD9@fKe zZf))U_N`2)lVy`m@xfiC9zmM5UvFH=XJ`&fNv*by-d>*v8ZfB*Jj)=%RlxL2eym4w zvNE%>vrbm#WBz{IbKBnD{yE$KzwTS@TQ~1rbX1vkXv+_-Z(rP(<<6G4&As?`<^A9H z{hfVn|NrZ)U%qUW(9&vUscLTfUl;o$wm&p__ve}Uj~mDBz;|`O`@4Rzv6Q#c>PhO8 z{e=2lBKKunoKnB?9`oP7G8P34{kMJXCMRqtR&TubGPZ8-T5myKHn%^`D*cn^@f19C z6&LiFdgSiMMrUKYWnGif6YiTmnkaD9w0B9epwY`uxle-(Cv7xPjK9C-wWQsK$sbNA zi1PYM^omXKkz4E7elH=Z=8F0AWYg)IuDj%J?4Da;aVGn=`RCRC^)m{&Cimt}isZFs zGLyUU{AsuU)z6LpS3f^DU8{26`Y$FX)4iLo9cYSTUwizH^ztGm`@80!rRM0xvR>`0 z$_dk6_~GU1?l7Hc+^hfZ&bC~iuD@tu9plukzAwI7`ILzt-KcZZ=UZ<5TqBP*&+8LX zteP{dKC3C8e!VNBU~biu6i3ba338f?RL=GNny|=m$)-(H_Qgd;7GCR~QtWFp@j%*U zMM>}dxsw79rEM1US4k_~ebZ;!!H0s!gimfS`9Ifh`uoh|8~k)vuUk~4_Ve#Dd*%;6 z_y7G+INkcw&*0hCSNwu!2D35OS(Uwgyll1p;;l8}B?U*id#=%E!$3 zXinRQj0wBn@0@+KTkO-x{@N+J(ea6o|JxpkFgaJ>?f-8=N>bIt6&HSHuZy{TVEVfs z-d)Y-r`?+pWAo?3;X5Bs`ZIjk{r|5i!~5#&{nd~{oSB0*=u=n6f z>-m0{FJ5$1n|q}A#>eU%+u5sKuNJo2?A^CTZh2VZ>2Ce`AAaaW?O3C7>d2wVM~=O; zNcywbTE}3=s#j`9>VsWRPH#zZS<f-MYrQ#H+X9R#Yxc?gdldVA(XBO$pI)#p{Q2kca{gtXqvB-EKK@-R zx9?90>)hYpnkPLBxa50Xx~AOfu-UxVThCPNmumSb!Ml8Y-F&;q1xn`iKhrWEFRYqW zsk<{~-i03;oh2-bQ|6X7KFK+dwNaq^=!DCv8-x5#ySO#qkWshio4zLN;V=2S$G_U| z>Q`MI<#+m@?uuD4>#rovxmh@|*0m>&H|q2q_miR;k8WOX*3;d;^!V`@sh3YS-Rxv9 zaG#*k*<-U?u*RL`(v~@@y3g-_dcLLJ%&NL+b=XzS(2!>>E=mXe-|ek`RO)gQib-@dXcq<-pfZm zO9;Qe<#ljipk*HyiDJ=%0Jr%cZ%oXVOt|i@N9fahqBi9at_VIH;eybN5DQsCz}q zgn)z$C9a~3jE<71WgAy^hOQ1PeCR5^G3%<Q5+uXRU zyr$$;@~XL!B8l}YX8qnCclz@0>(k`--+Cvxvn+iv*G&(>mCw#B{baT4*Tv(PUa;6| zsXz0vTr96Wfz8SAQqjLPC7JU%Z)FJGK9-(dDjljf+bSY7ByHyM_^MX>M&SJay zb<)P`H_eMEl9>JT$K=lqb^McVc3TE_8pi7hT)FM7ck;HC)r3?@$(g$A_c$4bD=bdA z`RUZf*}WMSXH>=GPQ0uAE%EWUL)XmPfR!F#J_WX42LFih_8=3 zS)XCxVGb$zn>SCMoxiK^`nNYv54z8PxT$-;(?yFD!qV?kj=p-mVqJ9AooyLS z>p!pm|1H1f(_{JPv+w^Y=PN7y+}U40r}FIQk3VakT+Re795Ktg6Y*_tZS{Ai2Zg&O z$w)NT_vuEj-1)QZ@w?Z$=JyXZ|NmXx zvn@{RRaAP} zYxBG}d)&Uvy7}68@e=1N*(aZglwMf1;*5}ae6gx|eDTvM^Gm<-oXe19-_0Iz;Znh& zuPax~(ek(Zu{qQJ_VvqWS4}-W-?;wW>zDIB{t5{Rc_tUSqDK1iwhGJHX5~rN=W7q8 zrvByFRL8RVQk$*a%_B*XmxY=p3fyhB6*hg!6E(4?sN~Xp>j%jxCPz+P&Hhle`sVLn zcA!4zxpRIh-3@b2UbuZbdfUCDr^6IV%7S8J&jz2j>puVdvAg}hpGTgb-}}SH)YLSl z{&(N}OM5@>fBEtc=iAqLhjV6HnQoc!y&kzH7w4hmvpT;8Lm)3O1e^{@WX}e2-ktl$t$j$G1=1D`je?xErY| zPmyK*u=%W%UFAg~rHN)y&e)0VeoMQY2c_?G#xOxiA_UvB#0 zcDUD5p?^0vPLSTesWR%|Cyw{K-_e zU;oJ-Dm$|NYHht7@@z_|_VlEU5kKbNw>`(6xA*6c)Bj!_JiZ}9M_t4uG$iC4&#Kqo zB~!M|UG5UNWc%gzt$EKTx2+LSS*=^YK-235_fw{6o<>38q24}y%BPLI0v#tUF}nV~ z#_s%u0}PWco>=uwwB*g5&h4w1HeWrru(>^;>#5Vh8z(eQpNnqw6WHLDmUL3$Wl3f1 zp$eOG@0e{(ba(fyn&y4;^YizL>c>`m+2(7z!Z=xCib8m7DewCoueiAOofR>)+V=kS z^40al_WyrOtykIiw>_u!kNA?FwH0^XafZK1DUn&doNM-Sl^3Gj6FiTu%!q3{nshAo zcFmoC!YqugCm(FOdGr3=^N)^p_wU}b`qJ5se3rc{lua(R@Bhy5!o}y=Nx$u#E=>_O zey{gbnwXkTo|-yorHI?)l{q_|Hg??2JDy=Q(Qmn?NO%2$tBbC`>^Pb=;lVeUOYk1d>>H9u_i@pYdK=2d@obCz;+cAW0K zWrn4IM){#Py%G^I^%tGvdIWpj3U9pK{LZY#Ot4>FKvg+xvEW1A#t!yBa^Lu-{?eX% zb@S@`r%%W7E-9|!`({%D%a4B_X?b*q5 zt`{)OHQ4+@w{nfcrtJ=f{8A3t3(s7vS+_wVr=qH6!FA!QC!TQc>^xup?3C+o-E!k4 zm*)wlm(1PvL~q^Ymls}^p2)0x^hcj*;}jpY0Z8i_qh1Jf3+@wPo)2UxSslb zPVC*m%Edn9`8uB)qWb)S;lZyw%yYWw$-i>_x{K9N51YEI>qn7G*rx@;P+bUkjKTzL*M z^1SiHj~0*23tg#7DJnvVH6|xceGU`qR+o^HN;>;9yTeT>Rc}9NY$SnUwP#9Xb-nei zMNWar0(H%oiyQ-A*j?$Jb8*wNPx=!Ai{8}ylZz5tH$O@sD5dM8V^@(t>|ZvMXIXW> z4$FU-`@V)fdJpqnH%Ad6nOmP~bI!hZS+0NABQhqmrKZ+nQtN_z241Fn)0TQnYRRzr z$YMX;TlmH6LoW@I4LzT9N4?=YzU6fHq7!}fxw}ueyI+u2nKLgdDf#dX?LMoC>6bi} zHd>UHmYSTOZ?702#^=6PMo_Do|LcX@x7`gSQc_m*7pS;7Co8`!ky4$%eAB9~g9{aX z@&(KoFLfHa?fTxhXoBZa!Cs}Ri#FTEl^qr2q>et#O}Mx0{^Bd9f*gI5Pp7@OwY#}{ z`p%nAFV_oC@}AgM|L#)3?lkCXWB%ftHr0yFL%{Vwq#vj`F;+EO1kvN3Z~U(yZqD>1WvCH zKRY$?&NUNeN9&h4noeeOuND^^F@79A{l0Vgf~Lj^+uuB`?+#fca*FjKYbbL~!rjLe zXD&*~+wOzM-h<|;!Xmg04eRkNogxBkAZN6Vxz311hxEM9%-rl9{7tiP1JGH;={d17` zoszGqH6Qcs;$}@||MTareeLY^_1~Y{?0H#PSM$DEWin@&PM&RELwkMKs=X`DJhI)S z6|!%yzu5B2N8iO(7haoNQ_Qv_E1le_Vx;*~zx9-}!{e0b5yH;Em?ml|r=_&Oaj~6Ob z@BVgi*OQ_s@tE_I_y6VK{e0eCq<*|Rd0?>o`~yzU}fCDe*UXvX>+dn3SXRNY_)JpmC!?m7ob6qU+qmg5jV>2 zyf67$5`6iFS4|1W;-hR)ja%j%Oxb26$CI@AX5@|x!Jj_Md={8^2$k)wby{HJB~&lA znRW8X7Dpo?xp$5RHw|a|X#BKso6I@;?6C(A9;j?IlHzgP*l_jXp^S}&mu|Q2-Slk9 zt$)k%8+^lxTzQ)&9ld(n_2H)SAO-ge<_)V?@tw>`FZG?Wyju1N7gHqbyW6WCUbL0^ z<#f3xk@Z*8(t5^MU+ltmJAdix3yL>?zvSEbHT9b(sdcVda<3-3)M#Rf?Bb6_8%%_?pekT_ceM&Aomv+eomaCL!(>!zJMi@m~IK@%Y^N{;^<`j>i(6A*+)%k6{ zNZ9ZD?kHFB!f@N$S4ZA%_|TpIUwEyqFTmBSMTO;Uh#OF^m?^<6Dl9woL=!}=k%W+_ws+Le_Sn}a(T19@gw=i z%-ips2)F;=*}1Xya=X2M{C@%Y9bet9t&i+jbaB(mo6~P@-QPWX{Z5~^5uo8|<`qs) zEekfe98=P`#$t8%r2n+3NqKG;r&@km6ScD`#LCxh{_{oLdP^KM|8Cs4QLH{;jfkzK zNlW0QjJ!4KLS0i`6Q6yqTvQL5P;H(zO>Bx&;~qB!!QLdZ+3GH*O|!3kIJ9l;k*Q46 z?|+d0^YdoC;(XnJN*|F&EIV0Dd$}vl=e|#_TRLx1efG`cV$rHsO>_5bdzn2$>%8-p z9fH1LZ{}sWyu6~eYEhud^yX8?!rE#MtNZ*v_q^!DOrD)7GivPmZ)zCWy;{DY-uTkB zYi_QttP2wgCON#6mt43!+n&wyNY=)won4Oc{H(5uGTuh@|NeBY@D3E2cv(|KwK=Rh zn>>ftt+Zaig9k7%cbm< z=B|~Q8Lw{5nZE7NZt3rv&X}F(OE|gV*^T;5Eu~fR+`5a8JT@xr{p=Uju{As9M=|sA zrE9Gm6W6aVy!5;1oI~{01D55sI^u0z5=$@r2>BGCGfre|AjG$i5%Og6+KFnw~ z+40BYmrk0q)NaE@Umu06%}a{ZpC{aZ@TvIsEcMKi-|2tmHU%l{3U|zA-W%E+CvYO& z>v?8iy~ZNbri|-B0bIqinDT^l10s9hY?&Mov?`!-(wVIRm78wcMzeZPKG!&5%E>e9 zm6y7t*H*L5oflzboBlQ!lw7B}C>?Zv_anWotM31pwx2%8e!rMGcWtl9_3(h; z*u$c)!$17nzhmP1+JBdYH6M1mH2K$l^b-N_0 z#{c`HUiti~xNpt-YWv^3x69u?dsqLTNq)~)E0Ec`*JIl9Q+l4qRZUHgubO)I_pZp> z`#gHrg=`g{YUxrRtaGmDYVp*}n}1H}=|x?yi@I)k^0;Cn3*Vv`(JbF@G7W?~~7!eDCZ%l7n^Ambceh$0vW>bo9-gt*dq3R!`zcG24`N z_UDhkb$q3=vkYE!x+s;%Te;Nc>elU_|M|TAd|qj@5AD6uFWoH?D zEB9O={pJp*mF!pD(;2Z5deh2EO6q-#u1QM2Qj+a{uuAK$P8*Z6iB6pH^XIKkXWVk_ zbZII{>Up@1`G)o?wL7Qkcb+{kpRdyUwDf~tsUPlr?)p(}rLoL;NwVNO+5N58-A?sS z59cc0{PVkniDcOP{m*tB^SIn6s_K_s^gA>2b^pH_>xoxV9N(@t`@`36Sm+na|8yf$ zeN%)>`o%dHbayWh(O72sDh$O*@&qq_(v04z6sj6D+UNkTY9%>bPTH$B!gE zld6J9;Wat$+_GoRd=MPKmEx@Mo4bRLciFEXmN}C&CUJ_NaO={@G&nCT5PN3l@9oE9 zdani;xppsUYIz#Rl_d^aOHde+)|X#V-!d!eeRSIHu*oflQ*0hDvzBvK&hYvzaPo&2 z|C}_Bg#k-uJYRBKpl3iymS7u@Dmt!!?-%d8^AX;<*Nx8~z|`z2-DPHBP`T;BQkG=FnKo$~j)pY>CV zJ0I6`g)`dE|NE&N+y&V$+{rTk=c)P$9qN`hF85!}db)l854EqMt1c|f($^|(lnSh5 zo2eaoKfz?)mX+s1o`|;2i{Lj@?DEWZfAS(&HBkT2w%s3C|1PHPtPy7~QE zv(G(F2p7NiDr=3}M30gpuNf+yI`;XzcdPl7W~$bMR?%1JxTsBcoTQR<=jsbyt4AkU zHf}ky+Pdt+yz;%>U0qyt-`m?ioY~)#w5I>Zk9V2AWqs`$QkjuE=G{Gir#UX$>64De zUk_Gyi5uIQEd`b5Pu#f6Z_c7gem#bEH;&(Upt$6Z!ddTYi%%}sI1y;_GVp|phDId| zufhw#FI8=9_3VPKf^$!v+jR8wid8Es5C7{_c~toAeQocGdIran4?cuUJpcUUlE)ox z!ZTBvnifqsy{v~`*dRq-= z@fOFe4ia(Yy2&H8wy(nE%!P%1t6o1-R2M$6QX_5l?5SJ1j>gQX=lyI{lh=Ia=T^>928FHcCnysYzh?rW(P8$6e9t6#n`E;VGEk<3S*Dtm$A z&3o4Up0i6X&6$-;k$0s-V@iEv&WZ+`s4CUp+)LW~_dS`Yw9`dUaWSJ{iQI&ks576p zc!V-Fg}8V+ek=%EagAf$ER%Y&YWlqh!}f%&bAot|hFzzr1+e-d{9{b-c1*`}A$=w{yPeon`6&o9#jd%b6ri zBY*9T&QzrpXXb3ST~u^w=j7AE-X}G@1Sc=CPyV~?y41xiFaGuvRli2z>HYzm>Rk_g zG)aEQvT;h!;i{sE7bdMxo;5>yVNmai5KHyvT8#Gp|GswrvHW~(iPuD#Ka>pd#BrRO|f2$w!mSE}LGc4q9fFud-gmbBXZ@ zuT@k2X}u6|O^*EQwL8T%THuA{mD7h*RX0z#UiLoi;-S_IlL!1g8#nEpyK&-0&&>PD zhwJ8q>ea6a-PVvGTZ;j zXmOF~BxC2S6_2MJ@oMyUSy6Khrw`S5sg-J&X@07eKN$NTH zcem#^`v#*w8ru3h7?XdLb}jVl_%?;7?osp7{myemj+ak9SuZx@{;gBm{Wbkx!}m>Z zQkZc1=_!{Z^WOO}Eq?qY>G2C5rL@&^D^y&J#N3RcPn?J}>NH?gZQs3YW=aZ=cdNMP zCWCkK3Nv*deVwLM`skqn-}LT{8x6NaB`W=m6ksX($#n66z{`}LSIeFScUjbI?pV~Z znim&vuLHp;>V6k`}E$(@!u?&Rbtd; zXWX}O(adujKXq1XEq{7aPTP{lB}G>*m@lxpNNL{^L!s0^zO$$7I3u|2tM1G%btbtB z55BcuzDVn98RK5}<`C6{RiYXx-6@CNkGe4|4sWjA$hT6e=W5iKd6NuQOs#J*N(@}w zp2YX5eYd|6XGh%GDKD?PA8}pj#lRTU?D}M5lBdO4IZ?H(mW(b2mEKJ&?iue5>nf?2vn|JLM-T2u4{JDC+z8kcd^If?8>GpfYcMC7?+I!Ed ze%rfShu@uZu6a{yzFKx2sFZJ5PIS>GPV~GxGD( zquts4+UIg#TkAZ@>tg;xj~3qPabDYI98WR+RDWoictyoyH@iO%`8OB5beeZFbD4SA z$!+5GrKjHRdU47>vD40d#pmS~d%uR5m@G7XVQ@=^rRuxv_uVrWhMz3Gf3}O&d&jS5 z`j5o?WdfCseLHkua!mQxs~ksFBqP;|EnMwp`dqqrk+I?UTeoxp&VHUp@-G+{>{>WQ zZXVa~i_$(b>TR}4^rZRBi#o>kOKqC+?4$+z=hs;It_x5Q;n}oc=gfj7d-`S^kM2Ji z?0xu=X}Zf2mIB zW$!^3v&jcTLys?AcQ=A3IRE*>y>9PrK6-Sye%14P*KK;#()AwIXK%HNDm{I_BwF?u z3-7uEQ|9lzQJUx9RcdB%tM8vnX7AGP500$7(iC}Kb?5`+WqUZcWn#26!>)0N@fq&r#gxC-xb5Qf|p*}B(5s9IkYmU za`DV%uUDP%sAi=6gS_QOMI3ATjW-`=K7(UDX=y)Je)C}CVYRDUV>N`{f! z@ojvsviB~z3|gyMp&jdhb?Nq%6eWWX zD$C9Ym`(0%{8z^(V*yGK>-ATv*SjUZY~Qjg(XMZm*A_Nev3BOgXB)3RJQN)1CAr;t zZi=zws%)*5>oQeDzZuK%Ov}{|)_733`{a_zsqf_@-EXP{&ph0jZ^xdk=U%o$kd-%T zZC~5b>;hArLyzXwDZQV&zokT{>E5d)+qU)wBy{8y&AB~I&i<|G%&Q+fmbd!)@!l=jku~d7Xw8H?4$Br`}LyZ*sHNzCH1>(c;C)Kib?SWM!TG zPOq2~$+Yl>q_DQ}=VyUiW?#rUQdC%E;-Vljdu#n$DOK68a-kE#11+UDM4T=8%5&-J z-SR`J?96p_e@@>|+!$ez|1@ap=a6SC%U6ng`S3wl|4hbDPyt;KeTzr3r1iT+ujyILOm*;vr<+i zU+B__y47{D{*~6u_iJJt&DgP@{zjxX!XTkdY^F1uiXy3Nx=<_RkWjgz8 zOu%2M@c6phn%|!bPL|#Hvv$io`@Ndy4(8rptR-!cYCPZb_{9egcFOv1N;sQ-`d;`H zo4voc1zYFaO+28%5Z2xukie1u`Vyz3v7n5mYw)X*8*|@H^7N~B_FNISCxvt2;YCYN zznym};yFjBOVfn|bq$ur*Dk&+5fzj>{e=ihoO=VW;K?7UZEWtjNJc#6G;g6W@Sw`#5jzgM5EzjRJSxAGBFRmW`? z-#-7FEpM-UUENYwxcm6Y=k=dne6h+2)1DMK>vHW0H_;&GrP;GWbQMD9+}UiZ8t4+p zWo-1qa#Kx8e5J^ii)sp6&+Sz__j18KL;1N2oKHOCe7bn~-4ONJCxy6L3oK+j+&C?D zg*#mecE)tDU6uUYBVXTN?8jSn#>#w|lc}rWNyht%k3OBe?v}fvOo?OpzVlx7a>tT6 zFBN^8vaf#6>v>tr7B4a~ZDy>WdC()gT>ky9AOFjPURy*imJ^*id6uw>*Z0rI-Tdx- zd}>{p_IaD+`o}4~RUzki-@2xL3&;+ccT)bF<+{lUSGeBX+bf*j`*O-Y`zP{C12h&~ zm9;lgpCHfV*dA-46&7ZxCD>!7G?C+Hja+?mn2UOb`l}EvSJwIj9@W{YS5Jw`*c33d zA9i$YZ9lkB@zc*wFDC5UXSe6-)hniF7tc7asLd*L@sr837`=A=hYR;-t7}i+GB0R$ z|BN?F+TtHvxHf;`^;s8gy}p>`z3_k6q~+DeZ6glP-Ln37_vNxRCS7L^PJe$qq*89t z(-j>W98C3#{JbxiJ7|e1&Gwt*v-|=V)4Es37XQxOG>L;fpvbc4oYo#+Zb8?HIcD8q ztB)#pYW%eM>BF}D^2rJ3+fRnr=^b-t>ty{^5PDTmPWD(}tbO45A~Q`9uBBE}Cn{7f zZq502MQzTalU*mX)Gf_AoO_D@{){`9-SAoJ!6(7IOh$|=r0Ryj!~ zOCSHa6;e6B=l2B#ABo>Hy1xaTy=Lxc@G`+9u1jj2Vc&#v-5L@d%XDw_dalY@Xt~!c z)j0CdLxZy2vdd3*hFuWqbP;g<*z)}U%O@UdJ=ZEJ?DF6DY_Y<$GdU*4B6dNBl9p4P zOiVfPbB>daqOnw$aOd)k8QKNk`WHxh zD^%=xu~jKRCH}`J5TjztzL*`At)uQ{G3IPnYHoV?>( zl1tupExl9ow(8$s@A~pPR@1areOpvC>v?0A%hQ?3>y)(^|GmG+o*7r36&R?j?D)&w zZRNUkvo3z(b7uX_>uva~-))_0kmt90-V#5T5I@maO-~{1|MlO_8Qb)I%DMgg+_!zV zLf>!FiJqn#J#DvP!eu9J#e<&rScIau1e`oL7=t_-ROC5NN}rnDGNDDvgZa?~Uv}y8 z)2`cecCMHndUv1o=C8jEznya0RyeUI_n8f!{Izp7)?a7dtX#MA{qI#P55E3->F!0} zw{z;F%<}Ke={q6wu^?reVg9|GSJF~9F5Wot?pfNRM=!1%R?4-$t{2;Lv*^pp#Dxpm zug%qd`6^FMR6H>A$>WF#_K9bdH0}57o0@Ou^i+JF`&v2ONh(5xiv;hk8S+AGmJ&3Rc|zp7X_ z>*vMag?BuvI&?94^;#`gr;<18(v!Z{ba{KZo%#L#cdt!cyifXz2j`xp`*IY<=JMCB z_1z?~`1-@w?^PxHgG`o6EmrLgP;yAlI2@S2*!sbfi&N)&*3V0?oxGLNa+AVgnTNlO z{}sl(_ib)=mf&Tp_j#81(MpC(SkN^_?|I?fX|o_J?Vrm%=h+FR$<_@1OnV%^ShzYBN0^m3{B?-0Rx9@nOUw z5#hp)V~=?%nRonV=dYA~62+}K?aU4H+=aW-gc4T^?zQj8Fcj=z<*4_tTT=1l!e7(d zomD;eIC-iLyN7UpUi_}w%VlX37%bYWAtOJf<5d5|j{#qI@7}fH7GGRQ9FLcW8^6@q ziTuBUo7(<4o=DSEN8+1R$crsjTt=Te-I7_99lJhl4qSQVrAYqjqfQ1A zOZG44KR=;;g2=M1Tc^IttiOEW_1BI?7D~H>u8c(}&j>*b3#Zw{0; z%$nY$u;A)U{#Q=x!m{}#7*}3h^`Wvh#d@yCMv1Dm)8_oCi7GQsG~%~Dm$k*J{!pEM zs@d2Tkf2Z=WybzQr?z{K616a4*vPlQjX0ko)Krlz8rh_IX-fd z=d=iS4Xq23RvT{Tb-TCUp1v!NXZ0RG*F_&y#2!y{ZB&`8>7wcQy1Iu>gOGrS}G9|)pDtGMu}L^N|lR88kL{EeYUZi!BldK`xB0Tf!}Ra7X>+j!NoX{ zKK`zm=QQ1%|4ws0H{Yhx=QSQdl#d8j7cb%RYWyNYZE5$EYw{qvs z7gu*}S=o2_UCOB~Twk&(3%1rBW;^21vM1+x!QVrB>m_)y*naJL`BrvG**zaE_3%mI zI_~EzzjyzOD0tR-=XZ|w`<%BHndhEg(JbyXvo~IrW)`(pu>X4d6d%x4m~TYisfGKd zFIYc2!C*#QeA-8rMV%~KTN^_j{g|1evRG*4%Hj(d{jqO0Sje!nRejubdquv)+go+d z=Ddsv-PwMAx_P~PiKMob@z3bnIYp2Y~{q<&R&+#!+e+Z+9!A2DSBmY9$>YxX;Y``m9^`c z7Zg>g=H|v;Ik)m?-n7;&^>W*1Py3cvsj%kS!tmGMx~4@HeeTxO(MkCo7TKYtt+Qa& zs;&eLpU_ZItLDZ%du;Z7y&D~QTj|4x-R~Z2i?P_QiT|jwe*YH+5Wf97&gRW~F|lyN zE4#~lwyPgbT)uK;<`I+4H+|mDVHJ7${PD+M9x9JAwz`#MnI`s2Pd!(2r@k-TWTsM7 zWbccD#0#>uzDHb?{I0K4Gy2rEA^quuFW&>g!_61<9?M86`syQQx%;Qz$_~y*o zvB|jkcDP^i0mJEcHf7#0Hg?~tc~xdFcg6hrh>-IJrN+xstlie?NbtAvthsAC+o$;5 zj-BT3&#Q+vScQJSEiAdOyniY4j;l%a2j72RK6l^Ij*k29kFOG$W&e<)wf2%WN4f! zt4ms6&k6yplX+FY{!UJ@In+P9y)3CCdV{qLyJWm;Jb@d~3<0GxaAd zvW$5R1&_&QA74_OkhFts%ISAYRxf6r>gId&30K+sd%d^crupUS=I*{-n3kTjHR|KL z@WnDPB| zo8~t!`tpG*i)zm7da`5Q^S9R5HWvPlesX@_-1?@S*C(2O{mf$G7H0oDcG($=|H}LG zx20{aeZKq2lsTqpw^cZpvO>A`-}iSr_JKj~!AFLG8PnaP)78}`b5@5jep|!jlcs$z zVZyg%R%f>LG%uUe&zhXNLYaffYVNdy^Z0_Q7rSh=vXzT(So7vhiS=B+_M2&LvpEX# zTKn0yv-#)LZ!wUb^5Acp>FT>PBT6(^abIys?i75zIon9Gqg4Lmwtd@b6Mwz;_mB6q z5j~P-aPf+^d#2e}>lsUKooIPflXOzzV@l4QzWr{xvpq6Qq)eiClU$BG|NL;n?f%s> z&wYI6awp$V$>_<)2cLg+b|_^z)*d-#x3Q(gHC=V_V*Y0PmX!L<3dar~-;c`z z{rvmm&%c8DB_~b<$n5tIa1!L)8`k~Jd1<^*;fEiGzx-}G^0?D*KcCP^i-!>t7Cf2! zIwLxFNspTln=I#K!RBi%j>#$#Uz1H`$B35f}>S)+8sieheVDc`a-+s$-?i1y1(XRjq~S{{GU+W*ga_pYf{b0<#oT|dF} z>*r+cQyHZ#hZCC)Iz+AEX+5kGtQoNSVwTB|zjY;6vYjq-?oE?zX{*|>>(j??TN2J| zNnC&Jy!`UQ`e%YmRvLGz_Qm;Jo4KZ5Vy)Yr+Px{FQ;aU$b~G{Ya9S&`cuC4vEhvil zV4ZpT^s373cROcH`JKMdwCUsm)g9ZfL~5)`s@>jdF2yp3PdQa`V~On9#Vf;anoaSp zoj%8HUas__Z4rHCXSbDIdaa*spyK`|=biS#1-~8D!gL)LUsF7$oc!w1A5ZZGep~*^ zdDnmc>Y~+YnyONK+waIp(d4kzL2Cn(&1Q45G(CCtbj~HGZz~-%loGE>3tTCZJ=P(y zy!wFkA;s!F>zY%vIwklYi`%y3x`m{1XE{3GJpF!hL8{WMEg4%^77A)HhG>b3E$(ws zDs^!G(0?o6bwvoI?A{{Y`nY-0uiCD_us2Ed?w7wgZ;LFsm6`MNe4ny(&#OtvRuS)c z%QsqXY5L}(E!ex}UxZJZR@c*zg66n>{U_+EdvWD}`~4KKcw*m`RUKJ97!T)6wLg$y6)RF8nyKd<%P zf4tRKuKwS?Q|5Zl7neTw@;dkHEMx5Mtx?LU;{V@uTsm-Es{3fua(};ez6u+QSiPSW zok~AhSvw}FEcZ9hby|FVVrWd)&8!0%#TV}H%)YZ-f7^!~hNfoQH|yeyuWYsIou+eU z8_%xUmg|_9QIXa9P^) z^X%_yYaZ{fT=Pms?BCp3Iz3UB6Z7w1Ti5w=|M&HwoCP0y#4l?;2%I|g|BrlCMb?e4 z-iq8leQa&nQor@e*3n|uH*el-XBb$deyNVV$uY-Fnr(57ys-rDjT|$kgAWAtwMD)@ zK5ugI+e+8uxYa=qRjLE(^-&QxKi^)x>;qja8@i994#Kj!}OSe4U z_g}C5<$_Xe`<37KDnIS-w>`Ri-w$8AuSfGgeRy0S%+~>KB{v$gP*mmur9Wstn7TeY++TV?3cKLR#xBk|i)at5V zx3)@OdS?AQ<4%}=UY_2>4v*LGVkN#C-}~6AbY`|Wzvm=_8Eb9+e!09RZfDb{F0WVH z-aj*6pOb80we6zA+_$_DMQXAo`;=EtTiE!mKc+8mxn!`jY(s>OQ}yAhq(u9B-(;_t zn_ReiyS?tcA$Nt1&paE+{_E~xg_?r(`^EF~l2J^dW#U0vy~-uj!%q?qi7g)3uM7SwdQE@n62H&*Dp6sVgYzt+pwMdotURC)F!mnG}h z&wsa0?$@thmrIRA`TFlE{_of%Dlg8gX#Tg=uPQxsq1O>Z&YQ(j>8NjbBpI^@g5 zYj8JPIc7Q-(da9;6hNnN8E(uk_}gYuHy-k@LHzC>Ap8e_^}yU3!ws z5qS=Q{-YN&OmD2YR?_lt<++I60_}_Hl47E}uE7=)aH_XvZ&P@d@<{va0cE~9CC62@ zTt8OrwUFWCabr$$Ir94JBat~?EO$IT;umnoR!V9)HiQUmKIW=XZ)frDwW*YeNNU;z z!v}$WhXg;&4-Yq3xu@m%zhBV|db_`gP20O|((CpAx{3)7`s6?TSF|eP`Pw|Q z8b$l6tu`D}g)V;iZ!IPLv1;#`+2*rjcS{Q{_RPx4y2SVB_XMH9u(c7cZ|6ka*}J!5 zZ(P~Cd(JjiGILdqO|tp;OHOaj^s|#*y0+iB_DoJRZ1t=|e=hsY+V}8vp3;T=^|GJR zlMA0Jx;;K}sP0kFlsk`#+N!K?UcKQE=_&cIK%(Bl=VnXMt5>g1lssLy-SWlFt-Wg= z@$jT+U);O$A-h+u{W9svZq7zpiCpZ0vU)n}_87+Q3(HqBxYB)frgKc!rpn7!&vY%A zH&@3bQv@A=hlXpc~;x^(}v-OHvccH&8sD|hr9*tkoeTFLpw zDz(5JNzBvgPpPUe4X8XY<;RjaLhmnG2U_gxP=CzRayKRN)6?I@M>^v29liSgdk1ax za}C@!nX!ICheW8~vBV3P&0XUD74+(NUp;fqHuqFxAf$4aFrISdeei@mdnT4@weMoj zymR9~z;}hT_L-07I8B?gucJ5n`swDTO-?zN)e_Ik`|Yg%lz+Q3Klks40~?OID?L$I zIm;!cREjgvP&1KBGt^Eq)J|)vOkmg}4QH;938^a&E#1H&$e3`64etG zyz6h{2d}?5d}|ZLzn1W94VV+`@pg&Sn>6VlrLHLwbNOyQF8lm%RcK1u^JD|5$gN4D zp;tqvOr6@Bp{}}UO?}*Ewg%8$ST`>(?-f}7?c=Fic6FamnK>P7c8_XVEcfQ;WdBwB z63@@~xp9B?znlx19iE9vlXSGKW6P|pZg+GjRW&oNRk*LDb?TIagpA8-)1*^63$nw7 z-DWp$dinWy%o3IhoLW8lcD|SH_DabA{&M8arIVn_#D`0mi+zLi*7}^Adn!YApA5ac zb47~9ru5~DOXAB;>`e z-C!#GFJpXXv zzwMbrpY@%VUS4o1^MIYrkE`hx7t(h>dD*ajBkRh1ft9QI4@$e}9`(qQS#Vl$Y0<|B7RuX}?1|r|e9Nxm8|oCQr2SJ5}8Mg8w^{XHS%H@TRoK zCO13P4=gZTEObDd_oB%Kha-=UuROo#NN9ai!j%VKt7gX8@-|=Wxc*x8@IwWC{r<*A zMx}=awt42AAx-Db`Smn4zKS%KeDPXYPJZ3T7hkJ5e>Tl2JNEL$6{|x@GaM8QiX7xU zHk7&Z-zqRZdUWaHzS8;rN2UhXT>85E;66T{nMHSf=AQK0zngihf&k~wjVVtj^0a?w zbDA>6uihcwiI2q9g~jL94V+c zb6t^x$!hY{6(VlR85|XC0z!gpOiGoNhnu?nmMd#J``3qSS37OGaZl2q;PW55u+pf` zcUJ?fnbo$eG`Kt|d&ionC3_5-ZSNL3c}7n7?xvITYQ>`ZE20joIX~Yyw)tb{r?1Pd zyF^;O)|EMS@zL$}*!iWiMEw5dMcD>-shG(6do8{)q$|Oo#A(jjr_!4 zd-Wd`#a~&vez(4CspQ>l>{eALFWjuGt+f{Z#5-fFUsLB!i?f?6w&}H;TcGYd|M;$J z3iT29eErKscKh}HIJHsa)2Uqo`8ff>PiAze#rRBH+9osEW&)qPQ%>)i#MB?AXMU+{ zot*U|vp9MC%!o}Dh74?b=dpJC)w3@sTP9P>dBOO}vb?XiN>2UwH)D;OS^hnr&{9$3 z>?{p^efio(i5Q*y(oZ+`$0r_ry+8eTUuk>KCL2l3m2)QkyM6n1yR!Q14-VqGXRF<| ztX{EZ(Y9@3?S~uB%gYrP%lEn&$21q6i!^wy)AU%z^7#o(6@x3@d4-ne<~SYNd-hHJ z&AS$hdM`hHR4*oBuH-dP5AC zJ=_@DU0HKA^$XjRFClwDZP|F$@6LYre_I5&Bu>11ex~Z-t)bVqKH0o+?F_$o?uii{ zJu{~_L^&US&41zl!OKrx%}J3k@;|lD@|vlXf4$qW!>u>edG8S(>sHf@b z^7V=D{zPe|hbG!NL|r~J(^xX+UQNX5(3xKYrZBr&zF0O@K48a|nOoM}yLW!kPT`k1 z_v)J?7pJE0m!IzIn^q<_Z^q>B*MDoA+bCdSB^Yd~(sEQ{>*R>Nd*@dQ>&`G0oA+~_~a%W(C?b}bIeJ~CyZcgUm;&qSf1IV)5iO1@E+lYIMXZhU~k?neG^ zy*JHfltjrSar`arpL8eM_{(9ZBNYp-N}W8RowQ>6b?;jl8=D%5ej`Q(%RZ9XIPHVOA_}=7rW>@0DTn&>o1#vNZzb;Tx zm9aT$dVR~Jn@43|X6j!(zu@@%M(YcnH?kHz*<3y;w3cz--PJcf&$qtFQyQG1e{_ZI z&P&qvnoUA+Y_W$YYx&vFy?|W{q{vl~3!Bu=c|KEw1^Z#j?rt3a^bUOdQbABy# zmxm2DzaPDhse0-QGI!nogSJ1I57skp+xg5gDSN7tXqG&~CPR^0%{KonBaweUWs4g=zE_~#oqSWRLGY|V{Zv%@EcPjY|jbJO?c!vcfqTRwZ@>h)*(soyTkf4ud2+~ZxZ*BwqV z{(MV~f9mr8`kU>3-|x5KH;*f|v;Xx@^ku#Lnwqx_Z)^TB)_uL4|M5%wdvE{Sk^c{N zynp}u-ML@cfXTv^ttQ8%dZy2T!F7mUwo+w zcs+5_N#&GtLCOwiUYH`Y#HvbyYDo$9|`PHA#4ZKkJJKNIdcxjo!B zC@Je&#=+|=dV})PiLd?l$Po9nXi#&nyN->oHh6;xeRW^+D%HuuHV$MfsteATARZfg3p zTcEGt^w;o>pN^_qKJWQ?=l6klw=?zi=})cl{{Q@Yr|9q0n6i&M*<+5aduFz7&&T#1 zzuly_-u-_f*yhJ+`J%7W^`4&hx8-(Fn)qN>^m{c4uFu=;@0{NCwEp?O`S<(oF8gy% zTP8zYO31du|xCQpEq?>sG|G5K)bz3%XC`8A949o7Z^f4A!EpBMja4_sd#aq5)#{6|~s|8;Vo zw~VzE=i++Y@#t4=*TUImbN0;%4)Z(w?QMwf+^PfHyv6jN{kwnP{aN|*-dW4dSsLXw zF?w!MQ0w7gO?jy5d2Yowz1^+u@i!0NEav*qo_ynZ=;ev^48EzSH7`Co|Cy^ zWjW`p_SfdM^FwS}x1Vc1thW2{y89a#n-4m~ZJRu8nwXIcpVFcZjV_%T_VbS&bE~?O z_a#e~_bac(=2)G`Ju`OIe=Ys-Avh|E>%cVK=#G>Q(3vYSwO2z;%*;OB*gyZlAJzGf z3gi~necZjDag)T)*YofBOuKt($*YNa5BdLpTYhGaY4^W>iI=C<#W%1npMUo0^?O!} z-U|2soA^5apJc15aOJP{-#;Eab=@NO;!g&4Q78WCd%7~eyt&nOIrYAE5x0E(g$#|_ zbH>J*SyC?fHor7%PuDd~Hc1ppvT^)lvD`FktJ@a&Pi3b{cCN_JNXW~5%dzqQtIfrk ztL`63c&0GhrgDai<(-N`&ht49_Vo*tc9>tt+`D{A{@zI{w`G=Jtxou;B6Rt~YfzX8=FMcS@&gs=y;(OA0r=7G(V7=a~e|G+B?fN}@4hNh#@F~~($CsXPk7YtT znCH$YHS5yf#oKF8v$|Z$$S_m)3u|@X%Ce^)MV9QblXrHOGl@E@sp(NG8^{!1s}KA2p8LGr+yE$k{{-W+G7G}zyz8~AFFYu(Zy{<7zcfY~xh_E$t zcv_n`mDo@GGspPZ=52X5{*?ZGmb)e<`ndhS68T@vHrm_jOG`dq*&qKTyu7YIzvg|q z^0TFrG()te{^@^M_iMJj&AGSt|4BWcw^PCPY$4axBVhp+f`Lj}{)x-NLqET(elJ_H z@A6Y6xxj_uXWIWP7d+JQkk99pna?XTomZtCE9ZW)uez*xZ(l;st|E8{4*-eJU#6`M;69zQ97J=IyQQ z$bScSyO-#_+2*ru&$Ftyx`!_VKj-a!{e8+b*&DWdHm_uyU;kt6mh;9Ai6>nco}G#H zsJ+{^mwy8DnwrP1djGCG@7uLMW2+lzjE(n~#ta+bl4Z`@{M{Byd~u)NwEAL(!OJZh z{=F4kd9Tp0$SKC!wtCy*X*D@_%{JAWG~LWuwk3(nZ1J@7XG9_vpV ziE916?f(|~z7OC#!FlYWi%7Pv7SB$me{D}XPMk_n^3<83B<3UdRkicilb=cPlTscX z=|0eN#OcRbsXg84&0ePOwrVLSg}f}_;`(jR{`G5ch(XNle?O<+fAXmKyv+&^&P{<2 z@BjOtopxQu!r{^F_}z2z?|$Q!tNm5Euk2_l!&9$?Y-qPaR#o8YV5OnfL4O-Y04O>+aVbYl^I>WwiUhHQFNiV9qAv*pjmEm)^d6 zyhoLLD)YJp1v222>G%5!&%B>U<99r4ljghiZ0&wq#|7J)GbYAl2R-IjF4;O!N5gRo zM@6mS6^WTICf0XY$$C7SxblhMN&ju8Cz4O!)tND?mD7H*uYlwE1e23Xbfo+DY?#U# zy!o5mkCu%0yhgjVgu4%(hBK;#vl40krZDw!8bnov-v2w0vPm`8nE0E%iFx8qD zW$yC%Q{Edf-Rp5ty_a`1EbQ=TPZwtTyClevp=p_1i15}auTFieFKziy;qJy+xhF1c zeT-vVo?g06jE8%dAnx}q;iKt-Yp*RHFY3Ir^^nu+1vRlP!dCaP>d!o0 zd(1|Rvv-c&eHX`#bN?-f5&s+@*s6NY&2RmQ{Gm6C*V!*x-F72 zH;g`SoOU*CL7wEQ87}YUoc_?p{;`Ak6z^vi_5BL@XQoR|VY1+zIc48QsqalQCAL1> zvSRIrkHuRAk3LIkJn&9r;Wd?o*Cr}0xy8{GR^OWS{_^|q!5?7dH$a5vs9O#^{kKExvg)_8J=_d-ehN( zWbONMlY7UjdOg{%wvGX^B{M%~t^Rpj`FpR(tY5!onrH7SIw0EDWqv>Yu4plM zgUf!&TF9E!zx(m?Z%V4w&wsq(8w>o-CVmgz8g*8`uHy0vyID_*7X2>xHMObf&<@b# zl0;aq$Fj%+sp6c+dADqNXO&XzJa6(l-LEgcb4_j1@3>&*ps-9WK!v~O>s`f9uV%ko zso}C}!eZXFvbG{?@Aw>FB$Z=ncHr!*w|`BxR2JU6GAI7+5~ce1_DqBW|S9doxSQz_@9l96){_&-stvtV)R+LCp{c;jXk-E5=RjzU&XRlOU)m5E8 z4<%0D%S*U0|G_o=vj!G6f2Q=@X{ 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