diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 0d543934..2331016d 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.2597b6300aab2cb180c194e1a87c8dec.js b/fittrackee/dist/precache-manifest.741a5f9fe3d33ead148b8d5d8188649c.js similarity index 96% rename from fittrackee/dist/precache-manifest.2597b6300aab2cb180c194e1a87c8dec.js rename to fittrackee/dist/precache-manifest.741a5f9fe3d33ead148b8d5d8188649c.js index b7500674..dfa13f9d 100644 --- a/fittrackee/dist/precache-manifest.2597b6300aab2cb180c194e1a87c8dec.js +++ b/fittrackee/dist/precache-manifest.741a5f9fe3d33ead148b8d5d8188649c.js @@ -64,7 +64,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/img/workouts/mountains.svg" }, { - "revision": "859ba86589cb82273248d568926f2b13", + "revision": "44b373f3ed2a63887f7c115407c4e8dc", "url": "/index.html" }, { @@ -80,8 +80,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/admin.51f3889f.css" }, { - "revision": "ddd71998ac072f2fd803", - "url": "/static/css/app.b79624ef.css" + "revision": "5bc36bbdf1d21b9a3220", + "url": "/static/css/app.d431f371.css" }, { "revision": "82c1118c918377daaa71a320ab8eea42", @@ -196,8 +196,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/admin.4f80b9a8.js" }, { - "revision": "ddd71998ac072f2fd803", - "url": "/static/js/app.2237b298.js" + "revision": "5bc36bbdf1d21b9a3220", + "url": "/static/js/app.5f1e26bb.js" }, { "revision": "bd7d183c9f68e5f4027d", diff --git a/fittrackee/dist/service-worker.js b/fittrackee/dist/service-worker.js index 684677f0..e81fdbcd 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.2597b6300aab2cb180c194e1a87c8dec.js" + "/precache-manifest.741a5f9fe3d33ead148b8d5d8188649c.js" ); workbox.core.setCacheNameDetails({prefix: "fittrackee_client"}); diff --git a/fittrackee/dist/static/css/app.b79624ef.css b/fittrackee/dist/static/css/app.d431f371.css similarity index 73% rename from fittrackee/dist/static/css/app.b79624ef.css rename to fittrackee/dist/static/css/app.d431f371.css index 36d0ca18..c7035a0a 100644 --- a/fittrackee/dist/static/css/app.b79624ef.css +++ b/fittrackee/dist/static/css/app.d431f371.css @@ -1 +1 @@ -[data-v-e1641806]: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;--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;--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-e1641806]{margin:0}#app[data-v-e1641806]{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-e1641806]{color:var(--app-a-color);text-decoration:none}img[data-v-e1641806]{max-width:100%}input[data-v-e1641806],select[data-v-e1641806],textarea[data-v-e1641806]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-e1641806]:disabled,select[data-v-e1641806]:disabled,textarea[data-v-e1641806]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-e1641806]{font-weight:700}button[data-v-e1641806]{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-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-e1641806]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-e1641806]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-e1641806]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-e1641806]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-e1641806]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-e1641806]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-e1641806]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-e1641806]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-e1641806]{display:flex;flex-direction:column}.form-box .form-items input[data-v-e1641806]{margin:10px;padding:5px}.upper[data-v-e1641806]{text-transform:uppercase}.view[data-v-e1641806]{padding-bottom:35px}.fa-trophy[data-v-e1641806]{color:var(--workout-trophy-color)}.section-title[data-v-e1641806]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-e1641806]{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-e1641806]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-e1641806]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-e1641806]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-e1641806]{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-e1641806]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-e1641806]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-e1641806]{font-weight:700}.description-list dl dd[data-v-e1641806]{margin-bottom:10px}.center-card[data-v-e1641806]{margin:0 auto;width:700px}.center-card.with-margin[data-v-e1641806]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-e1641806]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-e1641806]{margin-top:0}}.center-text[data-v-e1641806]{text-align:center}.responsive-table[data-v-e1641806]{margin-bottom:15px}.responsive-table table[data-v-e1641806]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-e1641806]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-e1641806]{font-size:.95em}.responsive-table table tbody td[data-v-e1641806]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-e1641806]{border:none}.responsive-table table .cell-heading[data-v-e1641806]{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-e1641806]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-e1641806]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-e1641806]{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-e1641806]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-e1641806]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-e1641806]{width:100%}}#footer[data-v-e1641806]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-e1641806]{text-decoration:none}#footer .footer-items[data-v-e1641806]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-e1641806]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-e1641806]{font-size:.85em}#footer .footer-items .footer-item[data-v-e1641806]{padding:5px 5px}#footer .footer-items .bullet[data-v-e1641806]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}[data-v-9d3d8adc]: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;--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;--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-9d3d8adc]{margin:0}#app[data-v-9d3d8adc]{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-9d3d8adc]{color:var(--app-a-color);text-decoration:none}img[data-v-9d3d8adc]{max-width:100%}input[data-v-9d3d8adc],select[data-v-9d3d8adc],textarea[data-v-9d3d8adc]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-9d3d8adc]:disabled,select[data-v-9d3d8adc]:disabled,textarea[data-v-9d3d8adc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-9d3d8adc]{font-weight:700}button[data-v-9d3d8adc]{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-9d3d8adc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-9d3d8adc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-9d3d8adc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-9d3d8adc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-9d3d8adc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-9d3d8adc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-9d3d8adc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-9d3d8adc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-9d3d8adc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-9d3d8adc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-9d3d8adc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-9d3d8adc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-9d3d8adc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-9d3d8adc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-9d3d8adc]{margin:10px;padding:5px}.upper[data-v-9d3d8adc]{text-transform:uppercase}.view[data-v-9d3d8adc]{padding-bottom:35px}.fa-trophy[data-v-9d3d8adc]{color:var(--workout-trophy-color)}.section-title[data-v-9d3d8adc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-9d3d8adc]{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-9d3d8adc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-9d3d8adc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-9d3d8adc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-9d3d8adc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-9d3d8adc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-9d3d8adc]{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-9d3d8adc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-9d3d8adc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-9d3d8adc]{font-weight:700}.description-list dl dd[data-v-9d3d8adc]{margin-bottom:10px}.center-card[data-v-9d3d8adc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-9d3d8adc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-9d3d8adc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-9d3d8adc]{margin-top:0}}.center-text[data-v-9d3d8adc]{text-align:center}.responsive-table[data-v-9d3d8adc]{margin-bottom:15px}.responsive-table table[data-v-9d3d8adc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-9d3d8adc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-9d3d8adc]{font-size:.95em}.responsive-table table tbody td[data-v-9d3d8adc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-9d3d8adc]{border:none}.responsive-table table .cell-heading[data-v-9d3d8adc]{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-9d3d8adc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-9d3d8adc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-9d3d8adc]{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-9d3d8adc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-9d3d8adc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-9d3d8adc]{width:100%}}#nav[data-v-9d3d8adc]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-9d3d8adc]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-9d3d8adc]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-9d3d8adc]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-9d3d8adc]:hover{cursor:pointer}#nav .fa[data-v-9d3d8adc]{font-size:1.2em}#nav .close-icon[data-v-9d3d8adc],#nav .hamburger-icon[data-v-9d3d8adc],#nav .nav-icon-open[data-v-9d3d8adc]{display:none}#nav .nav-items[data-v-9d3d8adc]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-9d3d8adc]{display:none}#nav .nav-items .nav-items-app-menu[data-v-9d3d8adc],#nav .nav-items .nav-items-user-menu[data-v-9d3d8adc]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-9d3d8adc]{display:flex}#nav .nav-items .nav-item[data-v-9d3d8adc]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-9d3d8adc]{width:60px}#nav .nav-items .nav-item[data-v-9d3d8adc] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-9d3d8adc]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-9d3d8adc]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-9d3d8adc] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-9d3d8adc] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-9d3d8adc]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-9d3d8adc]{display:block}#nav .nav-icon-open[data-v-9d3d8adc]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-9d3d8adc]{display:none}#nav .close-icon[data-v-9d3d8adc]{display:block}#nav .close-icon.menu-closed[data-v-9d3d8adc],#nav .nav-items[data-v-9d3d8adc]{display:none}#nav .nav-items.menu-open[data-v-9d3d8adc]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-app-menu[data-v-9d3d8adc],#nav .nav-items.menu-open .nav-items-close[data-v-9d3d8adc],#nav .nav-items.menu-open .nav-items-user-menu[data-v-9d3d8adc]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-9d3d8adc]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-9d3d8adc]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-9d3d8adc]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-9d3d8adc]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-9d3d8adc]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-9d3d8adc]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}[data-v-01d4a985]: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;--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;--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-01d4a985]{margin:0}#app[data-v-01d4a985]{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-01d4a985]{color:var(--app-a-color);text-decoration:none}img[data-v-01d4a985]{max-width:100%}input[data-v-01d4a985],select[data-v-01d4a985],textarea[data-v-01d4a985]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-01d4a985]:disabled,select[data-v-01d4a985]:disabled,textarea[data-v-01d4a985]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-01d4a985]{font-weight:700}button[data-v-01d4a985]{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-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-01d4a985]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-01d4a985]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-01d4a985]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-01d4a985]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-01d4a985]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-01d4a985]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-01d4a985]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-01d4a985]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-01d4a985]{display:flex;flex-direction:column}.form-box .form-items input[data-v-01d4a985]{margin:10px;padding:5px}.upper[data-v-01d4a985]{text-transform:uppercase}.view[data-v-01d4a985]{padding-bottom:35px}.fa-trophy[data-v-01d4a985]{color:var(--workout-trophy-color)}.section-title[data-v-01d4a985]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-01d4a985]{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-01d4a985]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-01d4a985]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-01d4a985]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-01d4a985]{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-01d4a985]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-01d4a985]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-01d4a985]{font-weight:700}.description-list dl dd[data-v-01d4a985]{margin-bottom:10px}.center-card[data-v-01d4a985]{margin:0 auto;width:700px}.center-card.with-margin[data-v-01d4a985]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-01d4a985]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-01d4a985]{margin-top:0}}.center-text[data-v-01d4a985]{text-align:center}.responsive-table[data-v-01d4a985]{margin-bottom:15px}.responsive-table table[data-v-01d4a985]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-01d4a985]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-01d4a985]{font-size:.95em}.responsive-table table tbody td[data-v-01d4a985]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-01d4a985]{border:none}.responsive-table table .cell-heading[data-v-01d4a985]{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-01d4a985]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-01d4a985]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-01d4a985]{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-01d4a985]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-01d4a985]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-01d4a985]{width:100%}}#no-config[data-v-01d4a985]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-01d4a985]{width:150px}#no-config .error-page .error-img svg .error-page-img[data-v-01d4a985]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-01d4a985]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-01d4a985]{font-size:1em}}[data-v-317a6409]: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;--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;--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-317a6409]{margin:0}#app[data-v-317a6409]{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-317a6409]{color:var(--app-a-color);text-decoration:none}img[data-v-317a6409]{max-width:100%}input[data-v-317a6409],select[data-v-317a6409],textarea[data-v-317a6409]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-317a6409]:disabled,select[data-v-317a6409]:disabled,textarea[data-v-317a6409]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-317a6409]{font-weight:700}button[data-v-317a6409]{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-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-317a6409]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-317a6409]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-317a6409]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-317a6409]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-317a6409]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-317a6409]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-317a6409]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-317a6409]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-317a6409]{display:flex;flex-direction:column}.form-box .form-items input[data-v-317a6409]{margin:10px;padding:5px}.upper[data-v-317a6409]{text-transform:uppercase}.view[data-v-317a6409]{padding-bottom:35px}.fa-trophy[data-v-317a6409]{color:var(--workout-trophy-color)}.section-title[data-v-317a6409]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-317a6409]{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-317a6409]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-317a6409]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-317a6409]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-317a6409]{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-317a6409]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-317a6409]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-317a6409]{font-weight:700}.description-list dl dd[data-v-317a6409]{margin-bottom:10px}.center-card[data-v-317a6409]{margin:0 auto;width:700px}.center-card.with-margin[data-v-317a6409]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-317a6409]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-317a6409]{margin-top:0}}.center-text[data-v-317a6409]{text-align:center}.responsive-table[data-v-317a6409]{margin-bottom:15px}.responsive-table table[data-v-317a6409]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-317a6409]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-317a6409]{font-size:.95em}.responsive-table table tbody td[data-v-317a6409]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-317a6409]{border:none}.responsive-table table .cell-heading[data-v-317a6409]{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-317a6409]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-317a6409]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-317a6409]{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-317a6409]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-317a6409]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-317a6409]{width:100%}}.app-container[data-v-317a6409]{height:calc(100vh - 130px)}.app-container.hide-scroll[data-v-317a6409]{overflow:hidden}.app-container .app-loading[data-v-317a6409]{display:flex;align-items:center;height:100%}.scroll[data-v-317a6409]{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button[data-v-317a6409]{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button[data-v-317a6409]{display:block}[data-v-26175b66]: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;--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;--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-26175b66]{margin:0}#app[data-v-26175b66]{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-26175b66]{color:var(--app-a-color);text-decoration:none}img[data-v-26175b66]{max-width:100%}input[data-v-26175b66],select[data-v-26175b66],textarea[data-v-26175b66]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-26175b66]:disabled,select[data-v-26175b66]:disabled,textarea[data-v-26175b66]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-26175b66]{font-weight:700}button[data-v-26175b66]{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-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-26175b66]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-26175b66]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-26175b66]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-26175b66]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-26175b66]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-26175b66]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-26175b66]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-26175b66]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-26175b66]{display:flex;flex-direction:column}.form-box .form-items input[data-v-26175b66]{margin:10px;padding:5px}.upper[data-v-26175b66]{text-transform:uppercase}.view[data-v-26175b66]{padding-bottom:35px}.fa-trophy[data-v-26175b66]{color:var(--workout-trophy-color)}.section-title[data-v-26175b66]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-26175b66]{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-26175b66]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-26175b66]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-26175b66]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-26175b66]{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-26175b66]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-26175b66]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-26175b66]{font-weight:700}.description-list dl dd[data-v-26175b66]{margin-bottom:10px}.center-card[data-v-26175b66]{margin:0 auto;width:700px}.center-card.with-margin[data-v-26175b66]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-26175b66]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-26175b66]{margin-top:0}}.center-text[data-v-26175b66]{text-align:center}.responsive-table[data-v-26175b66]{margin-bottom:15px}.responsive-table table[data-v-26175b66]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-26175b66]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-26175b66]{font-size:.95em}.responsive-table table tbody td[data-v-26175b66]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-26175b66]{border:none}.responsive-table table .cell-heading[data-v-26175b66]{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-26175b66]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-26175b66]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-26175b66]{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-26175b66]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-26175b66]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-26175b66]{width:100%}}.user-limit-help[data-v-26175b66]{display:flex}.user-limit-help span[data-v-26175b66]{font-style:italic}.user-limit-help .fa-info-circle[data-v-26175b66]{margin-right:10px}.stat-card{flex:1;max-width:25%}@media screen and (max-width:700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}#user-stats{display:flex;flex-wrap:wrap}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}[data-v-4f30aa64]: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;--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;--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-4f30aa64]{margin:0}#app[data-v-4f30aa64]{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-4f30aa64]{color:var(--app-a-color);text-decoration:none}img[data-v-4f30aa64]{max-width:100%}input[data-v-4f30aa64],select[data-v-4f30aa64],textarea[data-v-4f30aa64]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-4f30aa64]:disabled,select[data-v-4f30aa64]:disabled,textarea[data-v-4f30aa64]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-4f30aa64]{font-weight:700}button[data-v-4f30aa64]{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-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-4f30aa64]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-4f30aa64]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-4f30aa64]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-4f30aa64]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-4f30aa64]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-4f30aa64]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-4f30aa64]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-4f30aa64]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-4f30aa64]{display:flex;flex-direction:column}.form-box .form-items input[data-v-4f30aa64]{margin:10px;padding:5px}.upper[data-v-4f30aa64]{text-transform:uppercase}.view[data-v-4f30aa64]{padding-bottom:35px}.fa-trophy[data-v-4f30aa64]{color:var(--workout-trophy-color)}.section-title[data-v-4f30aa64]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-4f30aa64]{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-4f30aa64]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-4f30aa64]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-4f30aa64]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-4f30aa64]{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-4f30aa64]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-4f30aa64]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-4f30aa64]{font-weight:700}.description-list dl dd[data-v-4f30aa64]{margin-bottom:10px}.center-card[data-v-4f30aa64]{margin:0 auto;width:700px}.center-card.with-margin[data-v-4f30aa64]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-4f30aa64]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-4f30aa64]{margin-top:0}}.center-text[data-v-4f30aa64]{text-align:center}.responsive-table[data-v-4f30aa64]{margin-bottom:15px}.responsive-table table[data-v-4f30aa64]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-4f30aa64]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-4f30aa64]{font-size:.95em}.responsive-table table tbody td[data-v-4f30aa64]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-4f30aa64]{border:none}.responsive-table table .cell-heading[data-v-4f30aa64]{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-4f30aa64]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-4f30aa64]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-4f30aa64]{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-4f30aa64]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-4f30aa64]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-4f30aa64]{width:100%}}#admin-menu[data-v-4f30aa64]{display:flex}#admin-menu.center-card[data-v-4f30aa64]{width:100%}#admin-menu[data-v-4f30aa64] .card{flex-grow:1}#admin-menu[data-v-4f30aa64] .card .admin-menu{padding:0 10px}#admin-menu[data-v-4f30aa64] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-4f30aa64] .card .admin-menu .registration-status{font-weight:700}[data-v-6d930723]: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;--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;--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-6d930723]{margin:0}#app[data-v-6d930723]{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-6d930723]{color:var(--app-a-color);text-decoration:none}img[data-v-6d930723]{max-width:100%}input[data-v-6d930723],select[data-v-6d930723],textarea[data-v-6d930723]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6d930723]:disabled,select[data-v-6d930723]:disabled,textarea[data-v-6d930723]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-6d930723]{font-weight:700}button[data-v-6d930723]{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-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6d930723]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6d930723]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6d930723]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6d930723]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6d930723]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6d930723]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6d930723]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6d930723]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6d930723]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6d930723]{margin:10px;padding:5px}.upper[data-v-6d930723]{text-transform:uppercase}.view[data-v-6d930723]{padding-bottom:35px}.fa-trophy[data-v-6d930723]{color:var(--workout-trophy-color)}.section-title[data-v-6d930723]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6d930723]{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-6d930723]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6d930723]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6d930723]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6d930723]{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-6d930723]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6d930723]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6d930723]{font-weight:700}.description-list dl dd[data-v-6d930723]{margin-bottom:10px}.center-card[data-v-6d930723]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6d930723]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6d930723]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6d930723]{margin-top:0}}.center-text[data-v-6d930723]{text-align:center}.responsive-table[data-v-6d930723]{margin-bottom:15px}.responsive-table table[data-v-6d930723]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6d930723]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6d930723]{font-size:.95em}.responsive-table table tbody td[data-v-6d930723]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6d930723]{border:none}.responsive-table table .cell-heading[data-v-6d930723]{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-6d930723]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6d930723]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6d930723]{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-6d930723]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6d930723]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6d930723]{width:100%}}#admin-sports table td[data-v-6d930723]{font-size:1.1em}#admin-sports .sport-img[data-v-6d930723]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d930723]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .text-left[data-v-6d930723]{text-align:left}#admin-sports .sport-action[data-v-6d930723]{padding-left:40px}#admin-sports .action-button[data-v-6d930723]{display:block}#admin-sports .top-button[data-v-6d930723]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d930723]{padding-left:10px}#admin-sports .has-workouts[data-v-6d930723]{padding-top:5px}#admin-sports .action-button[data-v-6d930723]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d930723]{display:block;margin-bottom:20px}}[data-v-50c78582]: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;--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;--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-50c78582]{margin:0}#app[data-v-50c78582]{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-50c78582]{color:var(--app-a-color);text-decoration:none}img[data-v-50c78582]{max-width:100%}input[data-v-50c78582],select[data-v-50c78582],textarea[data-v-50c78582]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-50c78582]:disabled,select[data-v-50c78582]:disabled,textarea[data-v-50c78582]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-50c78582]{font-weight:700}button[data-v-50c78582]{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-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-50c78582]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-50c78582]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-50c78582]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-50c78582]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-50c78582]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-50c78582]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-50c78582]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-50c78582]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-50c78582]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-50c78582]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-50c78582]{display:flex;flex-direction:column}.form-box .form-items input[data-v-50c78582]{margin:10px;padding:5px}.upper[data-v-50c78582]{text-transform:uppercase}.view[data-v-50c78582]{padding-bottom:35px}.fa-trophy[data-v-50c78582]{color:var(--workout-trophy-color)}.section-title[data-v-50c78582]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-50c78582]{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-50c78582]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-50c78582]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-50c78582]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-50c78582]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-50c78582]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-50c78582]{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-50c78582]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-50c78582]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-50c78582]{font-weight:700}.description-list dl dd[data-v-50c78582]{margin-bottom:10px}.center-card[data-v-50c78582]{margin:0 auto;width:700px}.center-card.with-margin[data-v-50c78582]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-50c78582]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-50c78582]{margin-top:0}}.center-text[data-v-50c78582]{text-align:center}.responsive-table[data-v-50c78582]{margin-bottom:15px}.responsive-table table[data-v-50c78582]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-50c78582]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-50c78582]{font-size:.95em}.responsive-table table tbody td[data-v-50c78582]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-50c78582]{border:none}.responsive-table table .cell-heading[data-v-50c78582]{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-50c78582]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-50c78582]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-50c78582]{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-50c78582]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-50c78582]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-50c78582]{width:100%}}.table-selects[data-v-50c78582]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-50c78582]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-50c78582]{flex-wrap:wrap}.table-selects label[data-v-50c78582]{margin-bottom:10px}.table-selects label select[data-v-50c78582]{margin-left:0}}[data-v-56dc89d4]: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;--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;--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-56dc89d4]{margin:0}#app[data-v-56dc89d4]{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-56dc89d4]{color:var(--app-a-color);text-decoration:none}img[data-v-56dc89d4]{max-width:100%}input[data-v-56dc89d4],select[data-v-56dc89d4],textarea[data-v-56dc89d4]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-56dc89d4]:disabled,select[data-v-56dc89d4]:disabled,textarea[data-v-56dc89d4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-56dc89d4]{font-weight:700}button[data-v-56dc89d4]{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-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-56dc89d4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-56dc89d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-56dc89d4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-56dc89d4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-56dc89d4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-56dc89d4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-56dc89d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-56dc89d4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-56dc89d4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-56dc89d4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-56dc89d4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-56dc89d4]{margin:10px;padding:5px}.upper[data-v-56dc89d4]{text-transform:uppercase}.view[data-v-56dc89d4]{padding-bottom:35px}.fa-trophy[data-v-56dc89d4]{color:var(--workout-trophy-color)}.section-title[data-v-56dc89d4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-56dc89d4]{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-56dc89d4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-56dc89d4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-56dc89d4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-56dc89d4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-56dc89d4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-56dc89d4]{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-56dc89d4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-56dc89d4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-56dc89d4]{font-weight:700}.description-list dl dd[data-v-56dc89d4]{margin-bottom:10px}.center-card[data-v-56dc89d4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-56dc89d4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-56dc89d4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-56dc89d4]{margin-top:0}}.center-text[data-v-56dc89d4]{text-align:center}.responsive-table[data-v-56dc89d4]{margin-bottom:15px}.responsive-table table[data-v-56dc89d4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-56dc89d4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-56dc89d4]{font-size:.95em}.responsive-table table tbody td[data-v-56dc89d4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-56dc89d4]{border:none}.responsive-table table .cell-heading[data-v-56dc89d4]{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-56dc89d4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-56dc89d4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-56dc89d4]{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-56dc89d4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-56dc89d4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-56dc89d4]{width:100%}}.pagination-center[data-v-56dc89d4]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-56dc89d4]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-56dc89d4],.pagination-center .pagination .page-prev[data-v-56dc89d4],.pagination-center .pagination .page[data-v-56dc89d4]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-56dc89d4],.pagination-center .pagination .page-prev.active[data-v-56dc89d4],.pagination-center .pagination .page.active[data-v-56dc89d4]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-56dc89d4],.pagination-center .pagination .page-prev.disabled[data-v-56dc89d4],.pagination-center .pagination .page.disabled[data-v-56dc89d4]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-56dc89d4],.pagination-center .pagination .page-prev.disabled a[data-v-56dc89d4],.pagination-center .pagination .page.disabled a[data-v-56dc89d4]{color:var(--disabled-color)}.pagination-center .pagination .page[data-v-56dc89d4]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-56dc89d4]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-56dc89d4]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-56dc89d4]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-56dc89d4]{display:none}}[data-v-eb17bef8]: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;--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;--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-eb17bef8]{margin:0}#app[data-v-eb17bef8]{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-eb17bef8]{color:var(--app-a-color);text-decoration:none}img[data-v-eb17bef8]{max-width:100%}input[data-v-eb17bef8],select[data-v-eb17bef8],textarea[data-v-eb17bef8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-eb17bef8]:disabled,select[data-v-eb17bef8]:disabled,textarea[data-v-eb17bef8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-eb17bef8]{font-weight:700}button[data-v-eb17bef8]{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-eb17bef8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-eb17bef8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-eb17bef8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-eb17bef8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-eb17bef8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-eb17bef8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-eb17bef8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-eb17bef8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-eb17bef8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-eb17bef8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-eb17bef8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-eb17bef8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-eb17bef8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-eb17bef8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-eb17bef8]{margin:10px;padding:5px}.upper[data-v-eb17bef8]{text-transform:uppercase}.view[data-v-eb17bef8]{padding-bottom:35px}.fa-trophy[data-v-eb17bef8]{color:var(--workout-trophy-color)}.section-title[data-v-eb17bef8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-eb17bef8]{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-eb17bef8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-eb17bef8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-eb17bef8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-eb17bef8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-eb17bef8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-eb17bef8]{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-eb17bef8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-eb17bef8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-eb17bef8]{font-weight:700}.description-list dl dd[data-v-eb17bef8]{margin-bottom:10px}.center-card[data-v-eb17bef8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-eb17bef8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-eb17bef8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-eb17bef8]{margin-top:0}}.center-text[data-v-eb17bef8]{text-align:center}.responsive-table[data-v-eb17bef8]{margin-bottom:15px}.responsive-table table[data-v-eb17bef8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-eb17bef8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-eb17bef8]{font-size:.95em}.responsive-table table tbody td[data-v-eb17bef8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-eb17bef8]{border:none}.responsive-table table .cell-heading[data-v-eb17bef8]{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-eb17bef8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-eb17bef8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-eb17bef8]{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-eb17bef8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-eb17bef8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-eb17bef8]{width:100%}}#admin-users .top-button[data-v-eb17bef8]{display:none}#admin-users table td[data-v-eb17bef8]{font-size:1.1em}#admin-users .left-text[data-v-eb17bef8]{text-align:left}#admin-users[data-v-eb17bef8] .user-picture img{height:30px;width:30px}#admin-users[data-v-eb17bef8] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-eb17bef8]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-eb17bef8]{margin-top:-30px}}[data-v-a6fa997c]: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;--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;--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-a6fa997c]{margin:0}#app[data-v-a6fa997c]{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-a6fa997c]{color:var(--app-a-color);text-decoration:none}img[data-v-a6fa997c]{max-width:100%}input[data-v-a6fa997c],select[data-v-a6fa997c],textarea[data-v-a6fa997c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a6fa997c]:disabled,select[data-v-a6fa997c]:disabled,textarea[data-v-a6fa997c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a6fa997c]{font-weight:700}button[data-v-a6fa997c]{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-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a6fa997c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a6fa997c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a6fa997c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a6fa997c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a6fa997c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a6fa997c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a6fa997c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a6fa997c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a6fa997c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a6fa997c]{margin:10px;padding:5px}.upper[data-v-a6fa997c]{text-transform:uppercase}.view[data-v-a6fa997c]{padding-bottom:35px}.fa-trophy[data-v-a6fa997c]{color:var(--workout-trophy-color)}.section-title[data-v-a6fa997c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a6fa997c]{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-a6fa997c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a6fa997c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a6fa997c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a6fa997c]{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-a6fa997c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a6fa997c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a6fa997c]{font-weight:700}.description-list dl dd[data-v-a6fa997c]{margin-bottom:10px}.center-card[data-v-a6fa997c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a6fa997c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a6fa997c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a6fa997c]{margin-top:0}}.center-text[data-v-a6fa997c]{text-align:center}.responsive-table[data-v-a6fa997c]{margin-bottom:15px}.responsive-table table[data-v-a6fa997c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a6fa997c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a6fa997c]{font-size:.95em}.responsive-table table tbody td[data-v-a6fa997c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a6fa997c]{border:none}.responsive-table table .cell-heading[data-v-a6fa997c]{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-a6fa997c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a6fa997c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a6fa997c]{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-a6fa997c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a6fa997c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a6fa997c]{width:100%}}.user-header[data-v-a6fa997c]{display:flex;align-items:stretch}.user-header .user-details[data-v-a6fa997c]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-a6fa997c]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-a6fa997c]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-a6fa997c],.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-a6fa997c]{font-size:1.5em}.user-header .user-details .user-stats[data-v-a6fa997c]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-a6fa997c]{display:none}}.profile-tabs{margin:10px 0 10px}[data-v-c81580c0]: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;--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;--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-c81580c0]{margin:0}#app[data-v-c81580c0]{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-c81580c0]{color:var(--app-a-color);text-decoration:none}img[data-v-c81580c0]{max-width:100%}input[data-v-c81580c0],select[data-v-c81580c0],textarea[data-v-c81580c0]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-c81580c0]:disabled,select[data-v-c81580c0]:disabled,textarea[data-v-c81580c0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-c81580c0]{font-weight:700}button[data-v-c81580c0]{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-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-c81580c0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-c81580c0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-c81580c0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-c81580c0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-c81580c0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-c81580c0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-c81580c0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-c81580c0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-c81580c0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-c81580c0]{margin:10px;padding:5px}.upper[data-v-c81580c0]{text-transform:uppercase}.view[data-v-c81580c0]{padding-bottom:35px}.fa-trophy[data-v-c81580c0]{color:var(--workout-trophy-color)}.section-title[data-v-c81580c0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-c81580c0]{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-c81580c0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-c81580c0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-c81580c0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-c81580c0]{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-c81580c0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-c81580c0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-c81580c0]{font-weight:700}.description-list dl dd[data-v-c81580c0]{margin-bottom:10px}.center-card[data-v-c81580c0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-c81580c0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-c81580c0]{margin-top:0}}.center-text[data-v-c81580c0]{text-align:center}.responsive-table[data-v-c81580c0]{margin-bottom:15px}.responsive-table table[data-v-c81580c0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-c81580c0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-c81580c0]{font-size:.95em}.responsive-table table tbody td[data-v-c81580c0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-c81580c0]{border:none}.responsive-table table .cell-heading[data-v-c81580c0]{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-c81580c0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-c81580c0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-c81580c0]{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-c81580c0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-c81580c0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-c81580c0]{width:100%}}#user-profile[data-v-c81580c0]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}}[data-v-17c7b32c]: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;--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;--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-17c7b32c]{margin:0}#app[data-v-17c7b32c]{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-17c7b32c]{color:var(--app-a-color);text-decoration:none}img[data-v-17c7b32c]{max-width:100%}input[data-v-17c7b32c],select[data-v-17c7b32c],textarea[data-v-17c7b32c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-17c7b32c]:disabled,select[data-v-17c7b32c]:disabled,textarea[data-v-17c7b32c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-17c7b32c]{font-weight:700}button[data-v-17c7b32c]{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-17c7b32c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-17c7b32c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-17c7b32c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-17c7b32c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-17c7b32c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-17c7b32c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-17c7b32c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-17c7b32c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-17c7b32c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-17c7b32c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-17c7b32c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-17c7b32c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-17c7b32c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-17c7b32c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-17c7b32c]{margin:10px;padding:5px}.upper[data-v-17c7b32c]{text-transform:uppercase}.view[data-v-17c7b32c]{padding-bottom:35px}.fa-trophy[data-v-17c7b32c]{color:var(--workout-trophy-color)}.section-title[data-v-17c7b32c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-17c7b32c]{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-17c7b32c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-17c7b32c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-17c7b32c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-17c7b32c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-17c7b32c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-17c7b32c]{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-17c7b32c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-17c7b32c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-17c7b32c]{font-weight:700}.description-list dl dd[data-v-17c7b32c]{margin-bottom:10px}.center-card[data-v-17c7b32c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-17c7b32c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-17c7b32c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-17c7b32c]{margin-top:0}}.center-text[data-v-17c7b32c]{text-align:center}.responsive-table[data-v-17c7b32c]{margin-bottom:15px}.responsive-table table[data-v-17c7b32c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-17c7b32c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-17c7b32c]{font-size:.95em}.responsive-table table tbody td[data-v-17c7b32c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-17c7b32c]{border:none}.responsive-table table .cell-heading[data-v-17c7b32c]{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-17c7b32c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-17c7b32c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-17c7b32c]{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-17c7b32c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-17c7b32c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-17c7b32c]{width:100%}}#user-infos .user-bio[data-v-17c7b32c]{white-space:pre-wrap}#user-infos .profile-buttons[data-v-17c7b32c]{display:flex;gap:10px}[data-v-39667dbe]: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;--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;--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-39667dbe]{margin:0}#app[data-v-39667dbe]{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-39667dbe]{color:var(--app-a-color);text-decoration:none}img[data-v-39667dbe]{max-width:100%}input[data-v-39667dbe],select[data-v-39667dbe],textarea[data-v-39667dbe]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-39667dbe]:disabled,select[data-v-39667dbe]:disabled,textarea[data-v-39667dbe]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-39667dbe]{font-weight:700}button[data-v-39667dbe]{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-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-39667dbe]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-39667dbe]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-39667dbe]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-39667dbe]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-39667dbe]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-39667dbe]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-39667dbe]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-39667dbe]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-39667dbe]{display:flex;flex-direction:column}.form-box .form-items input[data-v-39667dbe]{margin:10px;padding:5px}.upper[data-v-39667dbe]{text-transform:uppercase}.view[data-v-39667dbe]{padding-bottom:35px}.fa-trophy[data-v-39667dbe]{color:var(--workout-trophy-color)}.section-title[data-v-39667dbe]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-39667dbe]{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-39667dbe]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-39667dbe]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-39667dbe]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-39667dbe]{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-39667dbe]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-39667dbe]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-39667dbe]{font-weight:700}.description-list dl dd[data-v-39667dbe]{margin-bottom:10px}.center-card[data-v-39667dbe]{margin:0 auto;width:700px}.center-card.with-margin[data-v-39667dbe]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-39667dbe]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-39667dbe]{margin-top:0}}.center-text[data-v-39667dbe]{text-align:center}.responsive-table[data-v-39667dbe]{margin-bottom:15px}.responsive-table table[data-v-39667dbe]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-39667dbe]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-39667dbe]{font-size:.95em}.responsive-table table tbody td[data-v-39667dbe]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-39667dbe]{border:none}.responsive-table table .cell-heading[data-v-39667dbe]{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-39667dbe]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-39667dbe]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-39667dbe]{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-39667dbe]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-39667dbe]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-39667dbe]{width:100%}}#user-preferences .profile-buttons[data-v-39667dbe]{display:flex;gap:10px}: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;--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;--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))}#app,body{margin:0}#app{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);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label{font-weight:700}button{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:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.upper{text-transform:uppercase}.view{padding-bottom:35px}.fa-trophy{color:var(--workout-trophy-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{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{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{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{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}.center-card.with-margin{margin-top:0}}.center-text{text-align:center}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{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{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.form-buttons{flex-direction:row}@media screen and (max-width:500px){.form-buttons{flex-direction:column}}[data-v-2eb0ba24]: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;--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;--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-2eb0ba24]{margin:0}#app[data-v-2eb0ba24]{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-2eb0ba24]{color:var(--app-a-color);text-decoration:none}img[data-v-2eb0ba24]{max-width:100%}input[data-v-2eb0ba24],select[data-v-2eb0ba24],textarea[data-v-2eb0ba24]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2eb0ba24]:disabled,select[data-v-2eb0ba24]:disabled,textarea[data-v-2eb0ba24]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-2eb0ba24]{font-weight:700}button[data-v-2eb0ba24]{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-2eb0ba24]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2eb0ba24]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2eb0ba24]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2eb0ba24]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2eb0ba24]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2eb0ba24]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2eb0ba24]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2eb0ba24]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2eb0ba24]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2eb0ba24]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2eb0ba24]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2eb0ba24]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2eb0ba24]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2eb0ba24]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2eb0ba24]{margin:10px;padding:5px}.upper[data-v-2eb0ba24]{text-transform:uppercase}.view[data-v-2eb0ba24]{padding-bottom:35px}.fa-trophy[data-v-2eb0ba24]{color:var(--workout-trophy-color)}.section-title[data-v-2eb0ba24]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2eb0ba24]{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-2eb0ba24]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2eb0ba24]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2eb0ba24]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2eb0ba24]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2eb0ba24]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2eb0ba24]{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-2eb0ba24]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2eb0ba24]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2eb0ba24]{font-weight:700}.description-list dl dd[data-v-2eb0ba24]{margin-bottom:10px}.center-card[data-v-2eb0ba24]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2eb0ba24]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2eb0ba24]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2eb0ba24]{margin-top:0}}.center-text[data-v-2eb0ba24]{text-align:center}.responsive-table[data-v-2eb0ba24]{margin-bottom:15px}.responsive-table table[data-v-2eb0ba24]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2eb0ba24]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2eb0ba24]{font-size:.95em}.responsive-table table tbody td[data-v-2eb0ba24]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2eb0ba24]{border:none}.responsive-table table .cell-heading[data-v-2eb0ba24]{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-2eb0ba24]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2eb0ba24]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2eb0ba24]{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-2eb0ba24]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2eb0ba24]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2eb0ba24]{width:100%}}#user-picture-edition .user-picture-form[data-v-2eb0ba24]{display:flex;flex-direction:column}#user-picture-edition .user-picture-form form[data-v-2eb0ba24]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-2eb0ba24]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-2eb0ba24]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form .picture-buttons[data-v-2eb0ba24]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width:500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-2eb0ba24]{flex-direction:column;align-items:stretch}}[data-v-f5e8066a]: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;--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;--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-f5e8066a]{margin:0}#app[data-v-f5e8066a]{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-f5e8066a]{color:var(--app-a-color);text-decoration:none}img[data-v-f5e8066a]{max-width:100%}input[data-v-f5e8066a],select[data-v-f5e8066a],textarea[data-v-f5e8066a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-f5e8066a]:disabled,select[data-v-f5e8066a]:disabled,textarea[data-v-f5e8066a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-f5e8066a]{font-weight:700}button[data-v-f5e8066a]{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-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-f5e8066a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-f5e8066a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-f5e8066a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-f5e8066a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-f5e8066a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-f5e8066a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-f5e8066a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-f5e8066a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-f5e8066a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-f5e8066a]{margin:10px;padding:5px}.upper[data-v-f5e8066a]{text-transform:uppercase}.view[data-v-f5e8066a]{padding-bottom:35px}.fa-trophy[data-v-f5e8066a]{color:var(--workout-trophy-color)}.section-title[data-v-f5e8066a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-f5e8066a]{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-f5e8066a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-f5e8066a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-f5e8066a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-f5e8066a]{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-f5e8066a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-f5e8066a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-f5e8066a]{font-weight:700}.description-list dl dd[data-v-f5e8066a]{margin-bottom:10px}.center-card[data-v-f5e8066a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-f5e8066a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-f5e8066a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-f5e8066a]{margin-top:0}}.center-text[data-v-f5e8066a]{text-align:center}.responsive-table[data-v-f5e8066a]{margin-bottom:15px}.responsive-table table[data-v-f5e8066a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-f5e8066a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-f5e8066a]{font-size:.95em}.responsive-table table tbody td[data-v-f5e8066a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-f5e8066a]{border:none}.responsive-table table .cell-heading[data-v-f5e8066a]{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-f5e8066a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-f5e8066a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-f5e8066a]{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-f5e8066a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-f5e8066a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-f5e8066a]{width:100%}}.alert-message[data-v-f5e8066a]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}[data-v-ad3739fc]: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;--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;--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-ad3739fc]{margin:0}#app[data-v-ad3739fc]{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-ad3739fc]{color:var(--app-a-color);text-decoration:none}img[data-v-ad3739fc]{max-width:100%}input[data-v-ad3739fc],select[data-v-ad3739fc],textarea[data-v-ad3739fc]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ad3739fc]:disabled,select[data-v-ad3739fc]:disabled,textarea[data-v-ad3739fc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-ad3739fc]{font-weight:700}button[data-v-ad3739fc]{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-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ad3739fc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ad3739fc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ad3739fc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ad3739fc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ad3739fc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ad3739fc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ad3739fc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ad3739fc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ad3739fc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ad3739fc]{margin:10px;padding:5px}.upper[data-v-ad3739fc]{text-transform:uppercase}.view[data-v-ad3739fc]{padding-bottom:35px}.fa-trophy[data-v-ad3739fc]{color:var(--workout-trophy-color)}.section-title[data-v-ad3739fc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ad3739fc]{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-ad3739fc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ad3739fc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ad3739fc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ad3739fc]{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-ad3739fc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ad3739fc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ad3739fc]{font-weight:700}.description-list dl dd[data-v-ad3739fc]{margin-bottom:10px}.center-card[data-v-ad3739fc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ad3739fc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ad3739fc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ad3739fc]{margin-top:0}}.center-text[data-v-ad3739fc]{text-align:center}.responsive-table[data-v-ad3739fc]{margin-bottom:15px}.responsive-table table[data-v-ad3739fc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ad3739fc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ad3739fc]{font-size:.95em}.responsive-table table tbody td[data-v-ad3739fc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ad3739fc]{border:none}.responsive-table table .cell-heading[data-v-ad3739fc]{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-ad3739fc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ad3739fc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ad3739fc]{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-ad3739fc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ad3739fc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ad3739fc]{width:100%}}.custom-textarea[data-v-ad3739fc]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-ad3739fc]{font-size:.8em;font-style:italic}.dropdown-list[data-v-5ef2ddef]{list-style-type:none;background-color:#fff;padding:0;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-5ef2ddef]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-5ef2ddef]:last-child{padding-bottom:5px}.dropdown-item[data-v-5ef2ddef]{cursor:default}.dropdown-item.selected[data-v-5ef2ddef]{font-weight:700}.dropdown-item.selected[data-v-5ef2ddef]:after{content:" ✔"}[data-v-5c177a93]: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;--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;--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-5c177a93]{margin:0}#app[data-v-5c177a93]{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-5c177a93]{color:var(--app-a-color);text-decoration:none}img[data-v-5c177a93]{max-width:100%}input[data-v-5c177a93],select[data-v-5c177a93],textarea[data-v-5c177a93]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c177a93]:disabled,select[data-v-5c177a93]:disabled,textarea[data-v-5c177a93]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c177a93]{font-weight:700}button[data-v-5c177a93]{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-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c177a93]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c177a93]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c177a93]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c177a93]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c177a93]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c177a93]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c177a93]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c177a93]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c177a93]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c177a93]{margin:10px;padding:5px}.upper[data-v-5c177a93]{text-transform:uppercase}.view[data-v-5c177a93]{padding-bottom:35px}.fa-trophy[data-v-5c177a93]{color:var(--workout-trophy-color)}.section-title[data-v-5c177a93]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c177a93]{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-5c177a93]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c177a93]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c177a93]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c177a93]{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-5c177a93]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c177a93]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c177a93]{font-weight:700}.description-list dl dd[data-v-5c177a93]{margin-bottom:10px}.center-card[data-v-5c177a93]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c177a93]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c177a93]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c177a93]{margin-top:0}}.center-text[data-v-5c177a93]{text-align:center}.responsive-table[data-v-5c177a93]{margin-bottom:15px}.responsive-table table[data-v-5c177a93]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c177a93]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c177a93]{font-size:.95em}.responsive-table table tbody td[data-v-5c177a93]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c177a93]{border:none}.responsive-table table .cell-heading[data-v-5c177a93]{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-5c177a93]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c177a93]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c177a93]{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-5c177a93]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c177a93]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c177a93]{width:100%}}.error-message[data-v-5c177a93]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}[data-v-8bf75da8]: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;--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;--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-8bf75da8]{margin:0}#app[data-v-8bf75da8]{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-8bf75da8]{color:var(--app-a-color);text-decoration:none}img[data-v-8bf75da8]{max-width:100%}input[data-v-8bf75da8],select[data-v-8bf75da8],textarea[data-v-8bf75da8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-8bf75da8]:disabled,select[data-v-8bf75da8]:disabled,textarea[data-v-8bf75da8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-8bf75da8]{font-weight:700}button[data-v-8bf75da8]{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-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-8bf75da8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-8bf75da8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-8bf75da8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-8bf75da8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-8bf75da8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-8bf75da8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-8bf75da8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-8bf75da8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-8bf75da8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-8bf75da8]{margin:10px;padding:5px}.upper[data-v-8bf75da8]{text-transform:uppercase}.view[data-v-8bf75da8]{padding-bottom:35px}.fa-trophy[data-v-8bf75da8]{color:var(--workout-trophy-color)}.section-title[data-v-8bf75da8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-8bf75da8]{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-8bf75da8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-8bf75da8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-8bf75da8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-8bf75da8]{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-8bf75da8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-8bf75da8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-8bf75da8]{font-weight:700}.description-list dl dd[data-v-8bf75da8]{margin-bottom:10px}.center-card[data-v-8bf75da8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-8bf75da8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-8bf75da8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-8bf75da8]{margin-top:0}}.center-text[data-v-8bf75da8]{text-align:center}.responsive-table[data-v-8bf75da8]{margin-bottom:15px}.responsive-table table[data-v-8bf75da8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-8bf75da8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-8bf75da8]{font-size:.95em}.responsive-table table tbody td[data-v-8bf75da8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-8bf75da8]{border:none}.responsive-table table .cell-heading[data-v-8bf75da8]{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-8bf75da8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-8bf75da8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-8bf75da8]{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-8bf75da8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-8bf75da8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-8bf75da8]{width:100%}}.loader[data-v-8bf75da8]{-webkit-animation:spin-8bf75da8 2s linear infinite;animation:spin-8bf75da8 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@-webkit-keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-v-366182c4]: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;--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;--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-366182c4]{margin:0}#app[data-v-366182c4]{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-366182c4]{color:var(--app-a-color);text-decoration:none}img[data-v-366182c4]{max-width:100%}input[data-v-366182c4],select[data-v-366182c4],textarea[data-v-366182c4]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-366182c4]:disabled,select[data-v-366182c4]:disabled,textarea[data-v-366182c4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-366182c4]{font-weight:700}button[data-v-366182c4]{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-366182c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-366182c4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-366182c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-366182c4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-366182c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-366182c4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-366182c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-366182c4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-366182c4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-366182c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-366182c4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-366182c4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-366182c4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-366182c4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-366182c4]{margin:10px;padding:5px}.upper[data-v-366182c4]{text-transform:uppercase}.view[data-v-366182c4]{padding-bottom:35px}.fa-trophy[data-v-366182c4]{color:var(--workout-trophy-color)}.section-title[data-v-366182c4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-366182c4]{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-366182c4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-366182c4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-366182c4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-366182c4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-366182c4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-366182c4]{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-366182c4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-366182c4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-366182c4]{font-weight:700}.description-list dl dd[data-v-366182c4]{margin-bottom:10px}.center-card[data-v-366182c4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-366182c4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-366182c4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-366182c4]{margin-top:0}}.center-text[data-v-366182c4]{text-align:center}.responsive-table[data-v-366182c4]{margin-bottom:15px}.responsive-table table[data-v-366182c4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-366182c4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-366182c4]{font-size:.95em}.responsive-table table tbody td[data-v-366182c4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-366182c4]{border:none}.responsive-table table .cell-heading[data-v-366182c4]{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-366182c4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-366182c4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-366182c4]{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-366182c4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-366182c4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-366182c4]{width:100%}}#modal[data-v-366182c4]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-366182c4]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-366182c4]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-366182c4]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-366182c4] .card{border:0;margin:0}#modal .custom-modal[data-v-366182c4] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file +[data-v-e1641806]: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;--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;--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-e1641806]{margin:0}#app[data-v-e1641806]{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-e1641806]{color:var(--app-a-color);text-decoration:none}img[data-v-e1641806]{max-width:100%}input[data-v-e1641806],select[data-v-e1641806],textarea[data-v-e1641806]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-e1641806]:disabled,select[data-v-e1641806]:disabled,textarea[data-v-e1641806]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-e1641806]{font-weight:700}button[data-v-e1641806]{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-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-e1641806]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-e1641806]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-e1641806]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-e1641806]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-e1641806]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-e1641806]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-e1641806]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-e1641806]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-e1641806]{display:flex;flex-direction:column}.form-box .form-items input[data-v-e1641806]{margin:10px;padding:5px}.upper[data-v-e1641806]{text-transform:uppercase}.view[data-v-e1641806]{padding-bottom:35px}.fa-trophy[data-v-e1641806]{color:var(--workout-trophy-color)}.section-title[data-v-e1641806]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-e1641806]{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-e1641806]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-e1641806]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-e1641806]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-e1641806]{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-e1641806]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-e1641806]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-e1641806]{font-weight:700}.description-list dl dd[data-v-e1641806]{margin-bottom:10px}.center-card[data-v-e1641806]{margin:0 auto;width:700px}.center-card.with-margin[data-v-e1641806]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-e1641806]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-e1641806]{margin-top:0}}.center-text[data-v-e1641806]{text-align:center}.responsive-table[data-v-e1641806]{margin-bottom:15px}.responsive-table table[data-v-e1641806]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-e1641806]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-e1641806]{font-size:.95em}.responsive-table table tbody td[data-v-e1641806]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-e1641806]{border:none}.responsive-table table .cell-heading[data-v-e1641806]{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-e1641806]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-e1641806]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-e1641806]{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-e1641806]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-e1641806]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-e1641806]{width:100%}}#footer[data-v-e1641806]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-e1641806]{text-decoration:none}#footer .footer-items[data-v-e1641806]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-e1641806]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-e1641806]{font-size:.85em}#footer .footer-items .footer-item[data-v-e1641806]{padding:5px 5px}#footer .footer-items .bullet[data-v-e1641806]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}[data-v-9d3d8adc]: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;--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;--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-9d3d8adc]{margin:0}#app[data-v-9d3d8adc]{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-9d3d8adc]{color:var(--app-a-color);text-decoration:none}img[data-v-9d3d8adc]{max-width:100%}input[data-v-9d3d8adc],select[data-v-9d3d8adc],textarea[data-v-9d3d8adc]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-9d3d8adc]:disabled,select[data-v-9d3d8adc]:disabled,textarea[data-v-9d3d8adc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-9d3d8adc]{font-weight:700}button[data-v-9d3d8adc]{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-9d3d8adc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-9d3d8adc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-9d3d8adc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-9d3d8adc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-9d3d8adc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-9d3d8adc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-9d3d8adc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-9d3d8adc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-9d3d8adc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-9d3d8adc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-9d3d8adc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-9d3d8adc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-9d3d8adc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-9d3d8adc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-9d3d8adc]{margin:10px;padding:5px}.upper[data-v-9d3d8adc]{text-transform:uppercase}.view[data-v-9d3d8adc]{padding-bottom:35px}.fa-trophy[data-v-9d3d8adc]{color:var(--workout-trophy-color)}.section-title[data-v-9d3d8adc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-9d3d8adc]{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-9d3d8adc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-9d3d8adc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-9d3d8adc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-9d3d8adc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-9d3d8adc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-9d3d8adc]{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-9d3d8adc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-9d3d8adc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-9d3d8adc]{font-weight:700}.description-list dl dd[data-v-9d3d8adc]{margin-bottom:10px}.center-card[data-v-9d3d8adc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-9d3d8adc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-9d3d8adc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-9d3d8adc]{margin-top:0}}.center-text[data-v-9d3d8adc]{text-align:center}.responsive-table[data-v-9d3d8adc]{margin-bottom:15px}.responsive-table table[data-v-9d3d8adc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-9d3d8adc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-9d3d8adc]{font-size:.95em}.responsive-table table tbody td[data-v-9d3d8adc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-9d3d8adc]{border:none}.responsive-table table .cell-heading[data-v-9d3d8adc]{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-9d3d8adc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-9d3d8adc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-9d3d8adc]{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-9d3d8adc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-9d3d8adc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-9d3d8adc]{width:100%}}#nav[data-v-9d3d8adc]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-9d3d8adc]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-9d3d8adc]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-9d3d8adc]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-9d3d8adc]:hover{cursor:pointer}#nav .fa[data-v-9d3d8adc]{font-size:1.2em}#nav .close-icon[data-v-9d3d8adc],#nav .hamburger-icon[data-v-9d3d8adc],#nav .nav-icon-open[data-v-9d3d8adc]{display:none}#nav .nav-items[data-v-9d3d8adc]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-9d3d8adc]{display:none}#nav .nav-items .nav-items-app-menu[data-v-9d3d8adc],#nav .nav-items .nav-items-user-menu[data-v-9d3d8adc]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-9d3d8adc]{display:flex}#nav .nav-items .nav-item[data-v-9d3d8adc]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-9d3d8adc]{width:60px}#nav .nav-items .nav-item[data-v-9d3d8adc] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-9d3d8adc]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-9d3d8adc]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-9d3d8adc] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-9d3d8adc] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-9d3d8adc]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-9d3d8adc]{display:block}#nav .nav-icon-open[data-v-9d3d8adc]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-9d3d8adc]{display:none}#nav .close-icon[data-v-9d3d8adc]{display:block}#nav .close-icon.menu-closed[data-v-9d3d8adc],#nav .nav-items[data-v-9d3d8adc]{display:none}#nav .nav-items.menu-open[data-v-9d3d8adc]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-app-menu[data-v-9d3d8adc],#nav .nav-items.menu-open .nav-items-close[data-v-9d3d8adc],#nav .nav-items.menu-open .nav-items-user-menu[data-v-9d3d8adc]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-9d3d8adc]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-9d3d8adc]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-9d3d8adc]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-9d3d8adc]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-9d3d8adc]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-9d3d8adc]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}[data-v-01d4a985]: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;--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;--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-01d4a985]{margin:0}#app[data-v-01d4a985]{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-01d4a985]{color:var(--app-a-color);text-decoration:none}img[data-v-01d4a985]{max-width:100%}input[data-v-01d4a985],select[data-v-01d4a985],textarea[data-v-01d4a985]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-01d4a985]:disabled,select[data-v-01d4a985]:disabled,textarea[data-v-01d4a985]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-01d4a985]{font-weight:700}button[data-v-01d4a985]{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-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-01d4a985]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-01d4a985]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-01d4a985]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-01d4a985]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-01d4a985]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-01d4a985]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-01d4a985]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-01d4a985]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-01d4a985]{display:flex;flex-direction:column}.form-box .form-items input[data-v-01d4a985]{margin:10px;padding:5px}.upper[data-v-01d4a985]{text-transform:uppercase}.view[data-v-01d4a985]{padding-bottom:35px}.fa-trophy[data-v-01d4a985]{color:var(--workout-trophy-color)}.section-title[data-v-01d4a985]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-01d4a985]{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-01d4a985]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-01d4a985]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-01d4a985]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-01d4a985]{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-01d4a985]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-01d4a985]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-01d4a985]{font-weight:700}.description-list dl dd[data-v-01d4a985]{margin-bottom:10px}.center-card[data-v-01d4a985]{margin:0 auto;width:700px}.center-card.with-margin[data-v-01d4a985]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-01d4a985]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-01d4a985]{margin-top:0}}.center-text[data-v-01d4a985]{text-align:center}.responsive-table[data-v-01d4a985]{margin-bottom:15px}.responsive-table table[data-v-01d4a985]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-01d4a985]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-01d4a985]{font-size:.95em}.responsive-table table tbody td[data-v-01d4a985]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-01d4a985]{border:none}.responsive-table table .cell-heading[data-v-01d4a985]{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-01d4a985]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-01d4a985]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-01d4a985]{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-01d4a985]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-01d4a985]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-01d4a985]{width:100%}}#no-config[data-v-01d4a985]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-01d4a985]{width:150px}#no-config .error-page .error-img svg .error-page-img[data-v-01d4a985]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-01d4a985]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-01d4a985]{font-size:1em}}[data-v-317a6409]: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;--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;--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-317a6409]{margin:0}#app[data-v-317a6409]{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-317a6409]{color:var(--app-a-color);text-decoration:none}img[data-v-317a6409]{max-width:100%}input[data-v-317a6409],select[data-v-317a6409],textarea[data-v-317a6409]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-317a6409]:disabled,select[data-v-317a6409]:disabled,textarea[data-v-317a6409]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-317a6409]{font-weight:700}button[data-v-317a6409]{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-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-317a6409]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-317a6409]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-317a6409]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-317a6409]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-317a6409]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-317a6409]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-317a6409]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-317a6409]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-317a6409]{display:flex;flex-direction:column}.form-box .form-items input[data-v-317a6409]{margin:10px;padding:5px}.upper[data-v-317a6409]{text-transform:uppercase}.view[data-v-317a6409]{padding-bottom:35px}.fa-trophy[data-v-317a6409]{color:var(--workout-trophy-color)}.section-title[data-v-317a6409]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-317a6409]{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-317a6409]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-317a6409]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-317a6409]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-317a6409]{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-317a6409]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-317a6409]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-317a6409]{font-weight:700}.description-list dl dd[data-v-317a6409]{margin-bottom:10px}.center-card[data-v-317a6409]{margin:0 auto;width:700px}.center-card.with-margin[data-v-317a6409]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-317a6409]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-317a6409]{margin-top:0}}.center-text[data-v-317a6409]{text-align:center}.responsive-table[data-v-317a6409]{margin-bottom:15px}.responsive-table table[data-v-317a6409]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-317a6409]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-317a6409]{font-size:.95em}.responsive-table table tbody td[data-v-317a6409]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-317a6409]{border:none}.responsive-table table .cell-heading[data-v-317a6409]{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-317a6409]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-317a6409]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-317a6409]{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-317a6409]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-317a6409]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-317a6409]{width:100%}}.app-container[data-v-317a6409]{height:calc(100vh - 130px)}.app-container.hide-scroll[data-v-317a6409]{overflow:hidden}.app-container .app-loading[data-v-317a6409]{display:flex;align-items:center;height:100%}.scroll[data-v-317a6409]{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button[data-v-317a6409]{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button[data-v-317a6409]{display:block}[data-v-26175b66]: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;--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;--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-26175b66]{margin:0}#app[data-v-26175b66]{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-26175b66]{color:var(--app-a-color);text-decoration:none}img[data-v-26175b66]{max-width:100%}input[data-v-26175b66],select[data-v-26175b66],textarea[data-v-26175b66]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-26175b66]:disabled,select[data-v-26175b66]:disabled,textarea[data-v-26175b66]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-26175b66]{font-weight:700}button[data-v-26175b66]{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-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-26175b66]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-26175b66]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-26175b66]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-26175b66]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-26175b66]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-26175b66]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-26175b66]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-26175b66]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-26175b66]{display:flex;flex-direction:column}.form-box .form-items input[data-v-26175b66]{margin:10px;padding:5px}.upper[data-v-26175b66]{text-transform:uppercase}.view[data-v-26175b66]{padding-bottom:35px}.fa-trophy[data-v-26175b66]{color:var(--workout-trophy-color)}.section-title[data-v-26175b66]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-26175b66]{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-26175b66]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-26175b66]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-26175b66]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-26175b66]{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-26175b66]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-26175b66]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-26175b66]{font-weight:700}.description-list dl dd[data-v-26175b66]{margin-bottom:10px}.center-card[data-v-26175b66]{margin:0 auto;width:700px}.center-card.with-margin[data-v-26175b66]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-26175b66]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-26175b66]{margin-top:0}}.center-text[data-v-26175b66]{text-align:center}.responsive-table[data-v-26175b66]{margin-bottom:15px}.responsive-table table[data-v-26175b66]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-26175b66]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-26175b66]{font-size:.95em}.responsive-table table tbody td[data-v-26175b66]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-26175b66]{border:none}.responsive-table table .cell-heading[data-v-26175b66]{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-26175b66]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-26175b66]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-26175b66]{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-26175b66]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-26175b66]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-26175b66]{width:100%}}.user-limit-help[data-v-26175b66]{display:flex}.user-limit-help span[data-v-26175b66]{font-style:italic}.user-limit-help .fa-info-circle[data-v-26175b66]{margin-right:10px}.stat-card{flex:1;max-width:25%}@media screen and (max-width:700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}#user-stats{display:flex;flex-wrap:wrap}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}[data-v-4f30aa64]: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;--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;--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-4f30aa64]{margin:0}#app[data-v-4f30aa64]{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-4f30aa64]{color:var(--app-a-color);text-decoration:none}img[data-v-4f30aa64]{max-width:100%}input[data-v-4f30aa64],select[data-v-4f30aa64],textarea[data-v-4f30aa64]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-4f30aa64]:disabled,select[data-v-4f30aa64]:disabled,textarea[data-v-4f30aa64]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-4f30aa64]{font-weight:700}button[data-v-4f30aa64]{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-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-4f30aa64]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-4f30aa64]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-4f30aa64]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-4f30aa64]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-4f30aa64]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-4f30aa64]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-4f30aa64]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-4f30aa64]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-4f30aa64]{display:flex;flex-direction:column}.form-box .form-items input[data-v-4f30aa64]{margin:10px;padding:5px}.upper[data-v-4f30aa64]{text-transform:uppercase}.view[data-v-4f30aa64]{padding-bottom:35px}.fa-trophy[data-v-4f30aa64]{color:var(--workout-trophy-color)}.section-title[data-v-4f30aa64]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-4f30aa64]{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-4f30aa64]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-4f30aa64]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-4f30aa64]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-4f30aa64]{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-4f30aa64]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-4f30aa64]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-4f30aa64]{font-weight:700}.description-list dl dd[data-v-4f30aa64]{margin-bottom:10px}.center-card[data-v-4f30aa64]{margin:0 auto;width:700px}.center-card.with-margin[data-v-4f30aa64]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-4f30aa64]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-4f30aa64]{margin-top:0}}.center-text[data-v-4f30aa64]{text-align:center}.responsive-table[data-v-4f30aa64]{margin-bottom:15px}.responsive-table table[data-v-4f30aa64]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-4f30aa64]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-4f30aa64]{font-size:.95em}.responsive-table table tbody td[data-v-4f30aa64]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-4f30aa64]{border:none}.responsive-table table .cell-heading[data-v-4f30aa64]{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-4f30aa64]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-4f30aa64]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-4f30aa64]{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-4f30aa64]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-4f30aa64]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-4f30aa64]{width:100%}}#admin-menu[data-v-4f30aa64]{display:flex}#admin-menu.center-card[data-v-4f30aa64]{width:100%}#admin-menu[data-v-4f30aa64] .card{flex-grow:1}#admin-menu[data-v-4f30aa64] .card .admin-menu{padding:0 10px}#admin-menu[data-v-4f30aa64] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-4f30aa64] .card .admin-menu .registration-status{font-weight:700}[data-v-6d930723]: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;--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;--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-6d930723]{margin:0}#app[data-v-6d930723]{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-6d930723]{color:var(--app-a-color);text-decoration:none}img[data-v-6d930723]{max-width:100%}input[data-v-6d930723],select[data-v-6d930723],textarea[data-v-6d930723]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6d930723]:disabled,select[data-v-6d930723]:disabled,textarea[data-v-6d930723]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-6d930723]{font-weight:700}button[data-v-6d930723]{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-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6d930723]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6d930723]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6d930723]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6d930723]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6d930723]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6d930723]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6d930723]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6d930723]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6d930723]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6d930723]{margin:10px;padding:5px}.upper[data-v-6d930723]{text-transform:uppercase}.view[data-v-6d930723]{padding-bottom:35px}.fa-trophy[data-v-6d930723]{color:var(--workout-trophy-color)}.section-title[data-v-6d930723]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6d930723]{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-6d930723]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6d930723]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6d930723]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6d930723]{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-6d930723]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6d930723]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6d930723]{font-weight:700}.description-list dl dd[data-v-6d930723]{margin-bottom:10px}.center-card[data-v-6d930723]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6d930723]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6d930723]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6d930723]{margin-top:0}}.center-text[data-v-6d930723]{text-align:center}.responsive-table[data-v-6d930723]{margin-bottom:15px}.responsive-table table[data-v-6d930723]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6d930723]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6d930723]{font-size:.95em}.responsive-table table tbody td[data-v-6d930723]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6d930723]{border:none}.responsive-table table .cell-heading[data-v-6d930723]{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-6d930723]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6d930723]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6d930723]{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-6d930723]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6d930723]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6d930723]{width:100%}}#admin-sports table td[data-v-6d930723]{font-size:1.1em}#admin-sports .sport-img[data-v-6d930723]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d930723]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .text-left[data-v-6d930723]{text-align:left}#admin-sports .sport-action[data-v-6d930723]{padding-left:40px}#admin-sports .action-button[data-v-6d930723]{display:block}#admin-sports .top-button[data-v-6d930723]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d930723]{padding-left:10px}#admin-sports .has-workouts[data-v-6d930723]{padding-top:5px}#admin-sports .action-button[data-v-6d930723]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d930723]{display:block;margin-bottom:20px}}[data-v-50c78582]: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;--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;--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-50c78582]{margin:0}#app[data-v-50c78582]{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-50c78582]{color:var(--app-a-color);text-decoration:none}img[data-v-50c78582]{max-width:100%}input[data-v-50c78582],select[data-v-50c78582],textarea[data-v-50c78582]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-50c78582]:disabled,select[data-v-50c78582]:disabled,textarea[data-v-50c78582]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-50c78582]{font-weight:700}button[data-v-50c78582]{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-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-50c78582]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-50c78582]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-50c78582]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-50c78582]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-50c78582]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-50c78582]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-50c78582]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-50c78582]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-50c78582]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-50c78582]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-50c78582]{display:flex;flex-direction:column}.form-box .form-items input[data-v-50c78582]{margin:10px;padding:5px}.upper[data-v-50c78582]{text-transform:uppercase}.view[data-v-50c78582]{padding-bottom:35px}.fa-trophy[data-v-50c78582]{color:var(--workout-trophy-color)}.section-title[data-v-50c78582]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-50c78582]{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-50c78582]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-50c78582]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-50c78582]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-50c78582]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-50c78582]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-50c78582]{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-50c78582]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-50c78582]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-50c78582]{font-weight:700}.description-list dl dd[data-v-50c78582]{margin-bottom:10px}.center-card[data-v-50c78582]{margin:0 auto;width:700px}.center-card.with-margin[data-v-50c78582]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-50c78582]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-50c78582]{margin-top:0}}.center-text[data-v-50c78582]{text-align:center}.responsive-table[data-v-50c78582]{margin-bottom:15px}.responsive-table table[data-v-50c78582]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-50c78582]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-50c78582]{font-size:.95em}.responsive-table table tbody td[data-v-50c78582]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-50c78582]{border:none}.responsive-table table .cell-heading[data-v-50c78582]{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-50c78582]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-50c78582]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-50c78582]{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-50c78582]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-50c78582]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-50c78582]{width:100%}}.table-selects[data-v-50c78582]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-50c78582]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-50c78582]{flex-wrap:wrap}.table-selects label[data-v-50c78582]{margin-bottom:10px}.table-selects label select[data-v-50c78582]{margin-left:0}}[data-v-56dc89d4]: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;--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;--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-56dc89d4]{margin:0}#app[data-v-56dc89d4]{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-56dc89d4]{color:var(--app-a-color);text-decoration:none}img[data-v-56dc89d4]{max-width:100%}input[data-v-56dc89d4],select[data-v-56dc89d4],textarea[data-v-56dc89d4]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-56dc89d4]:disabled,select[data-v-56dc89d4]:disabled,textarea[data-v-56dc89d4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-56dc89d4]{font-weight:700}button[data-v-56dc89d4]{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-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-56dc89d4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-56dc89d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-56dc89d4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-56dc89d4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-56dc89d4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-56dc89d4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-56dc89d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-56dc89d4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-56dc89d4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-56dc89d4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-56dc89d4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-56dc89d4]{margin:10px;padding:5px}.upper[data-v-56dc89d4]{text-transform:uppercase}.view[data-v-56dc89d4]{padding-bottom:35px}.fa-trophy[data-v-56dc89d4]{color:var(--workout-trophy-color)}.section-title[data-v-56dc89d4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-56dc89d4]{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-56dc89d4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-56dc89d4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-56dc89d4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-56dc89d4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-56dc89d4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-56dc89d4]{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-56dc89d4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-56dc89d4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-56dc89d4]{font-weight:700}.description-list dl dd[data-v-56dc89d4]{margin-bottom:10px}.center-card[data-v-56dc89d4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-56dc89d4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-56dc89d4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-56dc89d4]{margin-top:0}}.center-text[data-v-56dc89d4]{text-align:center}.responsive-table[data-v-56dc89d4]{margin-bottom:15px}.responsive-table table[data-v-56dc89d4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-56dc89d4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-56dc89d4]{font-size:.95em}.responsive-table table tbody td[data-v-56dc89d4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-56dc89d4]{border:none}.responsive-table table .cell-heading[data-v-56dc89d4]{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-56dc89d4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-56dc89d4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-56dc89d4]{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-56dc89d4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-56dc89d4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-56dc89d4]{width:100%}}.pagination-center[data-v-56dc89d4]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-56dc89d4]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-56dc89d4],.pagination-center .pagination .page-prev[data-v-56dc89d4],.pagination-center .pagination .page[data-v-56dc89d4]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-56dc89d4],.pagination-center .pagination .page-prev.active[data-v-56dc89d4],.pagination-center .pagination .page.active[data-v-56dc89d4]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-56dc89d4],.pagination-center .pagination .page-prev.disabled[data-v-56dc89d4],.pagination-center .pagination .page.disabled[data-v-56dc89d4]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-56dc89d4],.pagination-center .pagination .page-prev.disabled a[data-v-56dc89d4],.pagination-center .pagination .page.disabled a[data-v-56dc89d4]{color:var(--disabled-color)}.pagination-center .pagination .page[data-v-56dc89d4]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-56dc89d4]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-56dc89d4]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-56dc89d4]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-56dc89d4]{display:none}}[data-v-eb17bef8]: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;--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;--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-eb17bef8]{margin:0}#app[data-v-eb17bef8]{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-eb17bef8]{color:var(--app-a-color);text-decoration:none}img[data-v-eb17bef8]{max-width:100%}input[data-v-eb17bef8],select[data-v-eb17bef8],textarea[data-v-eb17bef8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-eb17bef8]:disabled,select[data-v-eb17bef8]:disabled,textarea[data-v-eb17bef8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-eb17bef8]{font-weight:700}button[data-v-eb17bef8]{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-eb17bef8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-eb17bef8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-eb17bef8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-eb17bef8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-eb17bef8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-eb17bef8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-eb17bef8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-eb17bef8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-eb17bef8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-eb17bef8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-eb17bef8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-eb17bef8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-eb17bef8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-eb17bef8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-eb17bef8]{margin:10px;padding:5px}.upper[data-v-eb17bef8]{text-transform:uppercase}.view[data-v-eb17bef8]{padding-bottom:35px}.fa-trophy[data-v-eb17bef8]{color:var(--workout-trophy-color)}.section-title[data-v-eb17bef8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-eb17bef8]{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-eb17bef8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-eb17bef8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-eb17bef8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-eb17bef8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-eb17bef8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-eb17bef8]{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-eb17bef8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-eb17bef8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-eb17bef8]{font-weight:700}.description-list dl dd[data-v-eb17bef8]{margin-bottom:10px}.center-card[data-v-eb17bef8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-eb17bef8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-eb17bef8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-eb17bef8]{margin-top:0}}.center-text[data-v-eb17bef8]{text-align:center}.responsive-table[data-v-eb17bef8]{margin-bottom:15px}.responsive-table table[data-v-eb17bef8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-eb17bef8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-eb17bef8]{font-size:.95em}.responsive-table table tbody td[data-v-eb17bef8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-eb17bef8]{border:none}.responsive-table table .cell-heading[data-v-eb17bef8]{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-eb17bef8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-eb17bef8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-eb17bef8]{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-eb17bef8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-eb17bef8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-eb17bef8]{width:100%}}#admin-users .top-button[data-v-eb17bef8]{display:none}#admin-users table td[data-v-eb17bef8]{font-size:1.1em}#admin-users .left-text[data-v-eb17bef8]{text-align:left}#admin-users[data-v-eb17bef8] .user-picture img{height:30px;width:30px}#admin-users[data-v-eb17bef8] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-eb17bef8]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-eb17bef8]{margin-top:-30px}}[data-v-a6fa997c]: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;--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;--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-a6fa997c]{margin:0}#app[data-v-a6fa997c]{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-a6fa997c]{color:var(--app-a-color);text-decoration:none}img[data-v-a6fa997c]{max-width:100%}input[data-v-a6fa997c],select[data-v-a6fa997c],textarea[data-v-a6fa997c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a6fa997c]:disabled,select[data-v-a6fa997c]:disabled,textarea[data-v-a6fa997c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a6fa997c]{font-weight:700}button[data-v-a6fa997c]{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-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a6fa997c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a6fa997c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a6fa997c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a6fa997c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a6fa997c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a6fa997c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a6fa997c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a6fa997c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a6fa997c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a6fa997c]{margin:10px;padding:5px}.upper[data-v-a6fa997c]{text-transform:uppercase}.view[data-v-a6fa997c]{padding-bottom:35px}.fa-trophy[data-v-a6fa997c]{color:var(--workout-trophy-color)}.section-title[data-v-a6fa997c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a6fa997c]{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-a6fa997c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a6fa997c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a6fa997c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a6fa997c]{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-a6fa997c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a6fa997c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a6fa997c]{font-weight:700}.description-list dl dd[data-v-a6fa997c]{margin-bottom:10px}.center-card[data-v-a6fa997c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a6fa997c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a6fa997c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a6fa997c]{margin-top:0}}.center-text[data-v-a6fa997c]{text-align:center}.responsive-table[data-v-a6fa997c]{margin-bottom:15px}.responsive-table table[data-v-a6fa997c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a6fa997c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a6fa997c]{font-size:.95em}.responsive-table table tbody td[data-v-a6fa997c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a6fa997c]{border:none}.responsive-table table .cell-heading[data-v-a6fa997c]{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-a6fa997c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a6fa997c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a6fa997c]{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-a6fa997c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a6fa997c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a6fa997c]{width:100%}}.user-header[data-v-a6fa997c]{display:flex;align-items:stretch}.user-header .user-details[data-v-a6fa997c]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-a6fa997c]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-a6fa997c]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-a6fa997c],.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-a6fa997c]{font-size:1.5em}.user-header .user-details .user-stats[data-v-a6fa997c]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-a6fa997c]{display:none}}.profile-tabs{margin:10px 0 10px}[data-v-c81580c0]: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;--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;--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-c81580c0]{margin:0}#app[data-v-c81580c0]{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-c81580c0]{color:var(--app-a-color);text-decoration:none}img[data-v-c81580c0]{max-width:100%}input[data-v-c81580c0],select[data-v-c81580c0],textarea[data-v-c81580c0]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-c81580c0]:disabled,select[data-v-c81580c0]:disabled,textarea[data-v-c81580c0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-c81580c0]{font-weight:700}button[data-v-c81580c0]{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-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-c81580c0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-c81580c0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-c81580c0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-c81580c0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-c81580c0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-c81580c0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-c81580c0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-c81580c0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-c81580c0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-c81580c0]{margin:10px;padding:5px}.upper[data-v-c81580c0]{text-transform:uppercase}.view[data-v-c81580c0]{padding-bottom:35px}.fa-trophy[data-v-c81580c0]{color:var(--workout-trophy-color)}.section-title[data-v-c81580c0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-c81580c0]{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-c81580c0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-c81580c0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-c81580c0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-c81580c0]{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-c81580c0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-c81580c0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-c81580c0]{font-weight:700}.description-list dl dd[data-v-c81580c0]{margin-bottom:10px}.center-card[data-v-c81580c0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-c81580c0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-c81580c0]{margin-top:0}}.center-text[data-v-c81580c0]{text-align:center}.responsive-table[data-v-c81580c0]{margin-bottom:15px}.responsive-table table[data-v-c81580c0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-c81580c0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-c81580c0]{font-size:.95em}.responsive-table table tbody td[data-v-c81580c0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-c81580c0]{border:none}.responsive-table table .cell-heading[data-v-c81580c0]{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-c81580c0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-c81580c0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-c81580c0]{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-c81580c0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-c81580c0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-c81580c0]{width:100%}}#user-profile[data-v-c81580c0]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}}[data-v-17c7b32c]: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;--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;--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-17c7b32c]{margin:0}#app[data-v-17c7b32c]{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-17c7b32c]{color:var(--app-a-color);text-decoration:none}img[data-v-17c7b32c]{max-width:100%}input[data-v-17c7b32c],select[data-v-17c7b32c],textarea[data-v-17c7b32c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-17c7b32c]:disabled,select[data-v-17c7b32c]:disabled,textarea[data-v-17c7b32c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-17c7b32c]{font-weight:700}button[data-v-17c7b32c]{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-17c7b32c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-17c7b32c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-17c7b32c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-17c7b32c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-17c7b32c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-17c7b32c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-17c7b32c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-17c7b32c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-17c7b32c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-17c7b32c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-17c7b32c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-17c7b32c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-17c7b32c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-17c7b32c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-17c7b32c]{margin:10px;padding:5px}.upper[data-v-17c7b32c]{text-transform:uppercase}.view[data-v-17c7b32c]{padding-bottom:35px}.fa-trophy[data-v-17c7b32c]{color:var(--workout-trophy-color)}.section-title[data-v-17c7b32c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-17c7b32c]{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-17c7b32c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-17c7b32c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-17c7b32c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-17c7b32c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-17c7b32c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-17c7b32c]{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-17c7b32c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-17c7b32c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-17c7b32c]{font-weight:700}.description-list dl dd[data-v-17c7b32c]{margin-bottom:10px}.center-card[data-v-17c7b32c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-17c7b32c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-17c7b32c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-17c7b32c]{margin-top:0}}.center-text[data-v-17c7b32c]{text-align:center}.responsive-table[data-v-17c7b32c]{margin-bottom:15px}.responsive-table table[data-v-17c7b32c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-17c7b32c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-17c7b32c]{font-size:.95em}.responsive-table table tbody td[data-v-17c7b32c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-17c7b32c]{border:none}.responsive-table table .cell-heading[data-v-17c7b32c]{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-17c7b32c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-17c7b32c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-17c7b32c]{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-17c7b32c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-17c7b32c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-17c7b32c]{width:100%}}#user-infos .user-bio[data-v-17c7b32c]{white-space:pre-wrap}#user-infos .profile-buttons[data-v-17c7b32c]{display:flex;gap:10px}[data-v-39667dbe]: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;--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;--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-39667dbe]{margin:0}#app[data-v-39667dbe]{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-39667dbe]{color:var(--app-a-color);text-decoration:none}img[data-v-39667dbe]{max-width:100%}input[data-v-39667dbe],select[data-v-39667dbe],textarea[data-v-39667dbe]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-39667dbe]:disabled,select[data-v-39667dbe]:disabled,textarea[data-v-39667dbe]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-39667dbe]{font-weight:700}button[data-v-39667dbe]{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-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-39667dbe]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-39667dbe]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-39667dbe]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-39667dbe]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-39667dbe]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-39667dbe]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-39667dbe]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-39667dbe]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-39667dbe]{display:flex;flex-direction:column}.form-box .form-items input[data-v-39667dbe]{margin:10px;padding:5px}.upper[data-v-39667dbe]{text-transform:uppercase}.view[data-v-39667dbe]{padding-bottom:35px}.fa-trophy[data-v-39667dbe]{color:var(--workout-trophy-color)}.section-title[data-v-39667dbe]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-39667dbe]{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-39667dbe]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-39667dbe]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-39667dbe]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-39667dbe]{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-39667dbe]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-39667dbe]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-39667dbe]{font-weight:700}.description-list dl dd[data-v-39667dbe]{margin-bottom:10px}.center-card[data-v-39667dbe]{margin:0 auto;width:700px}.center-card.with-margin[data-v-39667dbe]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-39667dbe]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-39667dbe]{margin-top:0}}.center-text[data-v-39667dbe]{text-align:center}.responsive-table[data-v-39667dbe]{margin-bottom:15px}.responsive-table table[data-v-39667dbe]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-39667dbe]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-39667dbe]{font-size:.95em}.responsive-table table tbody td[data-v-39667dbe]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-39667dbe]{border:none}.responsive-table table .cell-heading[data-v-39667dbe]{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-39667dbe]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-39667dbe]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-39667dbe]{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-39667dbe]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-39667dbe]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-39667dbe]{width:100%}}#user-preferences .profile-buttons[data-v-39667dbe]{display:flex;gap:10px}: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;--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;--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))}#app,body{margin:0}#app{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);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label{font-weight:700}button{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:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.upper{text-transform:uppercase}.view{padding-bottom:35px}.fa-trophy{color:var(--workout-trophy-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{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{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{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{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}.center-card.with-margin{margin-top:0}}.center-text{text-align:center}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{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{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.form-buttons{flex-direction:row}@media screen and (max-width:500px){.form-buttons{flex-direction:column}}[data-v-0ea4550a]: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;--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;--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-0ea4550a]{margin:0}#app[data-v-0ea4550a]{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-0ea4550a]{color:var(--app-a-color);text-decoration:none}img[data-v-0ea4550a]{max-width:100%}input[data-v-0ea4550a],select[data-v-0ea4550a],textarea[data-v-0ea4550a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-0ea4550a]:disabled,select[data-v-0ea4550a]:disabled,textarea[data-v-0ea4550a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-0ea4550a]{font-weight:700}button[data-v-0ea4550a]{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-0ea4550a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-0ea4550a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-0ea4550a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-0ea4550a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-0ea4550a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-0ea4550a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-0ea4550a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-0ea4550a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-0ea4550a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-0ea4550a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-0ea4550a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-0ea4550a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-0ea4550a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-0ea4550a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-0ea4550a]{margin:10px;padding:5px}.upper[data-v-0ea4550a]{text-transform:uppercase}.view[data-v-0ea4550a]{padding-bottom:35px}.fa-trophy[data-v-0ea4550a]{color:var(--workout-trophy-color)}.section-title[data-v-0ea4550a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-0ea4550a]{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-0ea4550a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-0ea4550a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-0ea4550a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-0ea4550a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-0ea4550a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-0ea4550a]{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-0ea4550a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-0ea4550a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-0ea4550a]{font-weight:700}.description-list dl dd[data-v-0ea4550a]{margin-bottom:10px}.center-card[data-v-0ea4550a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-0ea4550a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-0ea4550a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-0ea4550a]{margin-top:0}}.center-text[data-v-0ea4550a]{text-align:center}.responsive-table[data-v-0ea4550a]{margin-bottom:15px}.responsive-table table[data-v-0ea4550a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-0ea4550a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-0ea4550a]{font-size:.95em}.responsive-table table tbody td[data-v-0ea4550a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-0ea4550a]{border:none}.responsive-table table .cell-heading[data-v-0ea4550a]{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-0ea4550a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-0ea4550a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-0ea4550a]{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-0ea4550a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-0ea4550a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-0ea4550a]{width:100%}}#user-picture-edition .user-picture-form[data-v-0ea4550a]{display:flex;flex-direction:column}#user-picture-edition .user-picture-form form[data-v-0ea4550a]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-0ea4550a]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-0ea4550a]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-0ea4550a]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-0ea4550a]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-0ea4550a]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-0ea4550a]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width:500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-0ea4550a],#user-picture-edition .user-picture-form .picture-help[data-v-0ea4550a]{flex-direction:column;align-items:stretch}}[data-v-f5e8066a]: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;--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;--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-f5e8066a]{margin:0}#app[data-v-f5e8066a]{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-f5e8066a]{color:var(--app-a-color);text-decoration:none}img[data-v-f5e8066a]{max-width:100%}input[data-v-f5e8066a],select[data-v-f5e8066a],textarea[data-v-f5e8066a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-f5e8066a]:disabled,select[data-v-f5e8066a]:disabled,textarea[data-v-f5e8066a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-f5e8066a]{font-weight:700}button[data-v-f5e8066a]{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-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-f5e8066a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-f5e8066a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-f5e8066a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-f5e8066a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-f5e8066a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-f5e8066a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-f5e8066a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-f5e8066a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-f5e8066a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-f5e8066a]{margin:10px;padding:5px}.upper[data-v-f5e8066a]{text-transform:uppercase}.view[data-v-f5e8066a]{padding-bottom:35px}.fa-trophy[data-v-f5e8066a]{color:var(--workout-trophy-color)}.section-title[data-v-f5e8066a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-f5e8066a]{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-f5e8066a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-f5e8066a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-f5e8066a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-f5e8066a]{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-f5e8066a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-f5e8066a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-f5e8066a]{font-weight:700}.description-list dl dd[data-v-f5e8066a]{margin-bottom:10px}.center-card[data-v-f5e8066a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-f5e8066a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-f5e8066a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-f5e8066a]{margin-top:0}}.center-text[data-v-f5e8066a]{text-align:center}.responsive-table[data-v-f5e8066a]{margin-bottom:15px}.responsive-table table[data-v-f5e8066a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-f5e8066a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-f5e8066a]{font-size:.95em}.responsive-table table tbody td[data-v-f5e8066a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-f5e8066a]{border:none}.responsive-table table .cell-heading[data-v-f5e8066a]{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-f5e8066a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-f5e8066a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-f5e8066a]{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-f5e8066a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-f5e8066a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-f5e8066a]{width:100%}}.alert-message[data-v-f5e8066a]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}[data-v-ad3739fc]: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;--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;--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-ad3739fc]{margin:0}#app[data-v-ad3739fc]{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-ad3739fc]{color:var(--app-a-color);text-decoration:none}img[data-v-ad3739fc]{max-width:100%}input[data-v-ad3739fc],select[data-v-ad3739fc],textarea[data-v-ad3739fc]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ad3739fc]:disabled,select[data-v-ad3739fc]:disabled,textarea[data-v-ad3739fc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-ad3739fc]{font-weight:700}button[data-v-ad3739fc]{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-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ad3739fc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ad3739fc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ad3739fc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ad3739fc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ad3739fc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ad3739fc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ad3739fc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ad3739fc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ad3739fc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ad3739fc]{margin:10px;padding:5px}.upper[data-v-ad3739fc]{text-transform:uppercase}.view[data-v-ad3739fc]{padding-bottom:35px}.fa-trophy[data-v-ad3739fc]{color:var(--workout-trophy-color)}.section-title[data-v-ad3739fc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ad3739fc]{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-ad3739fc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ad3739fc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ad3739fc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ad3739fc]{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-ad3739fc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ad3739fc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ad3739fc]{font-weight:700}.description-list dl dd[data-v-ad3739fc]{margin-bottom:10px}.center-card[data-v-ad3739fc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ad3739fc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ad3739fc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ad3739fc]{margin-top:0}}.center-text[data-v-ad3739fc]{text-align:center}.responsive-table[data-v-ad3739fc]{margin-bottom:15px}.responsive-table table[data-v-ad3739fc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ad3739fc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ad3739fc]{font-size:.95em}.responsive-table table tbody td[data-v-ad3739fc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ad3739fc]{border:none}.responsive-table table .cell-heading[data-v-ad3739fc]{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-ad3739fc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ad3739fc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ad3739fc]{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-ad3739fc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ad3739fc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ad3739fc]{width:100%}}.custom-textarea[data-v-ad3739fc]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-ad3739fc]{font-size:.8em;font-style:italic}.dropdown-list[data-v-5ef2ddef]{list-style-type:none;background-color:#fff;padding:0;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-5ef2ddef]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-5ef2ddef]:last-child{padding-bottom:5px}.dropdown-item[data-v-5ef2ddef]{cursor:default}.dropdown-item.selected[data-v-5ef2ddef]{font-weight:700}.dropdown-item.selected[data-v-5ef2ddef]:after{content:" ✔"}[data-v-5c177a93]: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;--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;--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-5c177a93]{margin:0}#app[data-v-5c177a93]{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-5c177a93]{color:var(--app-a-color);text-decoration:none}img[data-v-5c177a93]{max-width:100%}input[data-v-5c177a93],select[data-v-5c177a93],textarea[data-v-5c177a93]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c177a93]:disabled,select[data-v-5c177a93]:disabled,textarea[data-v-5c177a93]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c177a93]{font-weight:700}button[data-v-5c177a93]{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-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c177a93]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c177a93]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c177a93]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c177a93]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c177a93]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c177a93]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c177a93]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c177a93]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c177a93]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c177a93]{margin:10px;padding:5px}.upper[data-v-5c177a93]{text-transform:uppercase}.view[data-v-5c177a93]{padding-bottom:35px}.fa-trophy[data-v-5c177a93]{color:var(--workout-trophy-color)}.section-title[data-v-5c177a93]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c177a93]{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-5c177a93]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c177a93]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c177a93]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c177a93]{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-5c177a93]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c177a93]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c177a93]{font-weight:700}.description-list dl dd[data-v-5c177a93]{margin-bottom:10px}.center-card[data-v-5c177a93]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c177a93]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c177a93]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c177a93]{margin-top:0}}.center-text[data-v-5c177a93]{text-align:center}.responsive-table[data-v-5c177a93]{margin-bottom:15px}.responsive-table table[data-v-5c177a93]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c177a93]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c177a93]{font-size:.95em}.responsive-table table tbody td[data-v-5c177a93]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c177a93]{border:none}.responsive-table table .cell-heading[data-v-5c177a93]{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-5c177a93]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c177a93]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c177a93]{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-5c177a93]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c177a93]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c177a93]{width:100%}}.error-message[data-v-5c177a93]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}[data-v-8bf75da8]: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;--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;--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-8bf75da8]{margin:0}#app[data-v-8bf75da8]{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-8bf75da8]{color:var(--app-a-color);text-decoration:none}img[data-v-8bf75da8]{max-width:100%}input[data-v-8bf75da8],select[data-v-8bf75da8],textarea[data-v-8bf75da8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-8bf75da8]:disabled,select[data-v-8bf75da8]:disabled,textarea[data-v-8bf75da8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-8bf75da8]{font-weight:700}button[data-v-8bf75da8]{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-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-8bf75da8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-8bf75da8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-8bf75da8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-8bf75da8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-8bf75da8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-8bf75da8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-8bf75da8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-8bf75da8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-8bf75da8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-8bf75da8]{margin:10px;padding:5px}.upper[data-v-8bf75da8]{text-transform:uppercase}.view[data-v-8bf75da8]{padding-bottom:35px}.fa-trophy[data-v-8bf75da8]{color:var(--workout-trophy-color)}.section-title[data-v-8bf75da8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-8bf75da8]{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-8bf75da8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-8bf75da8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-8bf75da8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-8bf75da8]{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-8bf75da8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-8bf75da8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-8bf75da8]{font-weight:700}.description-list dl dd[data-v-8bf75da8]{margin-bottom:10px}.center-card[data-v-8bf75da8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-8bf75da8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-8bf75da8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-8bf75da8]{margin-top:0}}.center-text[data-v-8bf75da8]{text-align:center}.responsive-table[data-v-8bf75da8]{margin-bottom:15px}.responsive-table table[data-v-8bf75da8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-8bf75da8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-8bf75da8]{font-size:.95em}.responsive-table table tbody td[data-v-8bf75da8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-8bf75da8]{border:none}.responsive-table table .cell-heading[data-v-8bf75da8]{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-8bf75da8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-8bf75da8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-8bf75da8]{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-8bf75da8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-8bf75da8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-8bf75da8]{width:100%}}.loader[data-v-8bf75da8]{-webkit-animation:spin-8bf75da8 2s linear infinite;animation:spin-8bf75da8 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@-webkit-keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-v-366182c4]: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;--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;--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-366182c4]{margin:0}#app[data-v-366182c4]{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-366182c4]{color:var(--app-a-color);text-decoration:none}img[data-v-366182c4]{max-width:100%}input[data-v-366182c4],select[data-v-366182c4],textarea[data-v-366182c4]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-366182c4]:disabled,select[data-v-366182c4]:disabled,textarea[data-v-366182c4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-366182c4]{font-weight:700}button[data-v-366182c4]{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-366182c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-366182c4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-366182c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-366182c4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-366182c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-366182c4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-366182c4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-366182c4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-366182c4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-366182c4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-366182c4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-366182c4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-366182c4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-366182c4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-366182c4]{margin:10px;padding:5px}.upper[data-v-366182c4]{text-transform:uppercase}.view[data-v-366182c4]{padding-bottom:35px}.fa-trophy[data-v-366182c4]{color:var(--workout-trophy-color)}.section-title[data-v-366182c4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-366182c4]{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-366182c4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-366182c4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-366182c4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-366182c4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-366182c4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-366182c4]{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-366182c4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-366182c4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-366182c4]{font-weight:700}.description-list dl dd[data-v-366182c4]{margin-bottom:10px}.center-card[data-v-366182c4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-366182c4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-366182c4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-366182c4]{margin-top:0}}.center-text[data-v-366182c4]{text-align:center}.responsive-table[data-v-366182c4]{margin-bottom:15px}.responsive-table table[data-v-366182c4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-366182c4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-366182c4]{font-size:.95em}.responsive-table table tbody td[data-v-366182c4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-366182c4]{border:none}.responsive-table table .cell-heading[data-v-366182c4]{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-366182c4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-366182c4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-366182c4]{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-366182c4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-366182c4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-366182c4]{width:100%}}#modal[data-v-366182c4]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-366182c4]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-366182c4]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-366182c4]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-366182c4] .card{border:0;margin:0}#modal .custom-modal[data-v-366182c4] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-366182c4] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.2237b298.js.map b/fittrackee/dist/static/js/app.2237b298.js.map deleted file mode 100644 index 904a7732..00000000 --- a/fittrackee/dist/static/js/app.2237b298.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?50f0","webpack:///./src/components/Common/StatCard.vue?8fe7","webpack:///./src/utils/sports.ts","webpack:///./src/components/User/UserPicture.vue?6d42","webpack:///./src/components/Common/Card.vue?8159","webpack:///./src/components/Common/Pagination.vue?efed","webpack:///./src/components/Common/Modal.vue?3e1a","webpack:///./src/use/useStore.ts","webpack:///./src/components/Administration/AdminSports.vue?6443","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?0b22","webpack:///./src/components/Administration/AdminApplication.vue?7cc7","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?73f1","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?4ce6","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/components/Administration/AdminMenu.vue?4bef","webpack:///./src/components/Common/ErrorMessage.vue?f921","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?376d","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?a4e5","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?a3e7","webpack:///./src/utils/dates.ts","webpack:///./src/App.vue?4cf5","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/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?93e2","webpack:///./src/components/Common/Pagination.vue?73f7","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?7c95","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?820e","webpack:///./src/components/Common/FilterSelects.vue?56eb","webpack:///./src/components/Footer.vue?d019","webpack:///./src/components/User/ProfileDisplay/index.vue?1702","webpack:///./src/components/Common/StatCard.vue?c013","webpack:///./src/components/Common/FilterSelects.vue","webpack:///./src/components/Common/FilterSelects.vue?927e","webpack:///./src/components/Common/FilterSelects.vue?0254","webpack:///./src/components/NavBar.vue?a53f","webpack:///./src/components/Common/Dropdown.vue?2734","webpack:///./src/utils/api.ts","webpack:///./src/components/Administration/AppStatsCards.vue?d919","webpack:///./src/components/Common/CustomTextArea.vue?6de7","webpack:///./src/components/Common/Loader.vue?9489","webpack:///./src/components/Administration/AdminUsers.vue?88ae","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?2f01","webpack:///./src/components/User/UserPicture.vue?22b2","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2098","webpack:///./src/registerServiceWorker.ts","webpack:///./src/App.vue","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?87b7","webpack:///./src/components/Footer.vue?c832","webpack:///./src/components/NavBar.vue","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue?a890","webpack:///./src/components/NavBar.vue?ab0f","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?37a4","webpack:///./src/components/NoConfig.vue?ad85","webpack:///./src/App.vue?3acc","webpack:///./src/App.vue?dfb6","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?8e5b","webpack:///./src/components/Administration/AdminApplication.vue?80c4","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?d6b2","webpack:///./src/components/Administration/AppStatsCards.vue?7576","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?f962","webpack:///./src/components/Common/Card.vue?a585","webpack:///./src/components/Administration/AdminMenu.vue?9783","webpack:///./src/components/Administration/AdminMenu.vue?4828","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?9572","webpack:///./src/components/Administration/AdminSports.vue?271c","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsers.vue?e346","webpack:///./src/components/Administration/AdminUsers.vue?d3af","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?9e70","webpack:///./src/components/User/UserProfileTabs.vue?3fc9","webpack:///./src/components/User/ProfileDisplay/index.vue?f20a","webpack:///./src/components/User/ProfileDisplay/index.vue?b24c","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2ffa","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?a232","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?4849","webpack:///./src/components/User/ProfileEdition/index.vue?f268","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?b205","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?92df","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?203b","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?311f","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?13dd","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?d2de","webpack:///./src/api/authApi.ts","webpack:///./src/api/defaultApi.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/actions.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?af1b","webpack:///./src/components/Common/AlertMessage.vue?2e10","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?8616","webpack:///./src/components/Common/CustomTextArea.vue?3b63","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?3644","webpack:///./src/components/Common/Dropdown.vue?9a46","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?ab8e","webpack:///./src/components/Common/ErrorMessage.vue?7b9e","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?7ed2","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?dba6","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?3937","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b70","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?2248","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?d660","webpack:///./src/components/Common/Images/SportImage/index.vue?2baa","webpack:///./src/components/Common/Images/SportImage/index.vue?5245","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?2b84","webpack:///./src/components/Common/Loader.vue?4fd1","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1385","webpack:///./src/components/Common/Modal.vue?e362","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/utils/index.ts","webpack:///./src/components/User/UserProfileTabs.vue?722a","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/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/NoConfig.vue?56f6","webpack:///./src/components/Common/AlertMessage.vue?e180"],"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","class","icon","text","props","String","required","Number","render","sportColors","Hiking","Running","Walking","sportIdColors","sports","colors","map","sport","id","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","filter","is_active","sort","getSportLabel","workout","sport_id","useStore","user","username","nb_workouts","$t","total_distance","toFixed","nb_sports","components","UserPicture","__scopeId","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","Action","Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.","Admin","Administration","Application","Nombre maximum d'utilisateurs actifs ","Si égal à 0, pas limite d'inscription","Taille max. des archives zip (en Mo) ","Taille max. des fichiers (en Mo) ","Configuration de l'application","Nombre max. de fichiers dans une archive zip ","Revenir à l'admin","Etes-vous sûr de vouloir supprimer le compte de ","0"," ? Toutes les données seront définitivement.","Supprimer l'utilisateur","Activer/désactiver des sports.","Les inscriptions sont actuellement désactivées.","Les inscriptions sont actuellement activées.","Actif","des séances existent","Image","Label","Administration - Sports","Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).","utilisateur","utilisateurs","Ajouter les drois d'admin","Retirer les drois d'admin","status administrateur","date d'inscription","nom d'utilisateur","nombre de séances","Erreur. Veuillez réessayer ou contacter l'administrateur.","Email : une adresse email valide doit être fournie.","Erreur lors de la récupération de la configuration.","Erreur lors de la mise à jour de la configuration","Erreur, veuillez réessayer ou contacter l'administrateur.","Erreur, les inscriptions sont désactivées.","Extension de fichier non autorisée.","La taille du fichier est supérieure à la limite autorisée.","Identifiants invalides.","Données fournies incorrectes.","Jeton de connexion invalide, merci de vous reconnecter.","Jeton de connexion, merci de vous reconnecter.","Pas de fichier fourni.","Pas de fichier sélectionné.","Erreur Réseau.","Mot de passe : les mots de passe saisis sont différents.","Merci de fournir un jeton de connexion valide.","Mot de passe : 8 caractères minimum.","Ce sport n'existe pas.","Signature expirée. Merci de vous reconnecter.","Désolé, cet utilisateur existe déjà.","Inscription validée.","L'utilisateur n'existe pas","Nom d'utilisateur : 3 à 12 caractères requis.","Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.","Vous n'avez pas les permissions nécessaires.","précédent","suivant","Précédent","Annuler","Supprimer mon compte","Désactiver","Modifier","Activer","Filtrer","Se connecter","Non","S'inscrire","Valider","Oui","Confirmation","jour","jours","Accueil","ici","trier par ","tri","ascendant","descendant","par page","Total","Tableau de Bord","Ce mois","L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.","Page introuvable","Séance introuvable","Vélo (Sport)","Vélo (Transport)","Randonnée","VTT","Course","Marche","Statistiques","semaine","mois","année","Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.","Email","Saisir une adresse email","Saisir un mot de passe","Confirmer le mot de passe","Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.","Langue","Se déconnecter","Mot de passe","Confirmation du mot de passe","Mot de passe oublié ?","Réinitialisation du mot de passe","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.","Votre mot de passe a été mis à jour. Cliquez "," pour vous connecter.","Revenir au profil","Bio","Date de naissance","Modifier le profil","Modifier les préférences","Premier jour de la semaine","Prénom","Nom","Lieu","Lundi","Image de profil","Mise à jour de l'image de profil","Mettre à jour l'image","Supprimer","Mise à jour des préférences","Mise à jour du profil","Date d'inscription","Dimanche","image","préférences","profil","Fuseau horaire","Désolé, les inscriptions sont désactivées.","Réinitialiser votre mot de passe","photo de l'utilisateur","Nom d'utilisateur","Ajouter une séance","analyse","dénivelé positif","vitesse moyenne","vitesse moy.","revenir à la séance","dénivelé négatif","afficher les filtres","distance","durée","Modifier la séance","altitude","fin","à partir de","fichier .gpx","masquer les filtres","km","Séances récentes","Charger les séances suivantes","altitude max","fichiers max. ","taille max. ","vitesse max","altitude min","Segment suivant","Séance suivante","données issues du fichier gpx, sans correction","Pas de fichier fourni","pas de répertoire","Pas de carte","Pas de segment suivant","Pas de séance suivante","Pas de notes","Pas de segment précédent","Pas de séance précédente","Pas de records.","Pas de séances.","notes","pauses","Segment précédent","Séance précédente","record","records","Vitesse moy.","Distance la + longue","Durée la + longue","Vitesse max.","nombre de caractères restants ","segment","segments","vitesse","début","titre","jusqu'au","durée totale","Ajoutez votre première séance !","humidité","température","vent","ensoleillé","nuit claire","nuageux","brouillard","partiellement nuageux","nuit partiellement nuageuse","pluie","neige fondue","neige","venteux","avec un fichier .gpx","sans fichier .gpx","séance","séances","date de la séance","Etes-vous sûr de vouloir supprimer cette séance ?","archive .zip","ou une archive .zip contenant des fichiers .gpx","admin","api","buttons","common","dashboard","statistics","workouts","aria-label","aria-hidden","pagination","has_prev","to","path","getQuery","page","disabled","rangePagination","pages","has_next","query","setup","cursor","newQuery","assign","displayModal","title","strongMessage","deleteUserAccount","updateDisplayModal","registrationDate","first_name","last_name","birthDate","location","bio","fromAdmin","authUser","$router","go","Boolean","default","store","getters","GETTERS","AUTH_USER_PROFILE","created_at","format","birth_date","dispatch","ACTIONS","DELETE_ACCOUNT","order_by","onSelectUpdate","order","toUpperCase","per_page","nb","emits","emit","sortList","defaultPage","defaultPerPage","getNumberQueryValue","queryValue","defaultValue","getStringQueryValue","availableValues","includes","locationQuery","orderByList","defaultOrderBy","options","queryOptions","defaultSort","workoutsPayloadKeys","getRange","stop","Array","from","_","currentPage","concat","Add/remove admin rights, delete user account.","Max. number of active users","If 0, no limitation on registration.","Max. files of zip archive","Max. size of uploaded files (in Mb)","Application configuration","Max. size of zip archive (in Mb)","Back to admin","Are you sure you want to delete "," account? All data will be deleted, this cannot be undone.","Delete user","Enable/disable sports.","Registration is currently disabled.","Registration is currently enabled.","Active","workouts exist","Sports administration","Update application configuration (maximum number of registered users, maximum files size).","users","Add admin rights","Remove admin rights","admin status","registration date","workout count","Error. Please try again or contact the administrator.","Email: valid email must be provided.","Error on getting configuration.","Error when updating configuration","Error, please try again or contact the administrator.","Error, registration is disabled.","File extension not allowed.","File size is greater than the allowed size.","Invalid credentials.","Provided data are invalid.","Invalid token, please log in again.","Network Error.","No file provided.","No selected file.","Password: password and password confirmation don't match.","Provide a valid auth token.","Password: 8 characters required.","Sorry, that user already exists.","Sport does not exist.","Signature expired. Please log in again.","Successfully registered.","User does not exist.","Username: 3 to 12 characters required.","You can not delete your account, no other user has admin rights.","You do not have permissions.","previous","next","Back","Cancel","Delete my account","Disable","Edit","Enable","Filter","Log in","No","Register","Submit","Yes","days","Home","here","order by","ascending","descending","Dashboard","This month","The application seems encounter some issues.
Please try later or contact the administrator.","Page not found","Workout not found","Cycling (Sport)","Cycling (Transport)","Mountain Biking","Statistics","week","month","year","Are you sure you want to delete your account? All data will be deleted, this cannot be undone","Enter an email address","Enter a password","Confirm the password","Invalid token, please request a new password reset.","Language","Login","Logout","Password","Confirm Password","Password confirmation","Forgot password?","Password reset","Check your email. If your address is in our database, you'll received an email with a link to reset your password.","Your password have been updated. Click "," to log in.","Back to profile","Birth date","Edit profile","Edit preferences","First name","First day of week","Last name","Location","Monday","Picture","Picture edition","Update picture","Remove picture","Preferences edition","Profile edition","Registration date","Sunday","picture","preferences","profile","Timezone","Sorry, registration is disabled.","Reset your password","user picture","Username","Add a workout","analysis","ascent","ave. speed","average speed","back to workout","descent","display filters","Edit the workout","elevation",".gpx file","hide filters","Latest workouts","Load more workouts","max. altitude","max files","max size","max. speed","min. altitude","No next segment","Next workout","data from gpx, without any cleaning","No file provided","no folder inside","No map","No next workout","No notes","No previous segment","No previous workout","No records.","No workouts.","Previous segment","Previous workout","Ave. speed","Farest distance","Longest duration","Max. speed","remaining characters","speed","total duration","Upload one!","humidity","temperature","wind","clear day","clear night","cloudy","fog","partly cloudy day","partly cloudy night","rain","sleet","snow","with .gpx file","without .gpx file","workout date","Are you sure you want to delete this workout?",".zip file","or .zip file containing .gpx files","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","authUserPictureUrl","alt","ready","registered","cached","updatefound","updated","offline","updateHideScrollBar","appLoading","hideScrollBar","appConfig","displayScrollButton","scrollToTop","version","isMenuOpen","openMenu","closeMenu","isAuthenticated","capitalize","logout","availableLanguages","language","selected","updateLanguage","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","IS_AUTHENTICATED","now","LANGUAGE","option","toString","commit","MUTATIONS","UPDATE_LANG","LOGOUT","xmlns","viewBox","Footer","NavBar","NoConfig","APP_CONFIG","APP_LOADING","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollTo","behavior","GET_APPLICATION_CONFIG","for","content","onSubmit","min","appData","max_users","edition","step","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","onCancel","router","ERROR_MESSAGES","updateForm","EMPTY_ERROR_MESSAGES","formData","UPDATE_APPLICATION_CONFIG","app-statistics","appStatistics","usersCount","sportsCount","workoutCount","uploadDirSize","StatCard","uploads_dir_size","AppStatsCards","Card","translatedSports","sport-label","updateSportStatus","has_workouts","SPORTS","isActive","UPDATE_SPORTS","reloadUsers","email","updateUser","FilterSelects","Pagination","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","UPDATE_USER","queryParam","EMPTY_USERS","tabs","selectedTab","tab","checked","getPath","UserHeader","UserProfileTabs","timezone","fistDayOfWeek","weekm","loading","USER_LOADING","deleteAccount","updateProfile","userForm","password","password_conf","charLimit","input","updateBio","updateUserForm","UPDATE_USER_PROFILE","updateUserPicture","accept","updatePictureFile","pictureFile","deleteUserPicture","fileSizeLimit","DELETE_PICTURE","files","UPDATE_USER_PICTURE","lang","weekStart","UPDATE_USER_PREFERENCES","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","context","localStorage","removeItem","EMPTY_USER_STATS","CLEAR_AUTH_USER_TOKEN","UPDATE_USERS","EMPTY_WORKOUTS","EMPTY_WORKOUT","actions","CHECK_AUTH_USER","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","res","status","UPDATE_AUTH_USER_PROFILE","GET_SPORTS","catch","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","redirectUrl","payload","UPDATE_USER_LOADING","finally","form","FormData","append","delete","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","state","authUserProfile","IS_ADMIN","mutations","authUserState","UPDATE_APPLICATION_LOADING","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","patch","application","APP_STATS","LOCALE","SET_ERROR_MESSAGES","root","SET_SPORTS","sportsState","GET_USER_STATS","filterType","params","UPDATE_USER_STATS","USER_STATS","statisticsState","EMPTY_USER","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","UPDATE_USER_IN_USERS","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","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","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","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","fullPath","maxLenght","updateText","toggleDropdown","isOpen","dropdownOptions","index","updateSelected","isArray","subMessage","style","sportLabel","xmlns:xlink","x","y","xml:space","xmlns:svg","CyclingSport","CyclingTransport","MountainBiking","keypath","customComponents","AlertMessage","CustomTextArea","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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ACvBC,8B,oDACJC,oC,uEACmBC,8D,8EACOC,qD,iDAC7BC,6B,qDACIC,kC,kDACHC,qB,8FAC4CC,+D,+DAC/BC,qD,oEACKC,2C,yDACXC,6B,2EACkBC,oD,oEACPC,2C,4DACRC,2B,wDACJC,iC,0EACkBC,oD,oGAC0BC,0G,gEACpCC,oD,uDAGnBC,gB,uCACJC,gB,0CC9BFC,gB,yCACEC,c,oDACWC,2B,0CACVC,iB,uCACHC,e,yCACEC,c,yCACAC,c,wCACDC,mB,qCACHC,U,2CACMC,iB,yCACFC,c,sCACHC,W,kDCXSC,mB,kDACTC,YAAAC,c,uCACCC,c,uCACAC,U,2DAGKC,kB,+CAGAC,U,sCACFC,gB,uCACCC,kB,kDAGCC,iB,2CAGHC,a,+CCjBGC,sB,6CACCC,e,6CCDHpD,gE,4CACEqD,2H,kDAEHC,uB,0CACGC,2B,8DCHFC,oB,+DAGAC,wB,gDAGAC,iB,2DAGAC,W,iDAGAC,c,iDAGAC,e,gDChBGC,mB,oDAEJC,c,wCACCC,W,uCACDC,c,2CCJDhG,Y,2DACmBiG,0G,wCACnBC,Y,8CACMC,+B,iDACGC,6B,8DACaC,gC,gDACdC,sF,2CACLC,a,wCACHrC,mB,yCACCsC,qB,2CACEC,mB,mDACQC,mC,wDACKA,mC,qDACHC,4B,iDACJC,uC,2DACUC,4J,wEACRC,iDAACnG,EAADA,MAACoG,2B,2DAEAC,wB,sCACZC,U,6CACOC,wB,uCACNC,yB,mDACYC,+B,oDACCC,iC,6CACPC,a,2CACFf,a,4CACCgB,U,2CACDC,W,yCACFC,Y,0CACCC,sB,kDACQC,uC,iDACDC,4B,iDACAC,gB,sDACKC,kC,kDACJC,4B,oDACEC,yB,yCACXC,e,gDAEGC,Y,8CACIC,kB,0CACJC,c,2CAEDC,sB,2CAEFjE,iB,oDACSkE,iD,iDACHC,uC,+CACFC,6B,2CACJC,yB,iDChDGC,yB,2CACHC,c,yCACFC,uB,gDACOC,sB,4CACJC,mB,kDACMC,0B,uCACX5J,W,0CACG6J,uB,kDACQC,2B,2CACPC,e,2CACAC,Y,+CACIC,yB,4CACHC,e,sCACNC,U,uCACCC,kB,2CACIC,mB,+CACIC,0B,qCACVC,S,kDACaC,uB,oDACEC,oC,+CACLC,mB,4CACHC,qB,2CACDC,mB,4CACCC,kB,+CACGC,mB,+CACAC,sB,+CACAC,sB,mDACIC,qD,mDACAC,4B,4CACPC,wB,yCACHC,mB,kDACSC,6B,kDACAC,6B,2CACPC,mB,sDACWC,+B,sDACAC,+B,6CACTC,sB,8CACCC,sB,wCACNC,Y,yCACCC,a,mDACUC,wB,mDACAC,wB,qDACVC,cAAAC,gB,4CACGC,mB,4CACAC,2B,4CACAC,wB,4CACAC,mB,kDACMC,qC,sDACRC,eAAAC,iB,wCACFC,c,oDACApP,aAAAH,e,wCACAwP,Y,wCACAC,Y,qCACHC,e,iDACYC,mB,uDACMC,sC,oDAEVC,e,8CACGC,kB,uCACPC,W,wDAEOC,iB,gDACEC,kB,yCACLC,c,sCACHC,iB,sDACcC,4B,wDACEC,kC,uCACfC,Y,wCACCC,mB,uCACDC,Y,wCACCC,e,2CAGDC,2B,8CACGC,wB,sDACJC,cAAAC,gB,+CACKC,wB,gEACiBC,wD,8CAClBC,mB,0DACYC,uDCrEb,cACbC,MAAO,EACPC,IAAK,EACLC,QAAS,EACTC,OAAQ,EACRC,UAAW,EACXzU,MAAO,EACPmD,OAAQ,EACRuR,WAAY,EACZjQ,KAAM,EACNkQ,SAAU,I,qJCpBLrS,MAAM,oBAAoBsS,aAAW,c,GACpCtS,MAAM,c,EAQJ,yBAAmD,KAAhDA,MAAM,qBAAqBuS,cAAY,Q,qBA2B1C,yBAAoD,KAAjDvS,MAAM,sBAAsBuS,cAAY,Q,qJApCnD,yBAwCM,MAxCN,EAwCM,CAvCJ,yBAsCK,KAtCL,EAsCK,CArCH,yBAUK,MAVDvS,MAAK,CAAC,YAAW,WAAsB,EAAAwS,WAAWC,Y,CACpD,yBAQc,GAPZzS,MAAM,YACL0S,GAAE,MAAI,EAAAC,KAAI,MAAS,EAAAC,SAAS,EAAAJ,WAAWK,MAAI,IAC3CvW,MAAO,EAAAkW,WAAWC,SAAQ,WAC1BK,UAAW,EAAAN,WAAWC,U,YAEvB,iBAAmD,CAAnD,E,6BAAmD,IACnD,6BAAG,EAAAnQ,GAAE,mC,kEAGT,yBAcK,2CAbY,EAAAyQ,gBAAgB,EAAAP,WAAWQ,MAAO,EAAAR,WAAWK,OAAI,SAAzDA,G,gCADT,yBAcK,MAZFxT,IAAKwT,EACN7S,MAAK,CAAC,OAAM,QACM6S,IAAS,EAAAL,WAAWK,Q,CAEjB,QAATA,G,yBAAZ,yBAAwC,SAAZ,W,yBAC5B,yBAMc,G,MAJZ7S,MAAM,YACL0S,GAAE,MAAI,EAAAC,KAAI,MAAS,EAAAC,UAAUC,K,YAE9B,iBAAU,C,0DAAPA,GAAI,O,gCAGX,yBAUK,MAVD7S,MAAK,CAAC,YAAW,WAAsB,EAAAwS,WAAWS,Y,CACpD,yBAQc,GAPZjT,MAAM,YACL0S,GAAE,MAAI,EAAAC,KAAI,MAAS,EAAAC,SAAS,EAAAJ,WAAWK,KAAI,IAC3CvW,MAAO,EAAAkW,WAAWS,SAAQ,WAC1BH,UAAW,EAAAN,WAAWS,U,YAEvB,iBAA+B,C,0DAA5B,EAAA3Q,GAAE,wBAA0B,IAC/B,S,yDC/BO,+BAAgB,CAC7BtE,KAAM,aACNmC,MAAO,CACLqS,WAAY,CACVrW,KAAM7C,OACN+G,UAAU,GAEZsS,KAAM,CACJxW,KAAMiE,OACNC,UAAU,GAEZ6S,MAAO,CACL/W,KAAM7C,OACN+G,UAAU,IAGd8S,MAhB6B,SAgBvBhT,GACJ,SAASyS,EAASC,EAAcO,GAC9B,IAAMC,EAAW/Z,OAAOga,OAAO,GAAInT,EAAM+S,OAEzC,OADAG,EAASR,KAAOO,EAASP,EAAOO,EAASP,EAClCQ,EAET,MAAO,CAAEN,gBAAA,OAAiBH,e,UCvBhC,EAAOrS,OAASA,EAChB,EAAOqC,UAAY,kBAEJ,U,8KCPR3B,GAAG,aAAajB,MAAM,oB,GAqBnBA,MAAM,Y,SAIPA,MAAM,mB,SAUNA,MAAM,mB,sIAnCb,yBAyCM,MAzCN,EAyCM,CAvCI,EAAAuT,c,yBADR,yBAOE,G,MALCC,MAAO,EAAAlR,GAAE,uBACVvE,QAAQ,sCACP0V,cAAe,EAAAtR,KAAKC,SACpB,gBAAa,+BAAE,EAAAsR,kBAAkB,EAAAvR,KAAKC,YACtC,eAAY,+BAAE,EAAAuR,oBAAkB,M,0EAEnC,yBAeK,WAdH,yBAAoD,uCAA7C,EAAArR,GAAE,mCAAqC,IAAC,GAC/C,yBAA+B,uCAAxB,EAAAsR,kBAAgB,GACvB,yBAA6C,uCAAtC,EAAAtR,GAAE,4BAA8B,IAAC,GACxC,yBAA8B,uCAAvB,EAAAH,KAAK0R,YAAU,GACtB,yBAA4C,uCAArC,EAAAvR,GAAE,2BAA6B,IAAC,GACvC,yBAA6B,uCAAtB,EAAAH,KAAK2R,WAAS,GACrB,yBAA6C,uCAAtC,EAAAxR,GAAE,4BAA8B,IAAC,GACxC,yBAAwB,uCAAjB,EAAAyR,WAAS,GAChB,yBAA2C,uCAApC,EAAAzR,GAAE,0BAA4B,IAAC,GACtC,yBAA4B,uCAArB,EAAAH,KAAK6R,UAAQ,GACpB,yBAAsC,uCAA/B,EAAA1R,GAAE,qBAAuB,IAAC,GACjC,yBAEK,KAFL,EAEK,6BADA,EAAAH,KAAK8R,KAAG,KAGoB,EAAAC,W,yBAAnC,yBASM,MATN,EASM,CANI,EAAAC,SAAS/R,WAAa,EAAAD,KAAKC,U,yBAFnC,yBAMS,U,MALPpC,MAAM,SAEL,QAAK,2DAAU,EAAA2T,oBAAkB,oB,6BAE/B,EAAArR,GAAE,0B,uCAEP,yBAAiE,UAAxD,QAAK,+BAAE,EAAA8R,QAAQC,IAAE,M,6BAAS,EAAA/R,GAAE,wB,yBAEvC,yBAKM,MALN,EAKM,CAJJ,yBAES,UAFA,QAAK,+BAAE,EAAA8R,QAAQza,KAAI,oB,6BACvB,EAAA2I,GAAE,yBAEP,yBAAmE,UAA1D,QAAK,+BAAE,EAAA8R,QAAQza,KAAI,Q,6BAAU,EAAA2I,GAAE,2B,oCCzB7B,+BAAgB,CAC7BtE,KAAM,YACNmC,MAAO,CACLgC,KAAM,CACJhG,KAAM7C,OACN+G,UAAU,GAEZ6T,UAAW,CACT/X,KAAMmY,QACNC,SAAS,IAGbpB,MAZ6B,SAYvBhT,GACJ,IAAMqU,EAAQ,OAAAtS,EAAA,QACRiS,EAAsC,uBAC1C,kBAAMK,EAAMC,QAAQ,OAAgBC,QAAQC,sBAExCf,EAAmB,uBAAS,kBAChCzT,EAAMgC,KAAKyS,WACP,OAAAC,EAAA,MAAO,IAAIpR,KAAKtD,EAAMgC,KAAKyS,YAAa,oBACxC,MAEAb,EAAY,uBAAS,kBACzB5T,EAAMgC,KAAK2S,WACP,OAAAD,EAAA,MAAO,IAAIpR,KAAKtD,EAAMgC,KAAK2S,YAAa,cACxC,MAEFvB,EAA6B,kBAAI,GAErC,SAASI,EAAmB5U,GAC1BwU,EAAaxU,MAAQA,EAEvB,SAAS2U,EAAkBtR,GACzBoS,EAAMO,SAAS,OAAgBC,QAAQC,eAAgB,CAAE7S,aAG3D,MAAO,CACL+R,WACAJ,YACAR,eACAK,mBACAF,oBACAC,yB,UCpDR,EAAOpT,OAASA,EAChB,EAAOqC,UAAY,kBAEJ,U,oCCRf,W,oCCAA,W,oCCAA,W,oFCAA,W,gMCCO5C,MAAM,iB,yFAAX,yBAwCM,MAxCN,EAwCM,CAvCJ,yBAYQ,c,0DAXH,EAAAsC,GAAE,kCAAoC,KACzC,4BASS,UARPtE,KAAK,WACLiD,GAAG,WACFlC,MAAO,EAAAmU,MAAMgC,SACb,SAAM,8BAAE,EAAAC,gBAAA,EAAAA,eAAA,sB,6BAET,yBAES,2CAFe,EAAAD,UAAQ,SAAjBE,G,gCAAf,yBAES,UAF0BrW,MAAOqW,EAAQ/V,IAAK+V,G,6BAClD,EAAA9S,GAAA,UAAM,EAAAvE,QAAN,YAAiBqX,EAAMC,iBAAW,gB,uBAI3C,yBAYQ,c,0DAXH,EAAA/S,GAAE,+BAAiC,KACtC,4BASS,UARPtE,KAAK,QACLiD,GAAG,QACFlC,MAAO,EAAAmU,MAAMkC,MACb,SAAM,8BAAE,EAAAD,gBAAA,EAAAA,eAAA,sB,6BAET,yBAES,2CAFe,EAAArT,MAAI,SAAbsT,G,gCAAf,yBAES,UAFsBrW,MAAOqW,EAAQ/V,IAAK+V,G,6BAC9C,EAAA9S,GAAA,+BAA2B8S,EAAMC,iBAAW,gB,uBAIrD,yBAYQ,c,0DAXH,EAAA/S,GAAE,kCAAoC,KACzC,4BASS,UARPtE,KAAK,WACLiD,GAAG,WACFlC,MAAO,EAAAmU,MAAMoC,SACb,SAAM,8BAAE,EAAAH,gBAAA,EAAAA,eAAA,sB,6BAET,yBAES,2CAFY,EAAAG,UAAQ,SAAdC,G,gCAAf,yBAES,UAFuBxW,MAAOwW,EAAKlW,IAAKkW,G,6BAC5CA,GAAE,gB,4BChCE,+BAAgB,CAC7BvX,KAAM,gBACNmC,MAAO,CACL+U,SAAU,CACR/Y,KAAM7C,OACN+G,UAAU,GAEZ6S,MAAO,CACL/W,KAAM7C,OACN+G,UAAU,GAEZyB,KAAM,CACJ3F,KAAM7C,OACN+G,UAAU,GAEZtC,QAAS,CACP5B,KAAMiE,OACNC,UAAU,IAGdmV,MAAO,CAAC,gBACRrC,MArB6B,SAqBvBhT,EArBuB,GAqBR,IAANsV,EAAM,EAANA,KACb,SAASN,EAAe7Y,GACtBmZ,EAAK,eAAgBnZ,EAAME,OAAOyE,GAAI3E,EAAME,OAAOuC,OAGrD,MAAO,CACLuW,SAAU,CAAC,GAAI,GAAI,GAAI,KACvBH,qB,UC5BR,EAAO5U,OAASA,EAChB,EAAOqC,UAAY,kBAEJ,U,kCCRf,W,6DCAA,W,kOCIa8S,EAAqB,CAAC,MAAO,QAC7BC,EAAc,EACdC,EAAiB,GAEjBC,EAAsB,SACjCC,EACAC,GAEA,OAAOD,GAAoC,kBAAfA,IAA4BA,EAAa,GAChEA,EACDC,GAGOC,EAAsB,SACjCF,EACAG,EACAF,GAEA,OAAOD,GACiB,kBAAfA,GACPG,EAAgBC,SAASJ,GACvBA,EACAC,GAGOnD,EAAW,SACtBuD,EACAC,EACAC,EACAC,GAEA,IAAMC,EAAeD,GAAW,GAC1BE,EAAcD,EAAaC,aAAe,MAC1CtD,EAAQqD,EAAarD,OAA6B,GAWxD,OATAA,EAAML,KAAOgD,EAAoBM,EAActD,KAAM8C,GACrDzC,EAAMoC,SAAWO,EAAoBM,EAAcb,SAAUM,GAC7D1C,EAAMkC,MAAQY,EAAoBG,EAAcf,MAAOM,EAAUc,GACjEtD,EAAMgC,SAAWc,EACfG,EAAcjB,SACdkB,EACAC,GAGKnD,GAGIuD,EAAsB,CACjC,OACA,KACA,iBACA,eACA,iBACA,eACA,gBACA,cACA,gBACA,cACA,YAGIC,EAAW,SAACC,GAAqC,IAAvB7S,EAAuB,uDAAf,EACtC,OAAO8S,MAAMC,KAAK,CAAExd,OAAQsd,EAAO7S,EAAQ,IAAK,SAACgT,EAAG3d,GAAJ,OAAU2K,EAAQ3K,MAGvD4Z,EAAkB,SAC7BC,EACA+D,GAEA,GAAI/D,EAAQ,EACV,MAAO,GAGT,GAAIA,EAAQ,EACV,OAAO0D,EAAS1D,GAGlB,IAAIR,EAAkC,CAAC,EAAG,GAiC1C,OAhCIuE,EAAc,EAChBvE,EAAaA,EAAWwE,OAAO,CAAC,EAAG,EAAG,IAC7BD,EAAc,EACvBvE,EAAaA,EAAWwE,OAAON,EAASK,EAAc,EAAG,KAEzDvE,EAAaA,EAAWwE,OAAO,CAAC,QAC5BD,EAAc/D,EAAQ,IACxBR,EAAaA,EAAWwE,OAAON,EAASK,EAAc,EAAGA,EAAc,MAGvEA,EAAc,GAAK/D,EAAQ,GAC7BR,EAAaA,EAAWwE,OAAO,CAAC,QAChCxE,EAAaA,EAAWwE,OAAON,EAAS1D,EAAOA,EAAQ,KAOrDR,EAJsC,QAAtCA,EAAWA,EAAWnZ,OAAS,IAC/BmZ,EAAWA,EAAWnZ,OAAS,IAAM2Z,EAAQ,GAC7CR,EAAWA,EAAWnZ,OAAS,GAAK2Z,EAEvBR,EAAWwE,OACtBN,EAAS1D,GAAQR,EAAWA,EAAWnZ,OAAS,GAAK,IAG1CmZ,EAAWwE,OACtBN,EACE1D,EACA+D,EAAc/D,EAAQ,EAAI+D,EAAc,EAAIA,EAAc,IAM3DvE,I,kIClHT,W,kCCAA,W,uGCAA,W,yDCAA,W,gHCCWlO,a,mEAC0B2S,oD,wCAC3BzS,Y,iDACSC,qB,8CACHC,kB,8DAEMwS,kC,iDACDC,2C,yDACQC,gC,+DACMC,0C,wCACvBC,gC,4DACoBC,wC,gDAEdC,oB,qFACgBC,oCAACtS,EAADA,MAACuS,gE,8CACnBC,kB,wDACUC,6B,wDACAC,0C,uDACDC,yC,wDAGVC,a,+CACMC,qB,wCACPrS,Y,wCACAC,a,wCAEFqS,6B,iEAEuBC,iG,mDAC1B/V,YAAAgW,c,iEAGgBC,uB,sDACGC,2B,2DAIZC,mB,6CACKC,wB,2CACFnW,e,iDACMoW,wB,oDCvCXC,4D,wEAC4BC,2C,mEACLC,sC,sEACGC,wC,yFACmBC,4D,oEACrBC,uC,+DACLC,kC,+EACgBC,kD,wDACvBC,2B,oDACJC,iC,uEACmBC,0C,8EACOA,0C,kDAC5BC,qB,iDACDC,wB,qDACIC,wB,8FACyCC,gE,+DAC/BC,kC,oEACKC,uC,oEACAC,uC,yDACXC,4B,2EACkBC,8C,4DACfC,+B,wDACJC,2B,0EACkBC,6C,oGAC0BC,uE,gEACpCC,oC,uDAGnBC,e,uCACJC,a,0CC9BFC,W,yCACEC,a,oDACWC,wB,0CACVC,c,uCACHC,W,yCACEC,a,yCACAC,a,wCACDC,a,qCACHC,S,2CACMC,e,yCACFC,a,sCACHC,W,kDCXShS,mB,kDACT7F,WAAA8X,a,uCACCC,W,uCACAC,W,2DAGKC,gB,+CAGArZ,W,sCACFsZ,gB,uCACCC,kB,kDAGC7R,iB,wCAGJC,a,+CCjBI6R,gB,6CACCC,kB,6CCDH9C,4D,4CACE+C,uG,kDAEHC,qB,0CACGC,0B,8DCHFC,uB,+DAGAC,2B,gDAGAnb,c,2DAGAob,uB,iDAGAnb,e,iDAGAC,gB,gDChBGmb,iB,oDAEJC,W,wCACCC,Y,uCACDC,a,2CCJDzX,Y,2DACmB0X,oG,wCACnBxR,Y,8CACMyR,6B,iDACGC,uB,8DACaC,2B,gDACdC,0D,2CACLC,e,wCACHC,Y,yCACCC,a,2CACEC,e,mDACQC,uB,wDACKC,4B,qDACHC,uB,iDACJC,qB,2DACUC,yH,wEACRC,2CAAC7X,EAADA,MAAC8X,iB,2DAEAC,sB,sCACZzR,U,6CACO0R,iB,uCACNC,mB,mDACYC,uB,6CACNC,iB,oDACOC,wB,2CACThB,e,4CACCiB,gB,2CACDC,e,yCACFC,a,0CACCC,c,kDACQC,sB,iDACDC,qB,iDACAC,qB,sDACKC,0B,kDACJC,sB,oDACEC,wB,yCACXC,a,gDAEGC,c,8CACIC,kB,0CACJC,e,2CAEDC,gB,2CAEFzD,e,oDACS0D,uC,iDACHC,0B,+CACFC,mB,2CACJC,gB,iDChDGC,oB,2CACHC,e,yCACFC,a,4CACGC,iB,gDACIC,oB,kDACEC,sB,uCACXrb,W,0CACGsb,c,kDACQC,sB,2CACPxR,e,2CACAzK,e,+CACIkc,uB,4CACHC,gB,sCACNrb,U,uCACC8S,W,2CACIwI,gB,+CACIC,mB,qCACVpR,S,kDACaqR,sB,oDACEC,yB,+CACLC,oB,4CACHC,gB,2CACDC,e,4CACCC,iB,+CACGC,oB,+CACAC,sB,+CACAC,mB,mDACIC,0C,mDACAC,uB,4CACPC,uB,yCACHC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","file":"static/js/app.2237b298.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\":\"4f80b9a8\",\"main~workouts\":\"896585f2\",\"main\":\"01a39e9c\",\"workouts\":\"733b9b2c\",\"profile\":\"459d43b2\",\"reset\":\"ac1dbf71\",\"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\":\"51f3889f\",\"main~workouts\":\"dec22e70\",\"main\":\"18ab424b\",\"workouts\":\"2776db88\",\"profile\":\"e4d63f07\",\"reset\":\"23e340ac\",\"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","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'StatCard',\n props: {\n icon: {\n type: String,\n required: true,\n },\n value: {\n type: [String, Number],\n required: true,\n },\n text: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./StatCard.vue?vue&type=template&id=32e77e48\"\nimport script from \"./StatCard.vue?vue&type=script&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"\nscript.render = render\n\nexport default script","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 Running: '#835b83',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map((sport) => (colors[sport.id] = sportColors[sport.label]))\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): ITranslatedSport[] =>\n sports\n .filter((sport) => (onlyActive ? sport.is_active : true))\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Pagination.vue?vue&type=style&index=0&id=56dc89d4&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=366182c4&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--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPictureEdition.vue?vue&type=style&index=0&id=2eb0ba24&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./UserHeader.vue?vue&type=template&id=a6fa997c&scoped=true\"\nimport script from \"./UserHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a6fa997c\"\n\nexport default script","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--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfos.vue?vue&type=style&index=0&id=17c7b32c&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfosEdition.vue?vue&type=style&index=0&id=e9d6897c&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--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Nombre maximum d'utilisateurs actifs \",\n \"MAX_USERS_HELP\": \"Si égal à 0, pas limite d'inscription\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Taille max. des archives zip (en Mo) \",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Taille max. des fichiers (en Mo) \",\n \"TITLE\": \"Configuration de l'application\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Nombre max. de fichiers dans une archive zip \"\n },\n \"BACK_TO_ADMIN\": \"Revenir à l'admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer le compte de {0} ? Toutes les données seront définitivement.\",\n \"DELETE_USER\": \"Supprimer l'utilisateur\",\n \"ENABLE_DISABLE_SPORTS\": \"Activer/désactiver des sports.\",\n \"REGISTRATION_DISABLED\": \"Les inscriptions sont actuellement désactivées.\",\n \"REGISTRATION_ENABLED\": \"Les inscriptions sont actuellement activées.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Actif\",\n \"HAS_WORKOUTS\": \"des séances existent\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Administration - Sports\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\",\n \"USER\": \"utilisateur | utilisateurs\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Ajouter les drois d'admin\",\n \"REMOVE_ADMIN_RIGHTS\": \"Retirer les drois d'admin\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": \"status administrateur\",\n \"CREATED_AT\": \"date d'inscription\",\n \"USERNAME\": \"nom d'utilisateur\",\n \"WORKOUTS_COUNT\": \"nombre de séances\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"email: valid email must be provided\": \"Email : une adresse email valide doit être fournie.\",\n \"error on getting configuration\": \"Erreur lors de la récupération de la configuration.\",\n \"error when updating configuration\": \"Erreur lors de la mise à jour de la configuration\",\n \"error, please try again or contact the administrator\": \"Erreur, veuillez réessayer ou contacter l'administrateur.\",\n \"error, registration is disabled\": \"Erreur, les inscriptions sont désactivées.\",\n \"file extension not allowed\": \"Extension de fichier non autorisée.\",\n \"file size is greater than the allowed size\": \"La taille du fichier est supérieure à la limite autorisée.\",\n \"invalid credentials\": \"Identifiants invalides.\",\n \"invalid payload\": \"Données fournies incorrectes.\",\n \"invalid token, please log in again\": \"Jeton de connexion invalide, merci de vous reconnecter.\",\n \"invalid token, please request a new token\": \"Jeton de connexion, merci de vous reconnecter.\",\n \"no file part\": \"Pas de fichier fourni.\",\n \"no selected file\": \"Pas de fichier sélectionné.\",\n \"Network Error\": \"Erreur Réseau.\",\n \"password: password and password confirmation do not match\": \"Mot de passe : les mots de passe saisis sont différents.\",\n \"provide a valid auth token\": \"Merci de fournir un jeton de connexion valide.\",\n \"password: 8 characters required\": \"Mot de passe : 8 caractères minimum.\",\n \"sport does not exist\": \"Ce sport n'existe pas.\",\n \"signature expired, please log in again\": \"Signature expirée. Merci de vous reconnecter.\",\n \"sorry, that user already exists\": \"Désolé, cet utilisateur existe déjà.\",\n \"successfully registered\": \"Inscription validée.\",\n \"user does not exist\": \"L'utilisateur n'existe pas\",\n \"username: 3 to 12 characters required\": \"Nom d'utilisateur : 3 à 12 caractères requis.\",\n \"you can not delete your account, no other user has admin rights\": \"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\",\n \"you do not have permissions\": \"Vous n'avez pas les permissions nécessaires.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"précédent\",\n \"NEXT\": \"suivant\"\n }\n}","{\n \"BACK\": \"Précédent\",\n \"CANCEL\": \"Annuler\",\n \"DELETE_MY_ACCOUNT\": \"Supprimer mon compte\",\n \"DISABLE\": \"Désactiver\",\n \"EDIT\": \"Modifier\",\n \"ENABLE\": \"Activer\",\n \"FILTER\": \"Filtrer\",\n \"LOGIN\": \"Se connecter\",\n \"NO\": \"Non\",\n \"REGISTER\": \"S'inscrire\",\n \"SUBMIT\": \"Valider\",\n \"YES\": \"Oui\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"jour | jours\",\n \"HOME\": \"Accueil\",\n \"HERE\": \"ici\",\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"trier par \"\n },\n \"ORDER\": {\n \"LABEL\": \"tri\",\n \"ASC\": \"ascendant\",\n \"DESC\": \"descendant\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n },\n \"TOTAL \": \"Total\"\n}","{\n \"DASHBOARD\": \"Tableau de Bord\",\n \"THIS_MONTH\": \"Ce mois\"\n}\n","{\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"APP_ERROR\": \"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page introuvable\",\n \"WORKOUT\": \"Séance introuvable\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Vélo (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Vélo (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Randonnée\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"VTT\"\n },\n \"Running\": {\n \"LABEL\": \"Course\"\n },\n \"Walking\": {\n \"LABEL\": \"Marche\"\n }\n}","{\n \"STATISTICS\": \"Statistiques\",\n \"TIME_FRAMES\": {\n \"week\": \"semaine\",\n \"month\": \"mois\",\n \"year\": \"année\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Saisir une adresse email\",\n \"ENTER_PASSWORD\": \"Saisir un mot de passe\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirmer le mot de passe\",\n \"INVALID_TOKEN\": \"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\",\n \"LANGUAGE\": \"Langue\",\n \"LOGIN\": \"Se connecter\",\n \"LOGOUT\": \"Se déconnecter\",\n \"PASSWORD\": \"Mot de passe\",\n \"PASSWORD_CONFIRM\": \"Confirmation du mot de passe\",\n \"PASSWORD_CONFIRMATION\": \"Confirmation du mot de passe\",\n \"PASSWORD_FORGOTTEN\": \"Mot de passe oublié ?\",\n \"PASSWORD_RESET\": \"Réinitialisation du mot de passe\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"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\": \"Votre mot de passe a été mis à jour. Cliquez {0} pour vous connecter.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Revenir au profil\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Date de naissance\",\n \"EDIT\": \"Modifier le profil\",\n \"EDIT_PREFERENCES\": \"Modifier les préférences\",\n \"FIRST_DAY_OF_WEEK\": \"Premier jour de la semaine\",\n \"FIRST_NAME\": \"Prénom\",\n \"LANGUAGE\": \"Langue\",\n \"LAST_NAME\": \"Nom\",\n \"LOCATION\": \"Lieu\",\n \"MONDAY\": \"Lundi\",\n \"PICTURE\": \"Image de profil\",\n \"PICTURE_EDITION\": \"Mise à jour de l'image de profil\",\n \"PICTURE_UPDATE\": \"Mettre à jour l'image\",\n \"PICTURE_REMOVE\": \"Supprimer\",\n \"PREFERENCES_EDITION\": \"Mise à jour des préférences\",\n \"PROFILE_EDITION\": \"Mise à jour du profil\",\n \"REGISTRATION_DATE\": \"Date d'inscription\",\n \"SUNDAY\": \"Dimanche\",\n \"TABS\": {\n \"PICTURE\": \"image\",\n \"PREFERENCES\": \"préférences\",\n \"PROFILE\": \"profil\"\n },\n \"TIMEZONE\": \"Fuseau horaire\"\n },\n \"REGISTER\": \"S'inscrire\",\n \"REGISTER_DISABLED\": \"Désolé, les inscriptions sont désactivées.\",\n \"RESET_PASSWORD\": \"Réinitialiser votre mot de passe\",\n \"USER_PICTURE\": \"photo de l'utilisateur\",\n \"USERNAME\": \"Nom d'utilisateur\"\n}","{\n \"ADD_WORKOUT\": \"Ajouter une séance\",\n \"ANALYSIS\": \"analyse\",\n \"ASCENT\": \"dénivelé positif\",\n \"AVERAGE_SPEED\": \"vitesse moyenne\",\n \"AVE_SPEED\": \"vitesse moy.\",\n \"BACK_TO_WORKOUT\": \"revenir à la séance\",\n \"DATE\": \"date\",\n \"DESCENT\": \"dénivelé négatif\",\n \"DISPLAY_FILTERS\": \"afficher les filtres\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"durée\",\n \"EDIT_WORKOUT\": \"Modifier la séance\",\n \"ELEVATION\": \"altitude\",\n \"END\": \"fin\",\n \"FROM\": \"à partir de\",\n \"GPX_FILE\": \"fichier .gpx\",\n \"HIDE_FILTERS\": \"masquer les filtres\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Séances récentes\",\n \"LOAD_MORE_WORKOUT\": \"Charger les séances suivantes\",\n \"MAX_ALTITUDE\": \"altitude max\",\n \"MAX_FILES\": \"fichiers max. \",\n \"MAX_SIZE\": \"taille max. \",\n \"MAX_SPEED\": \"vitesse max\",\n \"MIN_ALTITUDE\": \"altitude min\",\n \"NEXT_SEGMENT\": \"Segment suivant\",\n \"NEXT_WORKOUT\": \"Séance suivante\",\n \"NO_DATA_CLEANING\": \"données issues du fichier gpx, sans correction\",\n \"NO_FILE_PROVIDED\": \"Pas de fichier fourni\",\n \"NO_FOLDER\": \"pas de répertoire\",\n \"NO_MAP\": \"Pas de carte\",\n \"NO_NEXT_SEGMENT\": \"Pas de segment suivant\",\n \"NO_NEXT_WORKOUT\": \"Pas de séance suivante\",\n \"NO_NOTES\": \"Pas de notes\",\n \"NO_PREVIOUS_SEGMENT\": \"Pas de segment précédent\",\n \"NO_PREVIOUS_WORKOUT\": \"Pas de séance précédente\",\n \"NO_RECORDS\": \"Pas de records.\",\n \"NO_WORKOUTS\": \"Pas de séances.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Segment précédent\",\n \"PREVIOUS_WORKOUT\": \"Séance précédente\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Vitesse moy.\",\n \"RECORD_FD\": \"Distance la + longue\",\n \"RECORD_LD\": \"Durée la + longue\",\n \"RECORD_MS\": \"Vitesse max.\",\n \"REMAINING_CHARS\": \"nombre de caractères restants \",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"vitesse\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"début\",\n \"TITLE\": \"titre\",\n \"TO\": \"jusqu'au\",\n \"TOTAL_DURATION\": \"durée totale\",\n \"UPLOAD_FIRST_WORKOUT\": \"Ajoutez votre première séance !\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidité\",\n \"TEMPERATURE\": \"température\",\n \"WIND\": \"vent\",\n \"DARK_SKY\": {\n \"clear-day\": \"ensoleillé\",\n \"clear-night\": \"nuit claire\",\n \"cloudy\": \"nuageux\",\n \"fog\": \"brouillard\",\n \"partly-cloudy-day\": \"partiellement nuageux\",\n \"partly-cloudy-night\": \"nuit partiellement nuageuse\",\n \"rain\": \"pluie\",\n \"sleet\": \"neige fondue\",\n \"snow\": \"neige\",\n \"wind\": \"venteux\"\n }\n },\n \"WITH_GPX\": \"avec un fichier .gpx\",\n \"WITHOUT_GPX\": \"sans fichier .gpx\",\n \"WORKOUT\": \"séance | séances\",\n \"WORKOUT_DATE\": \"date de la séance\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Etes-vous sûr de vouloir supprimer cette séance ?\",\n \"ZIP_ARCHIVE\": \"archive .zip\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"ou une archive .zip contenant des fichiers .gpx\"\n}\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","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { rangePagination } from '@/utils/api'\n\n export default defineComponent({\n name: 'Pagination',\n props: {\n pagination: {\n type: Object as PropType,\n required: true,\n },\n path: {\n type: String,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n function getQuery(page: number, cursor?: number): TPaginationPayload {\n const newQuery = Object.assign({}, props.query)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n return { rangePagination, getQuery }\n },\n })\n","import { render } from \"./Pagination.vue?vue&type=template&id=56dc89d4&scoped=true\"\nimport script from \"./Pagination.vue?vue&type=script&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=56dc89d4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-56dc89d4\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n } from 'vue'\n\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserInfos',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n fromAdmin: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\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(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n return {\n authUser,\n birthDate,\n displayModal,\n registrationDate,\n deleteUserAccount,\n updateDisplayModal,\n }\n },\n })\n","import { render } from \"./UserInfos.vue?vue&type=template&id=17c7b32c&scoped=true\"\nimport script from \"./UserInfos.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=17c7b32c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-17c7b32c\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FilterSelects.vue?vue&type=style&index=0&id=50c78582&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n export default defineComponent({\n name: 'FilterSelects',\n props: {\n order_by: {\n type: Object as PropType,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n sort: {\n type: Object as PropType,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n },\n emits: ['updateSelect'],\n setup(props, { emit }) {\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\n return {\n per_page: [10, 25, 50, 100],\n onSelectUpdate,\n }\n },\n })\n","import { render } from \"./FilterSelects.vue?vue&type=template&id=50c78582&scoped=true\"\nimport script from \"./FilterSelects.vue?vue&type=script&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=50c78582&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-50c78582\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NavBar.vue?vue&type=style&index=0&id=9d3d8adc&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"","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 = queryOptions.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--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminUsers.vue?vue&type=style&index=0&id=eb17bef8&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Add/remove admin rights, delete user account.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Max. number of active users\",\n \"MAX_USERS_HELP\": \"If 0, no limitation on registration.\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Max. files of zip archive\",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of uploaded files (in Mb)\",\n \"TITLE\": \"Application configuration\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of zip archive (in Mb)\"\n },\n \"BACK_TO_ADMIN\": \"Back to admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Are you sure you want to delete {0} account? All data will be deleted, this cannot be undone.\",\n \"DELETE_USER\": \"Delete user\",\n \"ENABLE_DISABLE_SPORTS\": \"Enable/disable sports.\",\n \"REGISTRATION_DISABLED\": \"Registration is currently disabled.\",\n \"REGISTRATION_ENABLED\": \"Registration is currently enabled.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Active\",\n \"HAS_WORKOUTS\": \"workouts exist\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Sports administration\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Update application configuration (maximum number of registered users, maximum files size).\",\n \"USER\": \"user | users\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Add admin rights\",\n \"REMOVE_ADMIN_RIGHTS\": \"Remove admin rights\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": \"admin status\",\n \"CREATED_AT\": \"registration date\",\n \"USERNAME\": \"username\",\n \"WORKOUTS_COUNT\": \"workout count\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"email: valid email must be provided\": \"Email: valid email must be provided.\",\n \"error on getting configuration\": \"Error on getting configuration.\",\n \"error when updating configuration\": \"Error when updating configuration\",\n \"error, please try again or contact the administrator\": \"Error, please try again or contact the administrator.\",\n \"error, registration is disabled\": \"Error, registration is disabled.\",\n \"file extension not allowed\": \"File extension not allowed.\",\n \"file size is greater than the allowed size\": \"File size is greater than the allowed size.\",\n \"invalid credentials\": \"Invalid credentials.\",\n \"invalid payload\": \"Provided data are invalid.\",\n \"invalid token, please log in again\": \"Invalid token, please log in again.\",\n \"invalid token, please request a new token\": \"Invalid token, please log in again.\",\n \"Network Error\": \"Network Error.\",\n \"no file part\": \"No file provided.\",\n \"no selected file\": \"No selected file.\",\n \"password: password and password confirmation do not match\": \"Password: password and password confirmation don't match.\",\n \"provide a valid auth token\": \"Provide a valid auth token.\",\n \"password: 8 characters required\": \"Password: 8 characters required.\",\n \"sorry, that user already exists\": \"Sorry, that user already exists.\",\n \"sport does not exist\": \"Sport does not exist.\",\n \"signature expired, please log in again\": \"Signature expired. Please log in again.\",\n \"successfully registered\": \"Successfully registered.\",\n \"user does not exist\": \"User does not exist.\",\n \"username: 3 to 12 characters required\": \"Username: 3 to 12 characters required.\",\n \"you can not delete your account, no other user has admin rights\": \"You can not delete your account, no other user has admin rights.\",\n \"you do not have permissions\": \"You do not have permissions.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"previous\",\n \"NEXT\": \"next\"\n }\n}","{\n \"BACK\": \"Back\",\n \"CANCEL\": \"Cancel\",\n \"DELETE_MY_ACCOUNT\": \"Delete my account\",\n \"DISABLE\": \"Disable\",\n \"EDIT\": \"Edit\",\n \"ENABLE\": \"Enable\",\n \"FILTER\": \"Filter\",\n \"LOGIN\": \"Log in\",\n \"NO\": \"No\",\n \"REGISTER\": \"Register\",\n \"SUBMIT\": \"Submit\",\n \"YES\": \"Yes\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"day | days\",\n \"HOME\": \"Home\",\n \"HERE\": \"here\",\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"order by\"\n },\n \"ORDER\": {\n \"LABEL\": \"sort\",\n \"ASC\": \"ascending\",\n \"DESC\": \"descending\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n },\n \"TOTAL\": \"Total\"\n}","{\n \"DASHBOARD\": \"Dashboard\",\n \"THIS_MONTH\": \"This month\"\n}\n","{\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"APP_ERROR\": \"The application seems encounter some issues.
Please try later or contact the administrator.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page not found\",\n \"WORKOUT\": \"Workout not found\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Cycling (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Cycling (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Hiking\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"Mountain Biking\"\n },\n \"Running\": {\n \"LABEL\": \"Running\"\n },\n \"Walking\": {\n \"LABEL\": \"Walking\"\n }\n}","{\n \"STATISTICS\": \"Statistics\",\n \"TIME_FRAMES\": {\n \"week\": \"week\",\n \"month\": \"month\",\n \"year\": \"year\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Enter an email address\",\n \"ENTER_PASSWORD\": \"Enter a password\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirm the password\",\n \"INVALID_TOKEN\": \"Invalid token, please request a new password reset.\",\n \"LANGUAGE\": \"Language\",\n \"LOGIN\": \"Login\",\n \"LOGOUT\": \"Logout\",\n \"PASSWORD\": \"Password\",\n \"PASSWORD_CONFIRM\": \"Confirm Password\",\n \"PASSWORD_CONFIRMATION\": \"Password confirmation\",\n \"PASSWORD_FORGOTTEN\": \"Forgot password?\",\n \"PASSWORD_RESET\": \"Password reset\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"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\": \"Your password have been updated. Click {0} to log in.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Back to profile\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Birth date\",\n \"EDIT\": \"Edit profile\",\n \"EDIT_PREFERENCES\": \"Edit preferences\",\n \"FIRST_NAME\": \"First name\",\n \"FIRST_DAY_OF_WEEK\": \"First day of week\",\n \"LANGUAGE\": \"Language\",\n \"LAST_NAME\": \"Last name\",\n \"LOCATION\": \"Location\",\n \"MONDAY\": \"Monday\",\n \"PICTURE\": \"Picture\",\n \"PICTURE_EDITION\": \"Picture edition\",\n \"PICTURE_UPDATE\": \"Update picture\",\n \"PICTURE_REMOVE\": \"Remove picture\",\n \"PREFERENCES_EDITION\": \"Preferences edition\",\n \"PROFILE_EDITION\": \"Profile edition\",\n \"REGISTRATION_DATE\": \"Registration date\",\n \"SUNDAY\": \"Sunday\",\n \"TABS\": {\n \"PICTURE\": \"picture\",\n \"PREFERENCES\": \"preferences\",\n \"PROFILE\": \"profile\"\n },\n \"TIMEZONE\": \"Timezone\"\n },\n \"REGISTER\": \"Register\",\n \"REGISTER_DISABLED\": \"Sorry, registration is disabled.\",\n \"RESET_PASSWORD\": \"Reset your password\",\n \"USER_PICTURE\": \"user picture\",\n \"USERNAME\": \"Username\"\n}\n","{\n \"ADD_WORKOUT\": \"Add a workout\",\n \"ANALYSIS\": \"analysis\",\n \"ASCENT\": \"ascent\",\n \"AVE_SPEED\": \"ave. speed\",\n \"AVERAGE_SPEED\": \"average speed\",\n \"BACK_TO_WORKOUT\": \"back to workout\",\n \"DATE\": \"date\",\n \"DESCENT\": \"descent\",\n \"DISPLAY_FILTERS\": \"display filters\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"duration\",\n \"EDIT_WORKOUT\": \"Edit the workout\",\n \"ELEVATION\": \"elevation\",\n \"END\": \"end\",\n \"FROM\": \"from\",\n \"GPX_FILE\": \".gpx file\",\n \"HIDE_FILTERS\": \"hide filters\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Latest workouts\",\n \"LOAD_MORE_WORKOUT\": \"Load more workouts\",\n \"MAX_ALTITUDE\": \"max. altitude\",\n \"MAX_FILES\": \"max files\",\n \"MAX_SIZE\": \"max size\",\n \"MAX_SPEED\": \"max. speed\",\n \"MIN_ALTITUDE\": \"min. altitude\",\n \"NEXT_SEGMENT\": \"No next segment\",\n \"NEXT_WORKOUT\": \"Next workout\",\n \"NO_DATA_CLEANING\": \"data from gpx, without any cleaning\",\n \"NO_FILE_PROVIDED\": \"No file provided\",\n \"NO_FOLDER\": \"no folder inside\",\n \"NO_MAP\": \"No map\",\n \"NO_NEXT_SEGMENT\": \"No next segment\",\n \"NO_NEXT_WORKOUT\": \"No next workout\",\n \"NO_NOTES\": \"No notes\",\n \"NO_PREVIOUS_SEGMENT\": \"No previous segment\",\n \"NO_PREVIOUS_WORKOUT\": \"No previous workout\",\n \"NO_RECORDS\": \"No records.\",\n \"NO_WORKOUTS\": \"No workouts.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Previous segment\",\n \"PREVIOUS_WORKOUT\": \"Previous workout\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Ave. speed\",\n \"RECORD_FD\": \"Farest distance\",\n \"RECORD_LD\": \"Longest duration\",\n \"RECORD_MS\": \"Max. speed\",\n \"REMAINING_CHARS\": \"remaining characters\",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"speed\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"start\",\n \"TITLE\": \"title\",\n \"TO\": \"to\",\n \"TOTAL_DURATION\": \"total duration\",\n \"UPLOAD_FIRST_WORKOUT\": \"Upload one!\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidity\",\n \"TEMPERATURE\": \"temperature\",\n \"WIND\": \"wind\",\n \"DARK_SKY\": {\n \"clear-day\": \"clear day\",\n \"clear-night\": \"clear night\",\n \"cloudy\": \"cloudy\",\n \"fog\": \"fog\",\n \"partly-cloudy-day\": \"partly cloudy day\",\n \"partly-cloudy-night\": \"partly cloudy night\",\n \"rain\": \"rain\",\n \"sleet\": \"sleet\",\n \"snow\": \"snow\",\n \"wind\": \"wind\"\n }\n },\n \"WITH_GPX\": \"with .gpx file\",\n \"WITHOUT_GPX\": \"without .gpx file\",\n \"WORKOUT\": \"workout | workouts\",\n \"WORKOUT_DATE\": \"workout date\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Are you sure you want to delete this workout?\",\n \"ZIP_ARCHIVE\": \".zip file\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"or .zip file containing .gpx files\"\n}\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","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'UserPicture',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n authUserPictureUrl: computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n ),\n }\n },\n })\n","import { render } from \"./UserPicture.vue?vue&type=template&id=4aed39f4\"\nimport script from \"./UserPicture.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"","/* 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","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'Footer',\n props: {\n version: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./Footer.vue?vue&type=template&id=e1641806&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-e1641806\"\n\nexport default script","\n\n\n\n\n","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","\n import { ComputedRef, computed, defineComponent, 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 { getApiUrl } from '@/utils'\n import { availableLanguages } from '@/utils/locales'\n\n export default defineComponent({\n name: 'NavBar',\n components: {\n UserPicture,\n },\n emits: ['menuInteraction'],\n setup(props, { emit }) {\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 authUserPictureUrl: ComputedRef = computed(() =>\n isAuthenticated.value && authUser.value.picture\n ? `${getApiUrl()}/users/${\n authUser.value.username\n }/picture?${Date.now()}`\n : ''\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\n return {\n availableLanguages,\n authUser,\n authUserPictureUrl,\n isAuthenticated,\n isMenuOpen,\n language,\n capitalize,\n openMenu,\n closeMenu,\n updateLanguage,\n logout,\n }\n },\n })\n","import { render } from \"./NavBar.vue?vue&type=template&id=9d3d8adc&scoped=true\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=9d3d8adc&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-9d3d8adc\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n export default defineComponent({\n name: 'NoConfig',\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./NoConfig.vue?vue&type=template&id=01d4a985&scoped=true\"\nimport script from \"./NoConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-01d4a985\"\n\nexport default script","\n import {\n ComputedRef,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n onMounted,\n } 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 export default defineComponent({\n name: 'App',\n components: {\n Footer,\n NavBar,\n NoConfig,\n },\n setup() {\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(() =>\n store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG)\n )\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\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 =\n 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\n return {\n appConfig,\n appLoading,\n hideScrollBar,\n displayScrollButton,\n scrollToTop,\n updateHideScrollBar,\n }\n },\n })\n","import { render } from \"./App.vue?vue&type=template&id=317a6409&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-317a6409\"\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\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 export default defineComponent({\n name: 'AdminApplication',\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n edition: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n const router = useRouter()\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\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\n return { appData, errorMessages, onCancel, onSubmit }\n },\n })\n","import { render } from \"./AdminApplication.vue?vue&type=template&id=26175b66&scoped=true\"\nimport script from \"./AdminApplication.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-26175b66\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent, computed } 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 export default defineComponent({\n name: 'UserStatsCards',\n components: {\n StatCard,\n },\n props: {\n appStatistics: {\n type: Object as PropType,\n default: () => {\n return {}\n },\n },\n },\n setup(props) {\n return {\n uploadDirSize: computed(() =>\n props.appStatistics.uploads_dir_size\n ? getReadableFileSize(props.appStatistics.uploads_dir_size, false)\n : { size: 0, suffix: 'bytes' }\n ),\n usersCount: computed(() =>\n props.appStatistics.users ? props.appStatistics.users : 0\n ),\n sportsCount: computed(() =>\n props.appStatistics.sports ? props.appStatistics.sports : 0\n ),\n workoutCount: computed(() =>\n props.appStatistics.workouts ? props.appStatistics.workouts : 0\n ),\n }\n },\n })\n","import { render } from \"./AppStatsCards.vue?vue&type=template&id=cd52bcc2\"\nimport script from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Card',\n })\n","import { render } from \"./Card.vue?vue&type=template&id=c5956538\"\nimport script from \"./Card.vue?vue&type=script&lang=ts\"\nexport * from \"./Card.vue?vue&type=script&lang=ts\"\n\nimport \"./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, capitalize, defineComponent } 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 export default defineComponent({\n name: 'AdminMenu',\n components: {\n AppStatsCards,\n Card,\n },\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n appStatistics: {\n type: Object as PropType,\n },\n },\n setup() {\n return { capitalize }\n },\n })\n","import { render } from \"./AdminMenu.vue?vue&type=template&id=4f30aa64&scoped=true\"\nimport script from \"./AdminMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4f30aa64\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent } 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 export default defineComponent({\n name: 'AdminSports',\n setup() {\n const { t } = useI18n()\n const store = useStore()\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\n return { errorMessages, translatedSports, updateSportStatus }\n },\n })\n","import { render } from \"./AdminSports.vue?vue&type=template&id=6d930723&scoped=true\"\nimport script from \"./AdminSports.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6d930723\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n defineComponent,\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 export default defineComponent({\n name: 'AdminUsers',\n components: {\n FilterSelects,\n Pagination,\n UserPicture,\n },\n setup() {\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\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 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 onBeforeMount(() => loadUsers(query))\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n return {\n authUser,\n errorMessages,\n orderByList,\n pagination,\n query,\n sortList,\n users,\n capitalize,\n format,\n getDateWithTZ,\n reloadUsers,\n updateUser,\n }\n },\n })\n","import { render } from \"./AdminUsers.vue?vue&type=template&id=eb17bef8&scoped=true\"\nimport script from \"./AdminUsers.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=eb17bef8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-eb17bef8\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'UserProfileTabs',\n props: {\n tabs: {\n type: Object as PropType,\n required: true,\n },\n selectedTab: {\n type: String,\n required: true,\n },\n edition: {\n type: Boolean,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n return `/profile${props.edition ? '/edit' : ''}/preferences`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n return { getPath }\n },\n })\n","import { render } from \"./UserProfileTabs.vue?vue&type=template&id=c7276c08\"\nimport script from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, defineComponent } 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 export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserHeader,\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n return {\n tabs: ['PROFILE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=c81580c0&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-c81580c0\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n export default defineComponent({\n name: 'UserPreferences',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() =>\n props.user.weekm ? 'MONDAY' : 'SUNDAY'\n )\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n return { fistDayOfWeek, language, timezone }\n },\n })\n","import { render } from \"./UserPreferences.vue?vue&type=template&id=39667dbe&scoped=true\"\nimport script from \"./UserPreferences.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-39667dbe\"\n\nexport default script","\n\n\n","\n import { computed, defineComponent, PropType } 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 export default defineComponent({\n name: 'ProfileEdition',\n components: {\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n const store = useStore()\n return {\n loading: computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n ),\n tabs: ['PROFILE', 'PICTURE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=386e1de0\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\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 export default defineComponent({\n name: 'UserInfosEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\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\n return {\n displayModal,\n errorMessages,\n loading,\n registrationDate,\n userForm,\n deleteAccount,\n updateBio,\n updateDisplayModal,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserInfosEdition.vue?vue&type=template&id=e9d6897c\"\nimport script from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=e9d6897c&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n Ref,\n defineComponent,\n computed,\n ref,\n } 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 export default defineComponent({\n name: 'UserPictureEdition',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const store = useStore()\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\n return {\n errorMessages,\n fileSizeLimit,\n pictureFile,\n deleteUserPicture,\n updateUserPicture,\n updatePictureFile,\n }\n },\n })\n","import { render } from \"./UserPictureEdition.vue?vue&type=template&id=2eb0ba24&scoped=true\"\nimport script from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=2eb0ba24&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-2eb0ba24\"\n\nexport default script","\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\n onMounted,\n } from 'vue'\n\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 export default defineComponent({\n name: 'UserPreferencesEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n const userForm: IUserPreferencesPayload = reactive({\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 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.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(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES,\n userForm\n )\n }\n\n return {\n availableLanguages,\n errorMessages,\n loading,\n userForm,\n weekStart,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserPreferencesEdition.vue?vue&type=template&id=e42b32dc\"\nimport script from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","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.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 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 {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\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_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 context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\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.ts'\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 appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { 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 } 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 { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload } from '@/types/user'\nimport { handleError } from '@/utils'\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}\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.ts'\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 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 },\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 },\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","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'AlertMessage',\n props: {\n message: String,\n },\n })\n","import { render } from \"./AlertMessage.vue?vue&type=template&id=f5e8066a&scoped=true\"\nimport script from \"./AlertMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-f5e8066a\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent, ref, watch } from 'vue'\n\n export default defineComponent({\n name: 'CustomTextArea',\n props: {\n charLimit: {\n type: Number,\n default: 500,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n input: {\n type: String,\n default: '',\n },\n name: {\n type: String,\n required: true,\n },\n },\n emits: ['updateValue'],\n setup(props, { emit }) {\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\n return { text, updateText }\n },\n })\n","import { render } from \"./CustomTextArea.vue?vue&type=template&id=ad3739fc&scoped=true\"\nimport script from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-ad3739fc\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, defineComponent, ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n\n export default defineComponent({\n name: 'Dropdown',\n props: {\n options: {\n type: Object as PropType,\n required: true,\n },\n selected: {\n type: String,\n required: true,\n },\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(props, { emit }) {\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\n return {\n dropdownOptions,\n isOpen,\n toggleDropdown,\n updateSelected,\n }\n },\n })\n","import { render } from \"./Dropdown.vue?vue&type=template&id=5ef2ddef&scoped=true\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5ef2ddef\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'ErrorMessage',\n props: {\n message: [String, Array],\n },\n })\n","import { render } from \"./ErrorMessage.vue?vue&type=template&id=5c177a93&scoped=true\"\nimport script from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5c177a93\"\n\nexport default script","\n\n\n","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\n import { defineComponent, inject } 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 Running from '@/components/Common/Images/SportImage/Running.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n export default defineComponent({\n name: 'SportImage',\n components: {\n CyclingSport,\n CyclingTransport,\n Hiking,\n MountainBiking,\n Running,\n Walking,\n },\n props: {\n sportLabel: {\n type: String,\n required: true,\n },\n title: {\n type: String,\n required: false,\n },\n },\n setup() {\n return { sportColors: inject('sportColors') }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=834c586a\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Loader',\n })\n","import { render } from \"./Loader.vue?vue&type=template&id=8bf75da8&scoped=true\"\nimport script from \"./Loader.vue?vue&type=script&lang=ts\"\nexport * from \"./Loader.vue?vue&type=script&lang=ts\"\n\nimport \"./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-8bf75da8\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'Modal',\n props: {\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n strongMessage: {\n type: String || null,\n default: null,\n },\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(props, { emit }) {\n const store = useStore()\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 return { errorMessages, emit }\n },\n })\n","import { render } from \"./Modal.vue?vue&type=template&id=366182c4&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=366182c4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-366182c4\"\n\nexport default script","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.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 AlertMessage,\n Card,\n CustomTextArea,\n Dropdown,\n ErrorMessage,\n Loader,\n Modal,\n 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)\n})\n\napp.mount('#app')\n","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 * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"","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}\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}\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","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--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\""],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.2237b298.js b/fittrackee/dist/static/js/app.5f1e26bb.js similarity index 61% rename from fittrackee/dist/static/js/app.2237b298.js rename to fittrackee/dist/static/js/app.5f1e26bb.js index 245b42e9..b96d036e 100644 --- a/fittrackee/dist/static/js/app.2237b298.js +++ b/fittrackee/dist/static/js/app.5f1e26bb.js @@ -1,2 +1,2 @@ -(function(e){function t(t){for(var r,o,i=t[0],s=t[1],u=t[2],l=0,d=[];lr?1:n2&&void 0!==arguments[2]&&arguments[2];return e.filter((function(e){return!n||e.is_active})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(c)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]}},"13dc":function(e,t,n){"use strict";n("c0dc")},"16c2":function(e,t,n){"use strict";n("a03e")},1850:function(e,t,n){"use strict";n("da66")},"18b2":function(e,t,n){},"1f4c":function(e,t,n){},2024:function(e,t,n){},"25ba":function(e,t,n){"use strict";n("cabe")},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n("5502");function o(){return Object(r["b"])()}},3214:function(e,t,n){"use strict";n("2024")},"325d":function(e,t,n){"use strict";n("98fe")},3853:function(e,t,n){"use strict";n("c75e")},"3c44":function(e,t,n){"use strict";n("b680"),n("a9e3");var r=n("7a23"),o=Object(r["withScopeId"])("data-v-a6fa997c");Object(r["pushScopeId"])("data-v-a6fa997c");var a={class:"box user-header"},c={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},u={class:"user-stat"},l={class:"stat-number"},d={class:"stat-label"},O={class:"user-stat"},p={class:"stat-number"},b=Object(r["createVNode"])("span",{class:"stat-label"},"km",-1),m={class:"user-stat hide-small"},T={class:"stat-number"},E={class:"stat-label"};Object(r["popScopeId"])();var S=o((function(e,t,n,o,S,f){var _=Object(r["resolveComponent"])("UserPicture");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])(_,{user:e.user},null,8,["user"]),Object(r["createVNode"])("div",c,[Object(r["createVNode"])("div",i,Object(r["toDisplayString"])(e.user.username),1),Object(r["createVNode"])("div",s,[Object(r["createVNode"])("div",u,[Object(r["createVNode"])("span",l,Object(r["toDisplayString"])(e.user.nb_workouts),1),Object(r["createVNode"])("span",d,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",e.user.nb_workouts)),1)]),Object(r["createVNode"])("div",O,[Object(r["createVNode"])("span",p,Object(r["toDisplayString"])(Number(e.user.total_distance).toFixed(0)),1),b]),Object(r["createVNode"])("div",m,[Object(r["createVNode"])("span",T,Object(r["toDisplayString"])(e.user.nb_sports),1),Object(r["createVNode"])("span",E,Object(r["toDisplayString"])(e.$t("workouts.SPORT",e.user.nb_sports)),1)])])])])})),f=n("c46a"),_=Object(r["defineComponent"])({name:"ProfileDisplay",components:{UserPicture:f["a"]},props:{user:{type:Object,required:!0}}});n("5085");_.render=S,_.__scopeId="data-v-a6fa997c";t["a"]=_},4870:function(e,t,n){"use strict";var r,o,a;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return a})),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"}(o||(o={})),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"}(a||(a={}))},"4a13":function(e,t,n){"use strict";n("92d6")},"4b55":function(e,t,n){"use strict";n("8384")},"4c14":function(e,t,n){"use strict";n("abe8")},5085:function(e,t,n){"use strict";n("1f4c")},"57ba":function(e,t,n){"use strict";n("18b2")},"5df8":function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return p})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return m})),n.d(t,"b",(function(){return T})),n.d(t,"a",(function(){return E}));var r=n("69eb"),o=n("d6e9"),a=n("f628"),c=n("f7f1"),i=n("cdb6"),s=n("74b5"),u=n("8cac"),l=n("2fc8"),d=n("b166"),O=n("78b2"),p=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(o["a"])(t);case"month":return Object(a["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(c["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,'"'))}},m=function(e,t){return Object(O["a"])(new Date(e),t)},T=function(e,t){var n=Object(a["a"])(e),o=Object(u["a"])(e),c=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:c}),end:Object(l["a"])(o,{weekStartsOn:c})}},E=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(d["a"])(e,t),workout_time:Object(d["a"])(e,n)}}},"608d":function(e,t,n){"use strict";n("90b9")},"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"])}}}}},o={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"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},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"])}},c={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"])}}},u={"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"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},l={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"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},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"])},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"])},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"])}},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"])}},O={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"])},KM:e=>{const{normalize:t}=e;return t(["km"])},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"])},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:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},"6d7d":function(e,t,n){"use strict";var r=n("7a23"),o=Object(r["withScopeId"])("data-v-56dc89d4");Object(r["pushScopeId"])("data-v-56dc89d4");var a={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},i=Object(r["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),s={key:0},u=Object(r["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1);Object(r["popScopeId"])();var l=o((function(e,t,n,l,d,O){var p=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createBlock"])("nav",a,[Object(r["createVNode"])("ul",c,[Object(r["createVNode"])("li",{class:["page-prev",{disabled:!e.pagination.has_prev}]},[Object(r["createVNode"])(p,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,-1)},event:e.pagination.has_prev?"click":"",disabled:!e.pagination.has_prev},{default:o((function(){return[i,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.rangePagination(e.pagination.pages,e.pagination.page),(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("li",{key:t,class:["page",{active:t===e.pagination.page}]},["..."===t?(Object(r["openBlock"])(),Object(r["createBlock"])("span",s," ... ")):(Object(r["openBlock"])(),Object(r["createBlock"])(p,{key:1,class:"page-link",to:{path:e.path,query:e.getQuery(+t)}},{default:o((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(t),1)]})),_:2},1032,["to"]))],2)})),128)),Object(r["createVNode"])("li",{class:["page-next",{disabled:!e.pagination.has_next}]},[Object(r["createVNode"])(p,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,1)},event:e.pagination.has_next?"click":"",disabled:!e.pagination.has_next},{default:o((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("api.PAGINATION.NEXT"))+" ",1),u]})),_:1},8,["to","event","disabled"])],2)])])})),d=n("97e5"),O=Object(r["defineComponent"])({name:"Pagination",props:{pagination:{type:Object,required:!0},path:{type:String,required:!0},query:{type:Object,required:!0}},setup:function(e){function t(t,n){var r=Object.assign({},e.query);return r.page=n?t+n:t,r}return{rangePagination:d["b"],getQuery:t}}});n("1850");O.render=l,O.__scopeId="data-v-56dc89d4";t["a"]=O},"6eb4":function(e,t,n){},"71a7":function(e,t,n){"use strict";var r=n("7a23"),o=Object(r["withScopeId"])("data-v-17c7b32c");Object(r["pushScopeId"])("data-v-17c7b32c");var a={id:"user-infos",class:"description-list"},c={class:"user-bio"},i={key:1,class:"profile-buttons"},s={key:2,class:"profile-buttons"};Object(r["popScopeId"])();var u=o((function(e,t,n,o,u,l){var d=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[e.displayModal?(Object(r["openBlock"])(),Object(r["createBlock"])(d,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:e.user.username,onConfirmAction:t[1]||(t[1]=function(t){return e.deleteUserAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("dl",null,[Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.registrationDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.first_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.last_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.birthDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.location),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createVNode"])("dd",c,Object(r["toDisplayString"])(e.user.bio),1)]),e.fromAdmin?(Object(r["openBlock"])(),Object(r["createBlock"])("div",i,[e.authUser.username!==e.user.username?(Object(r["openBlock"])(),Object(r["createBlock"])("button",{key:0,class:"danger",onClick:t[3]||(t[3]=Object(r["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",s,[Object(r["createVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])})),l=n("b166"),d=n("dad5"),O=n("2906"),p=Object(r["defineComponent"])({name:"UserInfos",props:{user:{type:Object,required:!0},fromAdmin:{type:Boolean,default:!1}},setup:function(e){var t=Object(O["a"])(),n=Object(r["computed"])((function(){return t.getters[d["a"].GETTERS.AUTH_USER_PROFILE]})),o=Object(r["computed"])((function(){return e.user.created_at?Object(l["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),a=Object(r["computed"])((function(){return e.user.birth_date?Object(l["a"])(new Date(e.user.birth_date),"dd/MM/yyyy"):""})),c=Object(r["ref"])(!1);function i(e){c.value=e}function s(e){t.dispatch(d["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return{authUser:n,birthDate:a,displayModal:c,registrationDate:o,deleteUserAccount:s,updateDisplayModal:i}}});n("4c14");p.render=u,p.__scopeId="data-v-17c7b32c";t["a"]=p},"79e1":function(e,t,n){"use strict";n("851f")},"7b3e":function(e,t,n){"use strict";n("b715")},"7ffe":function(e,t,n){"use strict";n("9f54")},8384:function(e,t,n){},"851f":function(e,t,n){},"85fa":function(e,t,n){"use strict";n("0a59")},"90b9":function(e,t,n){},9176:function(e,t,n){"use strict";n("99af"),n("4e82");var r=n("7a23"),o=Object(r["withScopeId"])("data-v-50c78582");Object(r["pushScopeId"])("data-v-50c78582");var a={class:"table-selects"};Object(r["popScopeId"])();var c=o((function(e,t,n,o,c,i){return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"order_by",id:"order_by",value:e.query.order_by,onChange:t[1]||(t[1]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.order_by,(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("".concat(e.message,".").concat(t.toUpperCase()))),9,["value"])})),128))],40,["value"])]),Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"order",id:"order",value:e.query.order,onChange:t[2]||(t[2]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.sort,(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.".concat(t.toUpperCase()))),9,["value"])})),128))],40,["value"])]),Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"per_page",id:"per_page",value:e.query.per_page,onChange:t[3]||(t[3]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.per_page,(function(e){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:e,key:e},Object(r["toDisplayString"])(e),9,["value"])})),128))],40,["value"])])])})),i=Object(r["defineComponent"])({name:"FilterSelects",props:{order_by:{type:Object,required:!0},query:{type:Object,required:!0},sort:{type:Object,required:!0},message:{type:String,required:!0}},emits:["updateSelect"],setup:function(e,t){var n=t.emit;function r(e){n("updateSelect",e.target.id,e.target.value)}return{per_page:[10,25,50,100],onSelectUpdate:r}}});n("79e1");i.render=c,i.__scopeId="data-v-50c78582";t["a"]=i},9242:function(e,t,n){"use strict";n("ee25")},"92d6":function(e,t,n){},"95ba":function(e,t,n){"use strict";n("6eb4")},"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 u})),n.d(t,"b",(function(){return d}));n("caad"),n("2532"),n("a630"),n("3ca3"),n("99af");var r=["asc","desc"],o=1,a=10,c=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 u=s||{},l=u.defaultSort||"asc",d=u.query||{};return d.page=c(e.page,o),d.per_page=c(e.per_page,a),d.order=i(e.order,r,l),d.order_by=i(e.order_by,t,n),d},u=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],l=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}))},d=function(e,t){if(e<0)return[];if(e<9)return l(e);var n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(l(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"])}}}}},o={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"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},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"])}},c={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"])}}},u={"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"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},l={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"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},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"])},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"])},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"])}},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"])}},O={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"])},KM:e=>{const{normalize:t}=e;return t(["km"])},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"])},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:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],o=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 o=(e/Math.pow(1024,n)).toFixed(1),a=r[n];return t?"".concat(o).concat(a):{size:o,suffix:a}},a=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";var r=n("7a23"),o={class:"user-picture"},a={key:1,class:"no-picture"},c=Object(r["createVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1);function i(e,t,n,i,s,u){return Object(r["openBlock"])(),Object(r["createBlock"])("div",o,[""!==e.authUserPictureUrl?(Object(r["openBlock"])(),Object(r["createBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:e.authUserPictureUrl},null,8,["alt","src"])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[c]))])}n("99af");var s=n("d257"),u=Object(r["defineComponent"])({name:"UserPicture",props:{user:{type:Object,required:!0}},setup:function(e){return{authUserPictureUrl:Object(r["computed"])((function(){return e.user.picture?"".concat(Object(s["a"])(),"users/").concat(e.user.username,"/picture"):""}))}}});n("13dc");u.render=i;t["a"]=u},c75e:function(e,t,n){},cabe:function(e,t,n){},cbea:function(e,t,n){"use strict";n("fb41")},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("159b"),n("b0c0");var r=n("9b4a"),o=n("d9fa"),a=n("7a23"),c=n("9483");Object(c["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=Object(a["withScopeId"])("data-v-317a6409");Object(a["pushScopeId"])("data-v-317a6409");var s=Object(a["createVNode"])("div",{id:"top"},null,-1),u={key:0,class:"app-container"},l={class:"app-loading"},d={class:"container scroll"},O=Object(a["createVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var p=i((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("NavBar"),p=Object(a["resolveComponent"])("Loader"),b=Object(a["resolveComponent"])("router-view"),m=Object(a["resolveComponent"])("NoConfig"),T=Object(a["resolveComponent"])("Footer");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[s,Object(a["createVNode"])(i,{onMenuInteraction:e.updateHideScrollBar},null,8,["onMenuInteraction"]),e.appLoading?(Object(a["openBlock"])(),Object(a["createBlock"])("div",u,[Object(a["createVNode"])("div",l,[Object(a["createVNode"])(p)])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,class:["app-container",{"hide-scroll":e.hideScrollBar}]},[e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:0})):(Object(a["openBlock"])(),Object(a["createBlock"])(m,{key:1}))],2)),Object(a["createVNode"])("div",d,[Object(a["createVNode"])("div",{class:["scroll-button",{"display-button":e.displayScrollButton}],onClick:t[1]||(t[1]=function(){return e.scrollToTop&&e.scrollToTop.apply(e,arguments)})},[O],2)]),e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(T,{key:2,version:e.appConfig?e.appConfig.version:""},null,8,["version"])):Object(a["createCommentVNode"])("",!0)],64)})),b=Object(a["withScopeId"])("data-v-e1641806");Object(a["pushScopeId"])("data-v-e1641806");var m={id:"footer"},T={class:"footer-items"},E={class:"footer-item"},S=Object(a["createVNode"])("strong",null,"FitTrackee",-1),f=Object(a["createStaticVNode"])('',4);Object(a["popScopeId"])();var _=b((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",m,[Object(a["createVNode"])("div",T,[Object(a["createVNode"])("div",E,[S,Object(a["createTextVNode"])(" v"+Object(a["toDisplayString"])(e.version),1)]),f])])})),j=Object(a["defineComponent"])({name:"Footer",props:{version:{type:String,required:!0}}});n("7b3e");j.render=_,j.__scopeId="data-v-e1641806";var A=j,N=Object(a["withScopeId"])("data-v-9d3d8adc");Object(a["pushScopeId"])("data-v-9d3d8adc");var R={id:"nav"},I={class:"nav-container"},g={class:"nav-app-name"},U={class:"nav-items-close"},v=Object(a["createVNode"])("div",{class:"app-name"},"FitTrackee",-1),D={key:0,class:"nav-items-group"},h=Object(a["createVNode"])("div",{class:"nav-item nav-separator"},null,-1),P={class:"nav-items-user-menu"},C={key:0,class:"nav-items-group"},M={class:"nav-item nav-profile-img"},k={key:1,class:"nav-items-group"},L=Object(a["createVNode"])("i",{class:"fa fa-language"},null,-1);Object(a["popScopeId"])();var z=N((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("router-link"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("Dropdown");return Object(a["openBlock"])(),Object(a["createBlock"])("div",R,[Object(a["createVNode"])("div",I,[Object(a["createVNode"])("div",g,[Object(a["createVNode"])("div",{class:"nav-item app-name",onClick:t[1]||(t[1]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(a["createVNode"])("div",{class:["nav-icon-open",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[2]||(t[2]=function(t){return e.openMenu()})})],2),Object(a["createVNode"])("div",{class:["nav-items",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("div",U,[v,Object(a["createVNode"])("i",{class:["fa fa-close close-icon nav-item",{"menu-closed":!e.isMenuOpen}],onClick:t[3]||(t[3]=function(t){return e.closeMenu()})},null,2)]),Object(a["createVNode"])("div",{class:"nav-items-app-menu",onClick:t[4]||(t[4]=function(t){return e.closeMenu()})},[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",D,[Object(a["createVNode"])(i,{class:"nav-item",to:"/"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/statistics"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts/add"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),e.isAuthenticated&&e.authUser.admin?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,class:"nav-item",to:"/admin"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(a["createCommentVNode"])("",!0),h])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",P,[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",C,[Object(a["createVNode"])("div",M,[Object(a["createVNode"])(s,{user:e.authUser},null,8,["user"])]),Object(a["createVNode"])(i,{class:"nav-item",to:"/profile",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.authUser.username),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])("div",{class:"nav-item nav-link",onClick:t[5]||(t[5]=function(){return e.logout&&e.logout.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",k,[Object(a["createVNode"])(i,{class:"nav-item",to:"/login",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])(i,{class:"nav-item",to:"/register",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1},8,["onClick"])])),e.availableLanguages&&e.language?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2,class:"nav-item",options:e.availableLanguages,selected:e.language,onSelected:e.updateLanguage},{default:N((function(){return[L]})),_:1},8,["options","selected","onSelected"])):Object(a["createCommentVNode"])("",!0)])],2)])])})),y=(n("99af"),n("d3b7"),n("25f0"),n("47e2")),w=n("c46a"),V=n("dad5"),B=n("2906"),G=n("d257"),x=(n("d81d"),n("8923")),F=n("d481");n("ddb0"),n("ac1f"),n("466d");function W(){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 o=r[1];t[o]=e(n).default}})),t}var K=Object(y["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:W()}),$={en:x["a"],fr:F["a"]},H={en:"English",fr:"Français"},Y=K.global.availableLocales,q=Y.map((function(e){return{label:H[e],value:e}})),X=Object(a["defineComponent"])({name:"NavBar",components:{UserPicture:w["a"]},emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(y["b"])(),o=r.locale,c=Object(B["a"])(),i=Object(a["computed"])((function(){return c.getters[V["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return c.getters[V["a"].GETTERS.IS_AUTHENTICATED]})),u=Object(a["computed"])((function(){return s.value&&i.value.picture?"".concat(Object(G["a"])(),"/users/").concat(i.value.username,"/picture?").concat(Date.now()):""})),l=Object(a["computed"])((function(){return c.getters[V["b"].GETTERS.LANGUAGE]})),d=Object(a["ref"])(!1);function O(){d.value=!0,n("menuInteraction",!0)}function p(){d.value=!1,n("menuInteraction",!1)}function b(e){o.value=e.value.toString(),c.commit(V["b"].MUTATIONS.UPDATE_LANG,e.value)}function m(){c.dispatch(V["a"].ACTIONS.LOGOUT)}return{availableLanguages:q,authUser:i,authUserPictureUrl:u,isAuthenticated:s,isMenuOpen:d,language:l,capitalize:a["capitalize"],openMenu:O,closeMenu:p,updateLanguage:b,logout:m}}});n("9242");X.render=z,X.__scopeId="data-v-9d3d8adc";var Z=X,Q=Object(a["withScopeId"])("data-v-01d4a985");Object(a["pushScopeId"])("data-v-01d4a985");var J={id:"no-config"},ee={class:"error-page"},te=Object(a["createVNode"])("div",{class:"error-img"},[Object(a["createVNode"])("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},[Object(a["createVNode"])("g",{id:"error"},[Object(a["createVNode"])("path",{class:"error-page-img",d:"M 0 0 C 0 11.300781 0 399.777344 0 410 L 512 410 C 512 402.324219 512 2.425781 512 0 Z M 370 71 L 370 30 L 411 30 L 411 71 Z M 30 30 L 340 30 L 340 71 L 30 71 Z M 482 380 L 30 380 L 30 101 L 482 101 Z M 441 71 L 441 30 L 482 30 L 482 71 Z M 441 71 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 325.519531 297.070312 C 294.328125 265.878906 294.328125 215.125 325.519531 183.929688 L 304.304688 162.71875 C 261.417969 205.605469 261.417969 275.390625 304.304688 318.28125 Z M 325.519531 297.070312 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 180 L 237.089844 180 L 237.089844 220 L 197.089844 220 Z M 197.089844 180 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 261 L 237.089844 261 L 237.089844 301 L 197.089844 301 Z M 197.089844 261 "})])])],-1);Object(a["popScopeId"])();var ne=Q((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",J,[Object(a["createVNode"])("div",ee,[te,Object(a["createVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,["innerHTML"])])])})),re=Object(a["defineComponent"])({name:"NoConfig",setup:function(){var e=Object(y["b"])(),t=e.t;return{t:t}}});n("f037");re.render=ne,re.__scopeId="data-v-01d4a985";var oe=re,ae=Object(a["defineComponent"])({name:"App",components:{Footer:A,NavBar:Z,NoConfig:oe},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.APP_CONFIG]})),n=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.APP_LOADING]})),r=Object(a["ref"])(!1),o=Object(a["ref"])(!1);function c(e){r.value=e}function i(e){return e.getBoundingClientRect().top=0}function s(){window.onscroll=function(){var e=document.querySelector("#bottom");o.value=null!==e&&i(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){o.value=!1}),300)}return Object(a["onBeforeMount"])((function(){return e.dispatch(V["b"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(a["onMounted"])((function(){return s()})),{appConfig:t,appLoading:n,hideScrollBar:r,displayScrollButton:o,scrollToTop:u,updateHideScrollBar:c}}});n("608d");ae.render=p,ae.__scopeId="data-v-317a6409";var ce=ae,ie=(n("5319"),n("3ca3"),n("caad"),n("6c02")),se=Object(a["withScopeId"])("data-v-26175b66");Object(a["pushScopeId"])("data-v-26175b66");var ue={id:"admin-app",class:"admin-card"},le={for:"max_users"},de={class:"user-limit-help"},Oe={class:"info-box"},pe=Object(a["createVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1),be={for:"max_single_file_size"},me={for:"max_zip_file_size"},Te={for:"gpx_limit_import"},Ee={key:1,class:"form-buttons"},Se={class:"confirm",type:"submit"},fe={key:2,class:"form-buttons"};Object(a["popScopeId"])();var _e=se((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",ue,[Object(a["createVNode"])(s,null,{title:se((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.TITLE")),1)]})),content:se((function(){return[Object(a["createVNode"])("form",{class:"admin-form",onSubmit:t[8]||(t[8]=Object(a["withModifiers"])((function(){return e.onSubmit&&e.onSubmit.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",le,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.appData.max_users=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_users]])]),Object(a["createVNode"])("div",de,[Object(a["createVNode"])("span",Oe,[pe,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(a["createVNode"])("label",be,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.appData.max_single_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_single_file_size]])]),Object(a["createVNode"])("label",me,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.appData.max_zip_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_zip_file_size]])]),Object(a["createVNode"])("label",Te,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.appData.gpx_limit_import=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.gpx_limit_import]])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),e.edition?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ee,[Object(a["createVNode"])("button",Se,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.onCancel&&e.onCancel.apply(e,arguments)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",fe,[Object(a["createVNode"])("button",{class:"confirm",onClick:t[6]||(t[6]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin/application/edit")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.EDIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[7]||(t[7]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)]))],32)]})),_:1})])})),je=(n("b64b"),n("c364")),Ae=Object(a["defineComponent"])({name:"AdminApplication",props:{appConfig:{type:Object,required:!0},edition:{type:Boolean,default:!1}},setup:function(e){var t=Object(B["a"])(),n=Object(ie["d"])(),r=Object(a["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),o=Object(a["computed"])((function(){return t.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function c(e){Object.keys(r).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?r[t]=Object(je["a"])(e[t]):r[t]=e[t]}))}function i(){c(e.appConfig),t.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),n.push("/admin/application")}function s(){var e=Object.assign({},r);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,t.dispatch(V["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(a["onBeforeMount"])((function(){e.appConfig&&c(e.appConfig)})),{appData:r,errorMessages:o,onCancel:i,onSubmit:s}}});n("3853");Ae.render=_e,Ae.__scopeId="data-v-26175b66";var Ne=Ae,Re=Object(a["withScopeId"])("data-v-4f30aa64");Object(a["pushScopeId"])("data-v-4f30aa64");var Ie={id:"admin-menu",class:"center-card"},ge={class:"admin-menu description-list"},Ue=Object(a["createVNode"])("br",null,null,-1),ve={class:"registration-status"};Object(a["popScopeId"])();var De=Re((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("AppStatsCards"),s=Object(a["resolveComponent"])("router-link"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ie,[Object(a["createVNode"])(u,null,{title:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Re((function(){return[Object(a["createVNode"])(i,{"app-statistics":e.appStatistics},null,8,["app-statistics"]),Object(a["createVNode"])("div",ge,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/application"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(a["createVNode"])("dd",null,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ue,Object(a["createVNode"])("span",ve,Object(a["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(e.appConfig.is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/sports"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/users"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])})),he={id:"user-stats"};function Pe(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("StatCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",he,[Object(a["createVNode"])(i,{icon:"users",value:e.usersCount,text:e.$t("admin.USER",e.usersCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"tags",value:e.sportsCount,text:e.$t("workouts.SPORT",e.sportsCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"calendar",value:e.workoutCount,text:e.$t("workouts.WORKOUT",e.workoutCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"folder-open",value:e.uploadDirSize.size,text:e.uploadDirSize.suffix},null,8,["value","text"])])}var Ce=n("05d9"),Me=Object(a["defineComponent"])({name:"UserStatsCards",components:{StatCard:Ce["a"]},props:{appStatistics:{type:Object,default:function(){return{}}}},setup:function(e){return{uploadDirSize:Object(a["computed"])((function(){return e.appStatistics.uploads_dir_size?Object(je["b"])(e.appStatistics.uploads_dir_size,!1):{size:0,suffix:"bytes"}})),usersCount:Object(a["computed"])((function(){return e.appStatistics.users?e.appStatistics.users:0})),sportsCount:Object(a["computed"])((function(){return e.appStatistics.sports?e.appStatistics.sports:0})),workoutCount:Object(a["computed"])((function(){return e.appStatistics.workouts?e.appStatistics.workouts:0}))}}});n("a1fe");Me.render=Pe;var ke=Me,Le={class:"card"},ze={class:"card-title"},ye={class:"card-content"};function we(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Le,[Object(a["createVNode"])("div",ze,[Object(a["renderSlot"])(e.$slots,"title")]),Object(a["createVNode"])("div",ye,[Object(a["renderSlot"])(e.$slots,"content")])])}var Ve=Object(a["defineComponent"])({name:"Card"});n("16c2");Ve.render=we;var Be=Ve,Ge=Object(a["defineComponent"])({name:"AdminMenu",components:{AppStatsCards:ke,Card:Be},props:{appConfig:{type:Object,required:!0},appStatistics:{type:Object}},setup:function(){return{capitalize:a["capitalize"]}}});n("4a13");Ge.render=De,Ge.__scopeId="data-v-4f30aa64";var xe=Ge,Fe=Object(a["withScopeId"])("data-v-6d930723");Object(a["pushScopeId"])("data-v-6d930723");var We={id:"admin-sports",class:"admin-card"},Ke={class:"responsive-table"},$e=Object(a["createVNode"])("th",null,"#",-1),He={class:"text-left"},Ye={class:"text-left sport-action"},qe=Object(a["createVNode"])("th",null,null,-1),Xe={class:"center-text"},Ze=Object(a["createVNode"])("span",{class:"cell-heading"},"id",-1),Qe={class:"cell-heading"},Je={class:"sport-label"},et={class:"cell-heading"},tt={class:"center-text"},nt={class:"cell-heading"},rt={class:"sport-action"},ot={class:"cell-heading"},at={class:"action-button"},ct={key:0,class:"has-workouts"},it=Object(a["createVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var st=Fe((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("SportImage"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",We,[Object(a["createVNode"])(u,null,{title:Fe((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Fe((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])("div",Ke,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[$e,Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])("th",He,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("th",Ye,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),qe])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.translatedSports,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.id},[Object(a["createVNode"])("td",Xe,[Ze,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.id),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",Qe,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])(i,{title:t.translatedLabel,"sport-label":t.label},null,8,["title","sport-label"])]),Object(a["createVNode"])("td",Je,[Object(a["createVNode"])("span",et,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.translatedLabel),1)]),Object(a["createVNode"])("td",tt,[Object(a["createVNode"])("span",nt,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.is_active?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",rt,[Object(a["createVNode"])("span",ot,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("div",at,[Object(a["createVNode"])("button",{class:{danger:t.is_active},onClick:function(n){return e.updateSportStatus(t.id,!t.is_active)}},Object(a["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,["onClick"]),t.has_workouts?(Object(a["openBlock"])(),Object(a["createBlock"])("span",ct,[it,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(a["createCommentVNode"])("",!0)])])])})),128))])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ut=n("1119"),lt=Object(a["defineComponent"])({name:"AdminSports",setup:function(){var e=Object(y["b"])(),t=e.t,n=Object(B["a"])(),r=Object(a["computed"])((function(){return Object(ut["d"])(n.getters[V["c"].GETTERS.SPORTS],t)})),o=Object(a["computed"])((function(){return n.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function c(e,t){n.dispatch(V["c"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return{errorMessages:o,translatedSports:r,updateSportStatus:c}}});n("3214");lt.render=st,lt.__scopeId="data-v-6d930723";var dt=lt,Ot=Object(a["withScopeId"])("data-v-eb17bef8");Object(a["pushScopeId"])("data-v-eb17bef8");var pt={id:"admin-users",class:"admin-card"},bt={class:"responsive-table"},mt=Object(a["createVNode"])("th",null,"#",-1),Tt={class:"left-text"},Et={class:"left-text"},St={class:"left-text"},ft={class:"cell-heading"},_t={class:"cell-heading"},jt={class:"cell-heading"},At={class:"cell-heading"},Nt={class:"center-text"},Rt={class:"cell-heading"},It={class:"center-text"},gt={class:"cell-heading"},Ut={class:"center-text"},vt={class:"cell-heading"};Object(a["popScopeId"])();var Dt=Ot((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("FilterSelects"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("router-link"),l=Object(a["resolveComponent"])("Pagination"),d=Object(a["resolveComponent"])("ErrorMessage"),O=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",pt,[Object(a["createVNode"])(O,null,{title:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),content:Ot((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])(i,{sort:e.sortList,order_by:e.orderByList,query:e.query,message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:e.reloadUsers},null,8,["sort","order_by","query","onUpdateSelect"]),Object(a["createVNode"])("div",bt,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[mt,Object(a["createVNode"])("th",Tt,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])("th",Et,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createVNode"])("th",St,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.users,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.username},[Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",ft,Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(a["createVNode"])(s,{user:t},null,8,["user"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",_t,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])(u,{to:"/users/".concat(t.username)},{default:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",jt,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.email),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",At,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.format(e.getDateWithTZ(t.created_at,e.authUser.timezone),"dd/MM/yyyy HH:mm")),1)]),Object(a["createVNode"])("td",Nt,[Object(a["createVNode"])("span",Rt,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.nb_workouts),1)]),Object(a["createVNode"])("td",It,[Object(a["createVNode"])("span",gt,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.admin?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",Ut,[Object(a["createVNode"])("span",vt,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("button",{class:{danger:t.admin},disabled:t.username===e.authUser.username,onClick:function(n){return e.updateUser(t.username,!t.admin)}},Object(a["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,["disabled","onClick"])])])})),128))])]),e.pagination.page?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0,path:"/admin/users",pagination:e.pagination,query:e.query},null,8,["pagination","query"])):Object(a["createCommentVNode"])("",!0),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:1,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ht=n("b166"),Pt=n("9176"),Ct=n("6d7d"),Mt=n("97e5"),kt=n("5e65"),Lt=Object(a["defineComponent"])({name:"AdminUsers",components:{FilterSelects:Pt["a"],Pagination:Ct["a"],UserPicture:w["a"]},setup:function(){var e=Object(B["a"])(),t=Object(ie["c"])(),n=Object(ie["d"])(),r=["admin","created_at","username","workouts_count"],o="created_at",c=Object(a["reactive"])(Object(Mt["a"])(t.query,r,o)),i=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.USERS]})),u=Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.USERS_PAGINATION]})),l=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function d(t){e.dispatch(V["e"].ACTIONS.GET_USERS,t)}function O(t,n){e.dispatch(V["e"].ACTIONS.UPDATE_USER,{username:t,admin:n})}function p(e,t){c[e]=t,"per_page"===e&&(c.page=1),n.push({path:"/admin/users",query:c})}return Object(a["onBeforeMount"])((function(){return d(c)})),Object(a["watch"])((function(){return t.query}),(function(e){c=Object(Mt["a"])(e,r,o,{query:c}),d(c)})),Object(a["onUnmounted"])((function(){e.dispatch(V["e"].ACTIONS.EMPTY_USERS)})),{authUser:i,errorMessages:l,orderByList:r,pagination:u,query:c,sortList:Mt["c"],users:s,capitalize:a["capitalize"],format:ht["a"],getDateWithTZ:kt["c"],reloadUsers:p,updateUser:O}}});n("b986");Lt.render=Dt,Lt.__scopeId="data-v-eb17bef8";var zt=Lt,yt=Object(a["withScopeId"])("data-v-c81580c0");Object(a["pushScopeId"])("data-v-c81580c0");var wt={id:"user-profile"},Vt={class:"box"};Object(a["popScopeId"])();var Bt=yt((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserHeader"),s=Object(a["resolveComponent"])("UserProfileTabs"),u=Object(a["resolveComponent"])("router-view");return Object(a["openBlock"])(),Object(a["createBlock"])("div",wt,[Object(a["createVNode"])(i,{user:e.user},null,8,["user"]),Object(a["createVNode"])("div",Vt,[Object(a["createVNode"])(s,{tabs:e.tabs,selectedTab:e.tab,edition:!1},null,8,["tabs","selectedTab"]),Object(a["createVNode"])(u,{user:e.user},null,8,["user"])])])})),Gt=n("3c44"),xt={class:"profile-tabs custom-checkboxes-group"},Ft={class:"profile-tabs-checkboxes custom-checkboxes"};function Wt(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",xt,[Object(a["createVNode"])("div",Ft,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.tabs,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",id:t,name:t,checked:e.selectedTab===t,disabled:e.disabled,onInput:function(n){return e.$router.push(e.getPath(t))}},null,40,["id","name","checked","disabled","onInput"]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}var Kt=Object(a["defineComponent"])({name:"UserProfileTabs",props:{tabs:{type:Object,required:!0},selectedTab:{type:String,required:!0},edition:{type:Boolean,required:!0},disabled:{type:Boolean,default:!1}},setup:function(e){function t(t){switch(t){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":return"/profile".concat(e.edition?"/edit":"","/preferences");default:case"PROFILE":return"/profile".concat(e.edition?"/edit":"")}}return{getPath:t}}});n("d42e");Kt.render=Wt;var $t=Kt,Ht=Object(a["defineComponent"])({name:"ProfileDisplay",components:{UserHeader:Gt["a"],UserProfileTabs:$t},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){return{tabs:["PROFILE","PREFERENCES"]}}});n("7ffe");Ht.render=Bt,Ht.__scopeId="data-v-c81580c0";var Yt=Ht,qt=n("71a7"),Xt=Object(a["withScopeId"])("data-v-39667dbe");Object(a["pushScopeId"])("data-v-39667dbe");var Zt={id:"user-preferences",class:"description-list"},Qt={class:"profile-buttons"};Object(a["popScopeId"])();var Jt=Xt((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Zt,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.language),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.timezone),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.fistDayOfWeek))),1)]),Object(a["createVNode"])("div",Qt,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/preferences")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(a["toDisplayString"])(e.$t("common.HOME")),1)])])})),en=Object(a["defineComponent"])({name:"UserPreferences",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(a["computed"])((function(){return e.user.language?H[e.user.language]:H["en"]})),n=Object(a["computed"])((function(){return e.user.weekm?"MONDAY":"SUNDAY"})),r=Object(a["computed"])((function(){return e.user.timezone?e.user.timezone:"Europe/Paris"}));return{fistDayOfWeek:n,language:t,timezone:r}}});n("cbea");en.render=Jt,en.__scopeId="data-v-39667dbe";var tn=en,nn={id:"user-profile-edition",class:"center-card"};function rn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserProfileTabs"),s=Object(a["resolveComponent"])("router-view"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",nn,[Object(a["createVNode"])(u,null,{title:Object(a["withCtx"])((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.tab,"_EDITION"))),1)]})),content:Object(a["withCtx"])((function(){return[Object(a["createVNode"])(i,{tabs:e.tabs,selectedTab:e.tab,edition:!0,disabled:e.loading},null,8,["tabs","selectedTab","disabled"]),Object(a["createVNode"])(s,{user:e.user},null,8,["user"])]})),_:1})])}var on=Object(a["defineComponent"])({name:"ProfileEdition",components:{UserProfileTabs:$t},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){var e=Object(B["a"])();return{loading:Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.USER_LOADING]})),tabs:["PROFILE","PICTURE","PREFERENCES"]}}});on.render=rn;var an=on,cn={id:"user-infos-edition"},sn={class:"profile-form form-box"},un={class:"form-items",for:"email"},ln={class:"form-items",for:"registrationDate"},dn={class:"form-items",for:"password"},On={class:"form-items",for:"passwordConfirmation"},pn=Object(a["createVNode"])("hr",null,null,-1),bn={class:"form-items",for:"first_name"},mn={class:"form-items",for:"last_name"},Tn={class:"form-items",for:"birth_date"},En={class:"form-items",for:"location"},Sn={class:"form-items"},fn={class:"form-buttons"},_n={class:"confirm",type:"submit"};function jn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("Modal"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("CustomTextArea");return Object(a["openBlock"])(),Object(a["createBlock"])("div",cn,[e.displayModal?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[1]||(t[1]=function(t){return e.deleteAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",sn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[11]||(t[11]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",un,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(a["createVNode"])("input",{id:"email",value:e.user.email,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",ln,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(a["createVNode"])("input",{id:"registrationDate",value:e.registrationDate,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",dn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.password=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password]])]),Object(a["createVNode"])("label",On,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.userForm.password_conf=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password_conf]])]),pn,Object(a["createVNode"])("label",bn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"first_name","onUpdate:modelValue":t[5]||(t[5]=function(t){return e.userForm.first_name=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.first_name]])]),Object(a["createVNode"])("label",mn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"last_name","onUpdate:modelValue":t[6]||(t[6]=function(t){return e.userForm.last_name=t})},null,512),[[a["vModelText"],e.userForm.last_name]])]),Object(a["createVNode"])("label",Tn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[7]||(t[7]=function(t){return e.userForm.birth_date=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.birth_date]])]),Object(a["createVNode"])("label",En,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"location","onUpdate:modelValue":t[8]||(t[8]=function(t){return e.userForm.location=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.location]])]),Object(a["createVNode"])("label",Sn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(a["createVNode"])(u,{name:"bio",charLimit:200,input:e.userForm.bio,disabled:e.loading,onUpdateValue:e.updateBio},null,8,["input","disabled","onUpdateValue"])]),Object(a["createVNode"])("div",fn,[Object(a["createVNode"])("button",_n,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[9]||(t[9]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(a["createVNode"])("button",{class:"danger",onClick:t[10]||(t[10]=Object(a["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],32)])])}var An=Object(a["defineComponent"])({name:"UserInfosEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),r=Object(a["computed"])((function(){return e.user.created_at?Object(ht["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),o=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["b"].GETTERS.ERROR_MESSAGES]})),i=Object(a["ref"])(!1);function s(e){n.first_name=e.first_name?e.first_name:"",n.last_name=e.last_name?e.last_name:"",n.birth_date=e.birth_date?Object(ht["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",n.location=e.location?e.location:"",n.bio=e.bio?e.bio:""}function u(e){n.bio=e}function l(){t.dispatch(V["a"].ACTIONS.UPDATE_USER_PROFILE,n)}function d(e){i.value=e}function O(e){t.dispatch(V["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(a["onMounted"])((function(){e.user&&s(e.user)})),{displayModal:i,errorMessages:c,loading:o,registrationDate:r,userForm:n,deleteAccount:O,updateBio:u,updateDisplayModal:d,updateProfile:l}}});n("57ba");An.render=jn;var Nn=An,Rn=Object(a["withScopeId"])("data-v-2eb0ba24");Object(a["pushScopeId"])("data-v-2eb0ba24");var In={id:"user-picture-edition"},gn={class:"user-picture-form"},Un={class:"picture-buttons"};Object(a["popScopeId"])();var vn=Rn((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("UserPicture");return Object(a["openBlock"])(),Object(a["createBlock"])("div",In,[Object(a["createVNode"])("div",gn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])(s,{user:e.user},null,8,["user"]),Object(a["createVNode"])("form",{onSubmit:t[4]||(t[4]=Object(a["withModifiers"])((function(){return e.updateUserPicture&&e.updateUserPicture.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:t[1]||(t[1]=function(){return e.updatePictureFile&&e.updatePictureFile.apply(e,arguments)})},null,32),Object(a["createVNode"])("div",Un,[Object(a["createVNode"])("button",{type:"submit",disabled:!e.pictureFile},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,["disabled"]),e.user.picture?(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=function(){return e.deleteUserPicture&&e.deleteUserPicture.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=function(t){return e.$router.push("/profile")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(a["toDisplayString"])(e.fileSizeLimit),1)],32)])])})),Dn=Object(a["defineComponent"])({name:"UserPictureEdition",components:{UserPicture:w["a"]},props:{user:{type:Object,required:!0}},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.ERROR_MESSAGES]})),n=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.APP_CONFIG]})),r=n.value.max_single_file_size?Object(je["b"])(n.value.max_single_file_size):"",o=Object(a["ref"])(null);function c(){e.dispatch(V["a"].ACTIONS.DELETE_PICTURE)}function i(e){e.target.files&&(o.value=e.target.files[0])}function s(){o.value&&e.dispatch(V["a"].ACTIONS.UPDATE_USER_PICTURE,{picture:o.value})}return{errorMessages:t,fileSizeLimit:r,pictureFile:o,deleteUserPicture:c,updateUserPicture:s,updatePictureFile:i}}});n("325d");Dn.render=vn,Dn.__scopeId="data-v-2eb0ba24";var hn=Dn,Pn={id:"user-preferences-edition"},Cn={class:"profile-form form-box"},Mn={class:"form-items"},kn={class:"form-items",for:"timezone"},Ln={class:"form-items"},zn={class:"form-buttons"},yn={class:"confirm",type:"submit"};function wn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Pn,[Object(a["createVNode"])("div",Cn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",Mn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"language","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.userForm.language=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.availableLanguages,(function(e){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:e.value,key:e.value},Object(a["toDisplayString"])(e.label),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.language]])]),Object(a["createVNode"])("label",kn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"timezone","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.userForm.timezone=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.timezone]])]),Object(a["createVNode"])("label",Ln,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"weekm","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.weekm=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.weekStart,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:t.value,key:t.value},Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.weekm]])]),Object(a["createVNode"])("div",zn,[Object(a["createVNode"])("button",yn,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],32)])])}var Vn=Object(a["defineComponent"])({name:"UserPreferencesEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({language:"",timezone:"Europe/Paris",weekm:!1}),r=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],o=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function i(e){n.language=e.language?e.language:"en",n.timezone=e.timezone?e.timezone:"Europe/Paris",n.weekm=!!e.weekm&&e.weekm}function s(){t.dispatch(V["a"].ACTIONS.UPDATE_USER_PREFERENCES,n)}return Object(a["onMounted"])((function(){e.user&&i(e.user)})),{availableLanguages:q,errorMessages:c,loading:o,userForm:n,weekStart:r,updateProfile:s}}});Vn.render=wn;var Bn=Vn,Gn=n("5502"),xn=n("ade3"),Fn=n("bc3a"),Wn=n.n(Fn),Kn=Wn.a.create({baseURL:Object(G["a"])()});Kn.interceptors.request.use((function(e){var t=Zr.getters[V["a"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var $n,Hn,Yn,qn,Xn,Zn,Qn,Jn,er,tr,nr,rr,or,ar,cr=Kn,ir=Wn.a.create({baseURL:Object(G["a"])()}),sr=ir,ur=K.global.locale,lr=function(e){localStorage.removeItem("authToken"),e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.EMPTY_USER_STATS),e.commit(V["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(V["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(V["f"].MUTATIONS.EMPTY_WORKOUTS),e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),no.push("/login")},dr=($n={},Object(xn["a"])($n,V["a"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[V["a"].GETTERS.IS_AUTHENTICATED]&&(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE))})),Object(xn["a"])($n,V["a"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(V["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),ur.value=t.data.data.language),e.dispatch(V["c"].ACTIONS.GET_SPORTS)):(Object(G["b"])(e,null),lr(e))})).catch((function(t){Object(G["b"])(e,t),lr(e)}))})),Object(xn["a"])($n,V["a"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),sr.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(V["a"].MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE).then((function(){return no.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")}))}else Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])($n,V["a"].ACTIONS.LOGOUT,(function(e){lr(e)})),Object(xn["a"])($n,V["a"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),cr.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),no.push("/profile")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])($n,V["a"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),cr.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(V["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),ur.value=t.data.data.language,no.push("/profile/preferences")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])($n,V["a"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),cr.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE).then((function(){return no.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])($n,V["a"].ACTIONS.DELETE_ACCOUNT,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.delete("users/".concat(t.username)).then((function(t){204===t.status?e.dispatch(V["a"].ACTIONS.LOGOUT).then((function(){return no.push("/")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])($n,V["a"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),cr.delete("auth/picture").then((function(t){204===t.status?e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE).then((function(){return no.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])($n,V["a"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),sr.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?no.push("/password-reset/sent"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])($n,V["a"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),sr.post("auth/password/update",t).then((function(t){"success"===t.data.status?no.push("/password-reset/password-updated"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),$n),Or=(Hn={},Object(xn["a"])(Hn,V["a"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(xn["a"])(Hn,V["a"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(xn["a"])(Hn,V["a"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(xn["a"])(Hn,V["a"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(xn["a"])(Hn,V["a"].GETTERS.USER_LOADING,(function(e){return e.loading})),Hn),pr=(Yn={},Object(xn["a"])(Yn,V["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(xn["a"])(Yn,V["a"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(xn["a"])(Yn,V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(xn["a"])(Yn,V["a"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),Yn),br={authToken:null,authUserProfile:{},loading:!1},mr={state:br,actions:dr,getters:Or,mutations:pr},Tr=mr,Er=(qn={},Object(xn["a"])(qn,V["b"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),cr.get("config").then((function(t){"success"===t.data.status?e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(xn["a"])(qn,V["b"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("stats/all").then((function(t){"success"===t.data.status?e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])(qn,V["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),no.push("/admin/application")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),qn),Sr=(Xn={},Object(xn["a"])(Xn,V["b"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(xn["a"])(Xn,V["b"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(xn["a"])(Xn,V["b"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(xn["a"])(Xn,V["b"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(xn["a"])(Xn,V["b"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(xn["a"])(Xn,V["b"].GETTERS.LOCALE,(function(e){return e.locale})),Xn),fr=(Zn={},Object(xn["a"])(Zn,V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(xn["a"])(Zn,V["b"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(xn["a"])(Zn,V["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(xn["a"])(Zn,V["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(xn["a"])(Zn,V["b"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(xn["a"])(Zn,V["b"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=$[t]})),Zn),_r={root:!0,language:"en",locale:x["a"],errorMessages:null,application:{},appLoading:!1},jr=(Qn={},Object(xn["a"])(Qn,V["c"].ACTIONS.GET_SPORTS,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("sports").then((function(t){"success"===t.data.status?e.commit(V["c"].MUTATIONS.SET_SPORTS,t.data.data.sports):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])(Qn,V["c"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(V["c"].ACTIONS.GET_SPORTS):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Qn),Ar=Object(xn["a"])({},V["c"].GETTERS.SPORTS,(function(e){return e.sports})),Nr=Object(xn["a"])({},V["c"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),Rr={sports:[]},Ir={state:Rr,actions:jr,getters:Ar,mutations:Nr},gr=Ir,Ur=Object(xn["a"])({},V["d"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(V["d"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),vr=Object(xn["a"])({},V["d"].GETTERS.USER_STATS,(function(e){return e.statistics})),Dr=(Jn={},Object(xn["a"])(Jn,V["d"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(xn["a"])(Jn,V["d"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),Jn),hr={statistics:{}},Pr={state:hr,actions:Ur,getters:vr,mutations:Dr},Cr=Pr,Mr=(er={},Object(xn["a"])(er,V["e"].ACTIONS.EMPTY_USER,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER,{})})),Object(xn["a"])(er,V["e"].ACTIONS.EMPTY_USERS,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(V["e"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(xn["a"])(er,V["e"].ACTIONS.GET_USER,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),cr.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(V["e"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(xn["a"])(er,V["e"].ACTIONS.GET_USERS,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),cr.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(V["e"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(xn["a"])(er,V["e"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(V["e"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),er),kr=(tr={},Object(xn["a"])(tr,V["e"].GETTERS.USER,(function(e){return e.user})),Object(xn["a"])(tr,V["e"].GETTERS.USERS,(function(e){return e.users})),Object(xn["a"])(tr,V["e"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(xn["a"])(tr,V["e"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),tr),Lr=(nr={},Object(xn["a"])(nr,V["e"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(xn["a"])(nr,V["e"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(xn["a"])(nr,V["e"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(xn["a"])(nr,V["e"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(xn["a"])(nr,V["e"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),nr),zr={user:{},users:[],loading:!1,pagination:{}},yr={state:zr,actions:Mr,getters:kr,mutations:Lr},wr=yr,Vr=n("4870"),Br=function(e,t,n){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("workouts",{params:t}).then((function(t){"success"===t.data.status?(e.commit(V["f"].MUTATIONS[n],t.data.data.workouts),n===Vr["c"]["SET_USER_WORKOUTS"]&&e.commit(V["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))},Gr=(rr={},Object(xn["a"])(rr,V["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),Br(e,t,Vr["c"]["SET_CALENDAR_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){Br(e,t,Vr["c"]["SET_USER_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_TIMELINE_WORKOUTS,(function(e,t){Br(e,t,Vr["c"]["SET_TIMELINE_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,(function(e,t){Br(e,t,Vr["c"]["ADD_TIMELINE_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";cr.get("workouts/".concat(t.workoutId)).then((function(r){var o=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===o.segments.length||!o.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(V["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(cr.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),cr.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,null)})).catch((function(t){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),cr.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE),no.push("/")})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),cr.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE),e.dispatch(V["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){no.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["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,'"}')),cr.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];no.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),cr.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];no.push("/workouts/".concat(n.id))}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),rr),xr=(or={},Object(xn["a"])(or,V["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(xn["a"])(or,V["f"].GETTERS.TIMELINE_WORKOUTS,(function(e){return e.timeline_workouts})),Object(xn["a"])(or,V["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(xn["a"])(or,V["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Object(xn["a"])(or,V["f"].GETTERS.WORKOUTS_PAGINATION,(function(e){return e.pagination})),or),Fr=(ar={},Object(xn["a"])(ar,V["f"].MUTATIONS.ADD_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=e.timeline_workouts.concat(t)})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,(function(e,t){e.pagination=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(xn["a"])(ar,V["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]})),Object(xn["a"])(ar,V["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),ar),Wr={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},Kr={state:Wr,actions:Gr,getters:xr,mutations:Fr},$r=Kr,Hr={authUserModule:Tr,sportsModule:gr,statsModule:Cr,usersModule:wr,workoutsModule:$r},Yr={state:_r,actions:Er,getters:Sr,mutations:fr,modules:Hr},qr=Yr,Xr=Object(Gn["a"])(qr),Zr=Xr,Qr=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Jr=[{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:Yt,props:function(e){return{tab:Qr(e.path)}},children:[{path:"",name:"UserInfos",component:qt["a"]},{path:"preferences",name:"UserPreferences",component:tn}]},{path:"edit",name:"UserProfileEdition",component:an,props:function(e){return{tab:Qr(e.path)}},children:[{path:"",name:"UserInfosEdition",component:Nn},{path:"picture",name:"UserPictureEdition",component:hn},{path:"preferences",name:"UserPreferencesEdition",component:Bn}]}]},{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:xe},{path:"application",name:"ApplicationAdministration",component:Ne},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ne,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:dt},{path:"users",name:"UsersAdministration",component:zt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],eo=Object(ie["a"])({history:Object(ie["b"])("/"),routes:Jr}),to=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];eo.beforeEach((function(e,t,n){Zr.dispatch(V["a"].ACTIONS.CHECK_AUTH_USER).then((function(){if(Zr.getters[V["a"].GETTERS.IS_AUTHENTICATED]&&to.includes(e.path))return n("/");if(Zr.getters[V["a"].GETTERS.IS_AUTHENTICATED]||to.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 no=eo,ro=Object(a["withScopeId"])("data-v-f5e8066a");Object(a["pushScopeId"])("data-v-f5e8066a");var oo={class:"alert-message"};Object(a["popScopeId"])();var ao=ro((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",oo,[Object(a["createVNode"])("div",{innerHTML:e.$t(e.message)},null,8,["innerHTML"])])})),co=Object(a["defineComponent"])({name:"AlertMessage",props:{message:String}});n("f5dfd");co.render=ao,co.__scopeId="data-v-f5e8066a";var io=co,so=Object(a["withScopeId"])("data-v-ad3739fc");Object(a["pushScopeId"])("data-v-ad3739fc");var uo={class:"custom-textarea"},lo={class:"remaining-chars"};Object(a["popScopeId"])();var Oo=so((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",uo,[Object(a["withDirectives"])(Object(a["createVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.text=t}),onInput:t[2]||(t[2]=function(){return e.updateText&&e.updateText.apply(e,arguments)})},null,40,["id","name","maxLenght","disabled"]),[[a["vModelText"],e.text]]),Object(a["createVNode"])("div",lo,Object(a["toDisplayString"])(e.$t("workouts.REMAINING_CHARS"))+": "+Object(a["toDisplayString"])(e.text.length)+"/"+Object(a["toDisplayString"])(e.charLimit),1)])})),po=(n("a9e3"),Object(a["defineComponent"])({name:"CustomTextArea",props:{charLimit:{type:Number,default:500},disabled:{type:Boolean,default:!1},input:{type:String,default:""},name:{type:String,required:!0}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=Object(a["ref"])("");function o(e){n("updateValue",e.target.value)}return Object(a["watch"])((function(){return e.input}),(function(e){r.value=e})),{text:r,updateText:o}}}));n("aa0a");po.render=Oo,po.__scopeId="data-v-ad3739fc";var bo=po,mo=Object(a["withScopeId"])("data-v-5ef2ddef");Object(a["pushScopeId"])("data-v-5ef2ddef");var To={class:"dropdown-wrapper"},Eo={key:0,class:"dropdown-list"};Object(a["popScopeId"])();var So=mo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",To,[Object(a["createVNode"])("div",{class:"dropdown-selected",onClick:t[1]||(t[1]=function(){return e.toggleDropdown&&e.toggleDropdown.apply(e,arguments)})},[Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)]),e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",Eo,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.dropdownOptions,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{class:["dropdown-item",{selected:t.value===e.selected}],key:n,onClick:function(n){return e.updateSelected(t)}},Object(a["toDisplayString"])(t.label),11,["onClick"])})),128))])):Object(a["createCommentVNode"])("",!0)])})),fo=Object(a["defineComponent"])({name:"Dropdown",props:{options:{type:Object,required:!0},selected:{type:String,required:!0}},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=Object(ie["c"])(),o=Object(a["ref"])(!1),c=e.options.map((function(e){return e}));function i(){o.value=!o.value}function s(e){n("selected",e),o.value=!1}return Object(a["watch"])((function(){return r.path}),(function(){return o.value=!1})),{dropdownOptions:c,isOpen:o,toggleDropdown:i,updateSelected:s}}});n("95ba");fo.render=So,fo.__scopeId="data-v-5ef2ddef";var _o=fo,jo=Object(a["withScopeId"])("data-v-5c177a93");Object(a["pushScopeId"])("data-v-5c177a93");var Ao={class:"error-message"},No={key:0},Ro={key:1};Object(a["popScopeId"])();var Io=jo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ao,[Array.isArray(e.message)?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",No,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.message,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{key:n},Object(a["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ro,Object(a["toDisplayString"])(e.$t(e.message)),1))])})),go=Object(a["defineComponent"])({name:"ErrorMessage",props:{message:[String,Array]}});n("4b55");go.render=Io,go.__scopeId="data-v-5c177a93";var Uo=go;function vo(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("CyclingSport"),s=Object(a["resolveComponent"])("CyclingTransport"),u=Object(a["resolveComponent"])("Hiking"),l=Object(a["resolveComponent"])("MountainBiking"),d=Object(a["resolveComponent"])("Running"),O=Object(a["resolveComponent"])("Walking");return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"sport-img",style:{fill:e.sportColors[e.sportLabel]},title:e.title?e.title:e.$t("sports.".concat(e.sportLabel,".LABEL"))},["Cycling (Sport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0})):Object(a["createCommentVNode"])("",!0),"Cycling (Transport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:1})):Object(a["createCommentVNode"])("",!0),"Hiking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2})):Object(a["createCommentVNode"])("",!0),"Mountain Biking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:3})):Object(a["createCommentVNode"])("",!0),"Running"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:4})):Object(a["createCommentVNode"])("",!0),"Walking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(O,{key:5})):Object(a["createCommentVNode"])("",!0)],12,["title"])}var Do={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"},ho=Object(a["createVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),Po=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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);function Co(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Do,[ho,Po])}var Mo={name:"CyclingSport"};Mo.render=Co;var ko=Mo,Lo={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"},zo=Object(a["createVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),yo=Object(a["createVNode"])("g",{id:"g147"},[Object(a["createVNode"])("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(a["createVNode"])("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);function wo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Lo,[zo,yo])}var Vo={name:"CyclingTransport"};Vo.render=wo;var Bo=Vo,Go={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"},xo=Object(a["createVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),Fo=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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);function Wo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Go,[xo,Fo])}var Ko={name:"Hiking"};Ko.render=Wo;var $o=Ko,Ho={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"},Yo=Object(a["createVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),qo=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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(a["createVNode"])("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);function Xo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Ho,[Yo,qo])}var Zo={name:"MountainBiking"};Zo.render=Xo;var Qo=Zo,Jo={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"},ea=Object(a["createVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),ta=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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);function na(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Jo,[ea,ta])}var ra={name:"Running"};ra.render=na;var oa=ra,aa={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"},ca=Object(a["createVNode"])("desc",{id:"walkingDescription"},"silhouette of a walking person",-1),ia=Object(a["createVNode"])("defs",{id:"defs797"},null,-1),sa=Object(a["createVNode"])("g",{id:"g792"},[Object(a["createVNode"])("path",{d:"m 272.74,80.771 c 22.318,0 40.401,-18.08 40.401,-40.389 C 313.141,18.084 295.058,0 272.74,0 c -22.281,0 -40.378,18.084 -40.378,40.383 0,22.308 18.096,40.388 40.378,40.388 z",id:"path788"}),Object(a["createVNode"])("path",{d:"m 328.5854,174.48445 -40.64148,10.93729 4.76008,-51.90474 0.123,-0.944 c 1.384,-10.514 -1.475,-21.146 -7.94,-29.556 -6.461,-8.409 -16.007,-13.903 -26.52,-15.287 -10.926,-1.429 -22.619,3.12 -31.206,8.646 -1.441,0.928 -84.97,54.921 -84.97,54.921 -5.175,3.358 -8.542,8.877 -9.165,15.016 -0.634,6.13 1.574,12.222 5.976,16.541 l 58.982,58 -6.417,48.954 -25.88143,79.08977 -54.08338,43.67932 c -14.762199,11.1022 -24.410111,22.37008 -15.912276,36.07186 8.515526,13.68031 27.439076,15.75973 42.273746,4.63076 l 48.9456,-38.84296 c 12.09075,-7.84858 23.84126,-20.18502 28.3003,-35.27702 L 235.052,315.187 l 26.365,36.639 6.684,119.628 c 0.73,12.991 11.501,23.036 24.349,23.036 0.441,0 0.92,-0.016 1.379,-0.039 13.453,-0.748 23.745,-12.262 23,-25.713 l -7.083,-126.736 c -0.271,-4.643 -1.846,-9.116 -4.56,-12.887 l -32.24,-44.811 7.981,-57.1 c -15.00943,6.0905 -25.84439,5.48716 0,0 l 59.50354,-17.8263 c 10.75379,-3.22166 16.4326,-12.34116 13.52152,-25.36894 -2.44853,-10.95778 -14.74571,-13.15695 -25.36666,-9.52431 z M 204.606,190.357 185.58,171.64 209.056,156.434 Z",id:"path790"})],-1);function ua(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",aa,[ca,ia,sa])}var la={name:"Walking"};la.render=ua;var da=la,Oa=Object(a["defineComponent"])({name:"SportImage",components:{CyclingSport:ko,CyclingTransport:Bo,Hiking:$o,MountainBiking:Qo,Running:oa,Walking:da},props:{sportLabel:{type:String,required:!0},title:{type:String,required:!1}},setup:function(){return{sportColors:Object(a["inject"])("sportColors")}}});Oa.render=vo;var pa=Oa,ba=Object(a["withScopeId"])("data-v-8bf75da8");Object(a["pushScopeId"])("data-v-8bf75da8");var ma={class:"loader"};Object(a["popScopeId"])();var Ta=ba((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",ma)})),Ea=Object(a["defineComponent"])({name:"Loader"});n("b373");Ea.render=Ta,Ea.__scopeId="data-v-8bf75da8";var Sa=Ea,fa=Object(a["withScopeId"])("data-v-366182c4");Object(a["pushScopeId"])("data-v-366182c4");var _a={id:"modal"},ja={class:"custom-modal"},Aa={key:0,class:"modal-message"},Na={key:1,class:"modal-message"},Ra={class:"modal-buttons"};Object(a["popScopeId"])();var Ia=fa((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("i18n-t"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",_a,[Object(a["createVNode"])("div",ja,[Object(a["createVNode"])(u,null,{title:fa((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.title),1)]})),content:fa((function(){return[e.strongMessage?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Aa,[Object(a["createVNode"])(i,{keypath:e.message},{default:fa((function(){return[Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.strongMessage),1)]})),_:1},8,["keypath"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Na,Object(a["toDisplayString"])(e.message),1)),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:2,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",Ra,[e.errorMessages?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"confirm",onClick:t[1]||(t[1]=function(t){return e.emit("confirmAction")})},Object(a["toDisplayString"])(e.$t("buttons.YES")),1)),Object(a["createVNode"])("button",{class:"cancel",onClick:t[2]||(t[2]=function(t){return e.emit("cancelAction")})},Object(a["toDisplayString"])(e.$t("buttons.".concat(e.errorMessages?"CANCEL":"NO"))),1)])]})),_:1})])])})),ga=Object(a["defineComponent"])({name:"Modal",props:{title:{type:String,required:!0},message:{type:String,required:!0},strongMessage:{type:String||null,default:null}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=Object(B["a"])(),o=Object(a["computed"])((function(){return r.getters[V["b"].GETTERS.ERROR_MESSAGES]}));return Object(a["onUnmounted"])((function(){return r.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),{errorMessages:o,emit:n}}});n("25ba");ga.render=Ia,ga.__scopeId="data-v-366182c4";var Ua=ga,va=[io,Be,bo,_o,Uo,Sa,Ua,pa],Da={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"],o["a"]);var ha=Object(a["createApp"])(ce).provide("sportColors",ut["b"]).use(K).use(Zr).use(no).directive("click-outside",Da);va.forEach((function(e){ha.component(e.name,e)})),ha.mount("#app")},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("ac1f"),n("1276");var r=n("dad5"),o=function(){return"/api/"},a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",o=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,o.includes("\n")?o.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(o))}},d42e:function(e,t,n){"use strict";n("dc79")},da66:function(e,t,n){},dad5:function(e,t,n){"use strict";var r,o,a,c,i,s,u,l,d,O,p,b,m,T,E;n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return _})),n.d(t,"d",(function(){return j})),n.d(t,"a",(function(){return A})),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"}(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"}(o||(o={})),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"}(a||(a={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(c||(c={})),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"}(u||(u={})),function(e){e["SPORTS"]="SPORTS"}(l||(l={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(O||(O={})),function(e){e["USER_STATS"]="USER_STATS"}(p||(p={})),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"}(m||(m={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(T||(T={})),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"}(E||(E={}));var S=n("4870"),f={ACTIONS:c,GETTERS:i,MUTATIONS:s},_={ACTIONS:u,GETTERS:l,MUTATIONS:d},j={ACTIONS:O,GETTERS:p,MUTATIONS:b},A={ACTIONS:r,GETTERS:o,MUTATIONS:a},N={ACTIONS:m,GETTERS:T,MUTATIONS:E},R={ACTIONS:S["a"],GETTERS:S["b"],MUTATIONS:S["c"]}},dc79:function(e,t,n){},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id="e7b6"},edb9:function(e,t,n){},ee25:function(e,t,n){},f037:function(e,t,n){"use strict";n("aa8e")},f5dfd:function(e,t,n){"use strict";n("9838")},fb34:function(e,t,n){},fb41:function(e,t,n){}}); -//# sourceMappingURL=app.2237b298.js.map \ No newline at end of file +(function(e){function t(t){for(var r,o,i=t[0],s=t[1],u=t[2],l=0,d=[];lr?1:n2&&void 0!==arguments[2]&&arguments[2];return e.filter((function(e){return!n||e.is_active})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(c)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]}},"13dc":function(e,t,n){"use strict";n("c0dc")},"16c2":function(e,t,n){"use strict";n("a03e")},1850:function(e,t,n){"use strict";n("da66")},"18b2":function(e,t,n){},"1f4c":function(e,t,n){},2024:function(e,t,n){},"21a0":function(e,t,n){"use strict";n("8f8e")},"25ba":function(e,t,n){"use strict";n("cabe")},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n("5502");function o(){return Object(r["b"])()}},3214:function(e,t,n){"use strict";n("2024")},3853:function(e,t,n){"use strict";n("c75e")},"3c44":function(e,t,n){"use strict";n("b680"),n("a9e3");var r=n("7a23"),o=Object(r["withScopeId"])("data-v-a6fa997c");Object(r["pushScopeId"])("data-v-a6fa997c");var a={class:"box user-header"},c={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},u={class:"user-stat"},l={class:"stat-number"},d={class:"stat-label"},O={class:"user-stat"},p={class:"stat-number"},b=Object(r["createVNode"])("span",{class:"stat-label"},"km",-1),m={class:"user-stat hide-small"},T={class:"stat-number"},E={class:"stat-label"};Object(r["popScopeId"])();var S=o((function(e,t,n,o,S,f){var _=Object(r["resolveComponent"])("UserPicture");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])(_,{user:e.user},null,8,["user"]),Object(r["createVNode"])("div",c,[Object(r["createVNode"])("div",i,Object(r["toDisplayString"])(e.user.username),1),Object(r["createVNode"])("div",s,[Object(r["createVNode"])("div",u,[Object(r["createVNode"])("span",l,Object(r["toDisplayString"])(e.user.nb_workouts),1),Object(r["createVNode"])("span",d,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",e.user.nb_workouts)),1)]),Object(r["createVNode"])("div",O,[Object(r["createVNode"])("span",p,Object(r["toDisplayString"])(Number(e.user.total_distance).toFixed(0)),1),b]),Object(r["createVNode"])("div",m,[Object(r["createVNode"])("span",T,Object(r["toDisplayString"])(e.user.nb_sports),1),Object(r["createVNode"])("span",E,Object(r["toDisplayString"])(e.$t("workouts.SPORT",e.user.nb_sports)),1)])])])])})),f=n("c46a"),_=Object(r["defineComponent"])({name:"ProfileDisplay",components:{UserPicture:f["a"]},props:{user:{type:Object,required:!0}}});n("5085");_.render=S,_.__scopeId="data-v-a6fa997c";t["a"]=_},4870:function(e,t,n){"use strict";var r,o,a;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return a})),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"}(o||(o={})),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"}(a||(a={}))},"4a13":function(e,t,n){"use strict";n("92d6")},"4b55":function(e,t,n){"use strict";n("8384")},"4c14":function(e,t,n){"use strict";n("abe8")},5085:function(e,t,n){"use strict";n("1f4c")},"57ba":function(e,t,n){"use strict";n("18b2")},"5df8":function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return p})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return m})),n.d(t,"b",(function(){return T})),n.d(t,"a",(function(){return E}));var r=n("69eb"),o=n("d6e9"),a=n("f628"),c=n("f7f1"),i=n("cdb6"),s=n("74b5"),u=n("8cac"),l=n("2fc8"),d=n("b166"),O=n("78b2"),p=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(o["a"])(t);case"month":return Object(a["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(c["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,'"'))}},m=function(e,t){return Object(O["a"])(new Date(e),t)},T=function(e,t){var n=Object(a["a"])(e),o=Object(u["a"])(e),c=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:c}),end:Object(l["a"])(o,{weekStartsOn:c})}},E=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(d["a"])(e,t),workout_time:Object(d["a"])(e,n)}}},"608d":function(e,t,n){"use strict";n("90b9")},"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"])}}}}},o={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"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},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"])}},c={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"])}}},u={"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"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},l={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"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},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"])},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"])},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"])}},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"])}},O={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"])},KM:e=>{const{normalize:t}=e;return t(["km"])},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"])},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:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},"6d7d":function(e,t,n){"use strict";var r=n("7a23"),o=Object(r["withScopeId"])("data-v-56dc89d4");Object(r["pushScopeId"])("data-v-56dc89d4");var a={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},i=Object(r["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),s={key:0},u=Object(r["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1);Object(r["popScopeId"])();var l=o((function(e,t,n,l,d,O){var p=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createBlock"])("nav",a,[Object(r["createVNode"])("ul",c,[Object(r["createVNode"])("li",{class:["page-prev",{disabled:!e.pagination.has_prev}]},[Object(r["createVNode"])(p,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,-1)},event:e.pagination.has_prev?"click":"",disabled:!e.pagination.has_prev},{default:o((function(){return[i,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.rangePagination(e.pagination.pages,e.pagination.page),(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("li",{key:t,class:["page",{active:t===e.pagination.page}]},["..."===t?(Object(r["openBlock"])(),Object(r["createBlock"])("span",s," ... ")):(Object(r["openBlock"])(),Object(r["createBlock"])(p,{key:1,class:"page-link",to:{path:e.path,query:e.getQuery(+t)}},{default:o((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(t),1)]})),_:2},1032,["to"]))],2)})),128)),Object(r["createVNode"])("li",{class:["page-next",{disabled:!e.pagination.has_next}]},[Object(r["createVNode"])(p,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,1)},event:e.pagination.has_next?"click":"",disabled:!e.pagination.has_next},{default:o((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("api.PAGINATION.NEXT"))+" ",1),u]})),_:1},8,["to","event","disabled"])],2)])])})),d=n("97e5"),O=Object(r["defineComponent"])({name:"Pagination",props:{pagination:{type:Object,required:!0},path:{type:String,required:!0},query:{type:Object,required:!0}},setup:function(e){function t(t,n){var r=Object.assign({},e.query);return r.page=n?t+n:t,r}return{rangePagination:d["b"],getQuery:t}}});n("1850");O.render=l,O.__scopeId="data-v-56dc89d4";t["a"]=O},"6eb4":function(e,t,n){},"71a7":function(e,t,n){"use strict";var r=n("7a23"),o=Object(r["withScopeId"])("data-v-17c7b32c");Object(r["pushScopeId"])("data-v-17c7b32c");var a={id:"user-infos",class:"description-list"},c={class:"user-bio"},i={key:1,class:"profile-buttons"},s={key:2,class:"profile-buttons"};Object(r["popScopeId"])();var u=o((function(e,t,n,o,u,l){var d=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[e.displayModal?(Object(r["openBlock"])(),Object(r["createBlock"])(d,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:e.user.username,onConfirmAction:t[1]||(t[1]=function(t){return e.deleteUserAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("dl",null,[Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.registrationDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.first_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.last_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.birthDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.location),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createVNode"])("dd",c,Object(r["toDisplayString"])(e.user.bio),1)]),e.fromAdmin?(Object(r["openBlock"])(),Object(r["createBlock"])("div",i,[e.authUser.username!==e.user.username?(Object(r["openBlock"])(),Object(r["createBlock"])("button",{key:0,class:"danger",onClick:t[3]||(t[3]=Object(r["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",s,[Object(r["createVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])})),l=n("b166"),d=n("dad5"),O=n("2906"),p=Object(r["defineComponent"])({name:"UserInfos",props:{user:{type:Object,required:!0},fromAdmin:{type:Boolean,default:!1}},setup:function(e){var t=Object(O["a"])(),n=Object(r["computed"])((function(){return t.getters[d["a"].GETTERS.AUTH_USER_PROFILE]})),o=Object(r["computed"])((function(){return e.user.created_at?Object(l["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),a=Object(r["computed"])((function(){return e.user.birth_date?Object(l["a"])(new Date(e.user.birth_date),"dd/MM/yyyy"):""})),c=Object(r["ref"])(!1);function i(e){c.value=e}function s(e){t.dispatch(d["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return{authUser:n,birthDate:a,displayModal:c,registrationDate:o,deleteUserAccount:s,updateDisplayModal:i}}});n("4c14");p.render=u,p.__scopeId="data-v-17c7b32c";t["a"]=p},"79e1":function(e,t,n){"use strict";n("851f")},"7b3e":function(e,t,n){"use strict";n("b715")},"7ffe":function(e,t,n){"use strict";n("9f54")},8384:function(e,t,n){},"851f":function(e,t,n){},"85fa":function(e,t,n){"use strict";n("0a59")},"8f8e":function(e,t,n){},"90b9":function(e,t,n){},9176:function(e,t,n){"use strict";n("99af"),n("4e82");var r=n("7a23"),o=Object(r["withScopeId"])("data-v-50c78582");Object(r["pushScopeId"])("data-v-50c78582");var a={class:"table-selects"};Object(r["popScopeId"])();var c=o((function(e,t,n,o,c,i){return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"order_by",id:"order_by",value:e.query.order_by,onChange:t[1]||(t[1]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.order_by,(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("".concat(e.message,".").concat(t.toUpperCase()))),9,["value"])})),128))],40,["value"])]),Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"order",id:"order",value:e.query.order,onChange:t[2]||(t[2]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.sort,(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.".concat(t.toUpperCase()))),9,["value"])})),128))],40,["value"])]),Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"per_page",id:"per_page",value:e.query.per_page,onChange:t[3]||(t[3]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.per_page,(function(e){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:e,key:e},Object(r["toDisplayString"])(e),9,["value"])})),128))],40,["value"])])])})),i=Object(r["defineComponent"])({name:"FilterSelects",props:{order_by:{type:Object,required:!0},query:{type:Object,required:!0},sort:{type:Object,required:!0},message:{type:String,required:!0}},emits:["updateSelect"],setup:function(e,t){var n=t.emit;function r(e){n("updateSelect",e.target.id,e.target.value)}return{per_page:[10,25,50,100],onSelectUpdate:r}}});n("79e1");i.render=c,i.__scopeId="data-v-50c78582";t["a"]=i},9242:function(e,t,n){"use strict";n("ee25")},"92d6":function(e,t,n){},"95ba":function(e,t,n){"use strict";n("6eb4")},"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 u})),n.d(t,"b",(function(){return d}));n("caad"),n("2532"),n("a630"),n("3ca3"),n("99af");var r=["asc","desc"],o=1,a=10,c=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 u=s||{},l=u.defaultSort||"asc",d=u.query||{};return d.page=c(e.page,o),d.per_page=c(e.per_page,a),d.order=i(e.order,r,l),d.order_by=i(e.order_by,t,n),d},u=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],l=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}))},d=function(e,t){if(e<0)return[];if(e<9)return l(e);var n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(l(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"])}}}}},o={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"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},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"])}},c={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"])}}},u={"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"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},l={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"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},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"])},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"])},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"])}},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"])}},O={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"])},KM:e=>{const{normalize:t}=e;return t(["km"])},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"])},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:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],o=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 o=(e/Math.pow(1024,n)).toFixed(1),a=r[n];return t?"".concat(o).concat(a):{size:o,suffix:a}},a=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";var r=n("7a23"),o={class:"user-picture"},a={key:1,class:"no-picture"},c=Object(r["createVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1);function i(e,t,n,i,s,u){return Object(r["openBlock"])(),Object(r["createBlock"])("div",o,[""!==e.authUserPictureUrl?(Object(r["openBlock"])(),Object(r["createBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:e.authUserPictureUrl},null,8,["alt","src"])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[c]))])}n("99af");var s=n("d257"),u=Object(r["defineComponent"])({name:"UserPicture",props:{user:{type:Object,required:!0}},setup:function(e){return{authUserPictureUrl:Object(r["computed"])((function(){return e.user.picture?"".concat(Object(s["a"])(),"users/").concat(e.user.username,"/picture"):""}))}}});n("13dc");u.render=i;t["a"]=u},c75e:function(e,t,n){},cabe:function(e,t,n){},cbea:function(e,t,n){"use strict";n("fb41")},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("159b"),n("b0c0");var r=n("9b4a"),o=n("d9fa"),a=n("7a23"),c=n("9483");Object(c["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=Object(a["withScopeId"])("data-v-317a6409");Object(a["pushScopeId"])("data-v-317a6409");var s=Object(a["createVNode"])("div",{id:"top"},null,-1),u={key:0,class:"app-container"},l={class:"app-loading"},d={class:"container scroll"},O=Object(a["createVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var p=i((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("NavBar"),p=Object(a["resolveComponent"])("Loader"),b=Object(a["resolveComponent"])("router-view"),m=Object(a["resolveComponent"])("NoConfig"),T=Object(a["resolveComponent"])("Footer");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[s,Object(a["createVNode"])(i,{onMenuInteraction:e.updateHideScrollBar},null,8,["onMenuInteraction"]),e.appLoading?(Object(a["openBlock"])(),Object(a["createBlock"])("div",u,[Object(a["createVNode"])("div",l,[Object(a["createVNode"])(p)])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,class:["app-container",{"hide-scroll":e.hideScrollBar}]},[e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:0})):(Object(a["openBlock"])(),Object(a["createBlock"])(m,{key:1}))],2)),Object(a["createVNode"])("div",d,[Object(a["createVNode"])("div",{class:["scroll-button",{"display-button":e.displayScrollButton}],onClick:t[1]||(t[1]=function(){return e.scrollToTop&&e.scrollToTop.apply(e,arguments)})},[O],2)]),e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(T,{key:2,version:e.appConfig?e.appConfig.version:""},null,8,["version"])):Object(a["createCommentVNode"])("",!0)],64)})),b=Object(a["withScopeId"])("data-v-e1641806");Object(a["pushScopeId"])("data-v-e1641806");var m={id:"footer"},T={class:"footer-items"},E={class:"footer-item"},S=Object(a["createVNode"])("strong",null,"FitTrackee",-1),f=Object(a["createStaticVNode"])('',4);Object(a["popScopeId"])();var _=b((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",m,[Object(a["createVNode"])("div",T,[Object(a["createVNode"])("div",E,[S,Object(a["createTextVNode"])(" v"+Object(a["toDisplayString"])(e.version),1)]),f])])})),j=Object(a["defineComponent"])({name:"Footer",props:{version:{type:String,required:!0}}});n("7b3e");j.render=_,j.__scopeId="data-v-e1641806";var A=j,N=Object(a["withScopeId"])("data-v-9d3d8adc");Object(a["pushScopeId"])("data-v-9d3d8adc");var R={id:"nav"},I={class:"nav-container"},g={class:"nav-app-name"},U={class:"nav-items-close"},v=Object(a["createVNode"])("div",{class:"app-name"},"FitTrackee",-1),D={key:0,class:"nav-items-group"},h=Object(a["createVNode"])("div",{class:"nav-item nav-separator"},null,-1),P={class:"nav-items-user-menu"},C={key:0,class:"nav-items-group"},M={class:"nav-item nav-profile-img"},k={key:1,class:"nav-items-group"},L=Object(a["createVNode"])("i",{class:"fa fa-language"},null,-1);Object(a["popScopeId"])();var z=N((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("router-link"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("Dropdown");return Object(a["openBlock"])(),Object(a["createBlock"])("div",R,[Object(a["createVNode"])("div",I,[Object(a["createVNode"])("div",g,[Object(a["createVNode"])("div",{class:"nav-item app-name",onClick:t[1]||(t[1]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(a["createVNode"])("div",{class:["nav-icon-open",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[2]||(t[2]=function(t){return e.openMenu()})})],2),Object(a["createVNode"])("div",{class:["nav-items",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("div",U,[v,Object(a["createVNode"])("i",{class:["fa fa-close close-icon nav-item",{"menu-closed":!e.isMenuOpen}],onClick:t[3]||(t[3]=function(t){return e.closeMenu()})},null,2)]),Object(a["createVNode"])("div",{class:"nav-items-app-menu",onClick:t[4]||(t[4]=function(t){return e.closeMenu()})},[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",D,[Object(a["createVNode"])(i,{class:"nav-item",to:"/"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/statistics"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts/add"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),e.isAuthenticated&&e.authUser.admin?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,class:"nav-item",to:"/admin"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(a["createCommentVNode"])("",!0),h])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",P,[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",C,[Object(a["createVNode"])("div",M,[Object(a["createVNode"])(s,{user:e.authUser},null,8,["user"])]),Object(a["createVNode"])(i,{class:"nav-item",to:"/profile",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.authUser.username),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])("div",{class:"nav-item nav-link",onClick:t[5]||(t[5]=function(){return e.logout&&e.logout.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",k,[Object(a["createVNode"])(i,{class:"nav-item",to:"/login",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])(i,{class:"nav-item",to:"/register",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1},8,["onClick"])])),e.availableLanguages&&e.language?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2,class:"nav-item",options:e.availableLanguages,selected:e.language,onSelected:e.updateLanguage},{default:N((function(){return[L]})),_:1},8,["options","selected","onSelected"])):Object(a["createCommentVNode"])("",!0)])],2)])])})),y=(n("99af"),n("d3b7"),n("25f0"),n("47e2")),w=n("c46a"),V=n("dad5"),B=n("2906"),G=n("d257"),x=(n("d81d"),n("8923")),F=n("d481");n("ddb0"),n("ac1f"),n("466d");function W(){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 o=r[1];t[o]=e(n).default}})),t}var K=Object(y["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:W()}),$={en:x["a"],fr:F["a"]},H={en:"English",fr:"Français"},Y=K.global.availableLocales,q=Y.map((function(e){return{label:H[e],value:e}})),X=Object(a["defineComponent"])({name:"NavBar",components:{UserPicture:w["a"]},emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(y["b"])(),o=r.locale,c=Object(B["a"])(),i=Object(a["computed"])((function(){return c.getters[V["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return c.getters[V["a"].GETTERS.IS_AUTHENTICATED]})),u=Object(a["computed"])((function(){return s.value&&i.value.picture?"".concat(Object(G["a"])(),"/users/").concat(i.value.username,"/picture?").concat(Date.now()):""})),l=Object(a["computed"])((function(){return c.getters[V["b"].GETTERS.LANGUAGE]})),d=Object(a["ref"])(!1);function O(){d.value=!0,n("menuInteraction",!0)}function p(){d.value=!1,n("menuInteraction",!1)}function b(e){o.value=e.value.toString(),c.commit(V["b"].MUTATIONS.UPDATE_LANG,e.value)}function m(){c.dispatch(V["a"].ACTIONS.LOGOUT)}return{availableLanguages:q,authUser:i,authUserPictureUrl:u,isAuthenticated:s,isMenuOpen:d,language:l,capitalize:a["capitalize"],openMenu:O,closeMenu:p,updateLanguage:b,logout:m}}});n("9242");X.render=z,X.__scopeId="data-v-9d3d8adc";var Z=X,Q=Object(a["withScopeId"])("data-v-01d4a985");Object(a["pushScopeId"])("data-v-01d4a985");var J={id:"no-config"},ee={class:"error-page"},te=Object(a["createVNode"])("div",{class:"error-img"},[Object(a["createVNode"])("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},[Object(a["createVNode"])("g",{id:"error"},[Object(a["createVNode"])("path",{class:"error-page-img",d:"M 0 0 C 0 11.300781 0 399.777344 0 410 L 512 410 C 512 402.324219 512 2.425781 512 0 Z M 370 71 L 370 30 L 411 30 L 411 71 Z M 30 30 L 340 30 L 340 71 L 30 71 Z M 482 380 L 30 380 L 30 101 L 482 101 Z M 441 71 L 441 30 L 482 30 L 482 71 Z M 441 71 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 325.519531 297.070312 C 294.328125 265.878906 294.328125 215.125 325.519531 183.929688 L 304.304688 162.71875 C 261.417969 205.605469 261.417969 275.390625 304.304688 318.28125 Z M 325.519531 297.070312 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 180 L 237.089844 180 L 237.089844 220 L 197.089844 220 Z M 197.089844 180 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 261 L 237.089844 261 L 237.089844 301 L 197.089844 301 Z M 197.089844 261 "})])])],-1);Object(a["popScopeId"])();var ne=Q((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",J,[Object(a["createVNode"])("div",ee,[te,Object(a["createVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,["innerHTML"])])])})),re=Object(a["defineComponent"])({name:"NoConfig",setup:function(){var e=Object(y["b"])(),t=e.t;return{t:t}}});n("f037");re.render=ne,re.__scopeId="data-v-01d4a985";var oe=re,ae=Object(a["defineComponent"])({name:"App",components:{Footer:A,NavBar:Z,NoConfig:oe},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.APP_CONFIG]})),n=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.APP_LOADING]})),r=Object(a["ref"])(!1),o=Object(a["ref"])(!1);function c(e){r.value=e}function i(e){return e.getBoundingClientRect().top=0}function s(){window.onscroll=function(){var e=document.querySelector("#bottom");o.value=null!==e&&i(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){o.value=!1}),300)}return Object(a["onBeforeMount"])((function(){return e.dispatch(V["b"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(a["onMounted"])((function(){return s()})),{appConfig:t,appLoading:n,hideScrollBar:r,displayScrollButton:o,scrollToTop:u,updateHideScrollBar:c}}});n("608d");ae.render=p,ae.__scopeId="data-v-317a6409";var ce=ae,ie=(n("5319"),n("3ca3"),n("caad"),n("6c02")),se=Object(a["withScopeId"])("data-v-26175b66");Object(a["pushScopeId"])("data-v-26175b66");var ue={id:"admin-app",class:"admin-card"},le={for:"max_users"},de={class:"user-limit-help"},Oe={class:"info-box"},pe=Object(a["createVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1),be={for:"max_single_file_size"},me={for:"max_zip_file_size"},Te={for:"gpx_limit_import"},Ee={key:1,class:"form-buttons"},Se={class:"confirm",type:"submit"},fe={key:2,class:"form-buttons"};Object(a["popScopeId"])();var _e=se((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",ue,[Object(a["createVNode"])(s,null,{title:se((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.TITLE")),1)]})),content:se((function(){return[Object(a["createVNode"])("form",{class:"admin-form",onSubmit:t[8]||(t[8]=Object(a["withModifiers"])((function(){return e.onSubmit&&e.onSubmit.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",le,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.appData.max_users=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_users]])]),Object(a["createVNode"])("div",de,[Object(a["createVNode"])("span",Oe,[pe,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(a["createVNode"])("label",be,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.appData.max_single_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_single_file_size]])]),Object(a["createVNode"])("label",me,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.appData.max_zip_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_zip_file_size]])]),Object(a["createVNode"])("label",Te,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.appData.gpx_limit_import=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.gpx_limit_import]])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),e.edition?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ee,[Object(a["createVNode"])("button",Se,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.onCancel&&e.onCancel.apply(e,arguments)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",fe,[Object(a["createVNode"])("button",{class:"confirm",onClick:t[6]||(t[6]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin/application/edit")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.EDIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[7]||(t[7]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)]))],32)]})),_:1})])})),je=(n("b64b"),n("c364")),Ae=Object(a["defineComponent"])({name:"AdminApplication",props:{appConfig:{type:Object,required:!0},edition:{type:Boolean,default:!1}},setup:function(e){var t=Object(B["a"])(),n=Object(ie["d"])(),r=Object(a["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),o=Object(a["computed"])((function(){return t.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function c(e){Object.keys(r).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?r[t]=Object(je["a"])(e[t]):r[t]=e[t]}))}function i(){c(e.appConfig),t.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),n.push("/admin/application")}function s(){var e=Object.assign({},r);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,t.dispatch(V["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(a["onBeforeMount"])((function(){e.appConfig&&c(e.appConfig)})),{appData:r,errorMessages:o,onCancel:i,onSubmit:s}}});n("3853");Ae.render=_e,Ae.__scopeId="data-v-26175b66";var Ne=Ae,Re=Object(a["withScopeId"])("data-v-4f30aa64");Object(a["pushScopeId"])("data-v-4f30aa64");var Ie={id:"admin-menu",class:"center-card"},ge={class:"admin-menu description-list"},Ue=Object(a["createVNode"])("br",null,null,-1),ve={class:"registration-status"};Object(a["popScopeId"])();var De=Re((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("AppStatsCards"),s=Object(a["resolveComponent"])("router-link"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ie,[Object(a["createVNode"])(u,null,{title:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Re((function(){return[Object(a["createVNode"])(i,{"app-statistics":e.appStatistics},null,8,["app-statistics"]),Object(a["createVNode"])("div",ge,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/application"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(a["createVNode"])("dd",null,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ue,Object(a["createVNode"])("span",ve,Object(a["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(e.appConfig.is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/sports"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/users"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])})),he={id:"user-stats"};function Pe(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("StatCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",he,[Object(a["createVNode"])(i,{icon:"users",value:e.usersCount,text:e.$t("admin.USER",e.usersCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"tags",value:e.sportsCount,text:e.$t("workouts.SPORT",e.sportsCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"calendar",value:e.workoutCount,text:e.$t("workouts.WORKOUT",e.workoutCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"folder-open",value:e.uploadDirSize.size,text:e.uploadDirSize.suffix},null,8,["value","text"])])}var Ce=n("05d9"),Me=Object(a["defineComponent"])({name:"UserStatsCards",components:{StatCard:Ce["a"]},props:{appStatistics:{type:Object,default:function(){return{}}}},setup:function(e){return{uploadDirSize:Object(a["computed"])((function(){return e.appStatistics.uploads_dir_size?Object(je["b"])(e.appStatistics.uploads_dir_size,!1):{size:0,suffix:"bytes"}})),usersCount:Object(a["computed"])((function(){return e.appStatistics.users?e.appStatistics.users:0})),sportsCount:Object(a["computed"])((function(){return e.appStatistics.sports?e.appStatistics.sports:0})),workoutCount:Object(a["computed"])((function(){return e.appStatistics.workouts?e.appStatistics.workouts:0}))}}});n("a1fe");Me.render=Pe;var ke=Me,Le={class:"card"},ze={class:"card-title"},ye={class:"card-content"};function we(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Le,[Object(a["createVNode"])("div",ze,[Object(a["renderSlot"])(e.$slots,"title")]),Object(a["createVNode"])("div",ye,[Object(a["renderSlot"])(e.$slots,"content")])])}var Ve=Object(a["defineComponent"])({name:"Card"});n("16c2");Ve.render=we;var Be=Ve,Ge=Object(a["defineComponent"])({name:"AdminMenu",components:{AppStatsCards:ke,Card:Be},props:{appConfig:{type:Object,required:!0},appStatistics:{type:Object}},setup:function(){return{capitalize:a["capitalize"]}}});n("4a13");Ge.render=De,Ge.__scopeId="data-v-4f30aa64";var xe=Ge,Fe=Object(a["withScopeId"])("data-v-6d930723");Object(a["pushScopeId"])("data-v-6d930723");var We={id:"admin-sports",class:"admin-card"},Ke={class:"responsive-table"},$e=Object(a["createVNode"])("th",null,"#",-1),He={class:"text-left"},Ye={class:"text-left sport-action"},qe=Object(a["createVNode"])("th",null,null,-1),Xe={class:"center-text"},Ze=Object(a["createVNode"])("span",{class:"cell-heading"},"id",-1),Qe={class:"cell-heading"},Je={class:"sport-label"},et={class:"cell-heading"},tt={class:"center-text"},nt={class:"cell-heading"},rt={class:"sport-action"},ot={class:"cell-heading"},at={class:"action-button"},ct={key:0,class:"has-workouts"},it=Object(a["createVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var st=Fe((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("SportImage"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",We,[Object(a["createVNode"])(u,null,{title:Fe((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Fe((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])("div",Ke,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[$e,Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])("th",He,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("th",Ye,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),qe])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.translatedSports,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.id},[Object(a["createVNode"])("td",Xe,[Ze,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.id),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",Qe,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])(i,{title:t.translatedLabel,"sport-label":t.label},null,8,["title","sport-label"])]),Object(a["createVNode"])("td",Je,[Object(a["createVNode"])("span",et,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.translatedLabel),1)]),Object(a["createVNode"])("td",tt,[Object(a["createVNode"])("span",nt,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.is_active?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",rt,[Object(a["createVNode"])("span",ot,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("div",at,[Object(a["createVNode"])("button",{class:{danger:t.is_active},onClick:function(n){return e.updateSportStatus(t.id,!t.is_active)}},Object(a["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,["onClick"]),t.has_workouts?(Object(a["openBlock"])(),Object(a["createBlock"])("span",ct,[it,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(a["createCommentVNode"])("",!0)])])])})),128))])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ut=n("1119"),lt=Object(a["defineComponent"])({name:"AdminSports",setup:function(){var e=Object(y["b"])(),t=e.t,n=Object(B["a"])(),r=Object(a["computed"])((function(){return Object(ut["d"])(n.getters[V["c"].GETTERS.SPORTS],t)})),o=Object(a["computed"])((function(){return n.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function c(e,t){n.dispatch(V["c"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return{errorMessages:o,translatedSports:r,updateSportStatus:c}}});n("3214");lt.render=st,lt.__scopeId="data-v-6d930723";var dt=lt,Ot=Object(a["withScopeId"])("data-v-eb17bef8");Object(a["pushScopeId"])("data-v-eb17bef8");var pt={id:"admin-users",class:"admin-card"},bt={class:"responsive-table"},mt=Object(a["createVNode"])("th",null,"#",-1),Tt={class:"left-text"},Et={class:"left-text"},St={class:"left-text"},ft={class:"cell-heading"},_t={class:"cell-heading"},jt={class:"cell-heading"},At={class:"cell-heading"},Nt={class:"center-text"},Rt={class:"cell-heading"},It={class:"center-text"},gt={class:"cell-heading"},Ut={class:"center-text"},vt={class:"cell-heading"};Object(a["popScopeId"])();var Dt=Ot((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("FilterSelects"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("router-link"),l=Object(a["resolveComponent"])("Pagination"),d=Object(a["resolveComponent"])("ErrorMessage"),O=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",pt,[Object(a["createVNode"])(O,null,{title:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),content:Ot((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])(i,{sort:e.sortList,order_by:e.orderByList,query:e.query,message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:e.reloadUsers},null,8,["sort","order_by","query","onUpdateSelect"]),Object(a["createVNode"])("div",bt,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[mt,Object(a["createVNode"])("th",Tt,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])("th",Et,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createVNode"])("th",St,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.users,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.username},[Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",ft,Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(a["createVNode"])(s,{user:t},null,8,["user"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",_t,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])(u,{to:"/users/".concat(t.username)},{default:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",jt,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.email),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",At,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.format(e.getDateWithTZ(t.created_at,e.authUser.timezone),"dd/MM/yyyy HH:mm")),1)]),Object(a["createVNode"])("td",Nt,[Object(a["createVNode"])("span",Rt,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.nb_workouts),1)]),Object(a["createVNode"])("td",It,[Object(a["createVNode"])("span",gt,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.admin?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",Ut,[Object(a["createVNode"])("span",vt,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("button",{class:{danger:t.admin},disabled:t.username===e.authUser.username,onClick:function(n){return e.updateUser(t.username,!t.admin)}},Object(a["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,["disabled","onClick"])])])})),128))])]),e.pagination.page?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0,path:"/admin/users",pagination:e.pagination,query:e.query},null,8,["pagination","query"])):Object(a["createCommentVNode"])("",!0),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:1,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ht=n("b166"),Pt=n("9176"),Ct=n("6d7d"),Mt=n("97e5"),kt=n("5e65"),Lt=Object(a["defineComponent"])({name:"AdminUsers",components:{FilterSelects:Pt["a"],Pagination:Ct["a"],UserPicture:w["a"]},setup:function(){var e=Object(B["a"])(),t=Object(ie["c"])(),n=Object(ie["d"])(),r=["admin","created_at","username","workouts_count"],o="created_at",c=Object(a["reactive"])(Object(Mt["a"])(t.query,r,o)),i=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.USERS]})),u=Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.USERS_PAGINATION]})),l=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function d(t){e.dispatch(V["e"].ACTIONS.GET_USERS,t)}function O(t,n){e.dispatch(V["e"].ACTIONS.UPDATE_USER,{username:t,admin:n})}function p(e,t){c[e]=t,"per_page"===e&&(c.page=1),n.push({path:"/admin/users",query:c})}return Object(a["onBeforeMount"])((function(){return d(c)})),Object(a["watch"])((function(){return t.query}),(function(e){c=Object(Mt["a"])(e,r,o,{query:c}),d(c)})),Object(a["onUnmounted"])((function(){e.dispatch(V["e"].ACTIONS.EMPTY_USERS)})),{authUser:i,errorMessages:l,orderByList:r,pagination:u,query:c,sortList:Mt["c"],users:s,capitalize:a["capitalize"],format:ht["a"],getDateWithTZ:kt["c"],reloadUsers:p,updateUser:O}}});n("b986");Lt.render=Dt,Lt.__scopeId="data-v-eb17bef8";var zt=Lt,yt=Object(a["withScopeId"])("data-v-c81580c0");Object(a["pushScopeId"])("data-v-c81580c0");var wt={id:"user-profile"},Vt={class:"box"};Object(a["popScopeId"])();var Bt=yt((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserHeader"),s=Object(a["resolveComponent"])("UserProfileTabs"),u=Object(a["resolveComponent"])("router-view");return Object(a["openBlock"])(),Object(a["createBlock"])("div",wt,[Object(a["createVNode"])(i,{user:e.user},null,8,["user"]),Object(a["createVNode"])("div",Vt,[Object(a["createVNode"])(s,{tabs:e.tabs,selectedTab:e.tab,edition:!1},null,8,["tabs","selectedTab"]),Object(a["createVNode"])(u,{user:e.user},null,8,["user"])])])})),Gt=n("3c44"),xt={class:"profile-tabs custom-checkboxes-group"},Ft={class:"profile-tabs-checkboxes custom-checkboxes"};function Wt(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",xt,[Object(a["createVNode"])("div",Ft,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.tabs,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",id:t,name:t,checked:e.selectedTab===t,disabled:e.disabled,onInput:function(n){return e.$router.push(e.getPath(t))}},null,40,["id","name","checked","disabled","onInput"]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}var Kt=Object(a["defineComponent"])({name:"UserProfileTabs",props:{tabs:{type:Object,required:!0},selectedTab:{type:String,required:!0},edition:{type:Boolean,required:!0},disabled:{type:Boolean,default:!1}},setup:function(e){function t(t){switch(t){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":return"/profile".concat(e.edition?"/edit":"","/preferences");default:case"PROFILE":return"/profile".concat(e.edition?"/edit":"")}}return{getPath:t}}});n("d42e");Kt.render=Wt;var $t=Kt,Ht=Object(a["defineComponent"])({name:"ProfileDisplay",components:{UserHeader:Gt["a"],UserProfileTabs:$t},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){return{tabs:["PROFILE","PREFERENCES"]}}});n("7ffe");Ht.render=Bt,Ht.__scopeId="data-v-c81580c0";var Yt=Ht,qt=n("71a7"),Xt=Object(a["withScopeId"])("data-v-39667dbe");Object(a["pushScopeId"])("data-v-39667dbe");var Zt={id:"user-preferences",class:"description-list"},Qt={class:"profile-buttons"};Object(a["popScopeId"])();var Jt=Xt((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Zt,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.language),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.timezone),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.fistDayOfWeek))),1)]),Object(a["createVNode"])("div",Qt,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/preferences")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(a["toDisplayString"])(e.$t("common.HOME")),1)])])})),en=Object(a["defineComponent"])({name:"UserPreferences",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(a["computed"])((function(){return e.user.language?H[e.user.language]:H["en"]})),n=Object(a["computed"])((function(){return e.user.weekm?"MONDAY":"SUNDAY"})),r=Object(a["computed"])((function(){return e.user.timezone?e.user.timezone:"Europe/Paris"}));return{fistDayOfWeek:n,language:t,timezone:r}}});n("cbea");en.render=Jt,en.__scopeId="data-v-39667dbe";var tn=en,nn={id:"user-profile-edition",class:"center-card"};function rn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserProfileTabs"),s=Object(a["resolveComponent"])("router-view"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",nn,[Object(a["createVNode"])(u,null,{title:Object(a["withCtx"])((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.tab,"_EDITION"))),1)]})),content:Object(a["withCtx"])((function(){return[Object(a["createVNode"])(i,{tabs:e.tabs,selectedTab:e.tab,edition:!0,disabled:e.loading},null,8,["tabs","selectedTab","disabled"]),Object(a["createVNode"])(s,{user:e.user},null,8,["user"])]})),_:1})])}var on=Object(a["defineComponent"])({name:"ProfileEdition",components:{UserProfileTabs:$t},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){var e=Object(B["a"])();return{loading:Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.USER_LOADING]})),tabs:["PROFILE","PICTURE","PREFERENCES"]}}});on.render=rn;var an=on,cn={id:"user-infos-edition"},sn={class:"profile-form form-box"},un={class:"form-items",for:"email"},ln={class:"form-items",for:"registrationDate"},dn={class:"form-items",for:"password"},On={class:"form-items",for:"passwordConfirmation"},pn=Object(a["createVNode"])("hr",null,null,-1),bn={class:"form-items",for:"first_name"},mn={class:"form-items",for:"last_name"},Tn={class:"form-items",for:"birth_date"},En={class:"form-items",for:"location"},Sn={class:"form-items"},fn={class:"form-buttons"},_n={class:"confirm",type:"submit"};function jn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("Modal"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("CustomTextArea");return Object(a["openBlock"])(),Object(a["createBlock"])("div",cn,[e.displayModal?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[1]||(t[1]=function(t){return e.deleteAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",sn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[11]||(t[11]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",un,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(a["createVNode"])("input",{id:"email",value:e.user.email,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",ln,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(a["createVNode"])("input",{id:"registrationDate",value:e.registrationDate,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",dn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.password=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password]])]),Object(a["createVNode"])("label",On,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.userForm.password_conf=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password_conf]])]),pn,Object(a["createVNode"])("label",bn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"first_name","onUpdate:modelValue":t[5]||(t[5]=function(t){return e.userForm.first_name=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.first_name]])]),Object(a["createVNode"])("label",mn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"last_name","onUpdate:modelValue":t[6]||(t[6]=function(t){return e.userForm.last_name=t})},null,512),[[a["vModelText"],e.userForm.last_name]])]),Object(a["createVNode"])("label",Tn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[7]||(t[7]=function(t){return e.userForm.birth_date=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.birth_date]])]),Object(a["createVNode"])("label",En,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"location","onUpdate:modelValue":t[8]||(t[8]=function(t){return e.userForm.location=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.location]])]),Object(a["createVNode"])("label",Sn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(a["createVNode"])(u,{name:"bio",charLimit:200,input:e.userForm.bio,disabled:e.loading,onUpdateValue:e.updateBio},null,8,["input","disabled","onUpdateValue"])]),Object(a["createVNode"])("div",fn,[Object(a["createVNode"])("button",_n,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[9]||(t[9]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(a["createVNode"])("button",{class:"danger",onClick:t[10]||(t[10]=Object(a["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],32)])])}var An=Object(a["defineComponent"])({name:"UserInfosEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),r=Object(a["computed"])((function(){return e.user.created_at?Object(ht["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),o=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["b"].GETTERS.ERROR_MESSAGES]})),i=Object(a["ref"])(!1);function s(e){n.first_name=e.first_name?e.first_name:"",n.last_name=e.last_name?e.last_name:"",n.birth_date=e.birth_date?Object(ht["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",n.location=e.location?e.location:"",n.bio=e.bio?e.bio:""}function u(e){n.bio=e}function l(){t.dispatch(V["a"].ACTIONS.UPDATE_USER_PROFILE,n)}function d(e){i.value=e}function O(e){t.dispatch(V["a"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(a["onMounted"])((function(){e.user&&s(e.user)})),{displayModal:i,errorMessages:c,loading:o,registrationDate:r,userForm:n,deleteAccount:O,updateBio:u,updateDisplayModal:d,updateProfile:l}}});n("57ba");An.render=jn;var Nn=An,Rn=Object(a["withScopeId"])("data-v-0ea4550a");Object(a["pushScopeId"])("data-v-0ea4550a");var In={id:"user-picture-edition"},gn={class:"user-picture-form"},Un={class:"picture-help"},vn={class:"info-box"},Dn=Object(a["createVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1),hn={class:"picture-buttons"};Object(a["popScopeId"])();var Pn=Rn((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("UserPicture");return Object(a["openBlock"])(),Object(a["createBlock"])("div",In,[Object(a["createVNode"])("div",gn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])(s,{user:e.user},null,8,["user"]),Object(a["createVNode"])("form",{onSubmit:t[4]||(t[4]=Object(a["withModifiers"])((function(){return e.updateUserPicture&&e.updateUserPicture.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:t[1]||(t[1]=function(){return e.updatePictureFile&&e.updatePictureFile.apply(e,arguments)})},null,32),Object(a["createVNode"])("div",Un,[Object(a["createVNode"])("span",vn,[Dn,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(a["toDisplayString"])(e.fileSizeLimit),1)])]),Object(a["createVNode"])("div",hn,[Object(a["createVNode"])("button",{type:"submit",disabled:!e.pictureFile},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,["disabled"]),e.user.picture?(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=function(){return e.deleteUserPicture&&e.deleteUserPicture.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=function(t){return e.$router.push("/profile")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],32)])])})),Cn=Object(a["defineComponent"])({name:"UserPictureEdition",components:{UserPicture:w["a"]},props:{user:{type:Object,required:!0}},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.ERROR_MESSAGES]})),n=Object(a["computed"])((function(){return e.getters[V["b"].GETTERS.APP_CONFIG]})),r=n.value.max_single_file_size?Object(je["b"])(n.value.max_single_file_size):"",o=Object(a["ref"])(null);function c(){e.dispatch(V["a"].ACTIONS.DELETE_PICTURE)}function i(e){e.target.files&&(o.value=e.target.files[0])}function s(){o.value&&e.dispatch(V["a"].ACTIONS.UPDATE_USER_PICTURE,{picture:o.value})}return{errorMessages:t,fileSizeLimit:r,pictureFile:o,deleteUserPicture:c,updateUserPicture:s,updatePictureFile:i}}});n("21a0");Cn.render=Pn,Cn.__scopeId="data-v-0ea4550a";var Mn=Cn,kn={id:"user-preferences-edition"},Ln={class:"profile-form form-box"},zn={class:"form-items"},yn={class:"form-items",for:"timezone"},wn={class:"form-items"},Vn={class:"form-buttons"},Bn={class:"confirm",type:"submit"};function Gn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",kn,[Object(a["createVNode"])("div",Ln,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",zn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"language","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.userForm.language=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.availableLanguages,(function(e){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:e.value,key:e.value},Object(a["toDisplayString"])(e.label),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.language]])]),Object(a["createVNode"])("label",yn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"timezone","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.userForm.timezone=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.timezone]])]),Object(a["createVNode"])("label",wn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"weekm","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.weekm=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.weekStart,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:t.value,key:t.value},Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.weekm]])]),Object(a["createVNode"])("div",Vn,[Object(a["createVNode"])("button",Bn,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],32)])])}var xn=Object(a["defineComponent"])({name:"UserPreferencesEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({language:"",timezone:"Europe/Paris",weekm:!1}),r=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],o=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["b"].GETTERS.ERROR_MESSAGES]}));function i(e){n.language=e.language?e.language:"en",n.timezone=e.timezone?e.timezone:"Europe/Paris",n.weekm=!!e.weekm&&e.weekm}function s(){t.dispatch(V["a"].ACTIONS.UPDATE_USER_PREFERENCES,n)}return Object(a["onMounted"])((function(){e.user&&i(e.user)})),{availableLanguages:q,errorMessages:c,loading:o,userForm:n,weekStart:r,updateProfile:s}}});xn.render=Gn;var Fn=xn,Wn=n("5502"),Kn=n("ade3"),$n=n("bc3a"),Hn=n.n($n),Yn=Hn.a.create({baseURL:Object(G["a"])()});Yn.interceptors.request.use((function(e){var t=eo.getters[V["a"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var qn,Xn,Zn,Qn,Jn,er,tr,nr,rr,or,ar,cr,ir,sr,ur=Yn,lr=Hn.a.create({baseURL:Object(G["a"])()}),dr=lr,Or=K.global.locale,pr=function(e){localStorage.removeItem("authToken"),e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.EMPTY_USER_STATS),e.commit(V["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(V["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(V["f"].MUTATIONS.EMPTY_WORKOUTS),e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),ao.push("/login")},br=(qn={},Object(Kn["a"])(qn,V["a"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[V["a"].GETTERS.IS_AUTHENTICATED]&&(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE))})),Object(Kn["a"])(qn,V["a"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(V["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Or.value=t.data.data.language),e.dispatch(V["c"].ACTIONS.GET_SPORTS)):(Object(G["b"])(e,null),pr(e))})).catch((function(t){Object(G["b"])(e,t),pr(e)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),dr.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(V["a"].MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE).then((function(){return ao.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")}))}else Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.LOGOUT,(function(e){pr(e)})),Object(Kn["a"])(qn,V["a"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),ur.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),ao.push("/profile")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),ur.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(V["b"].MUTATIONS.UPDATE_LANG,t.data.data.language),Or.value=t.data.data.language,ao.push("/profile/preferences")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),ur.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE).then((function(){return ao.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.DELETE_ACCOUNT,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.delete("users/".concat(t.username)).then((function(t){204===t.status?e.dispatch(V["a"].ACTIONS.LOGOUT).then((function(){return ao.push("/")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!0),ur.delete("auth/picture").then((function(t){204===t.status?e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE).then((function(){return ao.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),dr.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?ao.push("/password-reset/sent"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Kn["a"])(qn,V["a"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),dr.post("auth/password/update",t).then((function(t){"success"===t.data.status?ao.push("/password-reset/password-updated"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),qn),mr=(Xn={},Object(Kn["a"])(Xn,V["a"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(Kn["a"])(Xn,V["a"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(Kn["a"])(Xn,V["a"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(Kn["a"])(Xn,V["a"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(Kn["a"])(Xn,V["a"].GETTERS.USER_LOADING,(function(e){return e.loading})),Xn),Tr=(Zn={},Object(Kn["a"])(Zn,V["a"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(Kn["a"])(Zn,V["a"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(Kn["a"])(Zn,V["a"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(Kn["a"])(Zn,V["a"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),Zn),Er={authToken:null,authUserProfile:{},loading:!1},Sr={state:Er,actions:br,getters:mr,mutations:Tr},fr=Sr,_r=(Qn={},Object(Kn["a"])(Qn,V["b"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),ur.get("config").then((function(t){"success"===t.data.status?e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(Kn["a"])(Qn,V["b"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.get("stats/all").then((function(t){"success"===t.data.status?e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Kn["a"])(Qn,V["b"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(V["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),ao.push("/admin/application")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Qn),jr=(Jn={},Object(Kn["a"])(Jn,V["b"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(Kn["a"])(Jn,V["b"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(Kn["a"])(Jn,V["b"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(Kn["a"])(Jn,V["b"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(Kn["a"])(Jn,V["b"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(Kn["a"])(Jn,V["b"].GETTERS.LOCALE,(function(e){return e.locale})),Jn),Ar=(er={},Object(Kn["a"])(er,V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(Kn["a"])(er,V["b"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(Kn["a"])(er,V["b"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(Kn["a"])(er,V["b"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(Kn["a"])(er,V["b"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(Kn["a"])(er,V["b"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=$[t]})),er),Nr={root:!0,language:"en",locale:x["a"],errorMessages:null,application:{},appLoading:!1},Rr=(tr={},Object(Kn["a"])(tr,V["c"].ACTIONS.GET_SPORTS,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.get("sports").then((function(t){"success"===t.data.status?e.commit(V["c"].MUTATIONS.SET_SPORTS,t.data.data.sports):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Kn["a"])(tr,V["c"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(V["c"].ACTIONS.GET_SPORTS):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),tr),Ir=Object(Kn["a"])({},V["c"].GETTERS.SPORTS,(function(e){return e.sports})),gr=Object(Kn["a"])({},V["c"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),Ur={sports:[]},vr={state:Ur,actions:Rr,getters:Ir,mutations:gr},Dr=vr,hr=Object(Kn["a"])({},V["d"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(V["d"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Pr=Object(Kn["a"])({},V["d"].GETTERS.USER_STATS,(function(e){return e.statistics})),Cr=(nr={},Object(Kn["a"])(nr,V["d"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(Kn["a"])(nr,V["d"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),nr),Mr={statistics:{}},kr={state:Mr,actions:hr,getters:Pr,mutations:Cr},Lr=kr,zr=(rr={},Object(Kn["a"])(rr,V["e"].ACTIONS.EMPTY_USER,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER,{})})),Object(Kn["a"])(rr,V["e"].ACTIONS.EMPTY_USERS,(function(e){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USERS,[]),e.commit(V["e"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(Kn["a"])(rr,V["e"].ACTIONS.GET_USER,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),ur.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(V["e"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(Kn["a"])(rr,V["e"].ACTIONS.GET_USERS,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!0),ur.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(V["e"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(Kn["a"])(rr,V["e"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(V["e"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),rr),yr=(or={},Object(Kn["a"])(or,V["e"].GETTERS.USER,(function(e){return e.user})),Object(Kn["a"])(or,V["e"].GETTERS.USERS,(function(e){return e.users})),Object(Kn["a"])(or,V["e"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(Kn["a"])(or,V["e"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),or),wr=(ar={},Object(Kn["a"])(ar,V["e"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(Kn["a"])(ar,V["e"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(Kn["a"])(ar,V["e"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(Kn["a"])(ar,V["e"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(Kn["a"])(ar,V["e"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),ar),Vr={user:{},users:[],loading:!1,pagination:{}},Br={state:Vr,actions:zr,getters:yr,mutations:wr},Gr=Br,xr=n("4870"),Fr=function(e,t,n){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),ur.get("workouts",{params:t}).then((function(t){"success"===t.data.status?(e.commit(V["f"].MUTATIONS[n],t.data.data.workouts),n===xr["c"]["SET_USER_WORKOUTS"]&&e.commit(V["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))},Wr=(cr={},Object(Kn["a"])(cr,V["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),Fr(e,t,xr["c"]["SET_CALENDAR_WORKOUTS"])})),Object(Kn["a"])(cr,V["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){Fr(e,t,xr["c"]["SET_USER_WORKOUTS"])})),Object(Kn["a"])(cr,V["f"].ACTIONS.GET_TIMELINE_WORKOUTS,(function(e,t){Fr(e,t,xr["c"]["SET_TIMELINE_WORKOUTS"])})),Object(Kn["a"])(cr,V["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,(function(e,t){Fr(e,t,xr["c"]["ADD_TIMELINE_WORKOUTS"])})),Object(Kn["a"])(cr,V["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";ur.get("workouts/".concat(t.workoutId)).then((function(r){var o=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===o.segments.length||!o.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(V["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(ur.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),ur.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,null)})).catch((function(t){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Kn["a"])(cr,V["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),ur.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE),ao.push("/")})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Kn["a"])(cr,V["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),ur.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE),e.dispatch(V["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){ao.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Kn["a"])(cr,V["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["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,'"}')),ur.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];ao.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Kn["a"])(cr,V["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),ur.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(V["a"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];ao.push("/workouts/".concat(n.id))}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),cr),Kr=(ir={},Object(Kn["a"])(ir,V["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(Kn["a"])(ir,V["f"].GETTERS.TIMELINE_WORKOUTS,(function(e){return e.timeline_workouts})),Object(Kn["a"])(ir,V["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(Kn["a"])(ir,V["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Object(Kn["a"])(ir,V["f"].GETTERS.WORKOUTS_PAGINATION,(function(e){return e.pagination})),ir),$r=(sr={},Object(Kn["a"])(sr,V["f"].MUTATIONS.ADD_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=e.timeline_workouts.concat(t)})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,(function(e,t){e.pagination=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(Kn["a"])(sr,V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(Kn["a"])(sr,V["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]})),Object(Kn["a"])(sr,V["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),sr),Hr={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},Yr={state:Hr,actions:Wr,getters:Kr,mutations:$r},qr=Yr,Xr={authUserModule:fr,sportsModule:Dr,statsModule:Lr,usersModule:Gr,workoutsModule:qr},Zr={state:Nr,actions:_r,getters:jr,mutations:Ar,modules:Xr},Qr=Zr,Jr=Object(Wn["a"])(Qr),eo=Jr,to=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},no=[{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:Yt,props:function(e){return{tab:to(e.path)}},children:[{path:"",name:"UserInfos",component:qt["a"]},{path:"preferences",name:"UserPreferences",component:tn}]},{path:"edit",name:"UserProfileEdition",component:an,props:function(e){return{tab:to(e.path)}},children:[{path:"",name:"UserInfosEdition",component:Nn},{path:"picture",name:"UserPictureEdition",component:Mn},{path:"preferences",name:"UserPreferencesEdition",component:Fn}]}]},{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:xe},{path:"application",name:"ApplicationAdministration",component:Ne},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ne,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:dt},{path:"users",name:"UsersAdministration",component:zt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],ro=Object(ie["a"])({history:Object(ie["b"])("/"),routes:no}),oo=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];ro.beforeEach((function(e,t,n){eo.dispatch(V["a"].ACTIONS.CHECK_AUTH_USER).then((function(){if(eo.getters[V["a"].GETTERS.IS_AUTHENTICATED]&&oo.includes(e.path))return n("/");if(eo.getters[V["a"].GETTERS.IS_AUTHENTICATED]||oo.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 ao=ro,co=Object(a["withScopeId"])("data-v-f5e8066a");Object(a["pushScopeId"])("data-v-f5e8066a");var io={class:"alert-message"};Object(a["popScopeId"])();var so=co((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",io,[Object(a["createVNode"])("div",{innerHTML:e.$t(e.message)},null,8,["innerHTML"])])})),uo=Object(a["defineComponent"])({name:"AlertMessage",props:{message:String}});n("f5dfd");uo.render=so,uo.__scopeId="data-v-f5e8066a";var lo=uo,Oo=Object(a["withScopeId"])("data-v-ad3739fc");Object(a["pushScopeId"])("data-v-ad3739fc");var po={class:"custom-textarea"},bo={class:"remaining-chars"};Object(a["popScopeId"])();var mo=Oo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",po,[Object(a["withDirectives"])(Object(a["createVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.text=t}),onInput:t[2]||(t[2]=function(){return e.updateText&&e.updateText.apply(e,arguments)})},null,40,["id","name","maxLenght","disabled"]),[[a["vModelText"],e.text]]),Object(a["createVNode"])("div",bo,Object(a["toDisplayString"])(e.$t("workouts.REMAINING_CHARS"))+": "+Object(a["toDisplayString"])(e.text.length)+"/"+Object(a["toDisplayString"])(e.charLimit),1)])})),To=(n("a9e3"),Object(a["defineComponent"])({name:"CustomTextArea",props:{charLimit:{type:Number,default:500},disabled:{type:Boolean,default:!1},input:{type:String,default:""},name:{type:String,required:!0}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=Object(a["ref"])("");function o(e){n("updateValue",e.target.value)}return Object(a["watch"])((function(){return e.input}),(function(e){r.value=e})),{text:r,updateText:o}}}));n("aa0a");To.render=mo,To.__scopeId="data-v-ad3739fc";var Eo=To,So=Object(a["withScopeId"])("data-v-5ef2ddef");Object(a["pushScopeId"])("data-v-5ef2ddef");var fo={class:"dropdown-wrapper"},_o={key:0,class:"dropdown-list"};Object(a["popScopeId"])();var jo=So((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",fo,[Object(a["createVNode"])("div",{class:"dropdown-selected",onClick:t[1]||(t[1]=function(){return e.toggleDropdown&&e.toggleDropdown.apply(e,arguments)})},[Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)]),e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",_o,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.dropdownOptions,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{class:["dropdown-item",{selected:t.value===e.selected}],key:n,onClick:function(n){return e.updateSelected(t)}},Object(a["toDisplayString"])(t.label),11,["onClick"])})),128))])):Object(a["createCommentVNode"])("",!0)])})),Ao=Object(a["defineComponent"])({name:"Dropdown",props:{options:{type:Object,required:!0},selected:{type:String,required:!0}},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=Object(ie["c"])(),o=Object(a["ref"])(!1),c=e.options.map((function(e){return e}));function i(){o.value=!o.value}function s(e){n("selected",e),o.value=!1}return Object(a["watch"])((function(){return r.path}),(function(){return o.value=!1})),{dropdownOptions:c,isOpen:o,toggleDropdown:i,updateSelected:s}}});n("95ba");Ao.render=jo,Ao.__scopeId="data-v-5ef2ddef";var No=Ao,Ro=Object(a["withScopeId"])("data-v-5c177a93");Object(a["pushScopeId"])("data-v-5c177a93");var Io={class:"error-message"},go={key:0},Uo={key:1};Object(a["popScopeId"])();var vo=Ro((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Io,[Array.isArray(e.message)?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",go,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.message,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{key:n},Object(a["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Uo,Object(a["toDisplayString"])(e.$t(e.message)),1))])})),Do=Object(a["defineComponent"])({name:"ErrorMessage",props:{message:[String,Array]}});n("4b55");Do.render=vo,Do.__scopeId="data-v-5c177a93";var ho=Do;function Po(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("CyclingSport"),s=Object(a["resolveComponent"])("CyclingTransport"),u=Object(a["resolveComponent"])("Hiking"),l=Object(a["resolveComponent"])("MountainBiking"),d=Object(a["resolveComponent"])("Running"),O=Object(a["resolveComponent"])("Walking");return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"sport-img",style:{fill:e.sportColors[e.sportLabel]},title:e.title?e.title:e.$t("sports.".concat(e.sportLabel,".LABEL"))},["Cycling (Sport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0})):Object(a["createCommentVNode"])("",!0),"Cycling (Transport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:1})):Object(a["createCommentVNode"])("",!0),"Hiking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2})):Object(a["createCommentVNode"])("",!0),"Mountain Biking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:3})):Object(a["createCommentVNode"])("",!0),"Running"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:4})):Object(a["createCommentVNode"])("",!0),"Walking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(O,{key:5})):Object(a["createCommentVNode"])("",!0)],12,["title"])}var Co={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"},Mo=Object(a["createVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),ko=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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);function Lo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Co,[Mo,ko])}var zo={name:"CyclingSport"};zo.render=Lo;var yo=zo,wo={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"},Vo=Object(a["createVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),Bo=Object(a["createVNode"])("g",{id:"g147"},[Object(a["createVNode"])("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(a["createVNode"])("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);function Go(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",wo,[Vo,Bo])}var xo={name:"CyclingTransport"};xo.render=Go;var Fo=xo,Wo={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"},Ko=Object(a["createVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),$o=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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);function Ho(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Wo,[Ko,$o])}var Yo={name:"Hiking"};Yo.render=Ho;var qo=Yo,Xo={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"},Zo=Object(a["createVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Qo=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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(a["createVNode"])("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);function Jo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Xo,[Zo,Qo])}var ea={name:"MountainBiking"};ea.render=Jo;var ta=ea,na={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"},ra=Object(a["createVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),oa=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("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(a["createVNode"])("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);function aa(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",na,[ra,oa])}var ca={name:"Running"};ca.render=aa;var ia=ca,sa={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"},ua=Object(a["createVNode"])("desc",{id:"walkingDescription"},"silhouette of a walking person",-1),la=Object(a["createVNode"])("defs",{id:"defs797"},null,-1),da=Object(a["createVNode"])("g",{id:"g792"},[Object(a["createVNode"])("path",{d:"m 272.74,80.771 c 22.318,0 40.401,-18.08 40.401,-40.389 C 313.141,18.084 295.058,0 272.74,0 c -22.281,0 -40.378,18.084 -40.378,40.383 0,22.308 18.096,40.388 40.378,40.388 z",id:"path788"}),Object(a["createVNode"])("path",{d:"m 328.5854,174.48445 -40.64148,10.93729 4.76008,-51.90474 0.123,-0.944 c 1.384,-10.514 -1.475,-21.146 -7.94,-29.556 -6.461,-8.409 -16.007,-13.903 -26.52,-15.287 -10.926,-1.429 -22.619,3.12 -31.206,8.646 -1.441,0.928 -84.97,54.921 -84.97,54.921 -5.175,3.358 -8.542,8.877 -9.165,15.016 -0.634,6.13 1.574,12.222 5.976,16.541 l 58.982,58 -6.417,48.954 -25.88143,79.08977 -54.08338,43.67932 c -14.762199,11.1022 -24.410111,22.37008 -15.912276,36.07186 8.515526,13.68031 27.439076,15.75973 42.273746,4.63076 l 48.9456,-38.84296 c 12.09075,-7.84858 23.84126,-20.18502 28.3003,-35.27702 L 235.052,315.187 l 26.365,36.639 6.684,119.628 c 0.73,12.991 11.501,23.036 24.349,23.036 0.441,0 0.92,-0.016 1.379,-0.039 13.453,-0.748 23.745,-12.262 23,-25.713 l -7.083,-126.736 c -0.271,-4.643 -1.846,-9.116 -4.56,-12.887 l -32.24,-44.811 7.981,-57.1 c -15.00943,6.0905 -25.84439,5.48716 0,0 l 59.50354,-17.8263 c 10.75379,-3.22166 16.4326,-12.34116 13.52152,-25.36894 -2.44853,-10.95778 -14.74571,-13.15695 -25.36666,-9.52431 z M 204.606,190.357 185.58,171.64 209.056,156.434 Z",id:"path790"})],-1);function Oa(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",sa,[ua,la,da])}var pa={name:"Walking"};pa.render=Oa;var ba=pa,ma=Object(a["defineComponent"])({name:"SportImage",components:{CyclingSport:yo,CyclingTransport:Fo,Hiking:qo,MountainBiking:ta,Running:ia,Walking:ba},props:{sportLabel:{type:String,required:!0},title:{type:String,required:!1}},setup:function(){return{sportColors:Object(a["inject"])("sportColors")}}});ma.render=Po;var Ta=ma,Ea=Object(a["withScopeId"])("data-v-8bf75da8");Object(a["pushScopeId"])("data-v-8bf75da8");var Sa={class:"loader"};Object(a["popScopeId"])();var fa=Ea((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Sa)})),_a=Object(a["defineComponent"])({name:"Loader"});n("b373");_a.render=fa,_a.__scopeId="data-v-8bf75da8";var ja=_a,Aa=Object(a["withScopeId"])("data-v-366182c4");Object(a["pushScopeId"])("data-v-366182c4");var Na={id:"modal"},Ra={class:"custom-modal"},Ia={key:0,class:"modal-message"},ga={key:1,class:"modal-message"},Ua={class:"modal-buttons"};Object(a["popScopeId"])();var va=Aa((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("i18n-t"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Na,[Object(a["createVNode"])("div",Ra,[Object(a["createVNode"])(u,null,{title:Aa((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.title),1)]})),content:Aa((function(){return[e.strongMessage?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ia,[Object(a["createVNode"])(i,{keypath:e.message},{default:Aa((function(){return[Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.strongMessage),1)]})),_:1},8,["keypath"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",ga,Object(a["toDisplayString"])(e.message),1)),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:2,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",Ua,[e.errorMessages?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"confirm",onClick:t[1]||(t[1]=function(t){return e.emit("confirmAction")})},Object(a["toDisplayString"])(e.$t("buttons.YES")),1)),Object(a["createVNode"])("button",{class:"cancel",onClick:t[2]||(t[2]=function(t){return e.emit("cancelAction")})},Object(a["toDisplayString"])(e.$t("buttons.".concat(e.errorMessages?"CANCEL":"NO"))),1)])]})),_:1})])])})),Da=Object(a["defineComponent"])({name:"Modal",props:{title:{type:String,required:!0},message:{type:String,required:!0},strongMessage:{type:String||null,default:null}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=Object(B["a"])(),o=Object(a["computed"])((function(){return r.getters[V["b"].GETTERS.ERROR_MESSAGES]}));return Object(a["onUnmounted"])((function(){return r.commit(V["b"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),{errorMessages:o,emit:n}}});n("25ba");Da.render=va,Da.__scopeId="data-v-366182c4";var ha=Da,Pa=[lo,Be,Eo,No,ho,ja,ha,Ta],Ca={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"],o["a"]);var Ma=Object(a["createApp"])(ce).provide("sportColors",ut["b"]).use(K).use(eo).use(ao).directive("click-outside",Ca);Pa.forEach((function(e){Ma.component(e.name,e)})),Ma.mount("#app")},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("ac1f"),n("1276");var r=n("dad5"),o=function(){return"/api/"},a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",o=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,o.includes("\n")?o.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(o))}},d42e:function(e,t,n){"use strict";n("dc79")},da66:function(e,t,n){},dad5:function(e,t,n){"use strict";var r,o,a,c,i,s,u,l,d,O,p,b,m,T,E;n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return _})),n.d(t,"d",(function(){return j})),n.d(t,"a",(function(){return A})),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"}(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"}(o||(o={})),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"}(a||(a={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(c||(c={})),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"}(u||(u={})),function(e){e["SPORTS"]="SPORTS"}(l||(l={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(d||(d={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(O||(O={})),function(e){e["USER_STATS"]="USER_STATS"}(p||(p={})),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"}(m||(m={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(T||(T={})),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"}(E||(E={}));var S=n("4870"),f={ACTIONS:c,GETTERS:i,MUTATIONS:s},_={ACTIONS:u,GETTERS:l,MUTATIONS:d},j={ACTIONS:O,GETTERS:p,MUTATIONS:b},A={ACTIONS:r,GETTERS:o,MUTATIONS:a},N={ACTIONS:m,GETTERS:T,MUTATIONS:E},R={ACTIONS:S["a"],GETTERS:S["b"],MUTATIONS:S["c"]}},dc79:function(e,t,n){},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id="e7b6"},edb9:function(e,t,n){},ee25:function(e,t,n){},f037:function(e,t,n){"use strict";n("aa8e")},f5dfd:function(e,t,n){"use strict";n("9838")},fb34:function(e,t,n){},fb41:function(e,t,n){}}); +//# sourceMappingURL=app.5f1e26bb.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.5f1e26bb.js.map b/fittrackee/dist/static/js/app.5f1e26bb.js.map new file mode 100644 index 00000000..5c0dd31a --- /dev/null +++ b/fittrackee/dist/static/js/app.5f1e26bb.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?50f0","webpack:///./src/components/Common/StatCard.vue?8fe7","webpack:///./src/utils/sports.ts","webpack:///./src/components/User/UserPicture.vue?6d42","webpack:///./src/components/Common/Card.vue?8159","webpack:///./src/components/Common/Pagination.vue?efed","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?6114","webpack:///./src/components/Common/Modal.vue?3e1a","webpack:///./src/use/useStore.ts","webpack:///./src/components/Administration/AdminSports.vue?6443","webpack:///./src/components/Administration/AdminApplication.vue?7cc7","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?73f1","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?4ce6","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/components/Administration/AdminMenu.vue?4bef","webpack:///./src/components/Common/ErrorMessage.vue?f921","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?376d","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?a4e5","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?a3e7","webpack:///./src/utils/dates.ts","webpack:///./src/App.vue?4cf5","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/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?93e2","webpack:///./src/components/Common/Pagination.vue?73f7","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?7c95","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?820e","webpack:///./src/components/Common/FilterSelects.vue?56eb","webpack:///./src/components/Footer.vue?d019","webpack:///./src/components/User/ProfileDisplay/index.vue?1702","webpack:///./src/components/Common/StatCard.vue?c013","webpack:///./src/components/Common/FilterSelects.vue","webpack:///./src/components/Common/FilterSelects.vue?927e","webpack:///./src/components/Common/FilterSelects.vue?0254","webpack:///./src/components/NavBar.vue?a53f","webpack:///./src/components/Common/Dropdown.vue?2734","webpack:///./src/utils/api.ts","webpack:///./src/components/Administration/AppStatsCards.vue?d919","webpack:///./src/components/Common/CustomTextArea.vue?6de7","webpack:///./src/components/Common/Loader.vue?9489","webpack:///./src/components/Administration/AdminUsers.vue?88ae","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?2f01","webpack:///./src/components/User/UserPicture.vue?22b2","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2098","webpack:///./src/registerServiceWorker.ts","webpack:///./src/App.vue","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?87b7","webpack:///./src/components/Footer.vue?c832","webpack:///./src/components/NavBar.vue","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue?a890","webpack:///./src/components/NavBar.vue?ab0f","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?37a4","webpack:///./src/components/NoConfig.vue?ad85","webpack:///./src/App.vue?3acc","webpack:///./src/App.vue?dfb6","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?8e5b","webpack:///./src/components/Administration/AdminApplication.vue?80c4","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?d6b2","webpack:///./src/components/Administration/AppStatsCards.vue?7576","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?f962","webpack:///./src/components/Common/Card.vue?a585","webpack:///./src/components/Administration/AdminMenu.vue?9783","webpack:///./src/components/Administration/AdminMenu.vue?4828","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?9572","webpack:///./src/components/Administration/AdminSports.vue?271c","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsers.vue?e346","webpack:///./src/components/Administration/AdminUsers.vue?d3af","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?9e70","webpack:///./src/components/User/UserProfileTabs.vue?3fc9","webpack:///./src/components/User/ProfileDisplay/index.vue?f20a","webpack:///./src/components/User/ProfileDisplay/index.vue?b24c","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2ffa","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?a232","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?4849","webpack:///./src/components/User/ProfileEdition/index.vue?f268","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?b205","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?92df","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?203b","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?311f","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?13dd","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?d2de","webpack:///./src/api/authApi.ts","webpack:///./src/api/defaultApi.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/actions.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?af1b","webpack:///./src/components/Common/AlertMessage.vue?2e10","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?8616","webpack:///./src/components/Common/CustomTextArea.vue?3b63","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?3644","webpack:///./src/components/Common/Dropdown.vue?9a46","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?ab8e","webpack:///./src/components/Common/ErrorMessage.vue?7b9e","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?7ed2","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?dba6","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?3937","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b70","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?2248","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?d660","webpack:///./src/components/Common/Images/SportImage/index.vue?2baa","webpack:///./src/components/Common/Images/SportImage/index.vue?5245","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?2b84","webpack:///./src/components/Common/Loader.vue?4fd1","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1385","webpack:///./src/components/Common/Modal.vue?e362","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/utils/index.ts","webpack:///./src/components/User/UserProfileTabs.vue?722a","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/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/NoConfig.vue?56f6","webpack:///./src/components/Common/AlertMessage.vue?e180"],"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","class","icon","text","props","String","required","Number","render","sportColors","Hiking","Running","Walking","sportIdColors","sports","colors","map","sport","id","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","filter","is_active","sort","getSportLabel","workout","sport_id","useStore","user","username","nb_workouts","$t","total_distance","toFixed","nb_sports","components","UserPicture","__scopeId","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","Action","Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.","Admin","Administration","Application","Nombre maximum d'utilisateurs actifs ","Si égal à 0, pas limite d'inscription","Taille max. des archives zip (en Mo) ","Taille max. des fichiers (en Mo) ","Configuration de l'application","Nombre max. de fichiers dans une archive zip ","Revenir à l'admin","Etes-vous sûr de vouloir supprimer le compte de ","0"," ? Toutes les données seront définitivement.","Supprimer l'utilisateur","Activer/désactiver des sports.","Les inscriptions sont actuellement désactivées.","Les inscriptions sont actuellement activées.","Actif","des séances existent","Image","Label","Administration - Sports","Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).","utilisateur","utilisateurs","Ajouter les drois d'admin","Retirer les drois d'admin","status administrateur","date d'inscription","nom d'utilisateur","nombre de séances","Erreur. Veuillez réessayer ou contacter l'administrateur.","Email : une adresse email valide doit être fournie.","Erreur lors de la récupération de la configuration.","Erreur lors de la mise à jour de la configuration","Erreur, veuillez réessayer ou contacter l'administrateur.","Erreur, les inscriptions sont désactivées.","Extension de fichier non autorisée.","La taille du fichier est supérieure à la limite autorisée.","Identifiants invalides.","Données fournies incorrectes.","Jeton de connexion invalide, merci de vous reconnecter.","Jeton de connexion, merci de vous reconnecter.","Pas de fichier fourni.","Pas de fichier sélectionné.","Erreur Réseau.","Mot de passe : les mots de passe saisis sont différents.","Merci de fournir un jeton de connexion valide.","Mot de passe : 8 caractères minimum.","Ce sport n'existe pas.","Signature expirée. Merci de vous reconnecter.","Désolé, cet utilisateur existe déjà.","Inscription validée.","L'utilisateur n'existe pas","Nom d'utilisateur : 3 à 12 caractères requis.","Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.","Vous n'avez pas les permissions nécessaires.","précédent","suivant","Précédent","Annuler","Supprimer mon compte","Désactiver","Modifier","Activer","Filtrer","Se connecter","Non","S'inscrire","Valider","Oui","Confirmation","jour","jours","Accueil","ici","trier par ","tri","ascendant","descendant","par page","Total","Tableau de Bord","Ce mois","L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.","Page introuvable","Séance introuvable","Vélo (Sport)","Vélo (Transport)","Randonnée","VTT","Course","Marche","Statistiques","semaine","mois","année","Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.","Email","Saisir une adresse email","Saisir un mot de passe","Confirmer le mot de passe","Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.","Langue","Se déconnecter","Mot de passe","Confirmation du mot de passe","Mot de passe oublié ?","Réinitialisation du mot de passe","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.","Votre mot de passe a été mis à jour. Cliquez "," pour vous connecter.","Revenir au profil","Bio","Date de naissance","Modifier le profil","Modifier les préférences","Premier jour de la semaine","Prénom","Nom","Lieu","Lundi","Image de profil","Mise à jour de l'image de profil","Mettre à jour l'image","Supprimer","Mise à jour des préférences","Mise à jour du profil","Date d'inscription","Dimanche","image","préférences","profil","Fuseau horaire","Désolé, les inscriptions sont désactivées.","Réinitialiser votre mot de passe","photo de l'utilisateur","Nom d'utilisateur","Ajouter une séance","analyse","dénivelé positif","vitesse moyenne","vitesse moy.","revenir à la séance","dénivelé négatif","afficher les filtres","distance","durée","Modifier la séance","altitude","fin","à partir de","fichier .gpx","masquer les filtres","km","Séances récentes","Charger les séances suivantes","altitude max","fichiers max. ","taille max. ","vitesse max","altitude min","Segment suivant","Séance suivante","données issues du fichier gpx, sans correction","Pas de fichier fourni","pas de répertoire","Pas de carte","Pas de segment suivant","Pas de séance suivante","Pas de notes","Pas de segment précédent","Pas de séance précédente","Pas de records.","Pas de séances.","notes","pauses","Segment précédent","Séance précédente","record","records","Vitesse moy.","Distance la + longue","Durée la + longue","Vitesse max.","nombre de caractères restants ","segment","segments","vitesse","début","titre","jusqu'au","durée totale","Ajoutez votre première séance !","humidité","température","vent","ensoleillé","nuit claire","nuageux","brouillard","partiellement nuageux","nuit partiellement nuageuse","pluie","neige fondue","neige","venteux","avec un fichier .gpx","sans fichier .gpx","séance","séances","date de la séance","Etes-vous sûr de vouloir supprimer cette séance ?","archive .zip","ou une archive .zip contenant des fichiers .gpx","admin","api","buttons","common","dashboard","statistics","workouts","aria-label","aria-hidden","pagination","has_prev","to","path","getQuery","page","disabled","rangePagination","pages","has_next","query","setup","cursor","newQuery","assign","displayModal","title","strongMessage","deleteUserAccount","updateDisplayModal","registrationDate","first_name","last_name","birthDate","location","bio","fromAdmin","authUser","$router","go","Boolean","default","store","getters","GETTERS","AUTH_USER_PROFILE","created_at","format","birth_date","dispatch","ACTIONS","DELETE_ACCOUNT","order_by","onSelectUpdate","order","toUpperCase","per_page","nb","emits","emit","sortList","defaultPage","defaultPerPage","getNumberQueryValue","queryValue","defaultValue","getStringQueryValue","availableValues","includes","locationQuery","orderByList","defaultOrderBy","options","queryOptions","defaultSort","workoutsPayloadKeys","getRange","stop","Array","from","_","currentPage","concat","Add/remove admin rights, delete user account.","Max. number of active users","If 0, no limitation on registration.","Max. files of zip archive","Max. size of uploaded files (in Mb)","Application configuration","Max. size of zip archive (in Mb)","Back to admin","Are you sure you want to delete "," account? All data will be deleted, this cannot be undone.","Delete user","Enable/disable sports.","Registration is currently disabled.","Registration is currently enabled.","Active","workouts exist","Sports administration","Update application configuration (maximum number of registered users, maximum files size).","users","Add admin rights","Remove admin rights","admin status","registration date","workout count","Error. Please try again or contact the administrator.","Email: valid email must be provided.","Error on getting configuration.","Error when updating configuration","Error, please try again or contact the administrator.","Error, registration is disabled.","File extension not allowed.","File size is greater than the allowed size.","Invalid credentials.","Provided data are invalid.","Invalid token, please log in again.","Network Error.","No file provided.","No selected file.","Password: password and password confirmation don't match.","Provide a valid auth token.","Password: 8 characters required.","Sorry, that user already exists.","Sport does not exist.","Signature expired. Please log in again.","Successfully registered.","User does not exist.","Username: 3 to 12 characters required.","You can not delete your account, no other user has admin rights.","You do not have permissions.","previous","next","Back","Cancel","Delete my account","Disable","Edit","Enable","Filter","Log in","No","Register","Submit","Yes","days","Home","here","order by","ascending","descending","Dashboard","This month","The application seems encounter some issues.
Please try later or contact the administrator.","Page not found","Workout not found","Cycling (Sport)","Cycling (Transport)","Mountain Biking","Statistics","week","month","year","Are you sure you want to delete your account? All data will be deleted, this cannot be undone","Enter an email address","Enter a password","Confirm the password","Invalid token, please request a new password reset.","Language","Login","Logout","Password","Confirm Password","Password confirmation","Forgot password?","Password reset","Check your email. If your address is in our database, you'll received an email with a link to reset your password.","Your password have been updated. Click "," to log in.","Back to profile","Birth date","Edit profile","Edit preferences","First name","First day of week","Last name","Location","Monday","Picture","Picture edition","Update picture","Remove picture","Preferences edition","Profile edition","Registration date","Sunday","picture","preferences","profile","Timezone","Sorry, registration is disabled.","Reset your password","user picture","Username","Add a workout","analysis","ascent","ave. speed","average speed","back to workout","descent","display filters","Edit the workout","elevation",".gpx file","hide filters","Latest workouts","Load more workouts","max. altitude","max files","max size","max. speed","min. altitude","No next segment","Next workout","data from gpx, without any cleaning","No file provided","no folder inside","No map","No next workout","No notes","No previous segment","No previous workout","No records.","No workouts.","Previous segment","Previous workout","Ave. speed","Farest distance","Longest duration","Max. speed","remaining characters","speed","total duration","Upload one!","humidity","temperature","wind","clear day","clear night","cloudy","fog","partly cloudy day","partly cloudy night","rain","sleet","snow","with .gpx file","without .gpx file","workout date","Are you sure you want to delete this workout?",".zip file","or .zip file containing .gpx files","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","authUserPictureUrl","alt","ready","registered","cached","updatefound","updated","offline","updateHideScrollBar","appLoading","hideScrollBar","appConfig","displayScrollButton","scrollToTop","version","isMenuOpen","openMenu","closeMenu","isAuthenticated","capitalize","logout","availableLanguages","language","selected","updateLanguage","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","IS_AUTHENTICATED","now","LANGUAGE","option","toString","commit","MUTATIONS","UPDATE_LANG","LOGOUT","xmlns","viewBox","Footer","NavBar","NoConfig","APP_CONFIG","APP_LOADING","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollTo","behavior","GET_APPLICATION_CONFIG","for","content","onSubmit","min","appData","max_users","edition","step","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","onCancel","router","ERROR_MESSAGES","updateForm","EMPTY_ERROR_MESSAGES","formData","UPDATE_APPLICATION_CONFIG","app-statistics","appStatistics","usersCount","sportsCount","workoutCount","uploadDirSize","StatCard","uploads_dir_size","AppStatsCards","Card","translatedSports","sport-label","updateSportStatus","has_workouts","SPORTS","isActive","UPDATE_SPORTS","reloadUsers","email","updateUser","FilterSelects","Pagination","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","UPDATE_USER","queryParam","EMPTY_USERS","tabs","selectedTab","tab","checked","getPath","UserHeader","UserProfileTabs","timezone","fistDayOfWeek","weekm","loading","USER_LOADING","deleteAccount","updateProfile","userForm","password","password_conf","charLimit","input","updateBio","updateUserForm","UPDATE_USER_PROFILE","updateUserPicture","accept","updatePictureFile","fileSizeLimit","pictureFile","deleteUserPicture","DELETE_PICTURE","files","UPDATE_USER_PICTURE","lang","weekStart","UPDATE_USER_PREFERENCES","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","context","localStorage","removeItem","EMPTY_USER_STATS","CLEAR_AUTH_USER_TOKEN","UPDATE_USERS","EMPTY_WORKOUTS","EMPTY_WORKOUT","actions","CHECK_AUTH_USER","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","res","status","UPDATE_AUTH_USER_PROFILE","GET_SPORTS","catch","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","redirectUrl","payload","UPDATE_USER_LOADING","finally","form","FormData","append","delete","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","state","authUserProfile","IS_ADMIN","mutations","authUserState","UPDATE_APPLICATION_LOADING","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","patch","application","APP_STATS","LOCALE","SET_ERROR_MESSAGES","root","SET_SPORTS","sportsState","GET_USER_STATS","filterType","params","UPDATE_USER_STATS","USER_STATS","statisticsState","EMPTY_USER","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","UPDATE_USER_IN_USERS","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","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","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","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","fullPath","maxLenght","updateText","toggleDropdown","isOpen","dropdownOptions","index","updateSelected","isArray","subMessage","style","sportLabel","xmlns:xlink","x","y","xml:space","xmlns:svg","CyclingSport","CyclingTransport","MountainBiking","keypath","customComponents","AlertMessage","CustomTextArea","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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ACvBC,8B,oDACJC,oC,uEACmBC,8D,8EACOC,qD,iDAC7BC,6B,qDACIC,kC,kDACHC,qB,8FAC4CC,+D,+DAC/BC,qD,oEACKC,2C,yDACXC,6B,2EACkBC,oD,oEACPC,2C,4DACRC,2B,wDACJC,iC,0EACkBC,oD,oGAC0BC,0G,gEACpCC,oD,uDAGnBC,gB,uCACJC,gB,0CC9BFC,gB,yCACEC,c,oDACWC,2B,0CACVC,iB,uCACHC,e,yCACEC,c,yCACAC,c,wCACDC,mB,qCACHC,U,2CACMC,iB,yCACFC,c,sCACHC,W,kDCXSC,mB,kDACTC,YAAAC,c,uCACCC,c,uCACAC,U,2DAGKC,kB,+CAGAC,U,sCACFC,gB,uCACCC,kB,kDAGCC,iB,2CAGHC,a,+CCjBGC,sB,6CACCC,e,6CCDHpD,gE,4CACEqD,2H,kDAEHC,uB,0CACGC,2B,8DCHFC,oB,+DAGAC,wB,gDAGAC,iB,2DAGAC,W,iDAGAC,c,iDAGAC,e,gDChBGC,mB,oDAEJC,c,wCACCC,W,uCACDC,c,2CCJDhG,Y,2DACmBiG,0G,wCACnBC,Y,8CACMC,+B,iDACGC,6B,8DACaC,gC,gDACdC,sF,2CACLC,a,wCACHrC,mB,yCACCsC,qB,2CACEC,mB,mDACQC,mC,wDACKA,mC,qDACHC,4B,iDACJC,uC,2DACUC,4J,wEACRC,iDAACnG,EAADA,MAACoG,2B,2DAEAC,wB,sCACZC,U,6CACOC,wB,uCACNC,yB,mDACYC,+B,oDACCC,iC,6CACPC,a,2CACFf,a,4CACCgB,U,2CACDC,W,yCACFC,Y,0CACCC,sB,kDACQC,uC,iDACDC,4B,iDACAC,gB,sDACKC,kC,kDACJC,4B,oDACEC,yB,yCACXC,e,gDAEGC,Y,8CACIC,kB,0CACJC,c,2CAEDC,sB,2CAEFjE,iB,oDACSkE,iD,iDACHC,uC,+CACFC,6B,2CACJC,yB,iDChDGC,yB,2CACHC,c,yCACFC,uB,gDACOC,sB,4CACJC,mB,kDACMC,0B,uCACX5J,W,0CACG6J,uB,kDACQC,2B,2CACPC,e,2CACAC,Y,+CACIC,yB,4CACHC,e,sCACNC,U,uCACCC,kB,2CACI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6C,oGAC0BC,uE,gEACpCC,oC,uDAGnBC,e,uCACJC,a,0CC9BFC,W,yCACEC,a,oDACWC,wB,0CACVC,c,uCACHC,W,yCACEC,a,yCACAC,a,wCACDC,a,qCACHC,S,2CACMC,e,yCACFC,a,sCACHC,W,kDCXShS,mB,kDACT7F,WAAA8X,a,uCACCC,W,uCACAC,W,2DAGKC,gB,+CAGArZ,W,sCACFsZ,gB,uCACCC,kB,kDAGC7R,iB,wCAGJC,a,+CCjBI6R,gB,6CACCC,kB,6CCDH9C,4D,4CACE+C,uG,kDAEHC,qB,0CACGC,0B,8DCHFC,uB,+DAGAC,2B,gDAGAnb,c,2DAGAob,uB,iDAGAnb,e,iDAGAC,gB,gDChBGmb,iB,oDAEJC,W,wCACCC,Y,uCACDC,a,2CCJDzX,Y,2DACmB0X,oG,wCACnBxR,Y,8CACMyR,6B,iDACGC,uB,8DACaC,2B,gDACdC,0D,2CACLC,e,wCACHC,Y,yCACCC,a,2CACEC,e,mDACQC,uB,wDACKC,4B,qDACHC,uB,iDACJC,qB,2DACUC,yH,wEACRC,2CAAC7X,EAADA,MAAC8X,iB,2DAEAC,sB,sCACZzR,U,6CACO0R,iB,uCACNC,mB,mDACYC,uB,6CACNC,iB,oDACOC,wB,2CACThB,e,4CACCiB,gB,2CACDC,e,yCACFC,a,0CACCC,c,kDACQC,sB,iDACDC,qB,iDACAC,qB,sDACKC,0B,kDACJC,sB,oDACEC,wB,yCACXC,a,gDAEGC,c,8CACIC,kB,0CACJC,e,2CAEDC,gB,2CAEFzD,e,oDACS0D,uC,iDACHC,0B,+CACFC,mB,2CACJC,gB,iDChDGC,oB,2CACHC,e,yCACFC,a,4CACGC,iB,gDACIC,oB,kDACEC,sB,uCACXrb,W,0CACGsb,c,kDACQC,sB,2CACPxR,e,2CACAzK,e,+CACIkc,uB,4CACHC,gB,sCACNrb,U,uCACC8S,W,2CACIwI,gB,+CACIC,mB,qCACVpR,S,kDACaqR,sB,oDACEC,yB,+CACLC,oB,4CACHC,gB,2CACDC,e,4CACCC,iB,+CACGC,oB,+CACAC,sB,+CACAC,mB,mDACIC,0C,mDACAC,uB,4CACPC,uB,yCACHC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","file":"static/js/app.5f1e26bb.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\":\"4f80b9a8\",\"main~workouts\":\"896585f2\",\"main\":\"01a39e9c\",\"workouts\":\"733b9b2c\",\"profile\":\"459d43b2\",\"reset\":\"ac1dbf71\",\"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\":\"51f3889f\",\"main~workouts\":\"dec22e70\",\"main\":\"18ab424b\",\"workouts\":\"2776db88\",\"profile\":\"e4d63f07\",\"reset\":\"23e340ac\",\"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","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'StatCard',\n props: {\n icon: {\n type: String,\n required: true,\n },\n value: {\n type: [String, Number],\n required: true,\n },\n text: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./StatCard.vue?vue&type=template&id=32e77e48\"\nimport script from \"./StatCard.vue?vue&type=script&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"\nscript.render = render\n\nexport default script","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 Running: '#835b83',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map((sport) => (colors[sport.id] = sportColors[sport.label]))\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): ITranslatedSport[] =>\n sports\n .filter((sport) => (onlyActive ? sport.is_active : true))\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Pagination.vue?vue&type=style&index=0&id=56dc89d4&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPictureEdition.vue?vue&type=style&index=0&id=0ea4550a&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=366182c4&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--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./UserHeader.vue?vue&type=template&id=a6fa997c&scoped=true\"\nimport script from \"./UserHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a6fa997c\"\n\nexport default script","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--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfos.vue?vue&type=style&index=0&id=17c7b32c&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfosEdition.vue?vue&type=style&index=0&id=e9d6897c&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--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Nombre maximum d'utilisateurs actifs \",\n \"MAX_USERS_HELP\": \"Si égal à 0, pas limite d'inscription\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Taille max. des archives zip (en Mo) \",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Taille max. des fichiers (en Mo) \",\n \"TITLE\": \"Configuration de l'application\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Nombre max. de fichiers dans une archive zip \"\n },\n \"BACK_TO_ADMIN\": \"Revenir à l'admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer le compte de {0} ? Toutes les données seront définitivement.\",\n \"DELETE_USER\": \"Supprimer l'utilisateur\",\n \"ENABLE_DISABLE_SPORTS\": \"Activer/désactiver des sports.\",\n \"REGISTRATION_DISABLED\": \"Les inscriptions sont actuellement désactivées.\",\n \"REGISTRATION_ENABLED\": \"Les inscriptions sont actuellement activées.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Actif\",\n \"HAS_WORKOUTS\": \"des séances existent\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Administration - Sports\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\",\n \"USER\": \"utilisateur | utilisateurs\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Ajouter les drois d'admin\",\n \"REMOVE_ADMIN_RIGHTS\": \"Retirer les drois d'admin\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": \"status administrateur\",\n \"CREATED_AT\": \"date d'inscription\",\n \"USERNAME\": \"nom d'utilisateur\",\n \"WORKOUTS_COUNT\": \"nombre de séances\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"email: valid email must be provided\": \"Email : une adresse email valide doit être fournie.\",\n \"error on getting configuration\": \"Erreur lors de la récupération de la configuration.\",\n \"error when updating configuration\": \"Erreur lors de la mise à jour de la configuration\",\n \"error, please try again or contact the administrator\": \"Erreur, veuillez réessayer ou contacter l'administrateur.\",\n \"error, registration is disabled\": \"Erreur, les inscriptions sont désactivées.\",\n \"file extension not allowed\": \"Extension de fichier non autorisée.\",\n \"file size is greater than the allowed size\": \"La taille du fichier est supérieure à la limite autorisée.\",\n \"invalid credentials\": \"Identifiants invalides.\",\n \"invalid payload\": \"Données fournies incorrectes.\",\n \"invalid token, please log in again\": \"Jeton de connexion invalide, merci de vous reconnecter.\",\n \"invalid token, please request a new token\": \"Jeton de connexion, merci de vous reconnecter.\",\n \"no file part\": \"Pas de fichier fourni.\",\n \"no selected file\": \"Pas de fichier sélectionné.\",\n \"Network Error\": \"Erreur Réseau.\",\n \"password: password and password confirmation do not match\": \"Mot de passe : les mots de passe saisis sont différents.\",\n \"provide a valid auth token\": \"Merci de fournir un jeton de connexion valide.\",\n \"password: 8 characters required\": \"Mot de passe : 8 caractères minimum.\",\n \"sport does not exist\": \"Ce sport n'existe pas.\",\n \"signature expired, please log in again\": \"Signature expirée. Merci de vous reconnecter.\",\n \"sorry, that user already exists\": \"Désolé, cet utilisateur existe déjà.\",\n \"successfully registered\": \"Inscription validée.\",\n \"user does not exist\": \"L'utilisateur n'existe pas\",\n \"username: 3 to 12 characters required\": \"Nom d'utilisateur : 3 à 12 caractères requis.\",\n \"you can not delete your account, no other user has admin rights\": \"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\",\n \"you do not have permissions\": \"Vous n'avez pas les permissions nécessaires.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"précédent\",\n \"NEXT\": \"suivant\"\n }\n}","{\n \"BACK\": \"Précédent\",\n \"CANCEL\": \"Annuler\",\n \"DELETE_MY_ACCOUNT\": \"Supprimer mon compte\",\n \"DISABLE\": \"Désactiver\",\n \"EDIT\": \"Modifier\",\n \"ENABLE\": \"Activer\",\n \"FILTER\": \"Filtrer\",\n \"LOGIN\": \"Se connecter\",\n \"NO\": \"Non\",\n \"REGISTER\": \"S'inscrire\",\n \"SUBMIT\": \"Valider\",\n \"YES\": \"Oui\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"jour | jours\",\n \"HOME\": \"Accueil\",\n \"HERE\": \"ici\",\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"trier par \"\n },\n \"ORDER\": {\n \"LABEL\": \"tri\",\n \"ASC\": \"ascendant\",\n \"DESC\": \"descendant\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n },\n \"TOTAL \": \"Total\"\n}","{\n \"DASHBOARD\": \"Tableau de Bord\",\n \"THIS_MONTH\": \"Ce mois\"\n}\n","{\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"APP_ERROR\": \"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page introuvable\",\n \"WORKOUT\": \"Séance introuvable\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Vélo (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Vélo (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Randonnée\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"VTT\"\n },\n \"Running\": {\n \"LABEL\": \"Course\"\n },\n \"Walking\": {\n \"LABEL\": \"Marche\"\n }\n}","{\n \"STATISTICS\": \"Statistiques\",\n \"TIME_FRAMES\": {\n \"week\": \"semaine\",\n \"month\": \"mois\",\n \"year\": \"année\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Saisir une adresse email\",\n \"ENTER_PASSWORD\": \"Saisir un mot de passe\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirmer le mot de passe\",\n \"INVALID_TOKEN\": \"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\",\n \"LANGUAGE\": \"Langue\",\n \"LOGIN\": \"Se connecter\",\n \"LOGOUT\": \"Se déconnecter\",\n \"PASSWORD\": \"Mot de passe\",\n \"PASSWORD_CONFIRM\": \"Confirmation du mot de passe\",\n \"PASSWORD_CONFIRMATION\": \"Confirmation du mot de passe\",\n \"PASSWORD_FORGOTTEN\": \"Mot de passe oublié ?\",\n \"PASSWORD_RESET\": \"Réinitialisation du mot de passe\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"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\": \"Votre mot de passe a été mis à jour. Cliquez {0} pour vous connecter.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Revenir au profil\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Date de naissance\",\n \"EDIT\": \"Modifier le profil\",\n \"EDIT_PREFERENCES\": \"Modifier les préférences\",\n \"FIRST_DAY_OF_WEEK\": \"Premier jour de la semaine\",\n \"FIRST_NAME\": \"Prénom\",\n \"LANGUAGE\": \"Langue\",\n \"LAST_NAME\": \"Nom\",\n \"LOCATION\": \"Lieu\",\n \"MONDAY\": \"Lundi\",\n \"PICTURE\": \"Image de profil\",\n \"PICTURE_EDITION\": \"Mise à jour de l'image de profil\",\n \"PICTURE_UPDATE\": \"Mettre à jour l'image\",\n \"PICTURE_REMOVE\": \"Supprimer\",\n \"PREFERENCES_EDITION\": \"Mise à jour des préférences\",\n \"PROFILE_EDITION\": \"Mise à jour du profil\",\n \"REGISTRATION_DATE\": \"Date d'inscription\",\n \"SUNDAY\": \"Dimanche\",\n \"TABS\": {\n \"PICTURE\": \"image\",\n \"PREFERENCES\": \"préférences\",\n \"PROFILE\": \"profil\"\n },\n \"TIMEZONE\": \"Fuseau horaire\"\n },\n \"REGISTER\": \"S'inscrire\",\n \"REGISTER_DISABLED\": \"Désolé, les inscriptions sont désactivées.\",\n \"RESET_PASSWORD\": \"Réinitialiser votre mot de passe\",\n \"USER_PICTURE\": \"photo de l'utilisateur\",\n \"USERNAME\": \"Nom d'utilisateur\"\n}","{\n \"ADD_WORKOUT\": \"Ajouter une séance\",\n \"ANALYSIS\": \"analyse\",\n \"ASCENT\": \"dénivelé positif\",\n \"AVERAGE_SPEED\": \"vitesse moyenne\",\n \"AVE_SPEED\": \"vitesse moy.\",\n \"BACK_TO_WORKOUT\": \"revenir à la séance\",\n \"DATE\": \"date\",\n \"DESCENT\": \"dénivelé négatif\",\n \"DISPLAY_FILTERS\": \"afficher les filtres\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"durée\",\n \"EDIT_WORKOUT\": \"Modifier la séance\",\n \"ELEVATION\": \"altitude\",\n \"END\": \"fin\",\n \"FROM\": \"à partir de\",\n \"GPX_FILE\": \"fichier .gpx\",\n \"HIDE_FILTERS\": \"masquer les filtres\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Séances récentes\",\n \"LOAD_MORE_WORKOUT\": \"Charger les séances suivantes\",\n \"MAX_ALTITUDE\": \"altitude max\",\n \"MAX_FILES\": \"fichiers max. \",\n \"MAX_SIZE\": \"taille max. \",\n \"MAX_SPEED\": \"vitesse max\",\n \"MIN_ALTITUDE\": \"altitude min\",\n \"NEXT_SEGMENT\": \"Segment suivant\",\n \"NEXT_WORKOUT\": \"Séance suivante\",\n \"NO_DATA_CLEANING\": \"données issues du fichier gpx, sans correction\",\n \"NO_FILE_PROVIDED\": \"Pas de fichier fourni\",\n \"NO_FOLDER\": \"pas de répertoire\",\n \"NO_MAP\": \"Pas de carte\",\n \"NO_NEXT_SEGMENT\": \"Pas de segment suivant\",\n \"NO_NEXT_WORKOUT\": \"Pas de séance suivante\",\n \"NO_NOTES\": \"Pas de notes\",\n \"NO_PREVIOUS_SEGMENT\": \"Pas de segment précédent\",\n \"NO_PREVIOUS_WORKOUT\": \"Pas de séance précédente\",\n \"NO_RECORDS\": \"Pas de records.\",\n \"NO_WORKOUTS\": \"Pas de séances.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Segment précédent\",\n \"PREVIOUS_WORKOUT\": \"Séance précédente\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Vitesse moy.\",\n \"RECORD_FD\": \"Distance la + longue\",\n \"RECORD_LD\": \"Durée la + longue\",\n \"RECORD_MS\": \"Vitesse max.\",\n \"REMAINING_CHARS\": \"nombre de caractères restants \",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"vitesse\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"début\",\n \"TITLE\": \"titre\",\n \"TO\": \"jusqu'au\",\n \"TOTAL_DURATION\": \"durée totale\",\n \"UPLOAD_FIRST_WORKOUT\": \"Ajoutez votre première séance !\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidité\",\n \"TEMPERATURE\": \"température\",\n \"WIND\": \"vent\",\n \"DARK_SKY\": {\n \"clear-day\": \"ensoleillé\",\n \"clear-night\": \"nuit claire\",\n \"cloudy\": \"nuageux\",\n \"fog\": \"brouillard\",\n \"partly-cloudy-day\": \"partiellement nuageux\",\n \"partly-cloudy-night\": \"nuit partiellement nuageuse\",\n \"rain\": \"pluie\",\n \"sleet\": \"neige fondue\",\n \"snow\": \"neige\",\n \"wind\": \"venteux\"\n }\n },\n \"WITH_GPX\": \"avec un fichier .gpx\",\n \"WITHOUT_GPX\": \"sans fichier .gpx\",\n \"WORKOUT\": \"séance | séances\",\n \"WORKOUT_DATE\": \"date de la séance\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Etes-vous sûr de vouloir supprimer cette séance ?\",\n \"ZIP_ARCHIVE\": \"archive .zip\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"ou une archive .zip contenant des fichiers .gpx\"\n}\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","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { rangePagination } from '@/utils/api'\n\n export default defineComponent({\n name: 'Pagination',\n props: {\n pagination: {\n type: Object as PropType,\n required: true,\n },\n path: {\n type: String,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n function getQuery(page: number, cursor?: number): TPaginationPayload {\n const newQuery = Object.assign({}, props.query)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n return { rangePagination, getQuery }\n },\n })\n","import { render } from \"./Pagination.vue?vue&type=template&id=56dc89d4&scoped=true\"\nimport script from \"./Pagination.vue?vue&type=script&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=56dc89d4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-56dc89d4\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n } from 'vue'\n\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserInfos',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n fromAdmin: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\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(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n return {\n authUser,\n birthDate,\n displayModal,\n registrationDate,\n deleteUserAccount,\n updateDisplayModal,\n }\n },\n })\n","import { render } from \"./UserInfos.vue?vue&type=template&id=17c7b32c&scoped=true\"\nimport script from \"./UserInfos.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=17c7b32c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-17c7b32c\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FilterSelects.vue?vue&type=style&index=0&id=50c78582&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n export default defineComponent({\n name: 'FilterSelects',\n props: {\n order_by: {\n type: Object as PropType,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n sort: {\n type: Object as PropType,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n },\n emits: ['updateSelect'],\n setup(props, { emit }) {\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\n return {\n per_page: [10, 25, 50, 100],\n onSelectUpdate,\n }\n },\n })\n","import { render } from \"./FilterSelects.vue?vue&type=template&id=50c78582&scoped=true\"\nimport script from \"./FilterSelects.vue?vue&type=script&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=50c78582&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-50c78582\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NavBar.vue?vue&type=style&index=0&id=9d3d8adc&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"","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 = queryOptions.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--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminUsers.vue?vue&type=style&index=0&id=eb17bef8&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Add/remove admin rights, delete user account.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Max. number of active users\",\n \"MAX_USERS_HELP\": \"If 0, no limitation on registration.\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Max. files of zip archive\",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of uploaded files (in Mb)\",\n \"TITLE\": \"Application configuration\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of zip archive (in Mb)\"\n },\n \"BACK_TO_ADMIN\": \"Back to admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Are you sure you want to delete {0} account? All data will be deleted, this cannot be undone.\",\n \"DELETE_USER\": \"Delete user\",\n \"ENABLE_DISABLE_SPORTS\": \"Enable/disable sports.\",\n \"REGISTRATION_DISABLED\": \"Registration is currently disabled.\",\n \"REGISTRATION_ENABLED\": \"Registration is currently enabled.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Active\",\n \"HAS_WORKOUTS\": \"workouts exist\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Sports administration\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Update application configuration (maximum number of registered users, maximum files size).\",\n \"USER\": \"user | users\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Add admin rights\",\n \"REMOVE_ADMIN_RIGHTS\": \"Remove admin rights\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": \"admin status\",\n \"CREATED_AT\": \"registration date\",\n \"USERNAME\": \"username\",\n \"WORKOUTS_COUNT\": \"workout count\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"email: valid email must be provided\": \"Email: valid email must be provided.\",\n \"error on getting configuration\": \"Error on getting configuration.\",\n \"error when updating configuration\": \"Error when updating configuration\",\n \"error, please try again or contact the administrator\": \"Error, please try again or contact the administrator.\",\n \"error, registration is disabled\": \"Error, registration is disabled.\",\n \"file extension not allowed\": \"File extension not allowed.\",\n \"file size is greater than the allowed size\": \"File size is greater than the allowed size.\",\n \"invalid credentials\": \"Invalid credentials.\",\n \"invalid payload\": \"Provided data are invalid.\",\n \"invalid token, please log in again\": \"Invalid token, please log in again.\",\n \"invalid token, please request a new token\": \"Invalid token, please log in again.\",\n \"Network Error\": \"Network Error.\",\n \"no file part\": \"No file provided.\",\n \"no selected file\": \"No selected file.\",\n \"password: password and password confirmation do not match\": \"Password: password and password confirmation don't match.\",\n \"provide a valid auth token\": \"Provide a valid auth token.\",\n \"password: 8 characters required\": \"Password: 8 characters required.\",\n \"sorry, that user already exists\": \"Sorry, that user already exists.\",\n \"sport does not exist\": \"Sport does not exist.\",\n \"signature expired, please log in again\": \"Signature expired. Please log in again.\",\n \"successfully registered\": \"Successfully registered.\",\n \"user does not exist\": \"User does not exist.\",\n \"username: 3 to 12 characters required\": \"Username: 3 to 12 characters required.\",\n \"you can not delete your account, no other user has admin rights\": \"You can not delete your account, no other user has admin rights.\",\n \"you do not have permissions\": \"You do not have permissions.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"previous\",\n \"NEXT\": \"next\"\n }\n}","{\n \"BACK\": \"Back\",\n \"CANCEL\": \"Cancel\",\n \"DELETE_MY_ACCOUNT\": \"Delete my account\",\n \"DISABLE\": \"Disable\",\n \"EDIT\": \"Edit\",\n \"ENABLE\": \"Enable\",\n \"FILTER\": \"Filter\",\n \"LOGIN\": \"Log in\",\n \"NO\": \"No\",\n \"REGISTER\": \"Register\",\n \"SUBMIT\": \"Submit\",\n \"YES\": \"Yes\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"day | days\",\n \"HOME\": \"Home\",\n \"HERE\": \"here\",\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"order by\"\n },\n \"ORDER\": {\n \"LABEL\": \"sort\",\n \"ASC\": \"ascending\",\n \"DESC\": \"descending\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n },\n \"TOTAL\": \"Total\"\n}","{\n \"DASHBOARD\": \"Dashboard\",\n \"THIS_MONTH\": \"This month\"\n}\n","{\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"APP_ERROR\": \"The application seems encounter some issues.
Please try later or contact the administrator.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page not found\",\n \"WORKOUT\": \"Workout not found\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Cycling (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Cycling (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Hiking\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"Mountain Biking\"\n },\n \"Running\": {\n \"LABEL\": \"Running\"\n },\n \"Walking\": {\n \"LABEL\": \"Walking\"\n }\n}","{\n \"STATISTICS\": \"Statistics\",\n \"TIME_FRAMES\": {\n \"week\": \"week\",\n \"month\": \"month\",\n \"year\": \"year\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Enter an email address\",\n \"ENTER_PASSWORD\": \"Enter a password\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirm the password\",\n \"INVALID_TOKEN\": \"Invalid token, please request a new password reset.\",\n \"LANGUAGE\": \"Language\",\n \"LOGIN\": \"Login\",\n \"LOGOUT\": \"Logout\",\n \"PASSWORD\": \"Password\",\n \"PASSWORD_CONFIRM\": \"Confirm Password\",\n \"PASSWORD_CONFIRMATION\": \"Password confirmation\",\n \"PASSWORD_FORGOTTEN\": \"Forgot password?\",\n \"PASSWORD_RESET\": \"Password reset\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"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\": \"Your password have been updated. Click {0} to log in.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Back to profile\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Birth date\",\n \"EDIT\": \"Edit profile\",\n \"EDIT_PREFERENCES\": \"Edit preferences\",\n \"FIRST_NAME\": \"First name\",\n \"FIRST_DAY_OF_WEEK\": \"First day of week\",\n \"LANGUAGE\": \"Language\",\n \"LAST_NAME\": \"Last name\",\n \"LOCATION\": \"Location\",\n \"MONDAY\": \"Monday\",\n \"PICTURE\": \"Picture\",\n \"PICTURE_EDITION\": \"Picture edition\",\n \"PICTURE_UPDATE\": \"Update picture\",\n \"PICTURE_REMOVE\": \"Remove picture\",\n \"PREFERENCES_EDITION\": \"Preferences edition\",\n \"PROFILE_EDITION\": \"Profile edition\",\n \"REGISTRATION_DATE\": \"Registration date\",\n \"SUNDAY\": \"Sunday\",\n \"TABS\": {\n \"PICTURE\": \"picture\",\n \"PREFERENCES\": \"preferences\",\n \"PROFILE\": \"profile\"\n },\n \"TIMEZONE\": \"Timezone\"\n },\n \"REGISTER\": \"Register\",\n \"REGISTER_DISABLED\": \"Sorry, registration is disabled.\",\n \"RESET_PASSWORD\": \"Reset your password\",\n \"USER_PICTURE\": \"user picture\",\n \"USERNAME\": \"Username\"\n}\n","{\n \"ADD_WORKOUT\": \"Add a workout\",\n \"ANALYSIS\": \"analysis\",\n \"ASCENT\": \"ascent\",\n \"AVE_SPEED\": \"ave. speed\",\n \"AVERAGE_SPEED\": \"average speed\",\n \"BACK_TO_WORKOUT\": \"back to workout\",\n \"DATE\": \"date\",\n \"DESCENT\": \"descent\",\n \"DISPLAY_FILTERS\": \"display filters\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"duration\",\n \"EDIT_WORKOUT\": \"Edit the workout\",\n \"ELEVATION\": \"elevation\",\n \"END\": \"end\",\n \"FROM\": \"from\",\n \"GPX_FILE\": \".gpx file\",\n \"HIDE_FILTERS\": \"hide filters\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Latest workouts\",\n \"LOAD_MORE_WORKOUT\": \"Load more workouts\",\n \"MAX_ALTITUDE\": \"max. altitude\",\n \"MAX_FILES\": \"max files\",\n \"MAX_SIZE\": \"max size\",\n \"MAX_SPEED\": \"max. speed\",\n \"MIN_ALTITUDE\": \"min. altitude\",\n \"NEXT_SEGMENT\": \"No next segment\",\n \"NEXT_WORKOUT\": \"Next workout\",\n \"NO_DATA_CLEANING\": \"data from gpx, without any cleaning\",\n \"NO_FILE_PROVIDED\": \"No file provided\",\n \"NO_FOLDER\": \"no folder inside\",\n \"NO_MAP\": \"No map\",\n \"NO_NEXT_SEGMENT\": \"No next segment\",\n \"NO_NEXT_WORKOUT\": \"No next workout\",\n \"NO_NOTES\": \"No notes\",\n \"NO_PREVIOUS_SEGMENT\": \"No previous segment\",\n \"NO_PREVIOUS_WORKOUT\": \"No previous workout\",\n \"NO_RECORDS\": \"No records.\",\n \"NO_WORKOUTS\": \"No workouts.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Previous segment\",\n \"PREVIOUS_WORKOUT\": \"Previous workout\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Ave. speed\",\n \"RECORD_FD\": \"Farest distance\",\n \"RECORD_LD\": \"Longest duration\",\n \"RECORD_MS\": \"Max. speed\",\n \"REMAINING_CHARS\": \"remaining characters\",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"speed\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"start\",\n \"TITLE\": \"title\",\n \"TO\": \"to\",\n \"TOTAL_DURATION\": \"total duration\",\n \"UPLOAD_FIRST_WORKOUT\": \"Upload one!\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidity\",\n \"TEMPERATURE\": \"temperature\",\n \"WIND\": \"wind\",\n \"DARK_SKY\": {\n \"clear-day\": \"clear day\",\n \"clear-night\": \"clear night\",\n \"cloudy\": \"cloudy\",\n \"fog\": \"fog\",\n \"partly-cloudy-day\": \"partly cloudy day\",\n \"partly-cloudy-night\": \"partly cloudy night\",\n \"rain\": \"rain\",\n \"sleet\": \"sleet\",\n \"snow\": \"snow\",\n \"wind\": \"wind\"\n }\n },\n \"WITH_GPX\": \"with .gpx file\",\n \"WITHOUT_GPX\": \"without .gpx file\",\n \"WORKOUT\": \"workout | workouts\",\n \"WORKOUT_DATE\": \"workout date\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Are you sure you want to delete this workout?\",\n \"ZIP_ARCHIVE\": \".zip file\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"or .zip file containing .gpx files\"\n}\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","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'UserPicture',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n authUserPictureUrl: computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n ),\n }\n },\n })\n","import { render } from \"./UserPicture.vue?vue&type=template&id=4aed39f4\"\nimport script from \"./UserPicture.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"","/* 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","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'Footer',\n props: {\n version: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./Footer.vue?vue&type=template&id=e1641806&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-e1641806\"\n\nexport default script","\n\n\n\n\n","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","\n import { ComputedRef, computed, defineComponent, 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 { getApiUrl } from '@/utils'\n import { availableLanguages } from '@/utils/locales'\n\n export default defineComponent({\n name: 'NavBar',\n components: {\n UserPicture,\n },\n emits: ['menuInteraction'],\n setup(props, { emit }) {\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 authUserPictureUrl: ComputedRef = computed(() =>\n isAuthenticated.value && authUser.value.picture\n ? `${getApiUrl()}/users/${\n authUser.value.username\n }/picture?${Date.now()}`\n : ''\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\n return {\n availableLanguages,\n authUser,\n authUserPictureUrl,\n isAuthenticated,\n isMenuOpen,\n language,\n capitalize,\n openMenu,\n closeMenu,\n updateLanguage,\n logout,\n }\n },\n })\n","import { render } from \"./NavBar.vue?vue&type=template&id=9d3d8adc&scoped=true\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=9d3d8adc&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-9d3d8adc\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n export default defineComponent({\n name: 'NoConfig',\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./NoConfig.vue?vue&type=template&id=01d4a985&scoped=true\"\nimport script from \"./NoConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-01d4a985\"\n\nexport default script","\n import {\n ComputedRef,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n onMounted,\n } 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 export default defineComponent({\n name: 'App',\n components: {\n Footer,\n NavBar,\n NoConfig,\n },\n setup() {\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(() =>\n store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG)\n )\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\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 =\n 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\n return {\n appConfig,\n appLoading,\n hideScrollBar,\n displayScrollButton,\n scrollToTop,\n updateHideScrollBar,\n }\n },\n })\n","import { render } from \"./App.vue?vue&type=template&id=317a6409&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-317a6409\"\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\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 export default defineComponent({\n name: 'AdminApplication',\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n edition: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n const router = useRouter()\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\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\n return { appData, errorMessages, onCancel, onSubmit }\n },\n })\n","import { render } from \"./AdminApplication.vue?vue&type=template&id=26175b66&scoped=true\"\nimport script from \"./AdminApplication.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-26175b66\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent, computed } 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 export default defineComponent({\n name: 'UserStatsCards',\n components: {\n StatCard,\n },\n props: {\n appStatistics: {\n type: Object as PropType,\n default: () => {\n return {}\n },\n },\n },\n setup(props) {\n return {\n uploadDirSize: computed(() =>\n props.appStatistics.uploads_dir_size\n ? getReadableFileSize(props.appStatistics.uploads_dir_size, false)\n : { size: 0, suffix: 'bytes' }\n ),\n usersCount: computed(() =>\n props.appStatistics.users ? props.appStatistics.users : 0\n ),\n sportsCount: computed(() =>\n props.appStatistics.sports ? props.appStatistics.sports : 0\n ),\n workoutCount: computed(() =>\n props.appStatistics.workouts ? props.appStatistics.workouts : 0\n ),\n }\n },\n })\n","import { render } from \"./AppStatsCards.vue?vue&type=template&id=cd52bcc2\"\nimport script from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Card',\n })\n","import { render } from \"./Card.vue?vue&type=template&id=c5956538\"\nimport script from \"./Card.vue?vue&type=script&lang=ts\"\nexport * from \"./Card.vue?vue&type=script&lang=ts\"\n\nimport \"./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, capitalize, defineComponent } 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 export default defineComponent({\n name: 'AdminMenu',\n components: {\n AppStatsCards,\n Card,\n },\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n appStatistics: {\n type: Object as PropType,\n },\n },\n setup() {\n return { capitalize }\n },\n })\n","import { render } from \"./AdminMenu.vue?vue&type=template&id=4f30aa64&scoped=true\"\nimport script from \"./AdminMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4f30aa64\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent } 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 export default defineComponent({\n name: 'AdminSports',\n setup() {\n const { t } = useI18n()\n const store = useStore()\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\n return { errorMessages, translatedSports, updateSportStatus }\n },\n })\n","import { render } from \"./AdminSports.vue?vue&type=template&id=6d930723&scoped=true\"\nimport script from \"./AdminSports.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6d930723\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n defineComponent,\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 export default defineComponent({\n name: 'AdminUsers',\n components: {\n FilterSelects,\n Pagination,\n UserPicture,\n },\n setup() {\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\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 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 onBeforeMount(() => loadUsers(query))\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n return {\n authUser,\n errorMessages,\n orderByList,\n pagination,\n query,\n sortList,\n users,\n capitalize,\n format,\n getDateWithTZ,\n reloadUsers,\n updateUser,\n }\n },\n })\n","import { render } from \"./AdminUsers.vue?vue&type=template&id=eb17bef8&scoped=true\"\nimport script from \"./AdminUsers.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=eb17bef8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-eb17bef8\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'UserProfileTabs',\n props: {\n tabs: {\n type: Object as PropType,\n required: true,\n },\n selectedTab: {\n type: String,\n required: true,\n },\n edition: {\n type: Boolean,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n return `/profile${props.edition ? '/edit' : ''}/preferences`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n return { getPath }\n },\n })\n","import { render } from \"./UserProfileTabs.vue?vue&type=template&id=c7276c08\"\nimport script from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, defineComponent } 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 export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserHeader,\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n return {\n tabs: ['PROFILE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=c81580c0&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-c81580c0\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n export default defineComponent({\n name: 'UserPreferences',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() =>\n props.user.weekm ? 'MONDAY' : 'SUNDAY'\n )\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n return { fistDayOfWeek, language, timezone }\n },\n })\n","import { render } from \"./UserPreferences.vue?vue&type=template&id=39667dbe&scoped=true\"\nimport script from \"./UserPreferences.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-39667dbe\"\n\nexport default script","\n\n\n","\n import { computed, defineComponent, PropType } 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 export default defineComponent({\n name: 'ProfileEdition',\n components: {\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n const store = useStore()\n return {\n loading: computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n ),\n tabs: ['PROFILE', 'PICTURE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=386e1de0\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\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 export default defineComponent({\n name: 'UserInfosEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\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\n return {\n displayModal,\n errorMessages,\n loading,\n registrationDate,\n userForm,\n deleteAccount,\n updateBio,\n updateDisplayModal,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserInfosEdition.vue?vue&type=template&id=e9d6897c\"\nimport script from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=e9d6897c&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n Ref,\n defineComponent,\n computed,\n ref,\n } 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 export default defineComponent({\n name: 'UserPictureEdition',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const store = useStore()\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\n return {\n errorMessages,\n fileSizeLimit,\n pictureFile,\n deleteUserPicture,\n updateUserPicture,\n updatePictureFile,\n }\n },\n })\n","import { render } from \"./UserPictureEdition.vue?vue&type=template&id=0ea4550a&scoped=true\"\nimport script from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=0ea4550a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-0ea4550a\"\n\nexport default script","\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\n onMounted,\n } from 'vue'\n\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 export default defineComponent({\n name: 'UserPreferencesEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n const userForm: IUserPreferencesPayload = reactive({\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 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.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(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES,\n userForm\n )\n }\n\n return {\n availableLanguages,\n errorMessages,\n loading,\n userForm,\n weekStart,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserPreferencesEdition.vue?vue&type=template&id=e42b32dc\"\nimport script from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","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.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 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 {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\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_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 context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\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.ts'\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 appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { 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 } 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 { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload } from '@/types/user'\nimport { handleError } from '@/utils'\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}\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.ts'\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 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 },\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 },\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","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'AlertMessage',\n props: {\n message: String,\n },\n })\n","import { render } from \"./AlertMessage.vue?vue&type=template&id=f5e8066a&scoped=true\"\nimport script from \"./AlertMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-f5e8066a\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent, ref, watch } from 'vue'\n\n export default defineComponent({\n name: 'CustomTextArea',\n props: {\n charLimit: {\n type: Number,\n default: 500,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n input: {\n type: String,\n default: '',\n },\n name: {\n type: String,\n required: true,\n },\n },\n emits: ['updateValue'],\n setup(props, { emit }) {\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\n return { text, updateText }\n },\n })\n","import { render } from \"./CustomTextArea.vue?vue&type=template&id=ad3739fc&scoped=true\"\nimport script from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-ad3739fc\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, defineComponent, ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n\n export default defineComponent({\n name: 'Dropdown',\n props: {\n options: {\n type: Object as PropType,\n required: true,\n },\n selected: {\n type: String,\n required: true,\n },\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(props, { emit }) {\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\n return {\n dropdownOptions,\n isOpen,\n toggleDropdown,\n updateSelected,\n }\n },\n })\n","import { render } from \"./Dropdown.vue?vue&type=template&id=5ef2ddef&scoped=true\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5ef2ddef\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'ErrorMessage',\n props: {\n message: [String, Array],\n },\n })\n","import { render } from \"./ErrorMessage.vue?vue&type=template&id=5c177a93&scoped=true\"\nimport script from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5c177a93\"\n\nexport default script","\n\n\n","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\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\"\nscript.render = render\n\nexport default script","\n import { defineComponent, inject } 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 Running from '@/components/Common/Images/SportImage/Running.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n export default defineComponent({\n name: 'SportImage',\n components: {\n CyclingSport,\n CyclingTransport,\n Hiking,\n MountainBiking,\n Running,\n Walking,\n },\n props: {\n sportLabel: {\n type: String,\n required: true,\n },\n title: {\n type: String,\n required: false,\n },\n },\n setup() {\n return { sportColors: inject('sportColors') }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=834c586a\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Loader',\n })\n","import { render } from \"./Loader.vue?vue&type=template&id=8bf75da8&scoped=true\"\nimport script from \"./Loader.vue?vue&type=script&lang=ts\"\nexport * from \"./Loader.vue?vue&type=script&lang=ts\"\n\nimport \"./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-8bf75da8\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'Modal',\n props: {\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n strongMessage: {\n type: String || null,\n default: null,\n },\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(props, { emit }) {\n const store = useStore()\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 return { errorMessages, emit }\n },\n })\n","import { render } from \"./Modal.vue?vue&type=template&id=366182c4&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=366182c4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-366182c4\"\n\nexport default script","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.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 AlertMessage,\n Card,\n CustomTextArea,\n Dropdown,\n ErrorMessage,\n Loader,\n Modal,\n 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)\n})\n\napp.mount('#app')\n","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 * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"","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}\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}\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","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--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\""],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee_client/src/components/User/ProfileEdition/UserPictureEdition.vue b/fittrackee_client/src/components/User/ProfileEdition/UserPictureEdition.vue index 83c6f83d..79c8c22c 100644 --- a/fittrackee_client/src/components/User/ProfileEdition/UserPictureEdition.vue +++ b/fittrackee_client/src/components/User/ProfileEdition/UserPictureEdition.vue @@ -10,6 +10,12 @@ accept=".png,.jpg,.gif" @input="updatePictureFile" /> +
+ +